From d030485f60cdefe133e0b3d32896f5a8724046ae Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sat, 29 Aug 2020 14:56:29 -0400 Subject: [PATCH] fix node build error --- build/index.d.ts | 3 +- build/index.d.ts.map | 2 +- build/index.js | 3 +- build/index.js.map | 2 +- dist/face-api.js | 2 + dist/face-api.js.map | 2 +- dist/face-api.min.js | 18 +- dist/face-api.min.js.map | 2 +- dist/face-api.node.js | 24376 ++++++++++++++++++++++++++++++++++++ dist/face-api.node.js.map | 7 + package.json | 5 +- src/index.ts | 13 +- 12 files changed, 24408 insertions(+), 27 deletions(-) create mode 100644 dist/face-api.node.js create mode 100644 dist/face-api.node.js.map diff --git a/build/index.d.ts b/build/index.d.ts index 66d549d..048fa81 100644 --- a/build/index.d.ts +++ b/build/index.d.ts @@ -1,7 +1,8 @@ +declare const test = "test"; import * as tf from '@tensorflow/tfjs-core'; import * as draw from './draw'; import * as utils from './utils'; -export { draw, utils, tf }; +export { draw, utils, tf, test }; export * from './ageGenderNet/index'; export * from './classes/index'; export * from './dom/index'; diff --git a/build/index.d.ts.map b/build/index.d.ts.map index b4f43d8..2e912b8 100644 --- a/build/index.d.ts.map +++ b/build/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE5C,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EACL,IAAI,EACJ,KAAK,EACL,EAAE,EACH,CAAA;AAED,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,IAAI,SAAS,CAAC;AACpB,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC"} \ No newline at end of file diff --git a/build/index.js b/build/index.js index 430104f..9ccdc3e 100644 --- a/build/index.js +++ b/build/index.js @@ -1,7 +1,8 @@ +const test = 'test'; import * as tf from '@tensorflow/tfjs-core'; import * as draw from './draw'; import * as utils from './utils'; -export { draw, utils, tf }; +export { draw, utils, tf, test }; export * from './ageGenderNet/index'; export * from './classes/index'; export * from './dom/index'; diff --git a/build/index.js.map b/build/index.js.map index 2e73931..8a324e2 100644 --- a/build/index.js.map +++ b/build/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE5C,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EACL,IAAI,EACJ,KAAK,EACL,EAAE,EACH,CAAA;AAED,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG,MAAM,CAAC;AACpB,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC"} \ No newline at end of file diff --git a/dist/face-api.js b/dist/face-api.js index a13f724..d58a7ea 100644 --- a/dist/face-api.js +++ b/dist/face-api.js @@ -798,6 +798,7 @@ var faceapi = (() => { shuffleArray: () => shuffleArray, sigmoid: () => sigmoid6, ssdMobilenetv1: () => ssdMobilenetv1, + test: () => test, tf: () => dist_exports, tinyFaceDetector: () => tinyFaceDetector, tinyYolov2: () => tinyYolov23, @@ -805,6 +806,7 @@ var faceapi = (() => { utils: () => utils_exports, validateConfig: () => validateConfig }); + const test = "test"; }); // node_modules/@tensorflow/tfjs-core/dist/environment.js diff --git a/dist/face-api.js.map b/dist/face-api.js.map index ebe8055..a442a82 100644 --- a/dist/face-api.js.map +++ b/dist/face-api.js.map @@ -2,6 +2,6 @@ "version": 3, "sources": ["node_modules/seedrandom/lib/alea.js", "node_modules/seedrandom/lib/xor128.js", "node_modules/seedrandom/lib/xorwow.js", "node_modules/seedrandom/lib/xorshift7.js", "node_modules/seedrandom/lib/xor4096.js", "node_modules/seedrandom/lib/tychei.js", "disabled:crypto", "node_modules/seedrandom/seedrandom.js", "node_modules/seedrandom/index.js", "build/env/../../src/env/isNodejs.ts", "build/../src/index.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/environment.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/global_util.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/kernel_names.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/kernel_registry.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/util.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/profiler.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/tape.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/tensor_format.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/tensor.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/types.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/tensor_util.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/engine.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/device_util.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/flags.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/tensor_util_env.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/operation.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/abs.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/acos.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/acosh.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/add.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/add_n.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/axis_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reshape.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/transpose.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/all.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/any.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/arg_max.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/arg_min.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/asin.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/asinh.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/atan.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/atan2.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/atanh.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/cast.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/avg_pool.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/globals.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/avg_pool_3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/concat_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor_ops_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/concat.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/mat_mul.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/mul.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sigmoid.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/slice_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/slice.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tanh.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/basic_lstm_cell.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/batch_to_space_nd.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/batchnorm_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/batchnorm.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/batchnorm2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/batchnorm3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/batchnorm4d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/clone.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/broadcast_to.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/buffer.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/ceil.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/clip_by_value.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/complex.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/concat_1d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/concat_2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/concat_3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/concat_4d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv1d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv2d_backprop_input.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv2d_transpose.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv3d_backprop_input.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv3d_transpose.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/cos.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/cosh.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/cumsum.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/depth_to_space.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/depthwise_conv2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/diag.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/dilation2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/floorDiv.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/div.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/broadcast_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/equal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/where.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/zeros_like.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/div_no_nan.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/dot.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/elu.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/erf.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/exp.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/expand_dims.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/expm1.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tile.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/eye.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fft.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fill.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/floor.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reduce_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/segment_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/gather.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/greater.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/greater_equal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/ifft.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/imag.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/real.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reverse.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/scalar.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/irfft.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/is_finite.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/is_inf.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/is_nan.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/maximum.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/leaky_relu.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/less.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/less_equal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/linspace.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/local_response_normalization.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/log.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/log1p.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/gradients.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/neg.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/softplus.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/log_sigmoid.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/max.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sub.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sum.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/log_softmax.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/log_sum_exp.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/logical_and.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/logical_not.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/logical_or.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/logical_xor.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/max_pool.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/max_pool_3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/max_pool_with_argmax.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/zeros.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/ones.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/mean.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/min.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/minimum.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/mod.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/square.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/moments.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/multi_rnn_cell.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/multinomial.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/not_equal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/one_hot.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/ones_like.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/outer_product.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pad1d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pad2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pad3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pad4d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/space_to_batch_nd.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pool.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pow.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/prelu.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/print.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/prod.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/rand.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/test_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/rand_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/random_gamma.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/random_normal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/random_uniform.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor1d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/range.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reciprocal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/relu.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/relu6.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reverse_1d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reverse_2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reverse_3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reverse_4d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/split_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/split.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/rfft.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/round.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/rsqrt.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/selu.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/separable_conv2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/setdiff1d_async.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sign.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sin.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sinh.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/slice1d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/slice2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/slice3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/slice4d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/softmax.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sqrt.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/squared_difference.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/squeeze.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/stack.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/step.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/strided_slice.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tan.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor4d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor5d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor6d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/topk.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/truncated_normal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/unsorted_segment_sum.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/unstack.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/variable.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/where_impl.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/where_async.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/boolean_mask.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/compare.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/binary_ops.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/norm.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/moving_average.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/scatter_nd_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/scatter_nd.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sparse_to_dense_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sparse_to_dense.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/gather_nd.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/dropout_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/dropout.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/signal_ops_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/in_top_k.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv2d_backprop_filter.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fused_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fused_conv2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/depthwise_conv2d_native_backprop_filter.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/depthwise_conv2d_native_backprop_input.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fused_depthwise_conv2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fused_mat_mul.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fused_ops.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/hamming_window.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/hann_window.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/frame.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/stft.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/crop_and_resize.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/flip_left_right.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/rotate_with_offset.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/nonmax_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/non_max_suppression.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/array_util.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/non_max_suppression_impl.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/non_max_suppression_async.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/non_max_suppression_with_score.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/non_max_suppression_with_score_async.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/non_max_suppression_padded.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/non_max_suppression_padded_async.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/resize_bilinear.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/resize_nearest_neighbor.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/band_part.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/gram_schmidt.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/qr.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/loss_ops_utils.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/compute_weighted_loss.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/absolute_difference.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/cosine_distance.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/hinge_loss.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/huber_loss.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/log_loss.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/mean_squared_error.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sigmoid_cross_entropy.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/softmax_cross_entropy.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/ops.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/base_side_effects.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/types.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/io_utils.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/router_registry.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/model_management.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/browser_files.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/progress.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/weights_loader.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/http.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/passthrough.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/io.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/confusion_matrix.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/math.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/browser.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/gather_nd_util.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/serialization.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/version.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/adadelta_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/adagrad_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/adam_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/adamax_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/sgd_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/momentum_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/rmsprop_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/optimizer_constructors.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/train.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/browser_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/rotate_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/array_ops_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/selu_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/erf_util.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/log.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/complex_util.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/backend_util.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/split_shared.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/tile_impl.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/topk_impl.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/kernel_impls.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/backend.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Abs_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Acos_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Acosh_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Add_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/AddN_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/ArgMax_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/ArgMin_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Asin_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Asinh_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Atan2_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Atan_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Atanh_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/avg_pool_3d_backprop.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/AvgPool3D_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/avg_pool_backprop.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/AvgPool_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/BatchMatMul_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/BatchToSpaceND_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/BroadcastTo_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Cast_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Ceil_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/ClipByValue_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Concat_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Conv2D_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Conv2DBackpropInput_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv3d_backprop_filter.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Conv3D_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Cos_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Cosh_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Cumsum_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/DepthwiseConv2dNative_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Dilation2D_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Div_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Elu_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Erf_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Exp_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Expm1_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Floor_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/FloorDiv_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/FusedBatchNorm_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/GatherV2_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/GreaterEqual_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Identity_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/IsFinite_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/IsInf_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/IsNan_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Log1p_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Log_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/LogSoftmax_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/local_response_normalization_backprop.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/LRN_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/min_max_grad_util.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Max_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Maximum_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/max_pool_3d_backprop.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/MaxPool3D_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/max_pool_backprop.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/MaxPool_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Min_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Minimum_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Mod_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Multiply_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Negate_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/OneHot_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/OnesLike_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/PadV2_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Pow_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Prelu_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Reciprocal_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Relu6_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Relu_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Reshape_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/ResizeBilinear_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/ResizeNearestNeighbor_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Reverse_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Round_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Rsqrt_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/SelectV2_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Selu_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sigmoid_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sign_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sin_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sinh_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Slice_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Softmax_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Softplus_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/SpaceToBatchND_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/SplitV_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sqrt_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Square_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/SquaredDifference_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Step_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sub_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sum_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Tan_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Tanh_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Tile_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Transpose_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Unpack_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/UnsortedSegmentSum_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/ZerosLike_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/register_all_gradients.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/index.ts", "build/draw/../../src/draw/drawContour.ts", "build/classes/../../src/classes/Dimensions.ts", "build/utils/../../src/utils/index.ts", "build/classes/../../src/classes/Point.ts", "build/classes/../../src/classes/Box.ts", "build/classes/../../src/classes/BoundingBox.ts", "build/classes/../../src/classes/ObjectDetection.ts", "build/classes/../../src/classes/FaceDetection.ts", "build/ops/../../src/ops/iou.ts", "build/ops/../../src/ops/minBbox.ts", "build/ops/../../src/ops/nonMaxSuppression.ts", "build/ops/../../src/ops/normalize.ts", "build/ops/../../src/ops/padToSquare.ts", "build/ops/../../src/ops/shuffleArray.ts", "build/ops/../../src/ops/index.ts", "build/classes/../../src/classes/Rect.ts", "build/classes/../../src/classes/FaceLandmarks.ts", "build/classes/../../src/classes/FaceLandmarks5.ts", "build/classes/../../src/classes/FaceLandmarks68.ts", "build/classes/../../src/classes/FaceMatch.ts", "build/classes/../../src/classes/LabeledBox.ts", "build/classes/../../src/classes/LabeledFaceDescriptors.ts", "build/classes/../../src/classes/PredictedBox.ts", "build/factories/../../src/factories/WithFaceDetection.ts", "build/env/../../src/env/createBrowserEnv.ts", "build/env/../../src/env/createFileSystem.ts", "build/env/../../src/env/createNodejsEnv.ts", "build/env/../../src/env/isBrowser.ts", "build/env/../../src/env/index.ts", "build/dom/../../src/dom/resolveInput.ts", "build/dom/../../src/dom/getContext2dOrThrow.ts", "build/draw/../../src/draw/DrawTextField.ts", "build/draw/../../src/draw/DrawBox.ts", "build/draw/../../src/draw/drawDetections.ts", "build/dom/../../src/dom/isMediaLoaded.ts", "build/dom/../../src/dom/awaitMediaLoaded.ts", "build/dom/../../src/dom/bufferToImage.ts", "build/dom/../../src/dom/getMediaDimensions.ts", "build/dom/../../src/dom/createCanvas.ts", "build/dom/../../src/dom/imageTensorToCanvas.ts", "build/dom/../../src/dom/isMediaElement.ts", "build/dom/../../src/dom/imageToSquare.ts", "build/dom/../../src/dom/NetInput.ts", "build/dom/../../src/dom/toNetInput.ts", "build/dom/../../src/dom/extractFaces.ts", "build/dom/../../src/dom/extractFaceTensors.ts", "build/dom/../../src/dom/fetchOrThrow.ts", "build/dom/../../src/dom/fetchImage.ts", "build/dom/../../src/dom/fetchJson.ts", "build/dom/../../src/dom/fetchNetWeights.ts", "build/common/../../src/common/getModelUris.ts", "build/dom/../../src/dom/loadWeightMap.ts", "build/dom/../../src/dom/matchDimensions.ts", "build/../src/NeuralNetwork.ts", "build/common/../../src/common/depthwiseSeparableConv.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/denseBlock.ts", "build/common/../../src/common/convLayer.ts", "build/common/../../src/common/disposeUnusedWeightTensors.ts", "build/common/../../src/common/extractConvParamsFactory.ts", "build/common/../../src/common/extractFCParamsFactory.ts", "build/common/../../src/common/types.ts", "build/common/../../src/common/extractSeparableConvParamsFactory.ts", "build/common/../../src/common/extractWeightEntryFactory.ts", "build/common/../../src/common/extractWeightsFactory.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/extractorsFactory.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/extractParams.ts", "build/common/../../src/common/loadConvParamsFactory.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/loadParamsFactory.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/extractParamsFromWeigthMap.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/FaceFeatureExtractor.ts", "build/common/../../src/common/fullyConnectedLayer.ts", "build/faceProcessor/../../src/faceProcessor/extractParams.ts", "build/faceProcessor/../../src/faceProcessor/extractParamsFromWeigthMap.ts", "build/faceProcessor/../../src/faceProcessor/util.ts", "build/faceProcessor/../../src/faceProcessor/FaceProcessor.ts", "build/faceExpressionNet/../../src/faceExpressionNet/FaceExpressions.ts", "build/faceExpressionNet/../../src/faceExpressionNet/FaceExpressionNet.ts", "build/factories/../../src/factories/WithFaceExpressions.ts", "build/draw/../../src/draw/drawFaceExpressions.ts", "build/factories/../../src/factories/WithFaceLandmarks.ts", "build/draw/../../src/draw/DrawFaceLandmarks.ts", "build/draw/../../src/draw/index.ts", "build/xception/../../src/xception/extractParams.ts", "build/xception/../../src/xception/extractParamsFromWeigthMap.ts", "build/xception/../../src/xception/TinyXception.ts", "build/ageGenderNet/../../src/ageGenderNet/extractParams.ts", "build/ageGenderNet/../../src/ageGenderNet/extractParamsFromWeigthMap.ts", "build/ageGenderNet/../../src/ageGenderNet/types.ts", "build/ageGenderNet/../../src/ageGenderNet/AgeGenderNet.ts", "build/faceLandmarkNet/../../src/faceLandmarkNet/FaceLandmark68NetBase.ts", "build/faceLandmarkNet/../../src/faceLandmarkNet/FaceLandmark68Net.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/extractParamsFromWeigthMapTiny.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/extractParamsTiny.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/TinyFaceFeatureExtractor.ts", "build/faceLandmarkNet/../../src/faceLandmarkNet/FaceLandmark68TinyNet.ts", "build/faceLandmarkNet/../../src/faceLandmarkNet/index.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/scaleLayer.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/convLayer.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/extractParams.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/extractParamsFromWeigthMap.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/residualLayer.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/FaceRecognitionNet.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/index.ts", "build/factories/../../src/factories/WithFaceDescriptor.ts", "build/factories/../../src/factories/WithAge.ts", "build/factories/../../src/factories/WithGender.ts", "build/ssdMobilenetv1/../../src/ssdMobilenetv1/extractParams.ts", "build/ssdMobilenetv1/../../src/ssdMobilenetv1/extractParamsFromWeigthMap.ts", "build/ssdMobilenetv1/../../src/ssdMobilenetv1/pointwiseConvLayer.ts", "build/ssdMobilenetv1/../../src/ssdMobilenetv1/mobileNetV1.ts", "build/ssdMobilenetv1/../../src/ssdMobilenetv1/nonMaxSuppression.ts", "build/ssdMobilenetv1/../../src/ssdMobilenetv1/outputLayer.ts", "build/ssdMobilenetv1/../../src/ssdMobilenetv1/boxPredictionLayer.ts", "build/ssdMobilenetv1/../../src/ssdMobilenetv1/predictionLayer.ts", "build/ssdMobilenetv1/../../src/ssdMobilenetv1/SsdMobilenetv1Options.ts", "build/ssdMobilenetv1/../../src/ssdMobilenetv1/SsdMobilenetv1.ts", "build/ssdMobilenetv1/../../src/ssdMobilenetv1/index.ts", "build/tinyYolov2/../../src/tinyYolov2/const.ts", "build/tinyYolov2/../../src/tinyYolov2/config.ts", "build/tinyYolov2/../../src/tinyYolov2/leaky.ts", "build/tinyYolov2/../../src/tinyYolov2/convWithBatchNorm.ts", "build/tinyYolov2/../../src/tinyYolov2/depthwiseSeparableConv.ts", "build/tinyYolov2/../../src/tinyYolov2/extractParams.ts", "build/tinyYolov2/../../src/tinyYolov2/extractParamsFromWeigthMap.ts", "build/tinyYolov2/../../src/tinyYolov2/TinyYolov2Options.ts", "build/tinyYolov2/../../src/tinyYolov2/TinyYolov2Base.ts", "build/tinyYolov2/../../src/tinyYolov2/TinyYolov2.ts", "build/tinyYolov2/../../src/tinyYolov2/index.ts", "build/tinyFaceDetector/../../src/tinyFaceDetector/TinyFaceDetectorOptions.ts", "build/globalApi/../../src/globalApi/ComposableTask.ts", "build/globalApi/../../src/globalApi/extractFacesAndComputeResults.ts", "build/tinyFaceDetector/../../src/tinyFaceDetector/const.ts", "build/tinyFaceDetector/../../src/tinyFaceDetector/TinyFaceDetector.ts", "build/globalApi/../../src/globalApi/nets.ts", "build/globalApi/../../src/globalApi/PredictFaceExpressionsTask.ts", "build/globalApi/../../src/globalApi/PredictAgeAndGenderTask.ts", "build/globalApi/../../src/globalApi/ComputeFaceDescriptorsTasks.ts", "build/globalApi/../../src/globalApi/DetectFaceLandmarksTasks.ts", "build/globalApi/../../src/globalApi/DetectFacesTasks.ts", "build/globalApi/../../src/globalApi/detectFaces.ts", "build/globalApi/../../src/globalApi/allFaces.ts", "build/../src/euclideanDistance.ts", "build/globalApi/../../src/globalApi/FaceMatcher.ts", "build/tinyFaceDetector/../../src/tinyFaceDetector/index.ts", "build/../src/resizeResults.ts"], "sourcesContent": ["// A port of an algorithm by Johannes Baag\u00F8e , 2010\n// http://baagoe.com/en/RandomMusings/javascript/\n// https://github.com/nquinlan/better-random-numbers-for-javascript-mirror\n// Original work is under MIT license -\n\n// Copyright (C) 2010 by Johannes Baag\u00F8e \n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n// \n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n// \n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n\n\n(function(global, module, define) {\n\nfunction Alea(seed) {\n var me = this, mash = Mash();\n\n me.next = function() {\n var t = 2091639 * me.s0 + me.c * 2.3283064365386963e-10; // 2^-32\n me.s0 = me.s1;\n me.s1 = me.s2;\n return me.s2 = t - (me.c = t | 0);\n };\n\n // Apply the seeding algorithm from Baagoe.\n me.c = 1;\n me.s0 = mash(' ');\n me.s1 = mash(' ');\n me.s2 = mash(' ');\n me.s0 -= mash(seed);\n if (me.s0 < 0) { me.s0 += 1; }\n me.s1 -= mash(seed);\n if (me.s1 < 0) { me.s1 += 1; }\n me.s2 -= mash(seed);\n if (me.s2 < 0) { me.s2 += 1; }\n mash = null;\n}\n\nfunction copy(f, t) {\n t.c = f.c;\n t.s0 = f.s0;\n t.s1 = f.s1;\n t.s2 = f.s2;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new Alea(seed),\n state = opts && opts.state,\n prng = xg.next;\n prng.int32 = function() { return (xg.next() * 0x100000000) | 0; }\n prng.double = function() {\n return prng() + (prng() * 0x200000 | 0) * 1.1102230246251565e-16; // 2^-53\n };\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nfunction Mash() {\n var n = 0xefc8249d;\n\n var mash = function(data) {\n data = data.toString();\n for (var i = 0; i < data.length; i++) {\n n += data.charCodeAt(i);\n var h = 0.02519603282416938 * n;\n n = h >>> 0;\n h -= n;\n h *= n;\n n = h >>> 0;\n h -= n;\n n += h * 0x100000000; // 2^32\n }\n return (n >>> 0) * 2.3283064365386963e-10; // 2^-32\n };\n\n return mash;\n}\n\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.alea = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n", "// A Javascript implementaion of the \"xor128\" prng algorithm by\n// George Marsaglia. See http://www.jstatsoft.org/v08/i14/paper\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n me.x = 0;\n me.y = 0;\n me.z = 0;\n me.w = 0;\n\n // Set up generator function.\n me.next = function() {\n var t = me.x ^ (me.x << 11);\n me.x = me.y;\n me.y = me.z;\n me.z = me.w;\n return me.w ^= (me.w >>> 19) ^ t ^ (t >>> 8);\n };\n\n if (seed === (seed | 0)) {\n // Integer seed.\n me.x = seed;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 64; k++) {\n me.x ^= strseed.charCodeAt(k) | 0;\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.x = f.x;\n t.y = f.y;\n t.z = f.z;\n t.w = f.w;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xor128 = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n", "// A Javascript implementaion of the \"xorwow\" prng algorithm by\n// George Marsaglia. See http://www.jstatsoft.org/v08/i14/paper\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n // Set up generator function.\n me.next = function() {\n var t = (me.x ^ (me.x >>> 2));\n me.x = me.y; me.y = me.z; me.z = me.w; me.w = me.v;\n return (me.d = (me.d + 362437 | 0)) +\n (me.v = (me.v ^ (me.v << 4)) ^ (t ^ (t << 1))) | 0;\n };\n\n me.x = 0;\n me.y = 0;\n me.z = 0;\n me.w = 0;\n me.v = 0;\n\n if (seed === (seed | 0)) {\n // Integer seed.\n me.x = seed;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 64; k++) {\n me.x ^= strseed.charCodeAt(k) | 0;\n if (k == strseed.length) {\n me.d = me.x << 10 ^ me.x >>> 4;\n }\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.x = f.x;\n t.y = f.y;\n t.z = f.z;\n t.w = f.w;\n t.v = f.v;\n t.d = f.d;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xorwow = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n", "// A Javascript implementaion of the \"xorshift7\" algorithm by\n// Fran\u00E7ois Panneton and Pierre L'ecuyer:\n// \"On the Xorgshift Random Number Generators\"\n// http://saluc.engr.uconn.edu/refs/crypto/rng/panneton05onthexorshift.pdf\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this;\n\n // Set up generator function.\n me.next = function() {\n // Update xor generator.\n var X = me.x, i = me.i, t, v, w;\n t = X[i]; t ^= (t >>> 7); v = t ^ (t << 24);\n t = X[(i + 1) & 7]; v ^= t ^ (t >>> 10);\n t = X[(i + 3) & 7]; v ^= t ^ (t >>> 3);\n t = X[(i + 4) & 7]; v ^= t ^ (t << 7);\n t = X[(i + 7) & 7]; t = t ^ (t << 13); v ^= t ^ (t << 9);\n X[i] = v;\n me.i = (i + 1) & 7;\n return v;\n };\n\n function init(me, seed) {\n var j, w, X = [];\n\n if (seed === (seed | 0)) {\n // Seed state array using a 32-bit integer.\n w = X[0] = seed;\n } else {\n // Seed state using a string.\n seed = '' + seed;\n for (j = 0; j < seed.length; ++j) {\n X[j & 7] = (X[j & 7] << 15) ^\n (seed.charCodeAt(j) + X[(j + 1) & 7] << 13);\n }\n }\n // Enforce an array length of 8, not all zeroes.\n while (X.length < 8) X.push(0);\n for (j = 0; j < 8 && X[j] === 0; ++j);\n if (j == 8) w = X[7] = -1; else w = X[j];\n\n me.x = X;\n me.i = 0;\n\n // Discard an initial 256 values.\n for (j = 256; j > 0; --j) {\n me.next();\n }\n }\n\n init(me, seed);\n}\n\nfunction copy(f, t) {\n t.x = f.x.slice();\n t.i = f.i;\n return t;\n}\n\nfunction impl(seed, opts) {\n if (seed == null) seed = +(new Date);\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (state.x) copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xorshift7 = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n", "// A Javascript implementaion of Richard Brent's Xorgens xor4096 algorithm.\n//\n// This fast non-cryptographic random number generator is designed for\n// use in Monte-Carlo algorithms. It combines a long-period xorshift\n// generator with a Weyl generator, and it passes all common batteries\n// of stasticial tests for randomness while consuming only a few nanoseconds\n// for each prng generated. For background on the generator, see Brent's\n// paper: \"Some long-period random number generators using shifts and xors.\"\n// http://arxiv.org/pdf/1004.3115v1.pdf\n//\n// Usage:\n//\n// var xor4096 = require('xor4096');\n// random = xor4096(1); // Seed with int32 or string.\n// assert.equal(random(), 0.1520436450538547); // (0, 1) range, 53 bits.\n// assert.equal(random.int32(), 1806534897); // signed int32, 32 bits.\n//\n// For nonzero numeric keys, this impelementation provides a sequence\n// identical to that by Brent's xorgens 3 implementaion in C. This\n// implementation also provides for initalizing the generator with\n// string seeds, or for saving and restoring the state of the generator.\n//\n// On Chrome, this prng benchmarks about 2.1 times slower than\n// Javascript's built-in Math.random().\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this;\n\n // Set up generator function.\n me.next = function() {\n var w = me.w,\n X = me.X, i = me.i, t, v;\n // Update Weyl generator.\n me.w = w = (w + 0x61c88647) | 0;\n // Update xor generator.\n v = X[(i + 34) & 127];\n t = X[i = ((i + 1) & 127)];\n v ^= v << 13;\n t ^= t << 17;\n v ^= v >>> 15;\n t ^= t >>> 12;\n // Update Xor generator array state.\n v = X[i] = v ^ t;\n me.i = i;\n // Result is the combination.\n return (v + (w ^ (w >>> 16))) | 0;\n };\n\n function init(me, seed) {\n var t, v, i, j, w, X = [], limit = 128;\n if (seed === (seed | 0)) {\n // Numeric seeds initialize v, which is used to generates X.\n v = seed;\n seed = null;\n } else {\n // String seeds are mixed into v and X one character at a time.\n seed = seed + '\\0';\n v = 0;\n limit = Math.max(limit, seed.length);\n }\n // Initialize circular array and weyl value.\n for (i = 0, j = -32; j < limit; ++j) {\n // Put the unicode characters into the array, and shuffle them.\n if (seed) v ^= seed.charCodeAt((j + 32) % seed.length);\n // After 32 shuffles, take v as the starting w value.\n if (j === 0) w = v;\n v ^= v << 10;\n v ^= v >>> 15;\n v ^= v << 4;\n v ^= v >>> 13;\n if (j >= 0) {\n w = (w + 0x61c88647) | 0; // Weyl.\n t = (X[j & 127] ^= (v + w)); // Combine xor and weyl to init array.\n i = (0 == t) ? i + 1 : 0; // Count zeroes.\n }\n }\n // We have detected all zeroes; make the key nonzero.\n if (i >= 128) {\n X[(seed && seed.length || 0) & 127] = -1;\n }\n // Run the generator 512 times to further mix the state before using it.\n // Factoring this as a function slows the main generator, so it is just\n // unrolled here. The weyl generator is not advanced while warming up.\n i = 127;\n for (j = 4 * 128; j > 0; --j) {\n v = X[(i + 34) & 127];\n t = X[i = ((i + 1) & 127)];\n v ^= v << 13;\n t ^= t << 17;\n v ^= v >>> 15;\n t ^= t >>> 12;\n X[i] = v ^ t;\n }\n // Storing state as object members is faster than using closure variables.\n me.w = w;\n me.X = X;\n me.i = i;\n }\n\n init(me, seed);\n}\n\nfunction copy(f, t) {\n t.i = f.i;\n t.w = f.w;\n t.X = f.X.slice();\n return t;\n};\n\nfunction impl(seed, opts) {\n if (seed == null) seed = +(new Date);\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (state.X) copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xor4096 = impl;\n}\n\n})(\n this, // window object or global\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n", "// A Javascript implementaion of the \"Tyche-i\" prng algorithm by\n// Samuel Neves and Filipe Araujo.\n// See https://eden.dei.uc.pt/~sneves/pubs/2011-snfa2.pdf\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n // Set up generator function.\n me.next = function() {\n var b = me.b, c = me.c, d = me.d, a = me.a;\n b = (b << 25) ^ (b >>> 7) ^ c;\n c = (c - d) | 0;\n d = (d << 24) ^ (d >>> 8) ^ a;\n a = (a - b) | 0;\n me.b = b = (b << 20) ^ (b >>> 12) ^ c;\n me.c = c = (c - d) | 0;\n me.d = (d << 16) ^ (c >>> 16) ^ a;\n return me.a = (a - b) | 0;\n };\n\n /* The following is non-inverted tyche, which has better internal\n * bit diffusion, but which is about 25% slower than tyche-i in JS.\n me.next = function() {\n var a = me.a, b = me.b, c = me.c, d = me.d;\n a = (me.a + me.b | 0) >>> 0;\n d = me.d ^ a; d = d << 16 ^ d >>> 16;\n c = me.c + d | 0;\n b = me.b ^ c; b = b << 12 ^ d >>> 20;\n me.a = a = a + b | 0;\n d = d ^ a; me.d = d = d << 8 ^ d >>> 24;\n me.c = c = c + d | 0;\n b = b ^ c;\n return me.b = (b << 7 ^ b >>> 25);\n }\n */\n\n me.a = 0;\n me.b = 0;\n me.c = 2654435769 | 0;\n me.d = 1367130551;\n\n if (seed === Math.floor(seed)) {\n // Integer seed.\n me.a = (seed / 0x100000000) | 0;\n me.b = seed | 0;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 20; k++) {\n me.b ^= strseed.charCodeAt(k) | 0;\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.a = f.a;\n t.b = f.b;\n t.c = f.c;\n t.d = f.d;\n return t;\n};\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.tychei = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n", "", "/*\nCopyright 2014 David Bau.\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n*/\n\n(function (pool, math) {\n//\n// The following constants are related to IEEE 754 limits.\n//\nvar global = this,\n width = 256, // each RC4 output is 0 <= x < 256\n chunks = 6, // at least six RC4 outputs for each double\n digits = 52, // there are 52 significant digits in a double\n rngname = 'random', // rngname: name for Math.random and Math.seedrandom\n startdenom = math.pow(width, chunks),\n significance = math.pow(2, digits),\n overflow = significance * 2,\n mask = width - 1,\n nodecrypto; // node.js crypto module, initialized at the bottom.\n\n//\n// seedrandom()\n// This is the seedrandom function described above.\n//\nfunction seedrandom(seed, options, callback) {\n var key = [];\n options = (options == true) ? { entropy: true } : (options || {});\n\n // Flatten the seed string or build one from local entropy if needed.\n var shortseed = mixkey(flatten(\n options.entropy ? [seed, tostring(pool)] :\n (seed == null) ? autoseed() : seed, 3), key);\n\n // Use the seed to initialize an ARC4 generator.\n var arc4 = new ARC4(key);\n\n // This function returns a random double in [0, 1) that contains\n // randomness in every bit of the mantissa of the IEEE 754 value.\n var prng = function() {\n var n = arc4.g(chunks), // Start with a numerator n < 2 ^ 48\n d = startdenom, // and denominator d = 2 ^ 48.\n x = 0; // and no 'extra last byte'.\n while (n < significance) { // Fill up all significant digits by\n n = (n + x) * width; // shifting numerator and\n d *= width; // denominator and generating a\n x = arc4.g(1); // new least-significant-byte.\n }\n while (n >= overflow) { // To avoid rounding up, before adding\n n /= 2; // last byte, shift everything\n d /= 2; // right using integer math until\n x >>>= 1; // we have exactly the desired bits.\n }\n return (n + x) / d; // Form the number within [0, 1).\n };\n\n prng.int32 = function() { return arc4.g(4) | 0; }\n prng.quick = function() { return arc4.g(4) / 0x100000000; }\n prng.double = prng;\n\n // Mix the randomness into accumulated entropy.\n mixkey(tostring(arc4.S), pool);\n\n // Calling convention: what to return as a function of prng, seed, is_math.\n return (options.pass || callback ||\n function(prng, seed, is_math_call, state) {\n if (state) {\n // Load the arc4 state from the given state if it has an S array.\n if (state.S) { copy(state, arc4); }\n // Only provide the .state method if requested via options.state.\n prng.state = function() { return copy(arc4, {}); }\n }\n\n // If called as a method of Math (Math.seedrandom()), mutate\n // Math.random because that is how seedrandom.js has worked since v1.0.\n if (is_math_call) { math[rngname] = prng; return seed; }\n\n // Otherwise, it is a newer calling convention, so return the\n // prng directly.\n else return prng;\n })(\n prng,\n shortseed,\n 'global' in options ? options.global : (this == math),\n options.state);\n}\nmath['seed' + rngname] = seedrandom;\n\n//\n// ARC4\n//\n// An ARC4 implementation. The constructor takes a key in the form of\n// an array of at most (width) integers that should be 0 <= x < (width).\n//\n// The g(count) method returns a pseudorandom integer that concatenates\n// the next (count) outputs from ARC4. Its return value is a number x\n// that is in the range 0 <= x < (width ^ count).\n//\nfunction ARC4(key) {\n var t, keylen = key.length,\n me = this, i = 0, j = me.i = me.j = 0, s = me.S = [];\n\n // The empty key [] is treated as [0].\n if (!keylen) { key = [keylen++]; }\n\n // Set up S using the standard key scheduling algorithm.\n while (i < width) {\n s[i] = i++;\n }\n for (i = 0; i < width; i++) {\n s[i] = s[j = mask & (j + key[i % keylen] + (t = s[i]))];\n s[j] = t;\n }\n\n // The \"g\" method returns the next (count) outputs as one number.\n (me.g = function(count) {\n // Using instance members instead of closure state nearly doubles speed.\n var t, r = 0,\n i = me.i, j = me.j, s = me.S;\n while (count--) {\n t = s[i = mask & (i + 1)];\n r = r * width + s[mask & ((s[i] = s[j = mask & (j + t)]) + (s[j] = t))];\n }\n me.i = i; me.j = j;\n return r;\n // For robust unpredictability, the function call below automatically\n // discards an initial batch of values. This is called RC4-drop[256].\n // See http://google.com/search?q=rsa+fluhrer+response&btnI\n })(width);\n}\n\n//\n// copy()\n// Copies internal state of ARC4 to or from a plain object.\n//\nfunction copy(f, t) {\n t.i = f.i;\n t.j = f.j;\n t.S = f.S.slice();\n return t;\n};\n\n//\n// flatten()\n// Converts an object tree to nested arrays of strings.\n//\nfunction flatten(obj, depth) {\n var result = [], typ = (typeof obj), prop;\n if (depth && typ == 'object') {\n for (prop in obj) {\n try { result.push(flatten(obj[prop], depth - 1)); } catch (e) {}\n }\n }\n return (result.length ? result : typ == 'string' ? obj : obj + '\\0');\n}\n\n//\n// mixkey()\n// Mixes a string seed into a key that is an array of integers, and\n// returns a shortened string seed that is equivalent to the result key.\n//\nfunction mixkey(seed, key) {\n var stringseed = seed + '', smear, j = 0;\n while (j < stringseed.length) {\n key[mask & j] =\n mask & ((smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++));\n }\n return tostring(key);\n}\n\n//\n// autoseed()\n// Returns an object for autoseeding, using window.crypto and Node crypto\n// module if available.\n//\nfunction autoseed() {\n try {\n var out;\n if (nodecrypto && (out = nodecrypto.randomBytes)) {\n // The use of 'out' to remember randomBytes makes tight minified code.\n out = out(width);\n } else {\n out = new Uint8Array(width);\n (global.crypto || global.msCrypto).getRandomValues(out);\n }\n return tostring(out);\n } catch (e) {\n var browser = global.navigator,\n plugins = browser && browser.plugins;\n return [+new Date, global, plugins, global.screen, tostring(pool)];\n }\n}\n\n//\n// tostring()\n// Converts an array of charcodes to a string\n//\nfunction tostring(a) {\n return String.fromCharCode.apply(0, a);\n}\n\n//\n// When seedrandom.js is loaded, we immediately mix a few bits\n// from the built-in RNG into the entropy pool. Because we do\n// not want to interfere with deterministic PRNG state later,\n// seedrandom will not call math.random on its own again after\n// initialization.\n//\nmixkey(math.random(), pool);\n\n//\n// Nodejs and AMD support: export the implementation as a module using\n// either convention.\n//\nif ((typeof module) == 'object' && module.exports) {\n module.exports = seedrandom;\n // When in node.js, try using crypto package for autoseeding.\n try {\n nodecrypto = require('crypto');\n } catch (ex) {}\n} else if ((typeof define) == 'function' && define.amd) {\n define(function() { return seedrandom; });\n}\n\n// End anonymous scope, and pass initial values.\n})(\n [], // pool: entropy pool starts empty\n Math // math: package containing random, pow, and seedrandom\n);\n", "// A library of seedable RNGs implemented in Javascript.\n//\n// Usage:\n//\n// var seedrandom = require('seedrandom');\n// var random = seedrandom(1); // or any seed.\n// var x = random(); // 0 <= x < 1. Every bit is random.\n// var x = random.quick(); // 0 <= x < 1. 32 bits of randomness.\n\n// alea, a 53-bit multiply-with-carry generator by Johannes Baag\u00F8e.\n// Period: ~2^116\n// Reported to pass all BigCrush tests.\nvar alea = require('./lib/alea');\n\n// xor128, a pure xor-shift generator by George Marsaglia.\n// Period: 2^128-1.\n// Reported to fail: MatrixRank and LinearComp.\nvar xor128 = require('./lib/xor128');\n\n// xorwow, George Marsaglia's 160-bit xor-shift combined plus weyl.\n// Period: 2^192-2^32\n// Reported to fail: CollisionOver, SimpPoker, and LinearComp.\nvar xorwow = require('./lib/xorwow');\n\n// xorshift7, by Fran\u00E7ois Panneton and Pierre L'ecuyer, takes\n// a different approach: it adds robustness by allowing more shifts\n// than Marsaglia's original three. It is a 7-shift generator\n// with 256 bits, that passes BigCrush with no systmatic failures.\n// Period 2^256-1.\n// No systematic BigCrush failures reported.\nvar xorshift7 = require('./lib/xorshift7');\n\n// xor4096, by Richard Brent, is a 4096-bit xor-shift with a\n// very long period that also adds a Weyl generator. It also passes\n// BigCrush with no systematic failures. Its long period may\n// be useful if you have many generators and need to avoid\n// collisions.\n// Period: 2^4128-2^32.\n// No systematic BigCrush failures reported.\nvar xor4096 = require('./lib/xor4096');\n\n// Tyche-i, by Samuel Neves and Filipe Araujo, is a bit-shifting random\n// number generator derived from ChaCha, a modern stream cipher.\n// https://eden.dei.uc.pt/~sneves/pubs/2011-snfa2.pdf\n// Period: ~2^127\n// No systematic BigCrush failures reported.\nvar tychei = require('./lib/tychei');\n\n// The original ARC4-based prng included in this library.\n// Period: ~2^1600\nvar sr = require('./seedrandom');\n\nsr.alea = alea;\nsr.xor128 = xor128;\nsr.xorwow = xorwow;\nsr.xorshift7 = xorshift7;\nsr.xor4096 = xor4096;\nsr.tychei = tychei;\n\nmodule.exports = sr;\n", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null], - "mappings": "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", + "mappings": "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", "names": [] } diff --git a/dist/face-api.min.js b/dist/face-api.min.js index f9e4540..24c3b70 100644 --- a/dist/face-api.min.js +++ b/dist/face-api.min.js @@ -1,20 +1,20 @@ -var faceapi=(()=>{var Hs=Object.defineProperty,zb=Object.prototype.hasOwnProperty,At=(e,t)=>()=>(t||(t={exports:{}},e(t.exports,t)),t.exports),du=e=>Hs(e,"__esModule",{value:!0}),Re=(e,t)=>{du(e);for(var n in t)Hs(e,n,{get:t[n],enumerable:!0})},Yb=(e,t)=>{if(du(e),typeof t=="object"||typeof t=="function")for(let n in t)!zb.call(e,n)&&n!=="default"&&Hs(e,n,{get:()=>t[n],enumerable:!0});return e},mu=e=>e&&e.__esModule?e:Yb(Hs({},"default",{value:e,enumerable:!0}),e);var gu=At((fu,dc)=>{(function(e,t,n){function r(s){var c=this,p=a();c.next=function(){var l=2091639*c.s0+c.c*23283064365386963e-26;return c.s0=c.s1,c.s1=c.s2,c.s2=l-(c.c=l|0)},c.c=1,c.s0=p(" "),c.s1=p(" "),c.s2=p(" "),c.s0-=p(s),c.s0<0&&(c.s0+=1),c.s1-=p(s),c.s1<0&&(c.s1+=1),c.s2-=p(s),c.s2<0&&(c.s2+=1),p=null}function o(s,c){return c.c=s.c,c.s0=s.s0,c.s1=s.s1,c.s2=s.s2,c}function i(s,c){var p=new r(s),l=c&&c.state,h=p.next;return h.int32=function(){return p.next()*4294967296|0},h.double=function(){return h()+(h()*2097152|0)*11102230246251565e-32},h.quick=h,l&&(typeof l=="object"&&o(l,p),h.state=function(){return o(p,{})}),h}function a(){var s=4022871197,c=function(p){p=p.toString();for(var l=0;l>>0,h-=s,h*=s,s=h>>>0,h-=s,s+=h*4294967296}return(s>>>0)*23283064365386963e-26};return c}t&&t.exports?t.exports=i:n&&n.amd?n(function(){return i}):this.alea=i})(fu,typeof dc=="object"&&dc,typeof define=="function"&&define)});var wu=At((bu,mc)=>{(function(e,t,n){function r(a){var s=this,c="";s.x=0,s.y=0,s.z=0,s.w=0,s.next=function(){var l=s.x^s.x<<11;return s.x=s.y,s.y=s.z,s.z=s.w,s.w^=s.w>>>19^l^l>>>8},a===(a|0)?s.x=a:c+=a;for(var p=0;p>>0)/4294967296};return l.double=function(){do var h=c.next()>>>11,d=(c.next()>>>0)/4294967296,b=(h+d)/(1<<21);while(b===0);return b},l.int32=c.next,l.quick=l,p&&(typeof p=="object"&&o(p,c),l.state=function(){return o(c,{})}),l}t&&t.exports?t.exports=i:n&&n.amd?n(function(){return i}):this.xor128=i})(bu,typeof mc=="object"&&mc,typeof define=="function"&&define)});var yu=At((xu,fc)=>{(function(e,t,n){function r(a){var s=this,c="";s.next=function(){var l=s.x^s.x>>>2;return s.x=s.y,s.y=s.z,s.z=s.w,s.w=s.v,(s.d=s.d+362437|0)+(s.v=s.v^s.v<<4^(l^l<<1))|0},s.x=0,s.y=0,s.z=0,s.w=0,s.v=0,a===(a|0)?s.x=a:c+=a;for(var p=0;p>>4),s.next()}function o(a,s){return s.x=a.x,s.y=a.y,s.z=a.z,s.w=a.w,s.v=a.v,s.d=a.d,s}function i(a,s){var c=new r(a),p=s&&s.state,l=function(){return(c.next()>>>0)/4294967296};return l.double=function(){do var h=c.next()>>>11,d=(c.next()>>>0)/4294967296,b=(h+d)/(1<<21);while(b===0);return b},l.int32=c.next,l.quick=l,p&&(typeof p=="object"&&o(p,c),l.state=function(){return o(c,{})}),l}t&&t.exports?t.exports=i:n&&n.amd?n(function(){return i}):this.xorwow=i})(xu,typeof fc=="object"&&fc,typeof define=="function"&&define)});var vu=At((Lu,gc)=>{(function(e,t,n){function r(a){var s=this;s.next=function(){var p=s.x,l=s.i,h,d,b;return h=p[l],h^=h>>>7,d=h^h<<24,h=p[l+1&7],d^=h^h>>>10,h=p[l+3&7],d^=h^h>>>3,h=p[l+4&7],d^=h^h<<7,h=p[l+7&7],h=h^h<<13,d^=h^h<<9,p[l]=d,s.i=l+1&7,d};function c(p,l){var h,d,b=[];if(l===(l|0))d=b[0]=l;else for(l=""+l,h=0;h0;--h)p.next()}c(s,a)}function o(a,s){return s.x=a.x.slice(),s.i=a.i,s}function i(a,s){a==null&&(a=+new Date());var c=new r(a),p=s&&s.state,l=function(){return(c.next()>>>0)/4294967296};return l.double=function(){do var h=c.next()>>>11,d=(c.next()>>>0)/4294967296,b=(h+d)/(1<<21);while(b===0);return b},l.int32=c.next,l.quick=l,p&&(p.x&&o(p,c),l.state=function(){return o(c,{})}),l}t&&t.exports?t.exports=i:n&&n.amd?n(function(){return i}):this.xorshift7=i})(Lu,typeof gc=="object"&&gc,typeof define=="function"&&define)});var Iu=At((Su,bc)=>{(function(e,t,n){function r(a){var s=this;s.next=function(){var p=s.w,l=s.X,h=s.i,d,b;return s.w=p=p+1640531527|0,b=l[h+34&127],d=l[h=h+1&127],b^=b<<13,d^=d<<17,b^=b>>>15,d^=d>>>12,b=l[h]=b^d,s.i=h,b+(p^p>>>16)|0};function c(p,l){var h,d,b,x,w,L=[],S=128;for(l===(l|0)?(d=l,l=null):(l=l+"\0",d=0,S=Math.max(S,l.length)),b=0,x=-32;x>>15,d^=d<<4,d^=d>>>13,x>=0&&(w=w+1640531527|0,h=L[x&127]^=d+w,b=h==0?b+1:0);for(b>=128&&(L[(l&&l.length||0)&127]=-1),b=127,x=4*128;x>0;--x)d=L[b+34&127],h=L[b=b+1&127],d^=d<<13,h^=h<<17,d^=d>>>15,h^=h>>>12,L[b]=d^h;p.w=w,p.X=L,p.i=b}c(s,a)}function o(a,s){return s.i=a.i,s.w=a.w,s.X=a.X.slice(),s}function i(a,s){a==null&&(a=+new Date());var c=new r(a),p=s&&s.state,l=function(){return(c.next()>>>0)/4294967296};return l.double=function(){do var h=c.next()>>>11,d=(c.next()>>>0)/4294967296,b=(h+d)/(1<<21);while(b===0);return b},l.int32=c.next,l.quick=l,p&&(p.X&&o(p,c),l.state=function(){return o(c,{})}),l}t&&t.exports?t.exports=i:n&&n.amd?n(function(){return i}):this.xor4096=i})(Su,typeof bc=="object"&&bc,typeof define=="function"&&define)});var Au=At((Tu,wc)=>{(function(e,t,n){function r(a){var s=this,c="";s.next=function(){var l=s.b,h=s.c,d=s.d,b=s.a;return l=l<<25^l>>>7^h,h=h-d|0,d=d<<24^d>>>8^b,b=b-l|0,s.b=l=l<<20^l>>>12^h,s.c=h=h-d|0,s.d=d<<16^h>>>16^b,s.a=b-l|0},s.a=0,s.b=0,s.c=2654435769|0,s.d=1367130551,a===Math.floor(a)?(s.a=a/4294967296|0,s.b=a|0):c+=a;for(var p=0;p>>0)/4294967296};return l.double=function(){do var h=c.next()>>>11,d=(c.next()>>>0)/4294967296,b=(h+d)/(1<<21);while(b===0);return b},l.int32=c.next,l.quick=l,p&&(typeof p=="object"&&o(p,c),l.state=function(){return o(c,{})}),l}t&&t.exports?t.exports=i:n&&n.amd?n(function(){return i}):this.tychei=i})(Tu,typeof wc=="object"&&wc,typeof define=="function"&&define)});var Nu=At(()=>{});var Ru=At((ET,zs)=>{(function(e,t){var n=this,r=256,o=6,i=52,a="random",s=t.pow(r,o),c=t.pow(2,i),p=c*2,l=r-1,h;function d(N,A,E){var M=[];A=A==!0?{entropy:!0}:A||{};var D=L(w(A.entropy?[N,I(e)]:N==null?S():N,3),M),$=new b(M),B=function(){for(var j=$.g(o),te=s,re=0;j=p;)j/=2,te/=2,re>>>=1;return(j+re)/te};return B.int32=function(){return $.g(4)|0},B.quick=function(){return $.g(4)/4294967296},B.double=B,L(I($.S),e),(A.pass||E||function(j,te,re,he){return he&&(he.S&&x(he,$),j.state=function(){return x($,{})}),re?(t[a]=j,te):j})(B,D,"global"in A?A.global:this==t,A.state)}t["seed"+a]=d;function b(N){var A,E=N.length,M=this,D=0,$=M.i=M.j=0,B=M.S=[];for(E||(N=[E++]);D{var Vb=gu(),Kb=wu(),Jb=yu(),Xb=vu(),Zb=Iu(),Qb=Au(),An=Ru();An.alea=Vb;An.xor128=Kb;An.xorwow=Jb;An.xorshift7=Xb;An.xor4096=Zb;An.tychei=Qb;_u.exports=An});var Ou=At((ew,Eu)=>{Re(ew,{isNodejs:()=>tw});function tw(){return typeof global=="object"&&!0&&typeof Eu!="undefined"&&typeof process!="undefined"&&!!process.version}});var dd=At(nw=>{Re(nw,{AgeGenderNet:()=>ya,BoundingBox:()=>Rr,Box:()=>de,ComposableTask:()=>xt,ComputeAllFaceDescriptorsTask:()=>hn,ComputeFaceDescriptorsTaskBase:()=>ca,ComputeSingleFaceDescriptorTask:()=>un,DetectAllFaceLandmarksTask:()=>sa,DetectAllFacesTask:()=>lo,DetectFaceLandmarksTaskBase:()=>ia,DetectFacesTaskBase:()=>ra,DetectSingleFaceLandmarksTask:()=>aa,DetectSingleFaceTask:()=>oa,Dimensions:()=>Qe,FACE_EXPRESSION_LABELS:()=>ha,FaceDetection:()=>fe,FaceDetectionNet:()=>Mu,FaceExpressionNet:()=>ua,FaceExpressions:()=>fn,FaceLandmark68Net:()=>Sr,FaceLandmark68TinyNet:()=>la,FaceLandmarkNet:()=>ad,FaceLandmarks:()=>st,FaceLandmarks5:()=>ud,FaceLandmarks68:()=>Nr,FaceMatch:()=>wo,FaceMatcher:()=>Tc,FaceRecognitionNet:()=>vr,Gender:()=>Bt,LabeledBox:()=>bo,LabeledFaceDescriptors:()=>xn,NetInput:()=>Jt,NeuralNetwork:()=>Ue,ObjectDetection:()=>On,Point:()=>J,PredictedBox:()=>hd,Rect:()=>Ar,SsdMobilenetv1:()=>Nn,SsdMobilenetv1Options:()=>bt,TinyFaceDetector:()=>yr,TinyFaceDetectorOptions:()=>Zs,TinyYolov2:()=>xr,TinyYolov2Options:()=>Wt,TinyYolov2SizeType:()=>Xs,allFaces:()=>rd,allFacesSsdMobilenetv1:()=>Ic,allFacesTinyYolov2:()=>nd,awaitMediaLoaded:()=>xa,bufferToImage:()=>wa,computeFaceDescriptor:()=>Gu,createCanvas:()=>En,createCanvasFromMedia:()=>Tr,createFaceDetectionNet:()=>Fu,createFaceRecognitionNet:()=>sd,createSsdMobilenetv1:()=>xc,createTinyFaceDetector:()=>Du,createTinyYolov2:()=>ku,detectAllFaces:()=>po,detectFaceLandmarks:()=>vc,detectFaceLandmarksTiny:()=>ju,detectLandmarks:()=>ed,detectSingleFace:()=>td,draw:()=>Vs,env:()=>se,euclideanDistance:()=>da,extendWithAge:()=>fo,extendWithFaceDescriptor:()=>mo,extendWithFaceDetection:()=>mn,extendWithFaceExpressions:()=>uo,extendWithFaceLandmarks:()=>Rn,extendWithGender:()=>ho,extractFaceTensors:()=>Cn,extractFaces:()=>_n,fetchImage:()=>ld,fetchJson:()=>ba,fetchNetWeights:()=>pd,fetchOrThrow:()=>wn,getContext2dOrThrow:()=>qe,getMediaDimensions:()=>bn,imageTensorToCanvas:()=>ga,imageToSquare:()=>fa,inverseSigmoid:()=>Wu,iou:()=>na,isMediaElement:()=>go,isMediaLoaded:()=>Ir,isWithAge:()=>id,isWithFaceDetection:()=>Nt,isWithFaceExpressions:()=>pa,isWithFaceLandmarks:()=>dn,isWithGender:()=>od,loadAgeGenderModel:()=>Xu,loadFaceDetectionModel:()=>Zu,loadFaceExpressionModel:()=>Ju,loadFaceLandmarkModel:()=>Yu,loadFaceLandmarkTinyModel:()=>Vu,loadFaceRecognitionModel:()=>Ku,loadSsdMobilenetv1Model:()=>Sc,loadTinyFaceDetectorModel:()=>Hu,loadTinyYolov2Model:()=>zu,loadWeightMap:()=>ma,locateFaces:()=>Qu,matchDimensions:()=>cd,minBbox:()=>ta,nets:()=>oe,nonMaxSuppression:()=>ea,normalize:()=>wt,padToSquare:()=>Qs,predictAgeAndGender:()=>qu,recognizeFaceExpressions:()=>Pu,resizeResults:()=>yc,resolveInput:()=>gn,shuffleArray:()=>Uu,sigmoid:()=>Lr,ssdMobilenetv1:()=>Lc,tf:()=>Ys,tinyFaceDetector:()=>Bu,tinyYolov2:()=>$u,toNetInput:()=>ue,utils:()=>Ks,validateConfig:()=>Js})});const md="tfjsflags";class Ac{constructor(e){this.global=e,this.flags={},this.flagRegistry={},this.urlFlags={},this.populateURLFlags()}setPlatform(e,t){this.platform!=null&&console.warn(`Platform ${this.platformName} has already been set. Overwriting the platform with ${t}.`),this.platformName=e,this.platform=t}registerFlag(e,t,n){if(this.flagRegistry[e]={evaluationFn:t,setHook:n},this.urlFlags[e]!=null){const r=this.urlFlags[e];console.warn(`Setting feature override from URL ${e}: ${r}.`),this.set(e,r)}}async getAsync(e){return e in this.flags?this.flags[e]:(this.flags[e]=await this.evaluateFlag(e),this.flags[e])}get(e){if(e in this.flags)return this.flags[e];const t=this.evaluateFlag(e);if(t instanceof Promise)throw new Error(`Flag ${e} cannot be synchronously evaluated. Please use getAsync() instead.`);return this.flags[e]=t,this.flags[e]}getNumber(e){return this.get(e)}getBool(e){return this.get(e)}getFlags(){return this.flags}get features(){return this.flags}set(e,t){if(this.flagRegistry[e]==null)throw new Error(`Cannot set flag ${e} as it has not been registered.`);this.flags[e]=t,this.flagRegistry[e].setHook!=null&&this.flagRegistry[e].setHook(t)}evaluateFlag(e){if(this.flagRegistry[e]==null)throw new Error(`Cannot evaluate flag '${e}': no evaluation function found.`);return this.flagRegistry[e].evaluationFn()}setFlags(e){this.flags=Object.assign({},e)}reset(){this.flags={},this.urlFlags={},this.populateURLFlags()}populateURLFlags(){if(typeof this.global=="undefined"||typeof this.global.location=="undefined"||typeof this.global.location.search=="undefined")return;const e=rw(this.global.location.search);if(md in e){const t=e[md].split(",");t.forEach(n=>{const[r,o]=n.split(":");this.urlFlags[r]=ow(r,o)})}}}function rw(e){const t={};return e.replace(/[?&]([^=?&]+)(?:=([^&]*))?/g,(n,...r)=>(iw(t,r[0],r[1]),r.join("="))),t}function iw(e,t,n){e[decodeURIComponent(t)]=decodeURIComponent(n||"")}function ow(e,t){if(t=t.toLowerCase(),t==="true"||t==="false")return t==="true";if(`${+t}`===t)return+t;throw new Error(`Could not parse value flag value ${t} for flag ${e}.`)}function pe(){return Nc}let Nc=null;function fd(e){Nc=e}let Rc;function _c(){if(Rc==null){let e;if(typeof window!="undefined")e=window;else if(typeof global!="undefined")e=global;else if(typeof process!="undefined")e=process;else if(typeof self!="undefined")e=self;else throw new Error("Could not find a global object");Rc=e}return Rc}function sw(){const e=_c();return e._tfGlobals==null&&(e._tfGlobals=new Map()),e._tfGlobals}function Cc(e,t){const n=sw();if(n.has(e))return n.get(e);{const r=t();return n.set(e,r),n.get(e)}}const xo="Abs",yo="Acos",Lo="Acosh",kn="Add",vo="AddN",Ec="All",Oc="Any",So="ArgMax",Io="ArgMin",To="Asin",Ao="Asinh",No="Atan",Ro="Atanh",_o="Atan2",Co="AvgPool",kc="AvgPoolBackprop",Eo="AvgPool3D",Dc="AvgPool3DBackprop",Oo="BatchMatMul",ko="BatchToSpaceND",Do="BroadcastTo",Dn="Cast",Fo="Ceil",Mo="ClipByValue",Fc="Complex",Uo="Concat",Wo="Conv2D",Mc="Conv2DBackpropFilter",Bo="Conv2DBackpropInput",$o="Conv3D",Uc="Conv3DBackpropFilterV2",Wc="Conv3DBackpropInputV2",jo="Cos",Go="Cosh",Po="Cumsum",Bc="CropAndResize",$c="DepthToSpace",qo="DepthwiseConv2dNative",jc="DepthwiseConv2dNativeBackpropFilter",Gc="DepthwiseConv2dNativeBackpropInput",Pc="Diag",Ho="Dilation2D",qc="Dilation2DBackpropInput",Hc="Dilation2DBackpropFilter",zo="Div",Yo="Elu",zc="EluGrad",Vo="Erf",Yc="Equal",Ko="Exp",Jo="Expm1",Vc="FFT",Kc="Fill",Jc="FlipLeftRight",Xo="Floor",Zo="FloorDiv",Qo="FusedBatchNorm",ei="GatherV2",Xc="GatherNd",Zc="Greater",ti="GreaterEqual",ni="Identity",Qc="IFFT",ep="Imag",ri="IsFinite",oi="IsInf",ii="IsNan",tp="Less",np="LessEqual",rp="LinSpace",si="Log",ai="Log1p",op="LogicalAnd",ip="LogicalNot",sp="LogicalOr",ci="LogSoftmax",pi="LRN",ap="LRNBackprop",li="Max",hi="Maximum",ui="MaxPool",cp="MaxPoolBackprop",di="MaxPool3D",pp="MaxPool3DBackprop",lp="MaxPoolWithArgmax",aw="Mean",mi="Min",fi="Minimum",gi="Mod",bi="Multiply",wi="Negate",hp="NotEqual",up="NonMaxSuppressionV3",dp="NonMaxSuppressionV4",mp="NonMaxSuppressionV5",xi="OnesLike",yi="OneHot",Li="PadV2",cw="Pool",vi="Pow",Si="Prelu",fp="Prod",gp="Range",bp="Real",Ii="Reciprocal",Ti="Relu",Ai="Reshape",Ni="ResizeNearestNeighbor",wp="ResizeNearestNeighborGrad",Ri="ResizeBilinear",xp="ResizeBilinearGrad",_i="Relu6",Ci="Reverse",Ei="Round",Oi="Rsqrt",yp="ScatterNd",ki="SelectV2",Di="Selu",Fi="Slice",Mi="Sin",Ui="Sinh",Wi="Sign",Bi="Sigmoid",$i="Softplus",ji="Sqrt",Gi="Sum",Pi="SpaceToBatchND",qi="SplitV",Hi="Softmax",zi="SquaredDifference",Lp="Square",Yi="Sub",vp="SparseToDense",Sp="StridedSlice",Vi="Tan",Ki="Tanh",Ji="Tile",Ip="TopK",Xi="Transpose",Zi="Unpack",Qi="UnsortedSegmentSum",es="ZerosLike",ts="Step",La="FromPixels",Tp="RotateWithOffset",va="_FusedMatMul",Sa="FusedConv2D",Ia="FusedDepthwiseConv2D";const _r=Cc("kernelRegistry",()=>new Map()),ns=Cc("gradRegistry",()=>new Map());function rs(e,t){const n=Ap(e,t);return _r.get(n)}function Ta(e){return ns.get(e)}function Aa(e){const t=_r.entries(),n=[];for(;;){const{done:r,value:o}=t.next();if(r)break;const[i,a]=o,[s]=i.split("_");s===e&&n.push(a)}return n}function pw(e){const{kernelName:t,backendName:n}=e,r=Ap(t,n);_r.has(r)&&console.warn(`The kernel '${t}' for backend '${n}' is already registered`),_r.set(r,e)}function Np(e){const{kernelName:t}=e;ns.has(t)&&(pe().getBool("DEBUG")&&console.warn(`Overriding the gradient for '${t}'`)),ns.set(t,e)}function lw(e,t){const n=Ap(e,t);if(!_r.has(n))throw new Error(`The kernel '${e}' for backend '${t}' is not registered`);_r.delete(n)}function hw(e){if(!ns.has(e))throw new Error(`The gradient '${e}' for backend is not registered`);ns.delete(e)}function Ap(e,t){return`${t}_${e}`}const gd={};Re(gd,{arraysEqual:()=>Te,assert:()=>f,assertNonNegativeIntegerDimensions:()=>ss,assertNonNull:()=>at,assertShapesMatch:()=>P,bytesFromStringArray:()=>Dp,bytesPerElement:()=>kp,checkConversionForErrors:()=>wd,clamp:()=>Cr,computeStrides:()=>Gt,createShuffledIndices:()=>xw,decodeString:()=>Ra,distSquared:()=>fw,encodeString:()=>Fp,fetch:()=>Sw,flatten:()=>$t,getArrayFromDType:()=>Cp,getTypedArrayFromDType:()=>Er,hasEncodingLoss:()=>Op,indexToLoc:()=>Tw,inferDtype:()=>Or,inferFromImplicitShape:()=>Rp,isBoolean:()=>xd,isFunction:()=>jt,isInt:()=>X,isNumber:()=>yd,isScalarShape:()=>gw,isString:()=>Rt,isTypedArray:()=>_e,isValidDtype:()=>Ep,locToIndex:()=>Iw,makeOnesTypedArray:()=>is,makeZerosNestedTypedArray:()=>vw,makeZerosTypedArray:()=>Pt,nearestDivisor:()=>kr,nearestLargerEven:()=>uw,now:()=>Na,parseAxisParam:()=>z,randUniform:()=>mw,repeatedTry:()=>yw,rightPad:()=>Fn,shuffle:()=>bd,sizeFromShape:()=>Q,sizeToSquarishShape:()=>ww,squeezeShape:()=>_p,sum:()=>dw,tanh:()=>bw,toNestedArray:()=>Mn,toTypedArray:()=>os});function bd(e){let t=e.length,n=0,r=0;for(;t>0;)r=Math.random()*t|0,t--,n=e[t],e[t]=e[r],e[r]=n}function Cr(e,t,n){return Math.max(e,Math.min(t,n))}function uw(e){return e%2===0?e:e+1}function dw(e){let t=0;for(let n=0;nn+` Shapes ${e} and ${t} must match`)}function at(e){f(e!=null,()=>"The input to the tensor constructor must be a non-null value.")}function $t(e,t=[],n=!1){if(t==null&&(t=[]),Array.isArray(e)||_e(e)&&!n)for(let r=0;r0,n){return new Promise((r,o)=>{let i=0;const a=()=>{if(e()){r();return}i++;const s=t(i);if(n!=null&&i>=n){o();return}setTimeout(a,s)};a()})}function Rp(e,t){let n=1,r=-1;for(let i=0;i=0)n*=e[i];else if(e[i]===-1){if(r!==-1)throw Error(`Shapes can only have 1 implicit size. Found -1 at dim ${r} and dim ${i}`);r=i}else if(e[i]<0)throw Error(`Shapes can not be < 0. Found ${e[i]} at dim ${i}`);if(r===-1){if(t>0&&t!==n)throw Error(`Size(${t}) must match the product of shape ${e}`);return e}if(n===0)throw Error(`Cannot infer the missing size in [${e}] when there are 0 elements`);if(t%n!==0)throw Error(`The implicit shape can't be a fractional number. Got ${t} / ${n}`);const o=e.slice();return o[r]=t/n,o}function z(e,t){const n=t.length;return e=e==null?t.map((r,o)=>o):[].concat(e),f(e.every(r=>r>=-n&&r`All values in axis param must be in range [-${n}, ${n}) but got axis ${e}`),f(e.every(r=>X(r)),()=>`All values in axis param must be integers but got axis ${e}`),e.map(r=>r<0?n+r:r)}function _p(e,t){const n=[],r=[],o=t!=null&&Array.isArray(t)&&t.length===0,i=t==null||o?null:z(t,e).sort();let a=0;for(let s=0;ss)&&e[s]===1&&(n.push(e[s]),r.push(s)),i[a]<=s&&a++}e[s]!==1&&(n.push(e[s]),r.push(s))}return{newShape:n,keptDims:r}}function Er(e,t){let n=null;if(e==null||e==="float32")n=new Float32Array(t);else if(e==="int32")n=new Int32Array(t);else if(e==="bool")n=new Uint8Array(t);else throw new Error(`Unknown data type ${e}`);return n}function Cp(e,t){let n=null;if(e==null||e==="float32")n=new Float32Array(t);else if(e==="int32")n=new Int32Array(t);else if(e==="bool")n=new Uint8Array(t);else if(e==="string")n=new Array(t);else throw new Error(`Unknown data type ${e}`);return n}function wd(e,t){for(let n=0;nt+=n.length),t}function Rt(e){return typeof e=="string"||e instanceof String}function xd(e){return typeof e=="boolean"}function yd(e){return typeof e=="number"}function Or(e){return Array.isArray(e)?Or(e[0]):e instanceof Float32Array?"float32":e instanceof Int32Array||e instanceof Uint8Array?"int32":yd(e)?"float32":Rt(e)?"string":xd(e)?"bool":"float32"}function jt(e){return!!(e&&e.constructor&&e.call&&e.apply)}function kr(e,t){for(let n=t;n=0;--r)n[r]=n[r+1]*e[r+1];return n}function os(e,t){if(t==="string")throw new Error("Cannot convert a string[] to a TypedArray");if(Array.isArray(e)&&(e=$t(e)),pe().getBool("DEBUG")&&wd(e,t),Lw(e,t))return e;if(t==null||t==="float32"||t==="complex64")return new Float32Array(e);if(t==="int32")return new Int32Array(e);if(t==="bool"){const n=new Uint8Array(e.length);for(let r=0;rs*c);for(let s=0;sr*o);if(n===0)return[];if(n!==t.length)throw new Error(`[${e}] does not match the input size ${t.length}.`);return Ld(0,e,t)}function Lw(e,t){return e instanceof Float32Array&&t==="float32"||e instanceof Int32Array&&t==="int32"||e instanceof Uint8Array&&t==="bool"}function is(e,t){const n=Pt(e,t);for(let r=0;rr*o,1);if(t==null||t==="float32")return Mn(e,new Float32Array(n));if(t==="int32")return Mn(e,new Int32Array(n));if(t==="bool")return Mn(e,new Uint8Array(n));throw new Error(`Unknown data type ${t}`)}function Na(){return pe().platform.now()}function ss(e){e.forEach(t=>{f(Number.isInteger(t)&&t>=0,()=>`Tensor must have a shape comprised of positive integers but got shape [${e}].`)})}function Sw(e,t){return pe().platform.fetch(e,t)}function Fp(e,t="utf-8"){return t=t||"utf-8",pe().platform.encode(e,t)}function Ra(e,t="utf-8"){return t=t||"utf-8",pe().platform.decode(e,t)}function Iw(e,t,n){if(t===0)return 0;if(t===1)return e[0];let r=e[e.length-1];for(let o=0;o{r=n()},i=this.backendTimer.time(o);r.map(s=>{s.data().then(c=>{Aw(c,s.dtype,e)})});const a={kernelName:e,outputs:r,inputs:t,timeMs:i.then(s=>s.kernelMs),extraInfo:i.then(s=>s.getExtraProfileInfo!=null?s.getExtraProfileInfo():"")};return a}logKernelProfile(e){const{kernelName:t,outputs:n,timeMs:r,inputs:o,extraInfo:i}=e;n.forEach(a=>{Promise.all([a.data(),r,i]).then(s=>{this.logger.logKernelProfile(t,a,s[0],s[1],o,s[2])})})}}function Aw(e,t,n){if(t!=="float32")return!1;for(let r=0;r0?x:""} `}}console.log(`%c${s} %c${a} %c${c}D ${l} %c${p} %c${h} %c${i}`,"font-weight:bold","color:red","color:blue","color: orange","color: green","color: steelblue")}}function Sd(e,t,n){const r={},o={};for(let c=0;cr[w.id]=!0),b=!0,o[p.id]=!0;break}if(b)break}}const i={};i[n.id]=!0;const a={};for(let c=e.length-1;c>=0;c--){const p=e[c],l=p.inputs;for(let h=0;h=0;o--){const i=t[o],a=[];if(i.outputs.forEach(c=>{const p=e[c.id];p!=null?a.push(p):a.push(null)}),i.gradient==null)throw new Error(`Cannot compute gradient: gradient function not found for ${i.kernelName}.`);const s=i.gradient(a);for(const c in i.inputs){if(!(c in s))throw new Error(`Cannot backprop through input ${c}. Available gradients found: ${Object.keys(s)}.`);const p=n(()=>s[c]());if(p.dtype!=="float32")throw new Error(`Error in gradient for op ${i.kernelName}. The gradient of input ${c} must have 'float32' dtype, but has '${p.dtype}'`);const l=i.inputs[c];if(!Te(p.shape,l.shape))throw new Error(`Error in gradient for op ${i.kernelName}. The gradient of input '${c}' has shape '${p.shape}', which does not match the shape of the input '${l.shape}'`);if(e[l.id]==null)e[l.id]=p;else{const h=e[l.id];e[l.id]=r(h,p),h.dispose()}}}}const Td=20,as=3,Mp=7;function Ad(e,t,n,r){const o=Gt(t),i=Rw(e,t,n,o),a=t.length,s=_a(e,t,n,o,i),c=["Tensor"];return r&&(c.push(` dtype: ${n}`),c.push(` rank: ${a}`),c.push(` shape: [${t}]`),c.push(" values:")),c.push(s.map(p=>" "+p).join(` +var faceapi=(()=>{var Hs=Object.defineProperty,Yb=Object.prototype.hasOwnProperty,At=(e,t)=>()=>(t||(t={exports:{}},e(t.exports,t)),t.exports),du=e=>Hs(e,"__esModule",{value:!0}),Re=(e,t)=>{du(e);for(var n in t)Hs(e,n,{get:t[n],enumerable:!0})},Vb=(e,t)=>{if(du(e),typeof t=="object"||typeof t=="function")for(let n in t)!Yb.call(e,n)&&n!=="default"&&Hs(e,n,{get:()=>t[n],enumerable:!0});return e},mu=e=>e&&e.__esModule?e:Vb(Hs({},"default",{value:e,enumerable:!0}),e);var gu=At((fu,dc)=>{(function(e,t,n){function r(s){var c=this,p=a();c.next=function(){var l=2091639*c.s0+c.c*23283064365386963e-26;return c.s0=c.s1,c.s1=c.s2,c.s2=l-(c.c=l|0)},c.c=1,c.s0=p(" "),c.s1=p(" "),c.s2=p(" "),c.s0-=p(s),c.s0<0&&(c.s0+=1),c.s1-=p(s),c.s1<0&&(c.s1+=1),c.s2-=p(s),c.s2<0&&(c.s2+=1),p=null}function o(s,c){return c.c=s.c,c.s0=s.s0,c.s1=s.s1,c.s2=s.s2,c}function i(s,c){var p=new r(s),l=c&&c.state,h=p.next;return h.int32=function(){return p.next()*4294967296|0},h.double=function(){return h()+(h()*2097152|0)*11102230246251565e-32},h.quick=h,l&&(typeof l=="object"&&o(l,p),h.state=function(){return o(p,{})}),h}function a(){var s=4022871197,c=function(p){p=p.toString();for(var l=0;l>>0,h-=s,h*=s,s=h>>>0,h-=s,s+=h*4294967296}return(s>>>0)*23283064365386963e-26};return c}t&&t.exports?t.exports=i:n&&n.amd?n(function(){return i}):this.alea=i})(fu,typeof dc=="object"&&dc,typeof define=="function"&&define)});var wu=At((bu,mc)=>{(function(e,t,n){function r(a){var s=this,c="";s.x=0,s.y=0,s.z=0,s.w=0,s.next=function(){var l=s.x^s.x<<11;return s.x=s.y,s.y=s.z,s.z=s.w,s.w^=s.w>>>19^l^l>>>8},a===(a|0)?s.x=a:c+=a;for(var p=0;p>>0)/4294967296};return l.double=function(){do var h=c.next()>>>11,d=(c.next()>>>0)/4294967296,b=(h+d)/(1<<21);while(b===0);return b},l.int32=c.next,l.quick=l,p&&(typeof p=="object"&&o(p,c),l.state=function(){return o(c,{})}),l}t&&t.exports?t.exports=i:n&&n.amd?n(function(){return i}):this.xor128=i})(bu,typeof mc=="object"&&mc,typeof define=="function"&&define)});var yu=At((xu,fc)=>{(function(e,t,n){function r(a){var s=this,c="";s.next=function(){var l=s.x^s.x>>>2;return s.x=s.y,s.y=s.z,s.z=s.w,s.w=s.v,(s.d=s.d+362437|0)+(s.v=s.v^s.v<<4^(l^l<<1))|0},s.x=0,s.y=0,s.z=0,s.w=0,s.v=0,a===(a|0)?s.x=a:c+=a;for(var p=0;p>>4),s.next()}function o(a,s){return s.x=a.x,s.y=a.y,s.z=a.z,s.w=a.w,s.v=a.v,s.d=a.d,s}function i(a,s){var c=new r(a),p=s&&s.state,l=function(){return(c.next()>>>0)/4294967296};return l.double=function(){do var h=c.next()>>>11,d=(c.next()>>>0)/4294967296,b=(h+d)/(1<<21);while(b===0);return b},l.int32=c.next,l.quick=l,p&&(typeof p=="object"&&o(p,c),l.state=function(){return o(c,{})}),l}t&&t.exports?t.exports=i:n&&n.amd?n(function(){return i}):this.xorwow=i})(xu,typeof fc=="object"&&fc,typeof define=="function"&&define)});var vu=At((Lu,gc)=>{(function(e,t,n){function r(a){var s=this;s.next=function(){var p=s.x,l=s.i,h,d,b;return h=p[l],h^=h>>>7,d=h^h<<24,h=p[l+1&7],d^=h^h>>>10,h=p[l+3&7],d^=h^h>>>3,h=p[l+4&7],d^=h^h<<7,h=p[l+7&7],h=h^h<<13,d^=h^h<<9,p[l]=d,s.i=l+1&7,d};function c(p,l){var h,d,b=[];if(l===(l|0))d=b[0]=l;else for(l=""+l,h=0;h0;--h)p.next()}c(s,a)}function o(a,s){return s.x=a.x.slice(),s.i=a.i,s}function i(a,s){a==null&&(a=+new Date());var c=new r(a),p=s&&s.state,l=function(){return(c.next()>>>0)/4294967296};return l.double=function(){do var h=c.next()>>>11,d=(c.next()>>>0)/4294967296,b=(h+d)/(1<<21);while(b===0);return b},l.int32=c.next,l.quick=l,p&&(p.x&&o(p,c),l.state=function(){return o(c,{})}),l}t&&t.exports?t.exports=i:n&&n.amd?n(function(){return i}):this.xorshift7=i})(Lu,typeof gc=="object"&&gc,typeof define=="function"&&define)});var Iu=At((Su,bc)=>{(function(e,t,n){function r(a){var s=this;s.next=function(){var p=s.w,l=s.X,h=s.i,d,b;return s.w=p=p+1640531527|0,b=l[h+34&127],d=l[h=h+1&127],b^=b<<13,d^=d<<17,b^=b>>>15,d^=d>>>12,b=l[h]=b^d,s.i=h,b+(p^p>>>16)|0};function c(p,l){var h,d,b,x,w,L=[],S=128;for(l===(l|0)?(d=l,l=null):(l=l+"\0",d=0,S=Math.max(S,l.length)),b=0,x=-32;x>>15,d^=d<<4,d^=d>>>13,x>=0&&(w=w+1640531527|0,h=L[x&127]^=d+w,b=h==0?b+1:0);for(b>=128&&(L[(l&&l.length||0)&127]=-1),b=127,x=4*128;x>0;--x)d=L[b+34&127],h=L[b=b+1&127],d^=d<<13,h^=h<<17,d^=d>>>15,h^=h>>>12,L[b]=d^h;p.w=w,p.X=L,p.i=b}c(s,a)}function o(a,s){return s.i=a.i,s.w=a.w,s.X=a.X.slice(),s}function i(a,s){a==null&&(a=+new Date());var c=new r(a),p=s&&s.state,l=function(){return(c.next()>>>0)/4294967296};return l.double=function(){do var h=c.next()>>>11,d=(c.next()>>>0)/4294967296,b=(h+d)/(1<<21);while(b===0);return b},l.int32=c.next,l.quick=l,p&&(p.X&&o(p,c),l.state=function(){return o(c,{})}),l}t&&t.exports?t.exports=i:n&&n.amd?n(function(){return i}):this.xor4096=i})(Su,typeof bc=="object"&&bc,typeof define=="function"&&define)});var Au=At((Tu,wc)=>{(function(e,t,n){function r(a){var s=this,c="";s.next=function(){var l=s.b,h=s.c,d=s.d,b=s.a;return l=l<<25^l>>>7^h,h=h-d|0,d=d<<24^d>>>8^b,b=b-l|0,s.b=l=l<<20^l>>>12^h,s.c=h=h-d|0,s.d=d<<16^h>>>16^b,s.a=b-l|0},s.a=0,s.b=0,s.c=2654435769|0,s.d=1367130551,a===Math.floor(a)?(s.a=a/4294967296|0,s.b=a|0):c+=a;for(var p=0;p>>0)/4294967296};return l.double=function(){do var h=c.next()>>>11,d=(c.next()>>>0)/4294967296,b=(h+d)/(1<<21);while(b===0);return b},l.int32=c.next,l.quick=l,p&&(typeof p=="object"&&o(p,c),l.state=function(){return o(c,{})}),l}t&&t.exports?t.exports=i:n&&n.amd?n(function(){return i}):this.tychei=i})(Tu,typeof wc=="object"&&wc,typeof define=="function"&&define)});var Nu=At(()=>{});var Ru=At((OT,zs)=>{(function(e,t){var n=this,r=256,o=6,i=52,a="random",s=t.pow(r,o),c=t.pow(2,i),p=c*2,l=r-1,h;function d(N,A,E){var M=[];A=A==!0?{entropy:!0}:A||{};var D=L(w(A.entropy?[N,I(e)]:N==null?S():N,3),M),$=new b(M),B=function(){for(var j=$.g(o),te=s,re=0;j=p;)j/=2,te/=2,re>>>=1;return(j+re)/te};return B.int32=function(){return $.g(4)|0},B.quick=function(){return $.g(4)/4294967296},B.double=B,L(I($.S),e),(A.pass||E||function(j,te,re,he){return he&&(he.S&&x(he,$),j.state=function(){return x($,{})}),re?(t[a]=j,te):j})(B,D,"global"in A?A.global:this==t,A.state)}t["seed"+a]=d;function b(N){var A,E=N.length,M=this,D=0,$=M.i=M.j=0,B=M.S=[];for(E||(N=[E++]);D{var Kb=gu(),Jb=wu(),Xb=yu(),Zb=vu(),Qb=Iu(),ew=Au(),An=Ru();An.alea=Kb;An.xor128=Jb;An.xorwow=Xb;An.xorshift7=Zb;An.xor4096=Qb;An.tychei=ew;_u.exports=An});var Ou=At((tw,Eu)=>{Re(tw,{isNodejs:()=>nw});function nw(){return typeof global=="object"&&!0&&typeof Eu!="undefined"&&typeof process!="undefined"&&!!process.version}});var md=At(rw=>{Re(rw,{AgeGenderNet:()=>ya,BoundingBox:()=>Rr,Box:()=>de,ComposableTask:()=>xt,ComputeAllFaceDescriptorsTask:()=>hn,ComputeFaceDescriptorsTaskBase:()=>ca,ComputeSingleFaceDescriptorTask:()=>un,DetectAllFaceLandmarksTask:()=>sa,DetectAllFacesTask:()=>lo,DetectFaceLandmarksTaskBase:()=>ia,DetectFacesTaskBase:()=>ra,DetectSingleFaceLandmarksTask:()=>aa,DetectSingleFaceTask:()=>oa,Dimensions:()=>Qe,FACE_EXPRESSION_LABELS:()=>ha,FaceDetection:()=>fe,FaceDetectionNet:()=>Uu,FaceExpressionNet:()=>ua,FaceExpressions:()=>fn,FaceLandmark68Net:()=>Sr,FaceLandmark68TinyNet:()=>la,FaceLandmarkNet:()=>cd,FaceLandmarks:()=>st,FaceLandmarks5:()=>dd,FaceLandmarks68:()=>Nr,FaceMatch:()=>wo,FaceMatcher:()=>Tc,FaceRecognitionNet:()=>vr,Gender:()=>Bt,LabeledBox:()=>bo,LabeledFaceDescriptors:()=>xn,NetInput:()=>Jt,NeuralNetwork:()=>Ue,ObjectDetection:()=>On,Point:()=>J,PredictedBox:()=>ud,Rect:()=>Ar,SsdMobilenetv1:()=>Nn,SsdMobilenetv1Options:()=>bt,TinyFaceDetector:()=>yr,TinyFaceDetectorOptions:()=>Zs,TinyYolov2:()=>xr,TinyYolov2Options:()=>Wt,TinyYolov2SizeType:()=>Xs,allFaces:()=>od,allFacesSsdMobilenetv1:()=>Ic,allFacesTinyYolov2:()=>rd,awaitMediaLoaded:()=>xa,bufferToImage:()=>wa,computeFaceDescriptor:()=>Pu,createCanvas:()=>En,createCanvasFromMedia:()=>Tr,createFaceDetectionNet:()=>Mu,createFaceRecognitionNet:()=>ad,createSsdMobilenetv1:()=>xc,createTinyFaceDetector:()=>Fu,createTinyYolov2:()=>Du,detectAllFaces:()=>po,detectFaceLandmarks:()=>vc,detectFaceLandmarksTiny:()=>Gu,detectLandmarks:()=>td,detectSingleFace:()=>nd,draw:()=>Vs,env:()=>se,euclideanDistance:()=>da,extendWithAge:()=>fo,extendWithFaceDescriptor:()=>mo,extendWithFaceDetection:()=>mn,extendWithFaceExpressions:()=>uo,extendWithFaceLandmarks:()=>Rn,extendWithGender:()=>ho,extractFaceTensors:()=>Cn,extractFaces:()=>_n,fetchImage:()=>hd,fetchJson:()=>ba,fetchNetWeights:()=>ld,fetchOrThrow:()=>wn,getContext2dOrThrow:()=>qe,getMediaDimensions:()=>bn,imageTensorToCanvas:()=>ga,imageToSquare:()=>fa,inverseSigmoid:()=>Bu,iou:()=>na,isMediaElement:()=>go,isMediaLoaded:()=>Ir,isWithAge:()=>sd,isWithFaceDetection:()=>Nt,isWithFaceExpressions:()=>pa,isWithFaceLandmarks:()=>dn,isWithGender:()=>id,loadAgeGenderModel:()=>Zu,loadFaceDetectionModel:()=>Qu,loadFaceExpressionModel:()=>Xu,loadFaceLandmarkModel:()=>Vu,loadFaceLandmarkTinyModel:()=>Ku,loadFaceRecognitionModel:()=>Ju,loadSsdMobilenetv1Model:()=>Sc,loadTinyFaceDetectorModel:()=>zu,loadTinyYolov2Model:()=>Yu,loadWeightMap:()=>ma,locateFaces:()=>ed,matchDimensions:()=>pd,minBbox:()=>ta,nets:()=>oe,nonMaxSuppression:()=>ea,normalize:()=>wt,padToSquare:()=>Qs,predictAgeAndGender:()=>Hu,recognizeFaceExpressions:()=>qu,resizeResults:()=>yc,resolveInput:()=>gn,shuffleArray:()=>Wu,sigmoid:()=>Lr,ssdMobilenetv1:()=>Lc,test:()=>ku,tf:()=>Ys,tinyFaceDetector:()=>$u,tinyYolov2:()=>ju,toNetInput:()=>ue,utils:()=>Ks,validateConfig:()=>Js});const ku="test"});const fd="tfjsflags";class Ac{constructor(e){this.global=e,this.flags={},this.flagRegistry={},this.urlFlags={},this.populateURLFlags()}setPlatform(e,t){this.platform!=null&&console.warn(`Platform ${this.platformName} has already been set. Overwriting the platform with ${t}.`),this.platformName=e,this.platform=t}registerFlag(e,t,n){if(this.flagRegistry[e]={evaluationFn:t,setHook:n},this.urlFlags[e]!=null){const r=this.urlFlags[e];console.warn(`Setting feature override from URL ${e}: ${r}.`),this.set(e,r)}}async getAsync(e){return e in this.flags?this.flags[e]:(this.flags[e]=await this.evaluateFlag(e),this.flags[e])}get(e){if(e in this.flags)return this.flags[e];const t=this.evaluateFlag(e);if(t instanceof Promise)throw new Error(`Flag ${e} cannot be synchronously evaluated. Please use getAsync() instead.`);return this.flags[e]=t,this.flags[e]}getNumber(e){return this.get(e)}getBool(e){return this.get(e)}getFlags(){return this.flags}get features(){return this.flags}set(e,t){if(this.flagRegistry[e]==null)throw new Error(`Cannot set flag ${e} as it has not been registered.`);this.flags[e]=t,this.flagRegistry[e].setHook!=null&&this.flagRegistry[e].setHook(t)}evaluateFlag(e){if(this.flagRegistry[e]==null)throw new Error(`Cannot evaluate flag '${e}': no evaluation function found.`);return this.flagRegistry[e].evaluationFn()}setFlags(e){this.flags=Object.assign({},e)}reset(){this.flags={},this.urlFlags={},this.populateURLFlags()}populateURLFlags(){if(typeof this.global=="undefined"||typeof this.global.location=="undefined"||typeof this.global.location.search=="undefined")return;const e=ow(this.global.location.search);if(fd in e){const t=e[fd].split(",");t.forEach(n=>{const[r,o]=n.split(":");this.urlFlags[r]=iw(r,o)})}}}function ow(e){const t={};return e.replace(/[?&]([^=?&]+)(?:=([^&]*))?/g,(n,...r)=>(sw(t,r[0],r[1]),r.join("="))),t}function sw(e,t,n){e[decodeURIComponent(t)]=decodeURIComponent(n||"")}function iw(e,t){if(t=t.toLowerCase(),t==="true"||t==="false")return t==="true";if(`${+t}`===t)return+t;throw new Error(`Could not parse value flag value ${t} for flag ${e}.`)}function pe(){return Nc}let Nc=null;function gd(e){Nc=e}let Rc;function _c(){if(Rc==null){let e;if(typeof window!="undefined")e=window;else if(typeof global!="undefined")e=global;else if(typeof process!="undefined")e=process;else if(typeof self!="undefined")e=self;else throw new Error("Could not find a global object");Rc=e}return Rc}function aw(){const e=_c();return e._tfGlobals==null&&(e._tfGlobals=new Map()),e._tfGlobals}function Cc(e,t){const n=aw();if(n.has(e))return n.get(e);{const r=t();return n.set(e,r),n.get(e)}}const xo="Abs",yo="Acos",Lo="Acosh",kn="Add",vo="AddN",Ec="All",Oc="Any",So="ArgMax",Io="ArgMin",To="Asin",Ao="Asinh",No="Atan",Ro="Atanh",_o="Atan2",Co="AvgPool",kc="AvgPoolBackprop",Eo="AvgPool3D",Dc="AvgPool3DBackprop",Oo="BatchMatMul",ko="BatchToSpaceND",Do="BroadcastTo",Dn="Cast",Fo="Ceil",Mo="ClipByValue",Fc="Complex",Uo="Concat",Wo="Conv2D",Mc="Conv2DBackpropFilter",Bo="Conv2DBackpropInput",$o="Conv3D",Uc="Conv3DBackpropFilterV2",Wc="Conv3DBackpropInputV2",jo="Cos",Go="Cosh",Po="Cumsum",Bc="CropAndResize",$c="DepthToSpace",qo="DepthwiseConv2dNative",jc="DepthwiseConv2dNativeBackpropFilter",Gc="DepthwiseConv2dNativeBackpropInput",Pc="Diag",Ho="Dilation2D",qc="Dilation2DBackpropInput",Hc="Dilation2DBackpropFilter",zo="Div",Yo="Elu",zc="EluGrad",Vo="Erf",Yc="Equal",Ko="Exp",Jo="Expm1",Vc="FFT",Kc="Fill",Jc="FlipLeftRight",Xo="Floor",Zo="FloorDiv",Qo="FusedBatchNorm",ei="GatherV2",Xc="GatherNd",Zc="Greater",ti="GreaterEqual",ni="Identity",Qc="IFFT",ep="Imag",ri="IsFinite",oi="IsInf",ii="IsNan",tp="Less",np="LessEqual",rp="LinSpace",si="Log",ai="Log1p",op="LogicalAnd",ip="LogicalNot",sp="LogicalOr",ci="LogSoftmax",pi="LRN",ap="LRNBackprop",li="Max",hi="Maximum",ui="MaxPool",cp="MaxPoolBackprop",di="MaxPool3D",pp="MaxPool3DBackprop",lp="MaxPoolWithArgmax",cw="Mean",mi="Min",fi="Minimum",gi="Mod",bi="Multiply",wi="Negate",hp="NotEqual",up="NonMaxSuppressionV3",dp="NonMaxSuppressionV4",mp="NonMaxSuppressionV5",xi="OnesLike",yi="OneHot",Li="PadV2",pw="Pool",vi="Pow",Si="Prelu",fp="Prod",gp="Range",bp="Real",Ii="Reciprocal",Ti="Relu",Ai="Reshape",Ni="ResizeNearestNeighbor",wp="ResizeNearestNeighborGrad",Ri="ResizeBilinear",xp="ResizeBilinearGrad",_i="Relu6",Ci="Reverse",Ei="Round",Oi="Rsqrt",yp="ScatterNd",ki="SelectV2",Di="Selu",Fi="Slice",Mi="Sin",Ui="Sinh",Wi="Sign",Bi="Sigmoid",$i="Softplus",ji="Sqrt",Gi="Sum",Pi="SpaceToBatchND",qi="SplitV",Hi="Softmax",zi="SquaredDifference",Lp="Square",Yi="Sub",vp="SparseToDense",Sp="StridedSlice",Vi="Tan",Ki="Tanh",Ji="Tile",Ip="TopK",Xi="Transpose",Zi="Unpack",Qi="UnsortedSegmentSum",es="ZerosLike",ts="Step",La="FromPixels",Tp="RotateWithOffset",va="_FusedMatMul",Sa="FusedConv2D",Ia="FusedDepthwiseConv2D";const _r=Cc("kernelRegistry",()=>new Map()),ns=Cc("gradRegistry",()=>new Map());function rs(e,t){const n=Ap(e,t);return _r.get(n)}function Ta(e){return ns.get(e)}function Aa(e){const t=_r.entries(),n=[];for(;;){const{done:r,value:o}=t.next();if(r)break;const[i,a]=o,[s]=i.split("_");s===e&&n.push(a)}return n}function lw(e){const{kernelName:t,backendName:n}=e,r=Ap(t,n);_r.has(r)&&console.warn(`The kernel '${t}' for backend '${n}' is already registered`),_r.set(r,e)}function Np(e){const{kernelName:t}=e;ns.has(t)&&(pe().getBool("DEBUG")&&console.warn(`Overriding the gradient for '${t}'`)),ns.set(t,e)}function hw(e,t){const n=Ap(e,t);if(!_r.has(n))throw new Error(`The kernel '${e}' for backend '${t}' is not registered`);_r.delete(n)}function uw(e){if(!ns.has(e))throw new Error(`The gradient '${e}' for backend is not registered`);ns.delete(e)}function Ap(e,t){return`${t}_${e}`}const bd={};Re(bd,{arraysEqual:()=>Te,assert:()=>f,assertNonNegativeIntegerDimensions:()=>ss,assertNonNull:()=>at,assertShapesMatch:()=>P,bytesFromStringArray:()=>Dp,bytesPerElement:()=>kp,checkConversionForErrors:()=>xd,clamp:()=>Cr,computeStrides:()=>Gt,createShuffledIndices:()=>yw,decodeString:()=>Ra,distSquared:()=>gw,encodeString:()=>Fp,fetch:()=>Iw,flatten:()=>$t,getArrayFromDType:()=>Cp,getTypedArrayFromDType:()=>Er,hasEncodingLoss:()=>Op,indexToLoc:()=>Aw,inferDtype:()=>Or,inferFromImplicitShape:()=>Rp,isBoolean:()=>yd,isFunction:()=>jt,isInt:()=>X,isNumber:()=>Ld,isScalarShape:()=>bw,isString:()=>Rt,isTypedArray:()=>_e,isValidDtype:()=>Ep,locToIndex:()=>Tw,makeOnesTypedArray:()=>is,makeZerosNestedTypedArray:()=>Sw,makeZerosTypedArray:()=>Pt,nearestDivisor:()=>kr,nearestLargerEven:()=>dw,now:()=>Na,parseAxisParam:()=>z,randUniform:()=>fw,repeatedTry:()=>Lw,rightPad:()=>Fn,shuffle:()=>wd,sizeFromShape:()=>Q,sizeToSquarishShape:()=>xw,squeezeShape:()=>_p,sum:()=>mw,tanh:()=>ww,toNestedArray:()=>Mn,toTypedArray:()=>os});function wd(e){let t=e.length,n=0,r=0;for(;t>0;)r=Math.random()*t|0,t--,n=e[t],e[t]=e[r],e[r]=n}function Cr(e,t,n){return Math.max(e,Math.min(t,n))}function dw(e){return e%2===0?e:e+1}function mw(e){let t=0;for(let n=0;nn+` Shapes ${e} and ${t} must match`)}function at(e){f(e!=null,()=>"The input to the tensor constructor must be a non-null value.")}function $t(e,t=[],n=!1){if(t==null&&(t=[]),Array.isArray(e)||_e(e)&&!n)for(let r=0;r0,n){return new Promise((r,o)=>{let i=0;const a=()=>{if(e()){r();return}i++;const s=t(i);if(n!=null&&i>=n){o();return}setTimeout(a,s)};a()})}function Rp(e,t){let n=1,r=-1;for(let i=0;i=0)n*=e[i];else if(e[i]===-1){if(r!==-1)throw Error(`Shapes can only have 1 implicit size. Found -1 at dim ${r} and dim ${i}`);r=i}else if(e[i]<0)throw Error(`Shapes can not be < 0. Found ${e[i]} at dim ${i}`);if(r===-1){if(t>0&&t!==n)throw Error(`Size(${t}) must match the product of shape ${e}`);return e}if(n===0)throw Error(`Cannot infer the missing size in [${e}] when there are 0 elements`);if(t%n!==0)throw Error(`The implicit shape can't be a fractional number. Got ${t} / ${n}`);const o=e.slice();return o[r]=t/n,o}function z(e,t){const n=t.length;return e=e==null?t.map((r,o)=>o):[].concat(e),f(e.every(r=>r>=-n&&r`All values in axis param must be in range [-${n}, ${n}) but got axis ${e}`),f(e.every(r=>X(r)),()=>`All values in axis param must be integers but got axis ${e}`),e.map(r=>r<0?n+r:r)}function _p(e,t){const n=[],r=[],o=t!=null&&Array.isArray(t)&&t.length===0,i=t==null||o?null:z(t,e).sort();let a=0;for(let s=0;ss)&&e[s]===1&&(n.push(e[s]),r.push(s)),i[a]<=s&&a++}e[s]!==1&&(n.push(e[s]),r.push(s))}return{newShape:n,keptDims:r}}function Er(e,t){let n=null;if(e==null||e==="float32")n=new Float32Array(t);else if(e==="int32")n=new Int32Array(t);else if(e==="bool")n=new Uint8Array(t);else throw new Error(`Unknown data type ${e}`);return n}function Cp(e,t){let n=null;if(e==null||e==="float32")n=new Float32Array(t);else if(e==="int32")n=new Int32Array(t);else if(e==="bool")n=new Uint8Array(t);else if(e==="string")n=new Array(t);else throw new Error(`Unknown data type ${e}`);return n}function xd(e,t){for(let n=0;nt+=n.length),t}function Rt(e){return typeof e=="string"||e instanceof String}function yd(e){return typeof e=="boolean"}function Ld(e){return typeof e=="number"}function Or(e){return Array.isArray(e)?Or(e[0]):e instanceof Float32Array?"float32":e instanceof Int32Array||e instanceof Uint8Array?"int32":Ld(e)?"float32":Rt(e)?"string":yd(e)?"bool":"float32"}function jt(e){return!!(e&&e.constructor&&e.call&&e.apply)}function kr(e,t){for(let n=t;n=0;--r)n[r]=n[r+1]*e[r+1];return n}function os(e,t){if(t==="string")throw new Error("Cannot convert a string[] to a TypedArray");if(Array.isArray(e)&&(e=$t(e)),pe().getBool("DEBUG")&&xd(e,t),vw(e,t))return e;if(t==null||t==="float32"||t==="complex64")return new Float32Array(e);if(t==="int32")return new Int32Array(e);if(t==="bool"){const n=new Uint8Array(e.length);for(let r=0;rs*c);for(let s=0;sr*o);if(n===0)return[];if(n!==t.length)throw new Error(`[${e}] does not match the input size ${t.length}.`);return vd(0,e,t)}function vw(e,t){return e instanceof Float32Array&&t==="float32"||e instanceof Int32Array&&t==="int32"||e instanceof Uint8Array&&t==="bool"}function is(e,t){const n=Pt(e,t);for(let r=0;rr*o,1);if(t==null||t==="float32")return Mn(e,new Float32Array(n));if(t==="int32")return Mn(e,new Int32Array(n));if(t==="bool")return Mn(e,new Uint8Array(n));throw new Error(`Unknown data type ${t}`)}function Na(){return pe().platform.now()}function ss(e){e.forEach(t=>{f(Number.isInteger(t)&&t>=0,()=>`Tensor must have a shape comprised of positive integers but got shape [${e}].`)})}function Iw(e,t){return pe().platform.fetch(e,t)}function Fp(e,t="utf-8"){return t=t||"utf-8",pe().platform.encode(e,t)}function Ra(e,t="utf-8"){return t=t||"utf-8",pe().platform.decode(e,t)}function Tw(e,t,n){if(t===0)return 0;if(t===1)return e[0];let r=e[e.length-1];for(let o=0;o{r=n()},i=this.backendTimer.time(o);r.map(s=>{s.data().then(c=>{Nw(c,s.dtype,e)})});const a={kernelName:e,outputs:r,inputs:t,timeMs:i.then(s=>s.kernelMs),extraInfo:i.then(s=>s.getExtraProfileInfo!=null?s.getExtraProfileInfo():"")};return a}logKernelProfile(e){const{kernelName:t,outputs:n,timeMs:r,inputs:o,extraInfo:i}=e;n.forEach(a=>{Promise.all([a.data(),r,i]).then(s=>{this.logger.logKernelProfile(t,a,s[0],s[1],o,s[2])})})}}function Nw(e,t,n){if(t!=="float32")return!1;for(let r=0;r0?x:""} `}}console.log(`%c${s} %c${a} %c${c}D ${l} %c${p} %c${h} %c${i}`,"font-weight:bold","color:red","color:blue","color: orange","color: green","color: steelblue")}}function Id(e,t,n){const r={},o={};for(let c=0;cr[w.id]=!0),b=!0,o[p.id]=!0;break}if(b)break}}const i={};i[n.id]=!0;const a={};for(let c=e.length-1;c>=0;c--){const p=e[c],l=p.inputs;for(let h=0;h=0;o--){const i=t[o],a=[];if(i.outputs.forEach(c=>{const p=e[c.id];p!=null?a.push(p):a.push(null)}),i.gradient==null)throw new Error(`Cannot compute gradient: gradient function not found for ${i.kernelName}.`);const s=i.gradient(a);for(const c in i.inputs){if(!(c in s))throw new Error(`Cannot backprop through input ${c}. Available gradients found: ${Object.keys(s)}.`);const p=n(()=>s[c]());if(p.dtype!=="float32")throw new Error(`Error in gradient for op ${i.kernelName}. The gradient of input ${c} must have 'float32' dtype, but has '${p.dtype}'`);const l=i.inputs[c];if(!Te(p.shape,l.shape))throw new Error(`Error in gradient for op ${i.kernelName}. The gradient of input '${c}' has shape '${p.shape}', which does not match the shape of the input '${l.shape}'`);if(e[l.id]==null)e[l.id]=p;else{const h=e[l.id];e[l.id]=r(h,p),h.dispose()}}}}const Ad=20,as=3,Mp=7;function Nd(e,t,n,r){const o=Gt(t),i=_w(e,t,n,o),a=t.length,s=_a(e,t,n,o,i),c=["Tensor"];return r&&(c.push(` dtype: ${n}`),c.push(` rank: ${a}`),c.push(` shape: [${t}]`),c.push(" values:")),c.push(s.map(p=>" "+p).join(` `)),c.join(` -`)}function Rw(e,t,n,r){const o=Q(t),i=r[r.length-1],a=new Array(i).fill(0),s=t.length,c=n==="complex64"?ps(e):e;if(s>1)for(let p=0;pTd){const L=as*a;let S=Array.from(e.slice(0,L)),I=Array.from(e.slice((s-as)*a,s*a));return n==="complex64"&&(S=ps(S),I=ps(I)),["["+S.map((N,A)=>cs(N,o[A],n)).join(", ")+", ..., "+I.map((N,A)=>cs(N,o[s-as+A],n)).join(", ")+"]"]}const w=n==="complex64"?ps(e):Array.from(e);return["["+w.map((L,S)=>cs(L,o[S],n)).join(", ")+"]"]}const p=t.slice(1),l=r.slice(1),h=r[0]*a,d=[];if(s>Td){for(let w=0;w1)for(let p=0;pAd){const L=as*a;let S=Array.from(e.slice(0,L)),I=Array.from(e.slice((s-as)*a,s*a));return n==="complex64"&&(S=ps(S),I=ps(I)),["["+S.map((N,A)=>cs(N,o[A],n)).join(", ")+", ..., "+I.map((N,A)=>cs(N,o[s-as+A],n)).join(", ")+"]"]}const w=n==="complex64"?ps(e):Array.from(e);return["["+w.map((L,S)=>cs(L,o[S],n)).join(", ")+"]"]}const p=t.slice(1),l=r.slice(1),h=r[0]*a,d=[];if(s>Ad){for(let w=0;w`Length of values '${r}' does not match the size inferred by the shape '${this.size}'.`)}if(t==="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||Cp(t,this.size),this.strides=Gt(e)}set(e,...t){t.length===0&&(t=[0]),f(t.length===this.rank,()=>`The number of provided coordinates (${t.length}) must match the rank (${this.rank})`);const n=this.locToIndex(t);this.values[n]=e}get(...e){e.length===0&&(e=[0]);let t=0;for(const r of e){if(r<0||r>=this.shape[t]){const o=`Requested out of range element at ${e}. Buffer shape=${this.shape}`;throw new Error(o)}t++}let n=e[e.length-1];for(let r=0;rRa(n))}catch(n){throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().")}}return e}dataSync(){this.throwIfDisposed();const e=qt().readSync(this.dataId);if(this.dtype==="string")try{return e.map(t=>Ra(t))}catch(t){throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().")}return e}async bytes(){this.throwIfDisposed();const e=await qt().read(this.dataId);return this.dtype==="string"?e:new Uint8Array(e.buffer)}dispose(){if(this.isDisposed)return;qt().disposeTensor(this),this.isDisposedInternal=!0}get isDisposed(){return this.isDisposedInternal}throwIfDisposed(){if(this.isDisposed)throw new Error("Tensor is disposed.")}print(e=!1){return Fr.print(this,e)}clone(){return this.throwIfDisposed(),Fr.clone(this)}toString(e=!1){const t=this.dataSync();return Ad(t,this.shape,this.dtype,e)}cast(e){return this.throwIfDisposed(),Fr.cast(this,e)}variable(e=!0,t,n){return this.throwIfDisposed(),qt().makeVariable(this,e,t,n)}}Object.defineProperty(ee,Symbol.hasInstance,{value:e=>!!e&&e.dataId!=null&&e.shape!=null&&e.dtype!=null});class Ht extends ee{constructor(e,t,n,r){super(e.shape,e.dtype,e.dataId,r);this.trainable=t,this.name=n}assign(e){if(e.dtype!==this.dtype)throw new Error(`dtype of the new value (${e.dtype}) and previous value (${this.dtype}) must match`);if(!Te(e.shape,this.shape))throw new Error(`shape of the new value (${e.shape}) and previous value (${this.shape}) must match`);qt().disposeTensor(this),this.dataId=e.dataId,qt().incRef(this,null)}dispose(){qt().disposeVariable(this),this.isDisposedInternal=!0}}Object.defineProperty(Ht,Symbol.hasInstance,{value:e=>e instanceof ee&&e.assign!=null&&e.assign instanceof Function});var Up;(function(e){e.R0="R0",e.R1="R1",e.R2="R2",e.R3="R3",e.R4="R4",e.R5="R5",e.R6="R6"})(Up||(Up={}));var Wp;(function(e){e.float32="float32",e.int32="int32",e.bool="int32",e.complex64="complex64"})(Wp||(Wp={}));var Bp;(function(e){e.float32="float32",e.int32="int32",e.bool="bool",e.complex64="complex64"})(Bp||(Bp={}));var $p;(function(e){e.float32="float32",e.int32="float32",e.bool="float32",e.complex64="complex64"})($p||($p={}));var jp;(function(e){e.float32="complex64",e.int32="complex64",e.bool="complex64",e.complex64="complex64"})(jp||(jp={}));const Cw={float32:$p,int32:Wp,bool:Bp,complex64:jp};function Mr(e,t){if(e==="string"||t==="string"){if(e==="string"&&t==="string")return"string";throw new Error(`Can not upcast ${e} with ${t}`)}return Cw[e][t]}function Ew(e){return Mr(e,"int32")}const Ed={};Re(Ed,{assertTypesMatch:()=>Gp,getTensorsInContainer:()=>ls,isTensorInList:()=>Ow,makeTypesMatch:()=>V});function V(e,t){if(e.dtype===t.dtype)return[e,t];const n=Mr(e.dtype,t.dtype);return[e.cast(n),t.cast(n)]}function Gp(e,t){f(e.dtype===t.dtype,()=>`The dtypes of the first(${e.dtype}) and second(${t.dtype}) input must match`)}function Ow(e,t){return t.some(n=>n.id===e.id)}function ls(e){const t=[],n=new Set();return Od(e,t,n),t}function Od(e,t,n){if(e==null)return;if(e instanceof ee){t.push(e);return}if(!kw(e))return;const r=e;for(const o in r){const i=r[o];n.has(i)||(n.add(i),Od(i,t,n))}}function kw(e){return Array.isArray(e)||typeof e=="object"}class kd{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}}dispose(){for(const e in this.registeredVariables)this.registeredVariables[e].dispose()}}class hs{constructor(e){this.ENV=e,this.registry={},this.registryFactory={},this.pendingBackendInitId=0,this.state=new kd()}async ready(){if(this.pendingBackendInit!=null)return this.pendingBackendInit.then(()=>{});if(this.backendInstance!=null)return;const e=this.getSortedBackends();for(let t=0;t{t.setupFunc!=null&&t.setupFunc(this.backendInstance)})}disposeRegisteredKernels(e){const t=Aa(e);t.forEach(n=>{n.disposeFunc!=null&&n.disposeFunc(this.registry[e])})}initializeBackend(e){const t=this.registryFactory[e];if(t==null)throw new Error(`Cannot initialize backend ${e}, no registration found.`);try{const n=t.factory();if(Promise.resolve(n)===n){const r=++this.pendingBackendInitId,o=n.then(i=>r(rthis.registryFactory[t].priority-this.registryFactory[e].priority)}initializeBackendsAndReturnBest(){const e=this.getSortedBackends();for(let t=0;tthis.startScope(n),()=>this.endScope(r),()=>(r=t(),r instanceof Promise&&console.error("Cannot return a Promise inside of tidy."),r))}scopedRun(e,t,n){e();try{const r=n();return t(),r}catch(r){throw t(),r}}nextTensorId(){return hs.nextTensorId++}nextVariableId(){return hs.nextVariableId++}clone(e){const t=this.makeTensorFromDataId(e.dataId,e.shape,e.dtype),n={x:e},r=i=>({x:()=>{const a="float32",s={x:i},c={dtype:a};return g.runKernelFunc(p=>p.cast(i,a),s,null,Dn,c)}}),o=[];return this.addTapeNode(this.state.activeScope.name,n,[t],r,o,{}),t}runKernel(e,t,n,r,o){const i=null,a=null;return this.runKernelFunc(i,t,a,e,n,r,o)}shouldCheckForMemLeaks(){return this.ENV.getBool("IS_TEST")}checkKernelForMemLeak(e,t,n){const r=this.backend.numDataIds();let o=0;n.forEach(s=>{o+=s.dtype==="complex64"?3:1});const i=this.state.numDataMovesStack[this.state.numDataMovesStack.length-1],a=r-t-o-i;if(a>0)throw new Error(`Backend '${this.backendName}' has an internal memory leak (${a} data ids) after running '${e}'`)}runKernelFunc(e,t,n,r,o,i,a){let s,c=[];const p=this.isTapeOn();r==null&&(r=this.state.activeScope!=null?this.state.activeScope.name:"");const l=this.state.numBytes,h=this.state.numTensors;this.shouldCheckForMemLeaks()&&this.state.numDataMovesStack.push(0);let d;const b=rs(r,this.backendName);let x;if(b!=null)d=()=>{const L=this.backend.numDataIds();x=b.kernelFunc({inputs:t,attrs:o,backend:this.backend});const S=Array.isArray(x)?x:[x];this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(r,L,S);const I=S.map(({dataId:N,shape:A,dtype:E})=>this.makeTensorFromDataId(N,A,E));if(p){let N=this.getTensorsForGradient(r,t,I);if(N==null){a==null&&(a=[]);const A=I.filter((E,M)=>a[M]);N=(i||[]).slice().concat(A)}c=this.saveTensorsForBackwardMode(N)}return I};else{const L=S=>{if(!p)return;c=S.map(I=>this.keep(this.clone(I)))};d=()=>{const S=this.backend.numDataIds();x=this.tidy(()=>e(this.backend,L));const I=Array.isArray(x)?x:[x];return this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(r,S,I),I}}let w;return this.scopedRun(()=>this.state.kernelDepth++,()=>this.state.kernelDepth--,()=>{!this.ENV.getBool("DEBUG")&&!this.state.profiling?s=d():(w=this.profiler.profileKernel(r,t,()=>d()),this.ENV.getBool("DEBUG")&&this.profiler.logKernelProfile(w),s=w.outputs)}),p&&this.addTapeNode(r,t,s,n,c,o),this.state.profiling&&this.state.activeProfile.kernels.push({name:r,bytesAdded:this.state.numBytes-l,totalBytesSnapshot:this.state.numBytes,tensorsAdded:this.state.numTensors-h,totalTensorsSnapshot:this.state.numTensors,inputShapes:Object.keys(t).map(L=>t[L]!=null?t[L].shape:null),outputShapes:s.map(L=>L.shape),kernelTimeMs:w.timeMs,extraInfo:w.extraInfo}),Array.isArray(x)?s:s[0]}saveTensorsForBackwardMode(e){const t=e.map(n=>this.keep(this.clone(n)));return t}getTensorsForGradient(e,t,n){const r=Ta(e);if(r!=null){const o=r.inputsToSave||[],i=r.outputsToSave||[];let a;r.saveAllInputs?(f(Array.isArray(t),()=>"saveAllInputs is true, expected inputs to be an array."),a=Object.keys(t).map(c=>t[c])):a=o.map(c=>t[c]);const s=n.filter((c,p)=>i[p]);return a.concat(s)}return null}makeTensor(e,t,n,r){if(e==null)throw new Error("Values passed to engine.makeTensor() are null");n=n||"float32",r=r||this.backend;let o=e;n==="string"&&Rt(e[0])&&(o=e.map(s=>Fp(s)));const i=r.write(o,t,n),a=new ee(t,n,i,this.nextTensorId());if(this.incRef(a,r),n==="string"){const s=this.state.tensorInfo.get(i),c=Dp(o);this.state.numBytes+=c-s.bytes,s.bytes=c}return a}makeTensorFromDataId(e,t,n,r){n=n||"float32";const o=new ee(t,n,e,this.nextTensorId());return this.incRef(o,r),o}makeVariable(e,t=!0,n,r){n=n||this.nextVariableId().toString(),r!=null&&r!==e.dtype&&(e=e.cast(r));const o=new Ht(e,t,n,this.nextTensorId());if(this.state.registeredVariables[o.name]!=null)throw new Error(`Variable with name ${o.name} was already registered`);return this.state.registeredVariables[o.name]=o,this.incRef(o,this.backend),o}incRef(e,t){const n=this.state.tensorInfo.has(e.dataId)?this.state.tensorInfo.get(e.dataId).refCount:0;if(this.state.numTensors++,e.dtype==="string"&&this.state.numStringTensors++,n===0){this.state.numDataBuffers++;let r=0;e.dtype!=="complex64"&&e.dtype!=="string"&&(r=e.size*kp(e.dtype)),this.state.tensorInfo.set(e.dataId,{backend:t||this.backend,dtype:e.dtype,shape:e.shape,bytes:r,refCount:0}),this.state.numBytes+=r}this.state.tensorInfo.get(e.dataId).refCount++,e instanceof Ht||this.track(e)}disposeTensor(e){if(!this.state.tensorInfo.has(e.dataId))return;this.state.numTensors--,e.dtype==="string"&&this.state.numStringTensors--;const t=this.state.tensorInfo.get(e.dataId),n=t.refCount;n<=1?(e.dtype!=="complex64"&&(this.state.numBytes-=t.bytes),this.state.numDataBuffers--,t.backend.disposeData(e.dataId),this.state.tensorInfo.delete(e.dataId)):this.state.tensorInfo.get(e.dataId).refCount--}disposeVariables(){for(const e in this.state.registeredVariables){const t=this.state.registeredVariables[e];this.disposeVariable(t)}}disposeVariable(e){this.disposeTensor(e),this.state.registeredVariables[e.name]!=null&&delete this.state.registeredVariables[e.name]}memory(){const e=this.backend.memory();return e.numTensors=this.state.numTensors,e.numDataBuffers=this.state.numDataBuffers,e.numBytes=this.state.numBytes,this.state.numStringTensors>0&&(e.unreliable=!0,e.reasons==null&&(e.reasons=[]),e.reasons.push("Memory usage by string tensors is approximate (2 bytes per character)")),e}async profile(e){this.state.profiling=!0;const t=this.state.numBytes,n=this.state.numTensors;this.state.activeProfile.kernels=[],this.state.activeProfile.result=await e(),this.state.profiling=!1,this.state.activeProfile.peakBytes=Math.max(...this.state.activeProfile.kernels.map(r=>r.totalBytesSnapshot)),this.state.activeProfile.newBytes=this.state.numBytes-t,this.state.activeProfile.newTensors=this.state.numTensors-n;for(const r of this.state.activeProfile.kernels)r.kernelTimeMs=await r.kernelTimeMs,r.extraInfo=await r.extraInfo;return this.state.activeProfile}isTapeOn(){return this.state.gradientDepth>0&&this.state.kernelDepth===0}addTapeNode(e,t,n,r,o,i){const a={id:this.state.nextTapeNodeId++,kernelName:e,inputs:t,outputs:n,saved:o},s=Ta(e);s!=null&&(r=s.gradFunc),r!=null&&(a.gradient=c=>(c=c.map((p,l)=>{if(p==null){const h=n[l],d=Pt(h.size,h.dtype);return this.makeTensor(d,h.shape,h.dtype)}return p}),r(c.length>1?c:c[0],o,i))),this.state.activeTape.push(a)}keep(e){return e.kept=!0,e}startTape(){this.state.gradientDepth===0&&(this.state.activeTape=[]),this.state.gradientDepth++}endTape(){this.state.gradientDepth--}startScope(e){const t={track:[],name:"unnamed scope",id:this.state.nextScopeId++};e&&(t.name=e),this.state.scopeStack.push(t),this.state.activeScope=t}endScope(e){const t=ls(e),n=new Set(t.map(o=>o.id));for(let o=0;o{!o.kept&&o.scopeId===r.id&&this.track(o)})}gradients(e,t,n,r=!1){if(f(t.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}'`);const o=this.scopedRun(()=>this.startTape(),()=>this.endTape(),()=>this.tidy("forward",e));f(o instanceof ee,()=>"The result y returned by f() must be a tensor.");const i=Sd(this.state.activeTape,t,o);if(!r&&i.length===0&&t.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",()=>{const a={};a[o.id]=n==null?Dw(o.shape):n,Id(a,i,c=>this.tidy(c),Fw);const s=t.map(c=>a[c.id]);return this.state.gradientDepth===0&&(this.state.activeTape.forEach(c=>{for(const p of c.saved)p.dispose()}),this.state.activeTape=null),{value:o,grads:s}})}customGrad(e){return f(jt(e),()=>"The f passed in customGrad(f) must be a function."),(...t)=>{f(t.every(o=>o instanceof ee),()=>"The args passed in customGrad(f)(x1, x2,...) must all be tensors");let n;const r={};return t.forEach((o,i)=>{r[i]=o}),this.runKernelFunc((o,i)=>(n=e(...t,i),f(n.value instanceof ee,()=>"The function f passed in customGrad(f) must return an object where `obj.value` is a tensor"),f(jt(n.gradFunc),()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function."),n.value),r,(o,i)=>{const a=n.gradFunc(o,i),s=Array.isArray(a)?a:[a];f(s.length===t.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(...)."),f(s.every(p=>p instanceof ee),()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns a list of only tensors.");const c={};return s.forEach((p,l)=>{c[l]=()=>p}),c})}}readSync(e){const t=this.state.tensorInfo.get(e);return t.backend.readSync(e)}read(e){const t=this.state.tensorInfo.get(e);return t.backend.read(e)}async time(e){const t=Na(),n=await this.backend.time(e);return n.wallMs=Na()-t,n}track(e){return this.state.activeScope!=null&&(e.scopeId=this.state.activeScope.id,this.state.activeScope.track.push(e)),e}get registeredVariables(){return this.state.registeredVariables}reset(){this.pendingBackendInitId++,this.state.dispose(),this.ENV.reset(),this.state=new kd();for(const e in this.registry)this.disposeRegisteredKernels(e),this.registry[e].dispose(),delete this.registry[e];this.backendName=null,this.backendInstance=null,this.pendingBackendInit=null}}hs.nextTensorId=0;hs.nextVariableId=0;function Dw(e){const t=is(Q(e),"float32");return g.makeTensor(t,e,"float32")}function Mw(){const e=_c();if(e._tfengine==null){const t=new Ac(e);e._tfengine=new hs(t)}return fd(e._tfengine.ENV),Rd(()=>e._tfengine),e._tfengine}const g=Mw();function Fw(e,t){const n={a:e,b:t};return g.runKernelFunc((r,o)=>{const i=r.add(e,t);return o([e,t]),i},n,null,kn)}const Dd={};Re(Dd,{isBrowser:()=>Pp,isMobile:()=>Ww});function Uw(){return typeof navigator!="undefined"&&navigator!=null}function Ww(){if(Uw()){const e=navigator.userAgent||navigator.vendor||window.opera;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(e)||/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(e.substr(0,4))}return!1}function Pp(){return typeof window!="undefined"&&window.document!=null||typeof WorkerGlobalScope!="undefined"}const Xt=pe();Xt.registerFlag("DEBUG",()=>!1,e=>{e&&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.")});Xt.registerFlag("IS_BROWSER",()=>Pp());Xt.registerFlag("IS_NODE",()=>typeof process!="undefined"&&typeof process.versions!="undefined"&&typeof process.versions.node!="undefined");Xt.registerFlag("IS_CHROME",()=>typeof navigator!="undefined"&&navigator!=null&&navigator.userAgent!=null&&/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor));Xt.registerFlag("PROD",()=>!1);Xt.registerFlag("TENSORLIKE_CHECK_SHAPE_CONSISTENCY",()=>Xt.getBool("DEBUG"));Xt.registerFlag("DEPRECATION_WARNINGS_ENABLED",()=>!0);Xt.registerFlag("IS_TEST",()=>!1);function We(e,t){let n=e;if(_e(e))return t==="string"?[]:[e.length];if(!Array.isArray(e))return[];const r=[];for(;Array.isArray(n)||_e(n)&&t!=="string";)r.push(n.length),n=n[0];return Array.isArray(e)&&pe().getBool("TENSORLIKE_CHECK_SHAPE_CONSISTENCY")&&Fd(e,r,[]),r}function Fd(e,t,n){if(n=n||[],!Array.isArray(e)&&!_e(e)){f(t.length===0,()=>`Element arr[${n.join("][")}] is a primitive, but should be an array/TypedArray of ${t[0]} elements`);return}f(t.length>0,()=>`Element arr[${n.join("][")}] should be a primitive, but is an array of ${e.length} elements`),f(e.length===t[0],()=>`Element arr[${n.join("][")}] should have ${t[0]} elements, but has ${e.length} elements`);const r=t.slice(1);for(let o=0;o=0&&(o=r),Md(r,o,t,n),e==null||!_e(e)&&!Array.isArray(e)&&typeof e!="number"&&typeof e!="boolean"&&typeof e!="string"){const c=e==null?"null":e.constructor.name;throw new Error(`Argument '${t}' passed to '${n}' must be a Tensor or TensorLike, but got '${c}'`)}const i=We(e,o);!_e(e)&&!Array.isArray(e)&&(e=[e]);const a=!0,s=o!=="string"?os(e,o):$t(e,[],a);return g.makeTensor(s,i,o)}function Zt(e,t,n,r="numeric"){if(!Array.isArray(e))throw new Error(`Argument ${t} passed to ${n} must be a \`Tensor[]\` or \`TensorLike[]\``);const o=e;return o.map((i,a)=>u(i,`${t}[${a}]`,n),r)}function m(e){const t=Object.keys(e);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 n=t[0];const r=e[n];n.endsWith("_")&&(n=n.substring(0,n.length-1));const o=(...i)=>{g.startScope(n);try{const a=r(...i);return a instanceof Promise&&console.error("Cannot return a Promise inside of tidy."),g.endScope(a),a}catch(a){throw g.endScope(null),a}};return Object.defineProperty(o,"name",{value:n,configurable:!0}),o}function Bw(e){const t=u(e,"x","abs"),n={x:t};return g.runKernelFunc((r,o)=>(o([t]),t.dtype==="complex64"?r.complexAbs(t):r.abs(t)),n,null,xo)}const Ee=m({abs_:Bw});function $w(e){const t=u(e,"x","acos"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.acos(t);return o([t]),i},n,null,yo)}const qp=m({acos_:$w});function jw(e){const t=u(e,"x","acosh"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.acosh(t);return o([t]),i},n,null,Lo)}const Hp=m({acosh_:jw});function Gw(e,t){let n=u(e,"a","add"),r=u(t,"b","add");[n,r]=V(n,r);const o=(a,s)=>{const c=a.add(n,r);return s([n,r]),c},i={a:n,b:r};return g.runKernelFunc(o,i,null,kn)}const R=m({add_:Gw});function Pw(e){f(Array.isArray(e),()=>"The argument passed to tf.addN() must be a list of tensors"),f(e.length>=1,()=>`Must pass at least one tensor to tf.addN(), but got ${e.length}`);const t=e.map((i,a)=>u(i,`tensors${a}`,"addN")),n=t[0];t.forEach(i=>{if(i.dtype!==n.dtype)throw new Error("All tensors passed to tf.addN() must have the same dtype")}),t.forEach(i=>{if(!Te(i.shape,n.shape))throw new Error("All tensors passed to tf.addN() must have the same shape")});const r=(i,a)=>{const s=i.addN(t);return a(t),s},o=t;return g.runKernelFunc(r,o,null,vo)}const zp=m({addN_:Pw});function Yp(e,t){for(let n=0;ne[i]);return[n,o]}function we(e,t){const n=t.map(r=>1);return Ud(e,n,t)}function qw(e,t,n){f(Yp(t,n),()=>`${e} supports only inner-most axes for now. Got axes ${t} and rank-${n} input.`)}function ge(e,t){if(Yp(e,t))return null;const n=[];for(let r=0;rn.push(r)),n}function Un(e){return e.map((t,n)=>[n,t]).sort((t,n)=>t[1]-n[1]).map(t=>t[0])}function De(e,t){const n=[];for(let r=t-e;r"new shape and old shape must have the same number of elements.");const r={x:n},o={shape:t},i=(a,s)=>(s([n]),a.reshape(n,t));return g.runKernelFunc(i,r,null,Ai,o)}const y=m({reshape_:Hw});function zw(e,t){const n=u(e,"x","transpose");if(t==null&&(t=n.shape.map((i,a)=>a).reverse()),f(n.rank===t.length,()=>`Error in transpose: rank of input ${n.rank} must match length of perm ${t}.`),t.forEach(i=>{f(i>=0&&i`All entries in 'perm' must be between 0 and ${n.rank-1} but got ${t}`)}),n.rank<=1)return n.clone();const r={x:n},o={perm:t};return g.runKernelFunc(i=>i.transpose(n,t),r,null,Xi,o)}const K=m({transpose_:zw});function Yw(e,t=null,n=!1){let r=u(e,"x","all","bool");const o=s=>{const c=z(t,r.shape);let p=c;const l=ge(p,r.rank);l!=null&&(r=K(r,l),p=De(p.length,r.rank));const h=s.all(r,p);if(n){const d=we(h.shape,c);return y(h,d)}return h},i={x:r},a={axis:t,keepDims:n};return g.runKernelFunc(o,i,null,Ec,a)}const Kp=m({all_:Yw});function Vw(e,t=null,n=!1){let r=u(e,"x","any","bool");const o=s=>{const c=z(t,r.shape);let p=c;const l=ge(p,r.rank);l!=null&&(r=K(r,l),p=De(p.length,r.rank));const h=s.any(r,p);if(n){const d=we(h.shape,c);return y(h,d)}return h},i={x:r},a={axis:t,keepDims:n};return g.runKernelFunc(o,i,null,Oc,a)}const Jp=m({any_:Vw});function Kw(e,t=0){let n=u(e,"x","argMax");const r=(a,s)=>{s([n]);let c=z(t,n.shape);const p=ge(c,n.rank);return p!=null&&(n=K(n,p),c=De(c.length,n.rank)),a.argMax(n,c[0])},o={x:n},i={axis:t};return g.runKernelFunc(r,o,null,So,i)}const Xp=m({argMax_:Kw});function Jw(e,t=0){let n=u(e,"x","argMin");const r=(a,s)=>{s([n]),t==null&&(t=0);let c=z(t,n.shape);const p=ge(c,n.rank);return p!=null&&(n=K(n,p),c=De(c.length,n.rank)),a.argMin(n,c[0])},o={x:n},i={axis:t};return g.runKernelFunc(r,o,null,Io,i)}const Zp=m({argMin_:Jw});function Xw(e){const t=u(e,"x","asin"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.asin(t);return o([t]),i},n,null,To)}const Qp=m({asin_:Xw});function Zw(e){const t=u(e,"x","asinh"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.asinh(t);return o([t]),i},n,null,Ao)}const el=m({asinh_:Zw});function Qw(e){const t=u(e,"x","atan"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.atan(t);return o([t]),i},n,null,No)}const tl=m({atan_:Qw});function ex(e,t){let n=u(e,"a","atan2"),r=u(t,"b","atan2");[n,r]=V(n,r);const o=(a,s)=>{const c=a.atan2(n,r);return s([n,r]),c},i={a:n,b:r};return g.runKernelFunc(o,i,null,_o)}const nl=m({atan2_:ex});function tx(e){const t=u(e,"x","atanh"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.atanh(t);return o([t]),i},n,null,Ro)}const rl=m({atanh_:tx});function nx(e,t){const n=u(e,"x","cast");if(!Ep(t))throw new Error(`Failed to cast to unknown dtype ${t}`);if(t==="string"&&n.dtype!=="string"||t!=="string"&&n.dtype==="string")throw new Error("Only strings can be casted to strings");const r={x:n},o={dtype:t};return g.runKernelFunc(i=>i.cast(n,t),r,null,Dn,o)}const C=m({cast_:nx});function rx(e,t,n,r,o="NHWC",i){const a=e[3],s=[...t,a],c=yn(o);return je(e,s,n,i,r,null,null,c)}function _t(e,t,n,r,o,i,a="channelsLast"){const[s,c]=Ca(t);let p;if(a==="channelsLast")p=[s,c,e[3],e[3]];else if(a==="channelsFirst")p=[s,c,e[1],e[1]];else throw new Error(`Unknown dataFormat ${a}`);return je(e,p,n,r,o,i,!1,a)}function Qt(e,t,n,r,o,i,a="NDHWC"){const[s,c,p]=ol(t);let l,h;if(a==="NDHWC")h="channelsLast",l=[s,c,p,e[4],e[4]];else if(a==="NCDHW")h="channelsFirst",l=[s,c,p,e[1],e[1]];else throw new Error(`Unknown dataFormat ${a}`);return Ln(e,l,n,r,o,!1,h,i)}function je(e,t,n,r,o,i,a=!1,s="channelsLast"){let[c,p,l,h]=[-1,-1,-1,-1];if(s==="channelsLast")[c,p,l,h]=e;else if(s==="channelsFirst")[c,h,p,l]=e;else throw new Error(`Unknown dataFormat ${s}`);const[d,b,,x]=t,[w,L]=Ca(n),[S,I]=Ca(r),N=Ur(d,S),A=Ur(b,I),{padInfo:E,outHeight:M,outWidth:D}=ox(o,p,l,w,L,N,A,i,s),$=a?x*h:x;let B;return s==="channelsFirst"?B=[c,$,M,D]:s==="channelsLast"&&(B=[c,M,D,$]),{batchSize:c,dataFormat:s,inHeight:p,inWidth:l,inChannels:h,outHeight:M,outWidth:D,outChannels:$,padInfo:E,strideHeight:w,strideWidth:L,filterHeight:d,filterWidth:b,effectiveFilterHeight:N,effectiveFilterWidth:A,dilationHeight:S,dilationWidth:I,inShape:e,outShape:B,filterShape:t}}function Ln(e,t,n,r,o,i=!1,a="channelsLast",s){let[c,p,l,h,d]=[-1,-1,-1,-1,-1];if(a==="channelsLast")[c,p,l,h,d]=e;else if(a==="channelsFirst")[c,d,p,l,h]=e;else throw new Error(`Unknown dataFormat ${a}`);const[b,x,w,,L]=t,[S,I,N]=ol(n),[A,E,M]=ol(r),D=Ur(b,A),$=Ur(x,E),B=Ur(w,M),{padInfo:j,outDepth:te,outHeight:re,outWidth:he}=ix(o,p,l,h,S,I,N,D,$,B,s),ye=i?L*d:L;let Me;return a==="channelsFirst"?Me=[c,ye,te,re,he]:a==="channelsLast"&&(Me=[c,te,re,he,ye]),{batchSize:c,dataFormat:a,inDepth:p,inHeight:l,inWidth:h,inChannels:d,outDepth:te,outHeight:re,outWidth:he,outChannels:ye,padInfo:j,strideDepth:S,strideHeight:I,strideWidth:N,filterDepth:b,filterHeight:x,filterWidth:w,effectiveFilterDepth:D,effectiveFilterHeight:$,effectiveFilterWidth:B,dilationDepth:A,dilationHeight:E,dilationWidth:M,inShape:e,outShape:Me,filterShape:t}}function sx(e,t,n,r,o){r==null&&(r=il(e,t,n));const i=e[0],a=e[1],s=Wn((i-t+2*r)/n+1,o);f(X(s),()=>`The output # of rows (${s}) must be an integer. Change the stride and/or zero pad parameters`);const c=Wn((a-t+2*r)/n+1,o);return f(X(c),()=>`The output # of columns (${c}) must be an integer. Change the stride and/or zero pad parameters`),[s,c]}function ax(e,t,n,r,o,i){o==null&&(o=il(e,t,r));const a=e[0],s=e[1],c=e[2],p=Wn((a-t+2*o)/r+1,i);f(X(p),()=>`The output # of depths (${p}) must be an integer. Change the stride and/or zero pad parameters`);const l=Wn((s-t+2*o)/r+1,i);f(X(l),()=>`The output # of rows (${l}) must be an integer. Change the stride and/or zero pad parameters`);const h=Wn((c-t+2*o)/r+1,i);return f(X(h),()=>`The output # of columns (${h}) must be an integer. Change the stride and/or zero pad parameters`),[p,l,h,n]}function il(e,t,n,r=1){const o=Ur(t,r);return Math.floor((e[0]*(n-1)-n+o)/2)}function Ca(e){return typeof e=="number"?[e,e,e]:e.length===2?[e[0],e[1],1]:e}function ol(e){return typeof e=="number"?[e,e,e]:e}function Ur(e,t){return t<=1?e:e+(e-1)*(t-1)}function ox(e,t,n,r,o,i,a,s,c){let p,l,h;if(typeof e=="number"){const d=e===0?"VALID":"NUMBER";p={top:e,bottom:e,left:e,right:e,type:d};const b=sx([t,n],i,r,e,s);l=b[0],h=b[1]}else if(e==="same"){l=Math.ceil(t/r),h=Math.ceil(n/o);const d=Math.max(0,(l-1)*r+i-t),b=Math.max(0,(h-1)*o+a-n),x=Math.floor(d/2),w=d-x,L=Math.floor(b/2),S=b-L;p={top:x,bottom:w,left:L,right:S,type:"SAME"}}else if(e==="valid")p={top:0,bottom:0,left:0,right:0,type:"VALID"},l=Math.ceil((t-i+1)/r),h=Math.ceil((n-a+1)/o);else if(typeof e=="object"){const d=c==="channelsLast"?e[1][0]:e[2][0],b=c==="channelsLast"?e[1][1]:e[2][1],x=c==="channelsLast"?e[2][0]:e[3][0],w=c==="channelsLast"?e[2][1]:e[3][1],L=d===0&&b===0&&x===0&&w===0?"VALID":"EXPLICIT";p={top:d,bottom:b,left:x,right:w,type:L},l=Wn((t-i+d+b)/r+1,s),h=Wn((n-a+x+w)/o+1,s)}else throw Error(`Unknown padding parameter: ${e}`);return{padInfo:p,outHeight:l,outWidth:h}}function ix(e,t,n,r,o,i,a,s,c,p,l){let h,d,b,x;if(typeof e=="number"){const w=e===0?"VALID":"NUMBER";h={top:e,bottom:e,left:e,right:e,front:e,back:e,type:w};const L=ax([t,n,r,1],s,1,o,e,l);d=L[0],b=L[1],x=L[2]}else if(e==="same"){d=Math.ceil(t/o),b=Math.ceil(n/i),x=Math.ceil(r/a);const w=(d-1)*o+s-t,L=(b-1)*i+c-n,S=(x-1)*a+p-r,I=Math.floor(w/2),N=w-I,A=Math.floor(L/2),E=L-A,M=Math.floor(S/2),D=S-M;h={top:A,bottom:E,left:M,right:D,front:I,back:N,type:"SAME"}}else if(e==="valid")h={top:0,bottom:0,left:0,right:0,front:0,back:0,type:"VALID"},d=Math.ceil((t-s+1)/o),b=Math.ceil((n-c+1)/i),x=Math.ceil((r-p+1)/a);else throw Error(`Unknown padding parameter: ${e}`);return{padInfo:h,outDepth:d,outHeight:b,outWidth:x}}function Wn(e,t){if(!t)return e;switch(t){case"round":return Math.round(e);case"ceil":return Math.ceil(e);case"floor":return Math.floor(e);default:throw new Error(`Unknown roundingMode ${t}`)}}function ct(e){const[t,n,r]=Ca(e);return t===1&&n===1&&r===1}function le(e,t){return ct(e)||ct(t)}function yn(e){if(e==="NHWC")return"channelsLast";if(e==="NCHW")return"channelsFirst";throw new Error(`Unknown dataFormat ${e}`)}function cx(e,t,n,r,o){const i=u(e,"x","avgPool","float32"),a=1;f(le(n,a),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${n} and dilations '${a}'`);let s=i,c=!1;i.rank===3&&(c=!0,s=y(i,[1,i.shape[0],i.shape[1],i.shape[2]])),f(s.rank===4,()=>`Error in avgPool: x must be rank 4 but got rank ${s.rank}.`),o!=null&&f(X(r),()=>`Error in avgPool: pad must be an integer when using, dimRoundingMode ${o} but got pad ${r}.`);const p=(b,x)=>{const w=_t(s.shape,t,n,1,r,o);return x([s]),w.filterWidth===1&&w.filterHeight===1&&Te(w.inShape,w.outShape)?s.clone():b.avgPool(s,w)},l={x:s},h={filterSize:t,strides:n,pad:r,dimRoundingMode:o};let d=g.runKernelFunc(p,l,null,Co,h);return d=C(d,i.dtype),c?y(d,[d.shape[1],d.shape[2],d.shape[3]]):d}const pt=m({avgPool_:cx});function px(){pe().set("PROD",!0)}function lx(){pe().set("DEBUG",!0)}function hx(){pe().set("DEPRECATION_WARNINGS_ENABLED",!1),console.warn("TensorFlow.js deprecation warnings have been disabled.")}function Le(e){pe().getBool("DEPRECATION_WARNINGS_ENABLED")&&console.warn(e+" You can disable deprecation warnings with tf.disableDeprecationWarnings().")}Cd(Le);function ux(){g.disposeVariables()}function dx(){return g}function mx(){return g.memory()}function fx(e){return g.profile(e)}function k(e,t){return g.tidy(e,t)}function ve(e){const t=ls(e);t.forEach(n=>n.dispose())}function sl(e){return g.keep(e)}function gx(e){return g.time(e)}function bx(e){return g.setBackend(e)}function wx(){return g.ready()}function xx(){return g.backendName}function yx(e){g.removeBackend(e)}function Lx(e){return g.findBackend(e)}function vx(e){return g.findBackendFactory(e)}function Sx(e,t,n=1){return g.registerBackend(e,t,n)}function Ix(){return g.backend}function Tx(e,t){pe().setPlatform(e,t)}function Ax(e,t,n,r,o,i="NDHWC",a){a==null?a=[1,1,1]:Le("dilations is deprecated, this field will be gone in v3.0.0.");const s=u(e,"x","avgPool3d","float32");let c=s,p=!1;s.rank===4&&(p=!0,c=y(s,[1,s.shape[0],s.shape[1],s.shape[2],s.shape[3]])),f(c.rank===5,()=>`Error in avgPool3d: x must be rank 5 but got rank ${c.rank}.`),f(i==="NDHWC",()=>`Error in avgPool3d: Only NDHWC is currently supported, but got dataFormat of ${i}`),f(le(n,a),()=>`Error in avgPool3d: Either strides or dilations must be 1. Got strides ${n} and dilations '${a}'`),o!=null&&f(X(r),()=>`Error in avgPool3d: pad must be an integer when using, dimRoundingMode ${o} but got pad ${r}.`);const l=(x,w)=>{a==null&&(a=[1,1,1]);const L=Qt(c.shape,t,n,a,r,o,i);return w([c]),x.avgPool3d(c,L)},h={x:c},d={filterSize:t,strides:n,pad:r,dimRoundingMode:o,dataFormat:i,dilations:a};let b=g.runKernelFunc(l,h,null,Eo,d);return b=C(b,c.dtype),p?y(b,[b.shape[1],b.shape[2],b.shape[3],b.shape[4]]):b}const al=m({avgPool3d_:Ax});function cl(e,t){const n=e[0].length;e.forEach((o,i)=>{f(o.length===n,()=>`Error in concat${n}D: rank of tensors[${i}] must be the same as the rank of the rest (${n})`)}),f(t>=0&&t`Error in concat${n}D: axis must be between 0 and ${n-1}.`);const r=e[0];e.forEach((o,i)=>{for(let a=0;a`Error in concat${n}D: Shape of tensors[${i}] (${o}) does not match the shape of the rest (${r}) along the non-concatenated axis ${i}.`)})}function pl(e,t){const n=e[0].slice();for(let r=1;r`Based on the provided shape, [${t}], the tensor should have ${o} values but has ${i}`);for(let a=0;a`Error creating a new Tensor. Inferred shape (${n}) does not match the provided shape (${t}). `)}}return!_e(e)&&!Array.isArray(e)&&(e=[e]),t=t||n,e=r!=="string"?os(e,r):$t(e,[],!0),g.makeTensor(e,t,r)}function ze(e,t,n){const r=We(e,n);return He(e,t,r,n)}function Nx(e,t=0){f(e.length>=1,()=>"Pass at least one tensor to concat");let n=Zt(e,"tensors","concat");n[0].dtype==="complex64"&&n.forEach(p=>{if(p.dtype!=="complex64")throw new Error(`Cannot concatenate complex64 tensors with a tensor - with dtype ${p.dtype}. `)});const r=z(t,n[0].shape)[0],o=pl(n.map(p=>p.shape),r);if(Q(o)===0)return ze([],o);if(n=n.filter(p=>p.size>0),n.length===1)return n[0];const i=n.map(p=>p.shape);cl(i,r);const a=(p,l)=>{const h=p.concat(n,r);return l(n),h},s=n,c={axis:t};return g.runKernelFunc(a,s,null,Uo,c)}const Z=m({concat_:Nx});function Rx(e,t,n=!1,r=!1){let o=u(e,"a","matMul"),i=u(t,"b","matMul");[o,i]=V(o,i),f(o.rank>=2&&i.rank>=2&&o.rank===i.rank,()=>`Error in matMul: inputs must have the same rank of at least 2, got ranks ${o.rank} and ${i.rank}.`);const a=n?o.shape[o.rank-2]:o.shape[o.rank-1],s=r?i.shape[i.rank-1]:i.shape[i.rank-2],c=n?o.shape[o.rank-1]:o.shape[o.rank-2],p=r?i.shape[i.rank-2]:i.shape[i.rank-1],l=o.shape.slice(0,-2),h=i.shape.slice(0,-2),d=Q(l),b=Q(h);f(Te(l,h),()=>`Error in matMul: outer dimensions (${l}) and (${h}) of Tensors with shapes ${o.shape} and ${i.shape} must match.`),f(a===s,()=>`Error in matMul: inner shapes (${a}) and (${s}) of Tensors with shapes ${o.shape} and ${i.shape} and transposeA=${n} and transposeB=${r} must match.`);const x=o.shape.slice(0,-2).concat([c,p]),w=n?y(o,[d,a,c]):y(o,[d,c,a]),L=r?y(i,[b,p,s]):y(i,[b,s,p]),S=(E,M)=>(M([w,L]),E.batchMatMul(w,L,n,r)),I={a:w,b:L},N={transposeA:n,transposeB:r},A=g.runKernelFunc(S,I,null,Oo,N);return y(A,x)}const Y=m({matMul_:Rx});function _x(e,t){let n=u(e,"a","mul"),r=u(t,"b","mul");[n,r]=V(n,r);const o=(a,s)=>{const c=a.multiply(n,r);return s([n,r]),c},i={a:n,b:r};return g.runKernelFunc(o,i,null,bi)}const v=m({mul_:_x});function Cx(e){const t=u(e,"x","sigmoid"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.sigmoid(t);return o([i]),i},n,null,Bi)}const lt=m({sigmoid_:Cx});const Wd={};Re(Wd,{assertParamsValid:()=>ll,computeFlatOffset:()=>Ox,computeOutShape:()=>hl,isSliceContinous:()=>Ex,maskToAxes:()=>us,parseSliceParams:()=>ds,startForAxis:()=>gl,startIndicesWithElidedDims:()=>dl,stopForAxis:()=>bl,stopIndicesWithElidedDims:()=>ml,stridesForAxis:()=>fl,stridesWithElidedDims:()=>ul});function ll(e,t,n){f(e.rank===t.length,()=>`Error in slice${e.rank}D: Length of begin ${t} must match the rank of the array (${e.rank}).`),f(e.rank===n.length,()=>`Error in slice${e.rank}D: Length of size ${n} must match the rank of the array (${e.rank}).`);for(let r=0;r`Error in slice${e.rank}D: begin[${r}] + size[${r}] (${t[r]+n[r]}) would overflow input.shape[${r}] (${e.shape[r]})`)}function us(e){const t=[];let n=0;for(;e>0;)e&1&&t.push(n),e/=2,n++;return t}function hl(e,t,n){const r=[];for(let o=0;o-1)i[s]=0;else{const c=Bd(t,n,s);let p=r[c];e&1<-1)i[s]=Number.MAX_SAFE_INTEGER;else{const c=Bd(t,n,s);let p=r[c];e&1<0?a=Number.MIN_SAFE_INTEGER:a=Number.MAX_SAFE_INTEGER);const c=r[o];return a<0&&(a+=c),a=Cr(0,a,c-1),a}function bl(e,t,n,r,o,i){let a=t[o];const s=n[o]||1;(e&1<0?a=Number.MAX_SAFE_INTEGER:a=Number.MIN_SAFE_INTEGER);const c=r[o];return a<0&&(a+=c),s>0?a=Cr(0,a,c):a=Cr(-1,a,c-1),a}function Ex(e,t,n){let r=n.length;for(let o=0;o1){r=o;break}for(let o=r+1;o0||n[o]!==e[o])return!1;return!0}function Ox(e,t){let n=e.length>0?e[e.length-1]:1;for(let r=0;r{f(i!==-1,()=>"slice() does not support negative begin indexing.")});let o;return n==null?o=new Array(e.rank).fill(-1):typeof n=="number"?o=[n,...new Array(e.rank-1).fill(-1)]:n.lengthi>=0?i:(f(i===-1,()=>`Negative size values should be exactly -1 but got ${i} for the slice() size at index ${a}.`),e.shape[a]-r[a])),[r,o]}function kx(e,t,n){const r=u(e,"x","slice");if(r.rank===0)throw new Error("Slicing scalar is not possible");const[o,i]=ds(r,t,n);ll(r,o,i);const a=(p,l)=>(l([r]),p.slice(r,o,i)),s={x:r},c={begin:t,size:n};return g.runKernelFunc(a,s,null,Fi,c)}const G=m({slice_:kx});function Dx(e){const t=u(e,"x","tanh"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.tanh(t);return o([i]),i},n,null,Ki)}const Wr=m({tanh_:Dx});function Fx(e,t,n,r,o,i){const a=u(e,"forgetBias","basicLSTMCell"),s=u(t,"lstmKernel","basicLSTMCell"),c=u(n,"lstmBias","basicLSTMCell"),p=u(r,"data","basicLSTMCell"),l=u(o,"c","basicLSTMCell"),h=u(i,"h","basicLSTMCell"),d=Z([p,h],1),b=Y(d,s),x=R(b,c),w=x.shape[0],L=x.shape[1]/4,S=[w,L],I=G(x,[0,0],S),N=G(x,[0,L],S),A=G(x,[0,L*2],S),E=G(x,[0,L*3],S),M=R(v(lt(I),Wr(N)),v(l,lt(R(a,A)))),D=v(Wr(M),lt(E));return[M,D]}const wl=m({basicLSTMCell_:Fx});function Mx(e,t,n){const r=u(e,"x","batchToSpaceND"),o=t.reduce((c,p)=>c*p);f(r.rank>=1+t.length,()=>`input rank is ${r.rank} but should be > than blockShape.length ${t.length}`),f(n.length===t.length,()=>`crops.length is ${n.length} but should be equal to blockShape.length ${t.length}`),f(r.shape[0]%o===0,()=>`input tensor batch is ${r.shape[0]} but is not divisible by the product of the elements of blockShape ${t.join(" * ")} === ${o}`);const i=c=>c.batchToSpaceND(r,t,n),a={x:r},s={blockShape:t,crops:n};return g.runKernelFunc(i,a,null,ko,s)}const Bn=m({batchToSpaceND_:Mx});function jd(e){let t;return e.rank===0||e.rank===1?t=y(e,[1,1,1,e.size]):e.rank===2?t=y(e,[1,1,e.shape[0],e.shape[1]]):e.rank===3?t=y(e,[1,e.shape[0],e.shape[1],e.shape[2]]):t=e,t}function Ux(e,t,n,r,o,i){i==null&&(i=.001);const a=u(e,"x","batchNorm"),s=u(t,"mean","batchNorm"),c=u(n,"variance","batchNorm");let p;o!=null&&(p=u(o,"scale","batchNorm"));let l;r!=null&&(l=u(r,"offset","batchNorm")),f(s.rank===c.rank,()=>"Batch normalization gradient requires mean and variance to have equal ranks."),f(l==null||s.rank===l.rank,()=>"Batch normalization gradient requires mean and offset to have equal ranks."),f(p==null||s.rank===p.rank,()=>"Batch normalization gradient requires mean and scale to have equal ranks.");const h=jd(a),d=(L,S)=>(S([h,s,c,p]),L.batchNorm(h,Ea(s),Ea(c),Ea(l),Ea(p),i)),b={x:h,scale:p,offset:l,mean:s,variance:c},x={varianceEpsilon:i},w=g.runKernelFunc(d,b,null,Qo,x);return y(w,a.shape)}function Ea(e){return e==null?null:e.rank===0?y(e,[e.size]):e.rank===1?e:e.rank===2?y(e,[1,1,e.shape[0],e.shape[1]]):e.rank===3?y(e,[1,e.shape[0],e.shape[1],e.shape[2]]):e}const Ct=m({batchNorm_:Ux});function Wx(e,t,n,r,o,i){const a=u(e,"x","batchNorm"),s=u(t,"mean","batchNorm"),c=u(n,"variance","batchNorm");let p;o!=null&&(p=u(o,"scale","batchNorm"));let l;return r!=null&&(l=u(r,"offset","batchNorm")),f(a.rank===2,()=>`Error in batchNorm2D: x must be rank 2 but got rank ${a.rank}.`),f(s.rank===2||s.rank===1,()=>`Error in batchNorm2D: mean must be rank 2 or rank 1 but got rank ${s.rank}.`),f(c.rank===2||c.rank===1,()=>`Error in batchNorm2D: variance must be rank 2 or rank 1 but got rank ${c.rank}.`),p!=null&&f(p.rank===2||p.rank===1,()=>`Error in batchNorm2D: scale must be rank 2 or rank 1 but got rank ${p.rank}.`),l!=null&&f(l.rank===2||l.rank===1,()=>`Error in batchNorm2D: offset must be rank 2 or rank 1 but got rank ${l.rank}.`),Ct(a,s,c,l,p,i)}const xl=m({batchNorm2d_:Wx});function Bx(e,t,n,r,o,i){const a=u(e,"x","batchNorm"),s=u(t,"mean","batchNorm"),c=u(n,"variance","batchNorm");let p;o!=null&&(p=u(o,"scale","batchNorm"));let l;return r!=null&&(l=u(r,"offset","batchNorm")),f(a.rank===3,()=>`Error in batchNorm3D: x must be rank 3 but got rank ${a.rank}.`),f(s.rank===3||s.rank===1,()=>`Error in batchNorm3D: mean must be rank 3 or rank 1 but got rank ${s.rank}.`),f(c.rank===3||c.rank===1,()=>`Error in batchNorm3D: variance must be rank 3 or rank 1 but got rank ${c.rank}.`),p!=null&&f(p.rank===3||p.rank===1,()=>`Error in batchNorm3D: scale must be rank 3 or rank 1 but got rank ${p.rank}.`),l!=null&&f(l.rank===3||l.rank===1,()=>`Error in batchNorm3D: offset must be rank 3 or rank 1 but got rank ${l.rank}.`),Ct(a,s,c,l,p,i)}const yl=m({batchNorm3d_:Bx});function $x(e,t,n,r,o,i){const a=u(e,"x","batchNorm"),s=u(t,"mean","batchNorm"),c=u(n,"variance","batchNorm");let p;o!=null&&(p=u(o,"scale","batchNorm"));let l;return r!=null&&(l=u(r,"offset","batchNorm")),f(a.rank===4,()=>`Error in batchNorm4D: x must be rank 4 but got rank ${a.rank}.`),f(s.rank===4||s.rank===1,()=>`Error in batchNorm4D: mean must be rank 4 or rank 1 but got rank ${s.rank}.`),f(c.rank===4||c.rank===1,()=>`Error in batchNorm4D: variance must be rank 4 or rank 1 but got rank ${c.rank}.`),p!=null&&f(p.rank===4||p.rank===1,()=>`Error in batchNorm4D: scale must be rank 4 or rank 1 but got rank ${p.rank}.`),l!=null&&f(l.rank===4||l.rank===1,()=>`Error in batchNorm4D: offset must be rank 4 or rank 1 but got rank ${l.rank}.`),Ct(a,s,c,l,p,i)}const Ll=m({batchNorm4d_:$x});function jx(e){const t=u(e,"x","clone",null),n=()=>g.makeTensorFromDataId(t.dataId,t.shape,t.dtype),r={x:t};return g.runKernelFunc(n,r,null,ni)}const Et=m({clone_:jx});function Gx(e,t){let n=u(e,"broadcastTo","x");const r=n.shape;if(t.some(l=>!(l>0)||l%1!==0))throw new Error(`broadcastTo(): Invalid broadcast shape [${t}].`);if(t.lengthn.rank){const l=n.shape.slice();for(;l.length=0;l--)if(o[l]===t[l])i[l]=1;else if(n.shape[l]!==1)throw new Error(`broadcastTo(): [${r}] cannot be broadcast to [${t}].`);const a=i.map((l,h)=>l>1?h:-1).filter(l=>l>=0);if(a.length===0)return Et(n);const s=l=>l.tile(n,i),c={x:n},p={shape:t,inputShape:o};return g.runKernelFunc(s,c,null,Do,p)}const Br=m({broadcastTo_:Gx});function Be(e,t="float32",n){return t=t||"float32",ss(e),new Dr(e,t,n)}function Px(e){const t=u(e,"x","ceil"),n={x:t};return g.runKernelFunc(r=>r.ceil(t),n,null,Fo)}const vl=m({ceil_:Px});function qx(e,t,n){const r=u(e,"x","clipByValue");f(t<=n,()=>`Error in clip: min (${t}) must be less than or equal to max (${n}).`);const o={x:r},i={clipValueMin:t,clipValueMax:n};return g.runKernelFunc((a,s)=>{const c=a.clip(r,t,n);return s([r]),c},o,null,Mo,i)}const $n=m({clipByValue_:qx});function Hx(e,t){const n=u(e,"real","complex"),r=u(t,"imag","complex");P(n.shape,r.shape,`real and imag shapes, ${n.shape} and ${r.shape}, must match in call to tf.complex().`);const o=a=>a.complex(n,r),i={real:n,imag:r};return g.runKernelFunc(o,i,null,Fc)}const Ye=m({complex_:Hx});function zx(e){return Z(e,0)}const Sl=m({concat1d_:zx});function Yx(e,t){return Z(e,t)}const Il=m({concat2d_:Yx});function Vx(e,t){return Z(e,t)}const Tl=m({concat3d_:Vx});function Kx(e,t){return Z(e,t)}const Al=m({concat4d_:Kx});function Jx(e,t,n,r,o="NHWC",i=[1,1],a){const s=u(e,"x","conv2d"),c=u(t,"filter","conv2d");let p=s,l=!1;s.rank===3&&(l=!0,p=y(s,[1,s.shape[0],s.shape[1],s.shape[2]])),f(p.rank===4,()=>`Error in conv2d: input must be rank 4, but got rank ${p.rank}.`),f(c.rank===4,()=>`Error in conv2d: filter must be rank 4, but got rank ${c.rank}.`),a!=null&&f(X(r),()=>`Error in conv2d: pad must be an integer when using, dimRoundingMode ${a} but got pad ${r}.`);const h=o==="NHWC"?p.shape[3]:p.shape[1];f(h===c.shape[2],()=>`Error in conv2d: depth of input (${h}) must match input depth for filter ${c.shape[2]}.`),f(le(n,i),()=>`Error in conv2D: Either strides or dilations must be 1. Got strides ${n} and dilations '${i}'`);const d=(L,S)=>{const I=yn(o),N=je(p.shape,c.shape,n,i,r,a,!1,I),A=L.conv2d(p,c,N);return S([p,c]),A},b={x:p,filter:c},x={strides:n,pad:r,dataFormat:o,dilations:i,dimRoundingMode:a},w=g.runKernelFunc(d,b,null,Wo,x);return l?y(w,[w.shape[1],w.shape[2],w.shape[3]]):w}const xe=m({conv2d_:Jx});function Xx(e,t,n,r,o="NWC",i=1,a){const s=u(e,"x","conv1d"),c=u(t,"filter","conv1d");let p=s,l=!1;s.rank===2&&(l=!0,p=y(s,[1,s.shape[0],s.shape[1]])),f(p.rank===3,()=>`Error in conv1d: input must be rank 3, but got rank ${p.rank}.`),f(c.rank===3,()=>`Error in conv1d: filter must be rank 3, but got rank ${c.rank}.`),a!=null&&f(X(r),()=>`Error in conv1d: pad must be an integer when using, dimRoundingMode ${a} but got pad ${r}.`),f(p.shape[2]===c.shape[1],()=>`Error in conv1d: depth of input (${p.shape[2]}) must match input depth for filter ${c.shape[1]}.`),f(le(n,i),()=>`Error in conv1D: Either stride or dilation must be 1. Got stride ${n} and dilation '${i}'`),f(o==="NWC",()=>`Error in conv1d: got dataFormat of ${o} but only NWC is currently supported.`);const h=y(c,[1,c.shape[0],c.shape[1],c.shape[2]]),d=y(p,[p.shape[0],1,p.shape[1],p.shape[2]]),b=[1,n],x=[1,i],w="NHWC",L=xe(d,h,b,r,w,x,a);return l?y(L,[L.shape[2],L.shape[3]]):y(L,[L.shape[0],L.shape[2],L.shape[3]])}const Nl=m({conv1d_:Xx});function Zx(e,t,n,r,o,i="NHWC",a){f(e.length===t.rank,()=>`Length of inShape (${e.length}) and rank of dy (${t.rank}) must match`);let s=e,c=t,p=!1;t.rank===3&&(p=!0,c=y(t,[1,t.shape[0],t.shape[1],t.shape[2]]),s=[1,e[0],e[1],e[2]]),f(s.length===4,()=>`Error in conv2dDerInput: inShape must be length 4, but got length ${s.length}.`),f(c.rank===4,()=>`Error in conv2dDerInput: dy must be rank 4, but got rank ${c.rank}`),f(n.rank===4,()=>`Error in conv2dDerInput: filter must be rank 4, but got rank ${n.rank}`);const l=i==="NHWC"?s[3]:s[1],h=i==="NHWC"?c.shape[3]:c.shape[1];f(l===n.shape[2],()=>`Error in conv2dDerInput: depth of input (${l}) must match input depth for filter ${n.shape[2]}.`),f(h===n.shape[3],()=>`Error in conv2dDerInput: depth of output (${h}) must match output depth for filter ${n.shape[3]}.`),a!=null&&f(X(o),()=>`Error in conv2dDerInput: pad must be an integer when using, dimRoundingMode ${a} but got pad ${o}.`);const d=(L,S)=>{const I=1,N=yn(i),A=je(s,n.shape,r,I,o,a,!1,N),E=L.conv2dDerInput(c,n,A);return S([c,n]),E},b={dy:c,filter:n},x={strides:r,pad:o,dataFormat:i,dimRoundingMode:a,inputShape:s},w=g.runKernelFunc(d,b,null,Bo,x);return p?y(w,[w.shape[1],w.shape[2],w.shape[3]]):w}const $r=m({conv2DBackpropInput_:Zx});function Qx(e,t,n,r,o,i){const a=u(e,"x","conv2dTranspose"),s=u(t,"filter","conv2dTranspose");return $r(n,a,s,r,o,"NHWC",i)}const Rl=m({conv2dTranspose_:Qx});function ey(e,t,n,r,o="NDHWC",i=[1,1,1]){const a=u(e,"x","conv3d"),s=u(t,"filter","conv3d");let c=a,p=!1;a.rank===4&&(p=!0,c=y(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]])),f(c.rank===5,()=>`Error in conv3d: input must be rank 5, but got rank ${c.rank}.`),f(s.rank===5,()=>`Error in conv3d: filter must be rank 5, but got rank ${s.rank}.`),f(c.shape[4]===s.shape[3],()=>`Error in conv3d: depth of input (${c.shape[4]}) must match input depth for filter ${s.shape[3]}.`),f(le(n,i),()=>`Error in conv3D: Either strides or dilations must be 1. Got strides ${n} and dilations '${i}'`),f(o==="NDHWC",()=>`Error in conv3d: got dataFormat of ${o} but only NDHWC is currently supported.`);const l=(x,w)=>{const L=Ln(c.shape,s.shape,n,i,r),S=x.conv3d(c,s,L);return w([c,s]),S},h={x:c,filter:s},d={strides:n,pad:r,dataFormat:o,dilations:i},b=g.runKernelFunc(l,h,null,$o,d);return p?y(b,[b.shape[1],b.shape[2],b.shape[3],b.shape[4]]):b}const _l=m({conv3d_:ey});function ty(e,t,n,r,o){f(e.length===t.rank,()=>`Length of inShape (${e.length}) and rank of dy (${t.rank}) must match`);let i=e,a=t,s=!1;t.rank===4&&(s=!0,a=y(t,[1,t.shape[0],t.shape[1],t.shape[2],t.shape[3]]),i=[1,e[0],e[1],e[2],e[3]]);const c=i[4],p=a.shape[4];f(i.length===5,()=>`Error in conv3dDerInput: inShape must be length 5, but got length ${i.length}.`),f(a.rank===5,()=>`Error in conv3dDerInput: dy must be rank 5, but got rank ${a.rank}`),f(n.rank===5,()=>`Error in conv3dDerInput: filter must be rank 5, but got rank ${n.rank}`),f(c===n.shape[3],()=>`Error in conv3dDerInput: depth of input (${c}) must match input depth for filter ${n.shape[3]}.`),f(p===n.shape[4],()=>`Error in conv3dDerInput: depth of output (${p}) must match output depth for filter ${n.shape[4]}.`);const l=x=>{const w=1,L=Ln(i,n.shape,r,w,o);return x.conv3dDerInput(a,n,L)},h={dy:a},d={pad:o},b=g.runKernelFunc(l,h,null,Wc,d);return s?y(b,[b.shape[1],b.shape[2],b.shape[3],b.shape[4]]):b}const Oa=m({conv3DBackpropInput_:ty});function ny(e,t,n,r,o){const i=u(e,"x","conv3dTranspose"),a=u(t,"filter","conv3dTranspose");return Oa(n,i,a,r,o)}const Cl=m({conv3dTranspose_:ny});function ry(e){const t=u(e,"x","cos"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.cos(t);return o([t]),i},n,null,jo)}const jn=m({cos_:ry});function oy(e){const t=u(e,"x","cosh"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.cosh(t);return o([t]),i},n,null,Go)}const ms=m({cosh_:oy});function iy(e,t=0,n=!1,r=!1){const o=u(e,"x","cumsum"),i=(c,p)=>{const l=ge([t],o.rank);let h=o;l!=null&&(h=K(o,l));const d=De(1,o.rank)[0];let b=c.cumsum(h,d,n,r);if(p([o]),l!=null){const x=Un(l);b=K(b,x)}return b},a={x:o},s={axis:t,exclusive:n,reverse:r};return g.runKernelFunc(i,a,null,Po,s)}const fs=m({cumsum_:iy});function sy(e,t,n="NHWC"){const r=u(e,"x","depthToSpace"),o=n==="NHWC"?r.shape[1]:r.shape[2],i=n==="NHWC"?r.shape[2]:r.shape[3],a=n==="NHWC"?r.shape[3]:r.shape[1];f(o*t>=0,()=>`Negative dimension size caused by overflow when multiplying +`;return d[d.length-1]=" "+d[d.length-1]+"]"+(i?"":x),d}function ps(e){const t=[];for(let n=0;n`Length of values '${r}' does not match the size inferred by the shape '${this.size}'.`)}if(t==="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||Cp(t,this.size),this.strides=Gt(e)}set(e,...t){t.length===0&&(t=[0]),f(t.length===this.rank,()=>`The number of provided coordinates (${t.length}) must match the rank (${this.rank})`);const n=this.locToIndex(t);this.values[n]=e}get(...e){e.length===0&&(e=[0]);let t=0;for(const r of e){if(r<0||r>=this.shape[t]){const o=`Requested out of range element at ${e}. Buffer shape=${this.shape}`;throw new Error(o)}t++}let n=e[e.length-1];for(let r=0;rRa(n))}catch(n){throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().")}}return e}dataSync(){this.throwIfDisposed();const e=qt().readSync(this.dataId);if(this.dtype==="string")try{return e.map(t=>Ra(t))}catch(t){throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().")}return e}async bytes(){this.throwIfDisposed();const e=await qt().read(this.dataId);return this.dtype==="string"?e:new Uint8Array(e.buffer)}dispose(){if(this.isDisposed)return;qt().disposeTensor(this),this.isDisposedInternal=!0}get isDisposed(){return this.isDisposedInternal}throwIfDisposed(){if(this.isDisposed)throw new Error("Tensor is disposed.")}print(e=!1){return Fr.print(this,e)}clone(){return this.throwIfDisposed(),Fr.clone(this)}toString(e=!1){const t=this.dataSync();return Nd(t,this.shape,this.dtype,e)}cast(e){return this.throwIfDisposed(),Fr.cast(this,e)}variable(e=!0,t,n){return this.throwIfDisposed(),qt().makeVariable(this,e,t,n)}}Object.defineProperty(ee,Symbol.hasInstance,{value:e=>!!e&&e.dataId!=null&&e.shape!=null&&e.dtype!=null});class Ht extends ee{constructor(e,t,n,r){super(e.shape,e.dtype,e.dataId,r);this.trainable=t,this.name=n}assign(e){if(e.dtype!==this.dtype)throw new Error(`dtype of the new value (${e.dtype}) and previous value (${this.dtype}) must match`);if(!Te(e.shape,this.shape))throw new Error(`shape of the new value (${e.shape}) and previous value (${this.shape}) must match`);qt().disposeTensor(this),this.dataId=e.dataId,qt().incRef(this,null)}dispose(){qt().disposeVariable(this),this.isDisposedInternal=!0}}Object.defineProperty(Ht,Symbol.hasInstance,{value:e=>e instanceof ee&&e.assign!=null&&e.assign instanceof Function});var Up;(function(e){e.R0="R0",e.R1="R1",e.R2="R2",e.R3="R3",e.R4="R4",e.R5="R5",e.R6="R6"})(Up||(Up={}));var Wp;(function(e){e.float32="float32",e.int32="int32",e.bool="int32",e.complex64="complex64"})(Wp||(Wp={}));var Bp;(function(e){e.float32="float32",e.int32="int32",e.bool="bool",e.complex64="complex64"})(Bp||(Bp={}));var $p;(function(e){e.float32="float32",e.int32="float32",e.bool="float32",e.complex64="complex64"})($p||($p={}));var jp;(function(e){e.float32="complex64",e.int32="complex64",e.bool="complex64",e.complex64="complex64"})(jp||(jp={}));const Ew={float32:$p,int32:Wp,bool:Bp,complex64:jp};function Mr(e,t){if(e==="string"||t==="string"){if(e==="string"&&t==="string")return"string";throw new Error(`Can not upcast ${e} with ${t}`)}return Ew[e][t]}function Ow(e){return Mr(e,"int32")}const Od={};Re(Od,{assertTypesMatch:()=>Gp,getTensorsInContainer:()=>ls,isTensorInList:()=>kw,makeTypesMatch:()=>V});function V(e,t){if(e.dtype===t.dtype)return[e,t];const n=Mr(e.dtype,t.dtype);return[e.cast(n),t.cast(n)]}function Gp(e,t){f(e.dtype===t.dtype,()=>`The dtypes of the first(${e.dtype}) and second(${t.dtype}) input must match`)}function kw(e,t){return t.some(n=>n.id===e.id)}function ls(e){const t=[],n=new Set();return kd(e,t,n),t}function kd(e,t,n){if(e==null)return;if(e instanceof ee){t.push(e);return}if(!Dw(e))return;const r=e;for(const o in r){const i=r[o];n.has(i)||(n.add(i),kd(i,t,n))}}function Dw(e){return Array.isArray(e)||typeof e=="object"}class Dd{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}}dispose(){for(const e in this.registeredVariables)this.registeredVariables[e].dispose()}}class hs{constructor(e){this.ENV=e,this.registry={},this.registryFactory={},this.pendingBackendInitId=0,this.state=new Dd()}async ready(){if(this.pendingBackendInit!=null)return this.pendingBackendInit.then(()=>{});if(this.backendInstance!=null)return;const e=this.getSortedBackends();for(let t=0;t{t.setupFunc!=null&&t.setupFunc(this.backendInstance)})}disposeRegisteredKernels(e){const t=Aa(e);t.forEach(n=>{n.disposeFunc!=null&&n.disposeFunc(this.registry[e])})}initializeBackend(e){const t=this.registryFactory[e];if(t==null)throw new Error(`Cannot initialize backend ${e}, no registration found.`);try{const n=t.factory();if(Promise.resolve(n)===n){const r=++this.pendingBackendInitId,o=n.then(i=>r(rthis.registryFactory[t].priority-this.registryFactory[e].priority)}initializeBackendsAndReturnBest(){const e=this.getSortedBackends();for(let t=0;tthis.startScope(n),()=>this.endScope(r),()=>(r=t(),r instanceof Promise&&console.error("Cannot return a Promise inside of tidy."),r))}scopedRun(e,t,n){e();try{const r=n();return t(),r}catch(r){throw t(),r}}nextTensorId(){return hs.nextTensorId++}nextVariableId(){return hs.nextVariableId++}clone(e){const t=this.makeTensorFromDataId(e.dataId,e.shape,e.dtype),n={x:e},r=i=>({x:()=>{const a="float32",s={x:i},c={dtype:a};return g.runKernelFunc(p=>p.cast(i,a),s,null,Dn,c)}}),o=[];return this.addTapeNode(this.state.activeScope.name,n,[t],r,o,{}),t}runKernel(e,t,n,r,o){const i=null,a=null;return this.runKernelFunc(i,t,a,e,n,r,o)}shouldCheckForMemLeaks(){return this.ENV.getBool("IS_TEST")}checkKernelForMemLeak(e,t,n){const r=this.backend.numDataIds();let o=0;n.forEach(s=>{o+=s.dtype==="complex64"?3:1});const i=this.state.numDataMovesStack[this.state.numDataMovesStack.length-1],a=r-t-o-i;if(a>0)throw new Error(`Backend '${this.backendName}' has an internal memory leak (${a} data ids) after running '${e}'`)}runKernelFunc(e,t,n,r,o,i,a){let s,c=[];const p=this.isTapeOn();r==null&&(r=this.state.activeScope!=null?this.state.activeScope.name:"");const l=this.state.numBytes,h=this.state.numTensors;this.shouldCheckForMemLeaks()&&this.state.numDataMovesStack.push(0);let d;const b=rs(r,this.backendName);let x;if(b!=null)d=()=>{const L=this.backend.numDataIds();x=b.kernelFunc({inputs:t,attrs:o,backend:this.backend});const S=Array.isArray(x)?x:[x];this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(r,L,S);const I=S.map(({dataId:N,shape:A,dtype:E})=>this.makeTensorFromDataId(N,A,E));if(p){let N=this.getTensorsForGradient(r,t,I);if(N==null){a==null&&(a=[]);const A=I.filter((E,M)=>a[M]);N=(i||[]).slice().concat(A)}c=this.saveTensorsForBackwardMode(N)}return I};else{const L=S=>{if(!p)return;c=S.map(I=>this.keep(this.clone(I)))};d=()=>{const S=this.backend.numDataIds();x=this.tidy(()=>e(this.backend,L));const I=Array.isArray(x)?x:[x];return this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(r,S,I),I}}let w;return this.scopedRun(()=>this.state.kernelDepth++,()=>this.state.kernelDepth--,()=>{!this.ENV.getBool("DEBUG")&&!this.state.profiling?s=d():(w=this.profiler.profileKernel(r,t,()=>d()),this.ENV.getBool("DEBUG")&&this.profiler.logKernelProfile(w),s=w.outputs)}),p&&this.addTapeNode(r,t,s,n,c,o),this.state.profiling&&this.state.activeProfile.kernels.push({name:r,bytesAdded:this.state.numBytes-l,totalBytesSnapshot:this.state.numBytes,tensorsAdded:this.state.numTensors-h,totalTensorsSnapshot:this.state.numTensors,inputShapes:Object.keys(t).map(L=>t[L]!=null?t[L].shape:null),outputShapes:s.map(L=>L.shape),kernelTimeMs:w.timeMs,extraInfo:w.extraInfo}),Array.isArray(x)?s:s[0]}saveTensorsForBackwardMode(e){const t=e.map(n=>this.keep(this.clone(n)));return t}getTensorsForGradient(e,t,n){const r=Ta(e);if(r!=null){const o=r.inputsToSave||[],i=r.outputsToSave||[];let a;r.saveAllInputs?(f(Array.isArray(t),()=>"saveAllInputs is true, expected inputs to be an array."),a=Object.keys(t).map(c=>t[c])):a=o.map(c=>t[c]);const s=n.filter((c,p)=>i[p]);return a.concat(s)}return null}makeTensor(e,t,n,r){if(e==null)throw new Error("Values passed to engine.makeTensor() are null");n=n||"float32",r=r||this.backend;let o=e;n==="string"&&Rt(e[0])&&(o=e.map(s=>Fp(s)));const i=r.write(o,t,n),a=new ee(t,n,i,this.nextTensorId());if(this.incRef(a,r),n==="string"){const s=this.state.tensorInfo.get(i),c=Dp(o);this.state.numBytes+=c-s.bytes,s.bytes=c}return a}makeTensorFromDataId(e,t,n,r){n=n||"float32";const o=new ee(t,n,e,this.nextTensorId());return this.incRef(o,r),o}makeVariable(e,t=!0,n,r){n=n||this.nextVariableId().toString(),r!=null&&r!==e.dtype&&(e=e.cast(r));const o=new Ht(e,t,n,this.nextTensorId());if(this.state.registeredVariables[o.name]!=null)throw new Error(`Variable with name ${o.name} was already registered`);return this.state.registeredVariables[o.name]=o,this.incRef(o,this.backend),o}incRef(e,t){const n=this.state.tensorInfo.has(e.dataId)?this.state.tensorInfo.get(e.dataId).refCount:0;if(this.state.numTensors++,e.dtype==="string"&&this.state.numStringTensors++,n===0){this.state.numDataBuffers++;let r=0;e.dtype!=="complex64"&&e.dtype!=="string"&&(r=e.size*kp(e.dtype)),this.state.tensorInfo.set(e.dataId,{backend:t||this.backend,dtype:e.dtype,shape:e.shape,bytes:r,refCount:0}),this.state.numBytes+=r}this.state.tensorInfo.get(e.dataId).refCount++,e instanceof Ht||this.track(e)}disposeTensor(e){if(!this.state.tensorInfo.has(e.dataId))return;this.state.numTensors--,e.dtype==="string"&&this.state.numStringTensors--;const t=this.state.tensorInfo.get(e.dataId),n=t.refCount;n<=1?(e.dtype!=="complex64"&&(this.state.numBytes-=t.bytes),this.state.numDataBuffers--,t.backend.disposeData(e.dataId),this.state.tensorInfo.delete(e.dataId)):this.state.tensorInfo.get(e.dataId).refCount--}disposeVariables(){for(const e in this.state.registeredVariables){const t=this.state.registeredVariables[e];this.disposeVariable(t)}}disposeVariable(e){this.disposeTensor(e),this.state.registeredVariables[e.name]!=null&&delete this.state.registeredVariables[e.name]}memory(){const e=this.backend.memory();return e.numTensors=this.state.numTensors,e.numDataBuffers=this.state.numDataBuffers,e.numBytes=this.state.numBytes,this.state.numStringTensors>0&&(e.unreliable=!0,e.reasons==null&&(e.reasons=[]),e.reasons.push("Memory usage by string tensors is approximate (2 bytes per character)")),e}async profile(e){this.state.profiling=!0;const t=this.state.numBytes,n=this.state.numTensors;this.state.activeProfile.kernels=[],this.state.activeProfile.result=await e(),this.state.profiling=!1,this.state.activeProfile.peakBytes=Math.max(...this.state.activeProfile.kernels.map(r=>r.totalBytesSnapshot)),this.state.activeProfile.newBytes=this.state.numBytes-t,this.state.activeProfile.newTensors=this.state.numTensors-n;for(const r of this.state.activeProfile.kernels)r.kernelTimeMs=await r.kernelTimeMs,r.extraInfo=await r.extraInfo;return this.state.activeProfile}isTapeOn(){return this.state.gradientDepth>0&&this.state.kernelDepth===0}addTapeNode(e,t,n,r,o,i){const a={id:this.state.nextTapeNodeId++,kernelName:e,inputs:t,outputs:n,saved:o},s=Ta(e);s!=null&&(r=s.gradFunc),r!=null&&(a.gradient=c=>(c=c.map((p,l)=>{if(p==null){const h=n[l],d=Pt(h.size,h.dtype);return this.makeTensor(d,h.shape,h.dtype)}return p}),r(c.length>1?c:c[0],o,i))),this.state.activeTape.push(a)}keep(e){return e.kept=!0,e}startTape(){this.state.gradientDepth===0&&(this.state.activeTape=[]),this.state.gradientDepth++}endTape(){this.state.gradientDepth--}startScope(e){const t={track:[],name:"unnamed scope",id:this.state.nextScopeId++};e&&(t.name=e),this.state.scopeStack.push(t),this.state.activeScope=t}endScope(e){const t=ls(e),n=new Set(t.map(o=>o.id));for(let o=0;o{!o.kept&&o.scopeId===r.id&&this.track(o)})}gradients(e,t,n,r=!1){if(f(t.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}'`);const o=this.scopedRun(()=>this.startTape(),()=>this.endTape(),()=>this.tidy("forward",e));f(o instanceof ee,()=>"The result y returned by f() must be a tensor.");const i=Id(this.state.activeTape,t,o);if(!r&&i.length===0&&t.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",()=>{const a={};a[o.id]=n==null?Fw(o.shape):n,Td(a,i,c=>this.tidy(c),Mw);const s=t.map(c=>a[c.id]);return this.state.gradientDepth===0&&(this.state.activeTape.forEach(c=>{for(const p of c.saved)p.dispose()}),this.state.activeTape=null),{value:o,grads:s}})}customGrad(e){return f(jt(e),()=>"The f passed in customGrad(f) must be a function."),(...t)=>{f(t.every(o=>o instanceof ee),()=>"The args passed in customGrad(f)(x1, x2,...) must all be tensors");let n;const r={};return t.forEach((o,i)=>{r[i]=o}),this.runKernelFunc((o,i)=>(n=e(...t,i),f(n.value instanceof ee,()=>"The function f passed in customGrad(f) must return an object where `obj.value` is a tensor"),f(jt(n.gradFunc),()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function."),n.value),r,(o,i)=>{const a=n.gradFunc(o,i),s=Array.isArray(a)?a:[a];f(s.length===t.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(...)."),f(s.every(p=>p instanceof ee),()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns a list of only tensors.");const c={};return s.forEach((p,l)=>{c[l]=()=>p}),c})}}readSync(e){const t=this.state.tensorInfo.get(e);return t.backend.readSync(e)}read(e){const t=this.state.tensorInfo.get(e);return t.backend.read(e)}async time(e){const t=Na(),n=await this.backend.time(e);return n.wallMs=Na()-t,n}track(e){return this.state.activeScope!=null&&(e.scopeId=this.state.activeScope.id,this.state.activeScope.track.push(e)),e}get registeredVariables(){return this.state.registeredVariables}reset(){this.pendingBackendInitId++,this.state.dispose(),this.ENV.reset(),this.state=new Dd();for(const e in this.registry)this.disposeRegisteredKernels(e),this.registry[e].dispose(),delete this.registry[e];this.backendName=null,this.backendInstance=null,this.pendingBackendInit=null}}hs.nextTensorId=0;hs.nextVariableId=0;function Fw(e){const t=is(Q(e),"float32");return g.makeTensor(t,e,"float32")}function Uw(){const e=_c();if(e._tfengine==null){const t=new Ac(e);e._tfengine=new hs(t)}return gd(e._tfengine.ENV),_d(()=>e._tfengine),e._tfengine}const g=Uw();function Mw(e,t){const n={a:e,b:t};return g.runKernelFunc((r,o)=>{const i=r.add(e,t);return o([e,t]),i},n,null,kn)}const Fd={};Re(Fd,{isBrowser:()=>Pp,isMobile:()=>Bw});function Ww(){return typeof navigator!="undefined"&&navigator!=null}function Bw(){if(Ww()){const e=navigator.userAgent||navigator.vendor||window.opera;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(e)||/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(e.substr(0,4))}return!1}function Pp(){return typeof window!="undefined"&&window.document!=null||typeof WorkerGlobalScope!="undefined"}const Xt=pe();Xt.registerFlag("DEBUG",()=>!1,e=>{e&&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.")});Xt.registerFlag("IS_BROWSER",()=>Pp());Xt.registerFlag("IS_NODE",()=>typeof process!="undefined"&&typeof process.versions!="undefined"&&typeof process.versions.node!="undefined");Xt.registerFlag("IS_CHROME",()=>typeof navigator!="undefined"&&navigator!=null&&navigator.userAgent!=null&&/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor));Xt.registerFlag("PROD",()=>!1);Xt.registerFlag("TENSORLIKE_CHECK_SHAPE_CONSISTENCY",()=>Xt.getBool("DEBUG"));Xt.registerFlag("DEPRECATION_WARNINGS_ENABLED",()=>!0);Xt.registerFlag("IS_TEST",()=>!1);function We(e,t){let n=e;if(_e(e))return t==="string"?[]:[e.length];if(!Array.isArray(e))return[];const r=[];for(;Array.isArray(n)||_e(n)&&t!=="string";)r.push(n.length),n=n[0];return Array.isArray(e)&&pe().getBool("TENSORLIKE_CHECK_SHAPE_CONSISTENCY")&&Md(e,r,[]),r}function Md(e,t,n){if(n=n||[],!Array.isArray(e)&&!_e(e)){f(t.length===0,()=>`Element arr[${n.join("][")}] is a primitive, but should be an array/TypedArray of ${t[0]} elements`);return}f(t.length>0,()=>`Element arr[${n.join("][")}] should be a primitive, but is an array of ${e.length} elements`),f(e.length===t[0],()=>`Element arr[${n.join("][")}] should have ${t[0]} elements, but has ${e.length} elements`);const r=t.slice(1);for(let o=0;o=0&&(o=r),Ud(r,o,t,n),e==null||!_e(e)&&!Array.isArray(e)&&typeof e!="number"&&typeof e!="boolean"&&typeof e!="string"){const c=e==null?"null":e.constructor.name;throw new Error(`Argument '${t}' passed to '${n}' must be a Tensor or TensorLike, but got '${c}'`)}const i=We(e,o);!_e(e)&&!Array.isArray(e)&&(e=[e]);const a=!0,s=o!=="string"?os(e,o):$t(e,[],a);return g.makeTensor(s,i,o)}function Zt(e,t,n,r="numeric"){if(!Array.isArray(e))throw new Error(`Argument ${t} passed to ${n} must be a \`Tensor[]\` or \`TensorLike[]\``);const o=e;return o.map((i,a)=>u(i,`${t}[${a}]`,n),r)}function m(e){const t=Object.keys(e);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 n=t[0];const r=e[n];n.endsWith("_")&&(n=n.substring(0,n.length-1));const o=(...i)=>{g.startScope(n);try{const a=r(...i);return a instanceof Promise&&console.error("Cannot return a Promise inside of tidy."),g.endScope(a),a}catch(a){throw g.endScope(null),a}};return Object.defineProperty(o,"name",{value:n,configurable:!0}),o}function $w(e){const t=u(e,"x","abs"),n={x:t};return g.runKernelFunc((r,o)=>(o([t]),t.dtype==="complex64"?r.complexAbs(t):r.abs(t)),n,null,xo)}const Ee=m({abs_:$w});function jw(e){const t=u(e,"x","acos"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.acos(t);return o([t]),i},n,null,yo)}const qp=m({acos_:jw});function Gw(e){const t=u(e,"x","acosh"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.acosh(t);return o([t]),i},n,null,Lo)}const Hp=m({acosh_:Gw});function Pw(e,t){let n=u(e,"a","add"),r=u(t,"b","add");[n,r]=V(n,r);const o=(a,s)=>{const c=a.add(n,r);return s([n,r]),c},i={a:n,b:r};return g.runKernelFunc(o,i,null,kn)}const R=m({add_:Pw});function qw(e){f(Array.isArray(e),()=>"The argument passed to tf.addN() must be a list of tensors"),f(e.length>=1,()=>`Must pass at least one tensor to tf.addN(), but got ${e.length}`);const t=e.map((i,a)=>u(i,`tensors${a}`,"addN")),n=t[0];t.forEach(i=>{if(i.dtype!==n.dtype)throw new Error("All tensors passed to tf.addN() must have the same dtype")}),t.forEach(i=>{if(!Te(i.shape,n.shape))throw new Error("All tensors passed to tf.addN() must have the same shape")});const r=(i,a)=>{const s=i.addN(t);return a(t),s},o=t;return g.runKernelFunc(r,o,null,vo)}const zp=m({addN_:qw});function Yp(e,t){for(let n=0;ne[i]);return[n,o]}function we(e,t){const n=t.map(r=>1);return Wd(e,n,t)}function Hw(e,t,n){f(Yp(t,n),()=>`${e} supports only inner-most axes for now. Got axes ${t} and rank-${n} input.`)}function ge(e,t){if(Yp(e,t))return null;const n=[];for(let r=0;rn.push(r)),n}function Un(e){return e.map((t,n)=>[n,t]).sort((t,n)=>t[1]-n[1]).map(t=>t[0])}function De(e,t){const n=[];for(let r=t-e;r"new shape and old shape must have the same number of elements.");const r={x:n},o={shape:t},i=(a,s)=>(s([n]),a.reshape(n,t));return g.runKernelFunc(i,r,null,Ai,o)}const y=m({reshape_:zw});function Yw(e,t){const n=u(e,"x","transpose");if(t==null&&(t=n.shape.map((i,a)=>a).reverse()),f(n.rank===t.length,()=>`Error in transpose: rank of input ${n.rank} must match length of perm ${t}.`),t.forEach(i=>{f(i>=0&&i`All entries in 'perm' must be between 0 and ${n.rank-1} but got ${t}`)}),n.rank<=1)return n.clone();const r={x:n},o={perm:t};return g.runKernelFunc(i=>i.transpose(n,t),r,null,Xi,o)}const K=m({transpose_:Yw});function Vw(e,t=null,n=!1){let r=u(e,"x","all","bool");const o=s=>{const c=z(t,r.shape);let p=c;const l=ge(p,r.rank);l!=null&&(r=K(r,l),p=De(p.length,r.rank));const h=s.all(r,p);if(n){const d=we(h.shape,c);return y(h,d)}return h},i={x:r},a={axis:t,keepDims:n};return g.runKernelFunc(o,i,null,Ec,a)}const Kp=m({all_:Vw});function Kw(e,t=null,n=!1){let r=u(e,"x","any","bool");const o=s=>{const c=z(t,r.shape);let p=c;const l=ge(p,r.rank);l!=null&&(r=K(r,l),p=De(p.length,r.rank));const h=s.any(r,p);if(n){const d=we(h.shape,c);return y(h,d)}return h},i={x:r},a={axis:t,keepDims:n};return g.runKernelFunc(o,i,null,Oc,a)}const Jp=m({any_:Kw});function Jw(e,t=0){let n=u(e,"x","argMax");const r=(a,s)=>{s([n]);let c=z(t,n.shape);const p=ge(c,n.rank);return p!=null&&(n=K(n,p),c=De(c.length,n.rank)),a.argMax(n,c[0])},o={x:n},i={axis:t};return g.runKernelFunc(r,o,null,So,i)}const Xp=m({argMax_:Jw});function Xw(e,t=0){let n=u(e,"x","argMin");const r=(a,s)=>{s([n]),t==null&&(t=0);let c=z(t,n.shape);const p=ge(c,n.rank);return p!=null&&(n=K(n,p),c=De(c.length,n.rank)),a.argMin(n,c[0])},o={x:n},i={axis:t};return g.runKernelFunc(r,o,null,Io,i)}const Zp=m({argMin_:Xw});function Zw(e){const t=u(e,"x","asin"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.asin(t);return o([t]),i},n,null,To)}const Qp=m({asin_:Zw});function Qw(e){const t=u(e,"x","asinh"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.asinh(t);return o([t]),i},n,null,Ao)}const el=m({asinh_:Qw});function ex(e){const t=u(e,"x","atan"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.atan(t);return o([t]),i},n,null,No)}const tl=m({atan_:ex});function tx(e,t){let n=u(e,"a","atan2"),r=u(t,"b","atan2");[n,r]=V(n,r);const o=(a,s)=>{const c=a.atan2(n,r);return s([n,r]),c},i={a:n,b:r};return g.runKernelFunc(o,i,null,_o)}const nl=m({atan2_:tx});function nx(e){const t=u(e,"x","atanh"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.atanh(t);return o([t]),i},n,null,Ro)}const rl=m({atanh_:nx});function rx(e,t){const n=u(e,"x","cast");if(!Ep(t))throw new Error(`Failed to cast to unknown dtype ${t}`);if(t==="string"&&n.dtype!=="string"||t!=="string"&&n.dtype==="string")throw new Error("Only strings can be casted to strings");const r={x:n},o={dtype:t};return g.runKernelFunc(i=>i.cast(n,t),r,null,Dn,o)}const C=m({cast_:rx});function ox(e,t,n,r,o="NHWC",i){const a=e[3],s=[...t,a],c=yn(o);return je(e,s,n,i,r,null,null,c)}function _t(e,t,n,r,o,i,a="channelsLast"){const[s,c]=Ca(t);let p;if(a==="channelsLast")p=[s,c,e[3],e[3]];else if(a==="channelsFirst")p=[s,c,e[1],e[1]];else throw new Error(`Unknown dataFormat ${a}`);return je(e,p,n,r,o,i,!1,a)}function Qt(e,t,n,r,o,i,a="NDHWC"){const[s,c,p]=ol(t);let l,h;if(a==="NDHWC")h="channelsLast",l=[s,c,p,e[4],e[4]];else if(a==="NCDHW")h="channelsFirst",l=[s,c,p,e[1],e[1]];else throw new Error(`Unknown dataFormat ${a}`);return Ln(e,l,n,r,o,!1,h,i)}function je(e,t,n,r,o,i,a=!1,s="channelsLast"){let[c,p,l,h]=[-1,-1,-1,-1];if(s==="channelsLast")[c,p,l,h]=e;else if(s==="channelsFirst")[c,h,p,l]=e;else throw new Error(`Unknown dataFormat ${s}`);const[d,b,,x]=t,[w,L]=Ca(n),[S,I]=Ca(r),N=Ur(d,S),A=Ur(b,I),{padInfo:E,outHeight:M,outWidth:D}=ix(o,p,l,w,L,N,A,i,s),$=a?x*h:x;let B;return s==="channelsFirst"?B=[c,$,M,D]:s==="channelsLast"&&(B=[c,M,D,$]),{batchSize:c,dataFormat:s,inHeight:p,inWidth:l,inChannels:h,outHeight:M,outWidth:D,outChannels:$,padInfo:E,strideHeight:w,strideWidth:L,filterHeight:d,filterWidth:b,effectiveFilterHeight:N,effectiveFilterWidth:A,dilationHeight:S,dilationWidth:I,inShape:e,outShape:B,filterShape:t}}function Ln(e,t,n,r,o,i=!1,a="channelsLast",s){let[c,p,l,h,d]=[-1,-1,-1,-1,-1];if(a==="channelsLast")[c,p,l,h,d]=e;else if(a==="channelsFirst")[c,d,p,l,h]=e;else throw new Error(`Unknown dataFormat ${a}`);const[b,x,w,,L]=t,[S,I,N]=ol(n),[A,E,M]=ol(r),D=Ur(b,A),$=Ur(x,E),B=Ur(w,M),{padInfo:j,outDepth:te,outHeight:re,outWidth:he}=sx(o,p,l,h,S,I,N,D,$,B,s),ye=i?L*d:L;let Me;return a==="channelsFirst"?Me=[c,ye,te,re,he]:a==="channelsLast"&&(Me=[c,te,re,he,ye]),{batchSize:c,dataFormat:a,inDepth:p,inHeight:l,inWidth:h,inChannels:d,outDepth:te,outHeight:re,outWidth:he,outChannels:ye,padInfo:j,strideDepth:S,strideHeight:I,strideWidth:N,filterDepth:b,filterHeight:x,filterWidth:w,effectiveFilterDepth:D,effectiveFilterHeight:$,effectiveFilterWidth:B,dilationDepth:A,dilationHeight:E,dilationWidth:M,inShape:e,outShape:Me,filterShape:t}}function ax(e,t,n,r,o){r==null&&(r=il(e,t,n));const i=e[0],a=e[1],s=Wn((i-t+2*r)/n+1,o);f(X(s),()=>`The output # of rows (${s}) must be an integer. Change the stride and/or zero pad parameters`);const c=Wn((a-t+2*r)/n+1,o);return f(X(c),()=>`The output # of columns (${c}) must be an integer. Change the stride and/or zero pad parameters`),[s,c]}function cx(e,t,n,r,o,i){o==null&&(o=il(e,t,r));const a=e[0],s=e[1],c=e[2],p=Wn((a-t+2*o)/r+1,i);f(X(p),()=>`The output # of depths (${p}) must be an integer. Change the stride and/or zero pad parameters`);const l=Wn((s-t+2*o)/r+1,i);f(X(l),()=>`The output # of rows (${l}) must be an integer. Change the stride and/or zero pad parameters`);const h=Wn((c-t+2*o)/r+1,i);return f(X(h),()=>`The output # of columns (${h}) must be an integer. Change the stride and/or zero pad parameters`),[p,l,h,n]}function il(e,t,n,r=1){const o=Ur(t,r);return Math.floor((e[0]*(n-1)-n+o)/2)}function Ca(e){return typeof e=="number"?[e,e,e]:e.length===2?[e[0],e[1],1]:e}function ol(e){return typeof e=="number"?[e,e,e]:e}function Ur(e,t){return t<=1?e:e+(e-1)*(t-1)}function ix(e,t,n,r,o,i,a,s,c){let p,l,h;if(typeof e=="number"){const d=e===0?"VALID":"NUMBER";p={top:e,bottom:e,left:e,right:e,type:d};const b=ax([t,n],i,r,e,s);l=b[0],h=b[1]}else if(e==="same"){l=Math.ceil(t/r),h=Math.ceil(n/o);const d=Math.max(0,(l-1)*r+i-t),b=Math.max(0,(h-1)*o+a-n),x=Math.floor(d/2),w=d-x,L=Math.floor(b/2),S=b-L;p={top:x,bottom:w,left:L,right:S,type:"SAME"}}else if(e==="valid")p={top:0,bottom:0,left:0,right:0,type:"VALID"},l=Math.ceil((t-i+1)/r),h=Math.ceil((n-a+1)/o);else if(typeof e=="object"){const d=c==="channelsLast"?e[1][0]:e[2][0],b=c==="channelsLast"?e[1][1]:e[2][1],x=c==="channelsLast"?e[2][0]:e[3][0],w=c==="channelsLast"?e[2][1]:e[3][1],L=d===0&&b===0&&x===0&&w===0?"VALID":"EXPLICIT";p={top:d,bottom:b,left:x,right:w,type:L},l=Wn((t-i+d+b)/r+1,s),h=Wn((n-a+x+w)/o+1,s)}else throw Error(`Unknown padding parameter: ${e}`);return{padInfo:p,outHeight:l,outWidth:h}}function sx(e,t,n,r,o,i,a,s,c,p,l){let h,d,b,x;if(typeof e=="number"){const w=e===0?"VALID":"NUMBER";h={top:e,bottom:e,left:e,right:e,front:e,back:e,type:w};const L=cx([t,n,r,1],s,1,o,e,l);d=L[0],b=L[1],x=L[2]}else if(e==="same"){d=Math.ceil(t/o),b=Math.ceil(n/i),x=Math.ceil(r/a);const w=(d-1)*o+s-t,L=(b-1)*i+c-n,S=(x-1)*a+p-r,I=Math.floor(w/2),N=w-I,A=Math.floor(L/2),E=L-A,M=Math.floor(S/2),D=S-M;h={top:A,bottom:E,left:M,right:D,front:I,back:N,type:"SAME"}}else if(e==="valid")h={top:0,bottom:0,left:0,right:0,front:0,back:0,type:"VALID"},d=Math.ceil((t-s+1)/o),b=Math.ceil((n-c+1)/i),x=Math.ceil((r-p+1)/a);else throw Error(`Unknown padding parameter: ${e}`);return{padInfo:h,outDepth:d,outHeight:b,outWidth:x}}function Wn(e,t){if(!t)return e;switch(t){case"round":return Math.round(e);case"ceil":return Math.ceil(e);case"floor":return Math.floor(e);default:throw new Error(`Unknown roundingMode ${t}`)}}function ct(e){const[t,n,r]=Ca(e);return t===1&&n===1&&r===1}function le(e,t){return ct(e)||ct(t)}function yn(e){if(e==="NHWC")return"channelsLast";if(e==="NCHW")return"channelsFirst";throw new Error(`Unknown dataFormat ${e}`)}function px(e,t,n,r,o){const i=u(e,"x","avgPool","float32"),a=1;f(le(n,a),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${n} and dilations '${a}'`);let s=i,c=!1;i.rank===3&&(c=!0,s=y(i,[1,i.shape[0],i.shape[1],i.shape[2]])),f(s.rank===4,()=>`Error in avgPool: x must be rank 4 but got rank ${s.rank}.`),o!=null&&f(X(r),()=>`Error in avgPool: pad must be an integer when using, dimRoundingMode ${o} but got pad ${r}.`);const p=(b,x)=>{const w=_t(s.shape,t,n,1,r,o);return x([s]),w.filterWidth===1&&w.filterHeight===1&&Te(w.inShape,w.outShape)?s.clone():b.avgPool(s,w)},l={x:s},h={filterSize:t,strides:n,pad:r,dimRoundingMode:o};let d=g.runKernelFunc(p,l,null,Co,h);return d=C(d,i.dtype),c?y(d,[d.shape[1],d.shape[2],d.shape[3]]):d}const pt=m({avgPool_:px});function lx(){pe().set("PROD",!0)}function hx(){pe().set("DEBUG",!0)}function ux(){pe().set("DEPRECATION_WARNINGS_ENABLED",!1),console.warn("TensorFlow.js deprecation warnings have been disabled.")}function Le(e){pe().getBool("DEPRECATION_WARNINGS_ENABLED")&&console.warn(e+" You can disable deprecation warnings with tf.disableDeprecationWarnings().")}Ed(Le);function dx(){g.disposeVariables()}function mx(){return g}function fx(){return g.memory()}function gx(e){return g.profile(e)}function k(e,t){return g.tidy(e,t)}function ve(e){const t=ls(e);t.forEach(n=>n.dispose())}function sl(e){return g.keep(e)}function bx(e){return g.time(e)}function wx(e){return g.setBackend(e)}function xx(){return g.ready()}function yx(){return g.backendName}function Lx(e){g.removeBackend(e)}function vx(e){return g.findBackend(e)}function Sx(e){return g.findBackendFactory(e)}function Ix(e,t,n=1){return g.registerBackend(e,t,n)}function Tx(){return g.backend}function Ax(e,t){pe().setPlatform(e,t)}function Nx(e,t,n,r,o,i="NDHWC",a){a==null?a=[1,1,1]:Le("dilations is deprecated, this field will be gone in v3.0.0.");const s=u(e,"x","avgPool3d","float32");let c=s,p=!1;s.rank===4&&(p=!0,c=y(s,[1,s.shape[0],s.shape[1],s.shape[2],s.shape[3]])),f(c.rank===5,()=>`Error in avgPool3d: x must be rank 5 but got rank ${c.rank}.`),f(i==="NDHWC",()=>`Error in avgPool3d: Only NDHWC is currently supported, but got dataFormat of ${i}`),f(le(n,a),()=>`Error in avgPool3d: Either strides or dilations must be 1. Got strides ${n} and dilations '${a}'`),o!=null&&f(X(r),()=>`Error in avgPool3d: pad must be an integer when using, dimRoundingMode ${o} but got pad ${r}.`);const l=(x,w)=>{a==null&&(a=[1,1,1]);const L=Qt(c.shape,t,n,a,r,o,i);return w([c]),x.avgPool3d(c,L)},h={x:c},d={filterSize:t,strides:n,pad:r,dimRoundingMode:o,dataFormat:i,dilations:a};let b=g.runKernelFunc(l,h,null,Eo,d);return b=C(b,c.dtype),p?y(b,[b.shape[1],b.shape[2],b.shape[3],b.shape[4]]):b}const al=m({avgPool3d_:Nx});function cl(e,t){const n=e[0].length;e.forEach((o,i)=>{f(o.length===n,()=>`Error in concat${n}D: rank of tensors[${i}] must be the same as the rank of the rest (${n})`)}),f(t>=0&&t`Error in concat${n}D: axis must be between 0 and ${n-1}.`);const r=e[0];e.forEach((o,i)=>{for(let a=0;a`Error in concat${n}D: Shape of tensors[${i}] (${o}) does not match the shape of the rest (${r}) along the non-concatenated axis ${i}.`)})}function pl(e,t){const n=e[0].slice();for(let r=1;r`Based on the provided shape, [${t}], the tensor should have ${o} values but has ${i}`);for(let a=0;a`Error creating a new Tensor. Inferred shape (${n}) does not match the provided shape (${t}). `)}}return!_e(e)&&!Array.isArray(e)&&(e=[e]),t=t||n,e=r!=="string"?os(e,r):$t(e,[],!0),g.makeTensor(e,t,r)}function ze(e,t,n){const r=We(e,n);return He(e,t,r,n)}function Rx(e,t=0){f(e.length>=1,()=>"Pass at least one tensor to concat");let n=Zt(e,"tensors","concat");n[0].dtype==="complex64"&&n.forEach(p=>{if(p.dtype!=="complex64")throw new Error(`Cannot concatenate complex64 tensors with a tensor + with dtype ${p.dtype}. `)});const r=z(t,n[0].shape)[0],o=pl(n.map(p=>p.shape),r);if(Q(o)===0)return ze([],o);if(n=n.filter(p=>p.size>0),n.length===1)return n[0];const i=n.map(p=>p.shape);cl(i,r);const a=(p,l)=>{const h=p.concat(n,r);return l(n),h},s=n,c={axis:t};return g.runKernelFunc(a,s,null,Uo,c)}const Z=m({concat_:Rx});function _x(e,t,n=!1,r=!1){let o=u(e,"a","matMul"),i=u(t,"b","matMul");[o,i]=V(o,i),f(o.rank>=2&&i.rank>=2&&o.rank===i.rank,()=>`Error in matMul: inputs must have the same rank of at least 2, got ranks ${o.rank} and ${i.rank}.`);const a=n?o.shape[o.rank-2]:o.shape[o.rank-1],s=r?i.shape[i.rank-1]:i.shape[i.rank-2],c=n?o.shape[o.rank-1]:o.shape[o.rank-2],p=r?i.shape[i.rank-2]:i.shape[i.rank-1],l=o.shape.slice(0,-2),h=i.shape.slice(0,-2),d=Q(l),b=Q(h);f(Te(l,h),()=>`Error in matMul: outer dimensions (${l}) and (${h}) of Tensors with shapes ${o.shape} and ${i.shape} must match.`),f(a===s,()=>`Error in matMul: inner shapes (${a}) and (${s}) of Tensors with shapes ${o.shape} and ${i.shape} and transposeA=${n} and transposeB=${r} must match.`);const x=o.shape.slice(0,-2).concat([c,p]),w=n?y(o,[d,a,c]):y(o,[d,c,a]),L=r?y(i,[b,p,s]):y(i,[b,s,p]),S=(E,M)=>(M([w,L]),E.batchMatMul(w,L,n,r)),I={a:w,b:L},N={transposeA:n,transposeB:r},A=g.runKernelFunc(S,I,null,Oo,N);return y(A,x)}const Y=m({matMul_:_x});function Cx(e,t){let n=u(e,"a","mul"),r=u(t,"b","mul");[n,r]=V(n,r);const o=(a,s)=>{const c=a.multiply(n,r);return s([n,r]),c},i={a:n,b:r};return g.runKernelFunc(o,i,null,bi)}const v=m({mul_:Cx});function Ex(e){const t=u(e,"x","sigmoid"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.sigmoid(t);return o([i]),i},n,null,Bi)}const lt=m({sigmoid_:Ex});const Bd={};Re(Bd,{assertParamsValid:()=>ll,computeFlatOffset:()=>kx,computeOutShape:()=>hl,isSliceContinous:()=>Ox,maskToAxes:()=>us,parseSliceParams:()=>ds,startForAxis:()=>gl,startIndicesWithElidedDims:()=>dl,stopForAxis:()=>bl,stopIndicesWithElidedDims:()=>ml,stridesForAxis:()=>fl,stridesWithElidedDims:()=>ul});function ll(e,t,n){f(e.rank===t.length,()=>`Error in slice${e.rank}D: Length of begin ${t} must match the rank of the array (${e.rank}).`),f(e.rank===n.length,()=>`Error in slice${e.rank}D: Length of size ${n} must match the rank of the array (${e.rank}).`);for(let r=0;r`Error in slice${e.rank}D: begin[${r}] + size[${r}] (${t[r]+n[r]}) would overflow input.shape[${r}] (${e.shape[r]})`)}function us(e){const t=[];let n=0;for(;e>0;)e&1&&t.push(n),e/=2,n++;return t}function hl(e,t,n){const r=[];for(let o=0;o-1)i[s]=0;else{const c=$d(t,n,s);let p=r[c];e&1<-1)i[s]=Number.MAX_SAFE_INTEGER;else{const c=$d(t,n,s);let p=r[c];e&1<0?a=Number.MIN_SAFE_INTEGER:a=Number.MAX_SAFE_INTEGER);const c=r[o];return a<0&&(a+=c),a=Cr(0,a,c-1),a}function bl(e,t,n,r,o,i){let a=t[o];const s=n[o]||1;(e&1<0?a=Number.MAX_SAFE_INTEGER:a=Number.MIN_SAFE_INTEGER);const c=r[o];return a<0&&(a+=c),s>0?a=Cr(0,a,c):a=Cr(-1,a,c-1),a}function Ox(e,t,n){let r=n.length;for(let o=0;o1){r=o;break}for(let o=r+1;o0||n[o]!==e[o])return!1;return!0}function kx(e,t){let n=e.length>0?e[e.length-1]:1;for(let r=0;r{f(i!==-1,()=>"slice() does not support negative begin indexing.")});let o;return n==null?o=new Array(e.rank).fill(-1):typeof n=="number"?o=[n,...new Array(e.rank-1).fill(-1)]:n.lengthi>=0?i:(f(i===-1,()=>`Negative size values should be exactly -1 but got ${i} for the slice() size at index ${a}.`),e.shape[a]-r[a])),[r,o]}function Dx(e,t,n){const r=u(e,"x","slice");if(r.rank===0)throw new Error("Slicing scalar is not possible");const[o,i]=ds(r,t,n);ll(r,o,i);const a=(p,l)=>(l([r]),p.slice(r,o,i)),s={x:r},c={begin:t,size:n};return g.runKernelFunc(a,s,null,Fi,c)}const G=m({slice_:Dx});function Fx(e){const t=u(e,"x","tanh"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.tanh(t);return o([i]),i},n,null,Ki)}const Wr=m({tanh_:Fx});function Mx(e,t,n,r,o,i){const a=u(e,"forgetBias","basicLSTMCell"),s=u(t,"lstmKernel","basicLSTMCell"),c=u(n,"lstmBias","basicLSTMCell"),p=u(r,"data","basicLSTMCell"),l=u(o,"c","basicLSTMCell"),h=u(i,"h","basicLSTMCell"),d=Z([p,h],1),b=Y(d,s),x=R(b,c),w=x.shape[0],L=x.shape[1]/4,S=[w,L],I=G(x,[0,0],S),N=G(x,[0,L],S),A=G(x,[0,L*2],S),E=G(x,[0,L*3],S),M=R(v(lt(I),Wr(N)),v(l,lt(R(a,A)))),D=v(Wr(M),lt(E));return[M,D]}const wl=m({basicLSTMCell_:Mx});function Ux(e,t,n){const r=u(e,"x","batchToSpaceND"),o=t.reduce((c,p)=>c*p);f(r.rank>=1+t.length,()=>`input rank is ${r.rank} but should be > than blockShape.length ${t.length}`),f(n.length===t.length,()=>`crops.length is ${n.length} but should be equal to blockShape.length ${t.length}`),f(r.shape[0]%o===0,()=>`input tensor batch is ${r.shape[0]} but is not divisible by the product of the elements of blockShape ${t.join(" * ")} === ${o}`);const i=c=>c.batchToSpaceND(r,t,n),a={x:r},s={blockShape:t,crops:n};return g.runKernelFunc(i,a,null,ko,s)}const Bn=m({batchToSpaceND_:Ux});function Gd(e){let t;return e.rank===0||e.rank===1?t=y(e,[1,1,1,e.size]):e.rank===2?t=y(e,[1,1,e.shape[0],e.shape[1]]):e.rank===3?t=y(e,[1,e.shape[0],e.shape[1],e.shape[2]]):t=e,t}function Wx(e,t,n,r,o,i){i==null&&(i=.001);const a=u(e,"x","batchNorm"),s=u(t,"mean","batchNorm"),c=u(n,"variance","batchNorm");let p;o!=null&&(p=u(o,"scale","batchNorm"));let l;r!=null&&(l=u(r,"offset","batchNorm")),f(s.rank===c.rank,()=>"Batch normalization gradient requires mean and variance to have equal ranks."),f(l==null||s.rank===l.rank,()=>"Batch normalization gradient requires mean and offset to have equal ranks."),f(p==null||s.rank===p.rank,()=>"Batch normalization gradient requires mean and scale to have equal ranks.");const h=Gd(a),d=(L,S)=>(S([h,s,c,p]),L.batchNorm(h,Ea(s),Ea(c),Ea(l),Ea(p),i)),b={x:h,scale:p,offset:l,mean:s,variance:c},x={varianceEpsilon:i},w=g.runKernelFunc(d,b,null,Qo,x);return y(w,a.shape)}function Ea(e){return e==null?null:e.rank===0?y(e,[e.size]):e.rank===1?e:e.rank===2?y(e,[1,1,e.shape[0],e.shape[1]]):e.rank===3?y(e,[1,e.shape[0],e.shape[1],e.shape[2]]):e}const Ct=m({batchNorm_:Wx});function Bx(e,t,n,r,o,i){const a=u(e,"x","batchNorm"),s=u(t,"mean","batchNorm"),c=u(n,"variance","batchNorm");let p;o!=null&&(p=u(o,"scale","batchNorm"));let l;return r!=null&&(l=u(r,"offset","batchNorm")),f(a.rank===2,()=>`Error in batchNorm2D: x must be rank 2 but got rank ${a.rank}.`),f(s.rank===2||s.rank===1,()=>`Error in batchNorm2D: mean must be rank 2 or rank 1 but got rank ${s.rank}.`),f(c.rank===2||c.rank===1,()=>`Error in batchNorm2D: variance must be rank 2 or rank 1 but got rank ${c.rank}.`),p!=null&&f(p.rank===2||p.rank===1,()=>`Error in batchNorm2D: scale must be rank 2 or rank 1 but got rank ${p.rank}.`),l!=null&&f(l.rank===2||l.rank===1,()=>`Error in batchNorm2D: offset must be rank 2 or rank 1 but got rank ${l.rank}.`),Ct(a,s,c,l,p,i)}const xl=m({batchNorm2d_:Bx});function $x(e,t,n,r,o,i){const a=u(e,"x","batchNorm"),s=u(t,"mean","batchNorm"),c=u(n,"variance","batchNorm");let p;o!=null&&(p=u(o,"scale","batchNorm"));let l;return r!=null&&(l=u(r,"offset","batchNorm")),f(a.rank===3,()=>`Error in batchNorm3D: x must be rank 3 but got rank ${a.rank}.`),f(s.rank===3||s.rank===1,()=>`Error in batchNorm3D: mean must be rank 3 or rank 1 but got rank ${s.rank}.`),f(c.rank===3||c.rank===1,()=>`Error in batchNorm3D: variance must be rank 3 or rank 1 but got rank ${c.rank}.`),p!=null&&f(p.rank===3||p.rank===1,()=>`Error in batchNorm3D: scale must be rank 3 or rank 1 but got rank ${p.rank}.`),l!=null&&f(l.rank===3||l.rank===1,()=>`Error in batchNorm3D: offset must be rank 3 or rank 1 but got rank ${l.rank}.`),Ct(a,s,c,l,p,i)}const yl=m({batchNorm3d_:$x});function jx(e,t,n,r,o,i){const a=u(e,"x","batchNorm"),s=u(t,"mean","batchNorm"),c=u(n,"variance","batchNorm");let p;o!=null&&(p=u(o,"scale","batchNorm"));let l;return r!=null&&(l=u(r,"offset","batchNorm")),f(a.rank===4,()=>`Error in batchNorm4D: x must be rank 4 but got rank ${a.rank}.`),f(s.rank===4||s.rank===1,()=>`Error in batchNorm4D: mean must be rank 4 or rank 1 but got rank ${s.rank}.`),f(c.rank===4||c.rank===1,()=>`Error in batchNorm4D: variance must be rank 4 or rank 1 but got rank ${c.rank}.`),p!=null&&f(p.rank===4||p.rank===1,()=>`Error in batchNorm4D: scale must be rank 4 or rank 1 but got rank ${p.rank}.`),l!=null&&f(l.rank===4||l.rank===1,()=>`Error in batchNorm4D: offset must be rank 4 or rank 1 but got rank ${l.rank}.`),Ct(a,s,c,l,p,i)}const Ll=m({batchNorm4d_:jx});function Gx(e){const t=u(e,"x","clone",null),n=()=>g.makeTensorFromDataId(t.dataId,t.shape,t.dtype),r={x:t};return g.runKernelFunc(n,r,null,ni)}const Et=m({clone_:Gx});function Px(e,t){let n=u(e,"broadcastTo","x");const r=n.shape;if(t.some(l=>!(l>0)||l%1!==0))throw new Error(`broadcastTo(): Invalid broadcast shape [${t}].`);if(t.lengthn.rank){const l=n.shape.slice();for(;l.length=0;l--)if(o[l]===t[l])i[l]=1;else if(n.shape[l]!==1)throw new Error(`broadcastTo(): [${r}] cannot be broadcast to [${t}].`);const a=i.map((l,h)=>l>1?h:-1).filter(l=>l>=0);if(a.length===0)return Et(n);const s=l=>l.tile(n,i),c={x:n},p={shape:t,inputShape:o};return g.runKernelFunc(s,c,null,Do,p)}const Br=m({broadcastTo_:Px});function Be(e,t="float32",n){return t=t||"float32",ss(e),new Dr(e,t,n)}function qx(e){const t=u(e,"x","ceil"),n={x:t};return g.runKernelFunc(r=>r.ceil(t),n,null,Fo)}const vl=m({ceil_:qx});function Hx(e,t,n){const r=u(e,"x","clipByValue");f(t<=n,()=>`Error in clip: min (${t}) must be less than or equal to max (${n}).`);const o={x:r},i={clipValueMin:t,clipValueMax:n};return g.runKernelFunc((a,s)=>{const c=a.clip(r,t,n);return s([r]),c},o,null,Mo,i)}const $n=m({clipByValue_:Hx});function zx(e,t){const n=u(e,"real","complex"),r=u(t,"imag","complex");P(n.shape,r.shape,`real and imag shapes, ${n.shape} and ${r.shape}, must match in call to tf.complex().`);const o=a=>a.complex(n,r),i={real:n,imag:r};return g.runKernelFunc(o,i,null,Fc)}const Ye=m({complex_:zx});function Yx(e){return Z(e,0)}const Sl=m({concat1d_:Yx});function Vx(e,t){return Z(e,t)}const Il=m({concat2d_:Vx});function Kx(e,t){return Z(e,t)}const Tl=m({concat3d_:Kx});function Jx(e,t){return Z(e,t)}const Al=m({concat4d_:Jx});function Xx(e,t,n,r,o="NHWC",i=[1,1],a){const s=u(e,"x","conv2d"),c=u(t,"filter","conv2d");let p=s,l=!1;s.rank===3&&(l=!0,p=y(s,[1,s.shape[0],s.shape[1],s.shape[2]])),f(p.rank===4,()=>`Error in conv2d: input must be rank 4, but got rank ${p.rank}.`),f(c.rank===4,()=>`Error in conv2d: filter must be rank 4, but got rank ${c.rank}.`),a!=null&&f(X(r),()=>`Error in conv2d: pad must be an integer when using, dimRoundingMode ${a} but got pad ${r}.`);const h=o==="NHWC"?p.shape[3]:p.shape[1];f(h===c.shape[2],()=>`Error in conv2d: depth of input (${h}) must match input depth for filter ${c.shape[2]}.`),f(le(n,i),()=>`Error in conv2D: Either strides or dilations must be 1. Got strides ${n} and dilations '${i}'`);const d=(L,S)=>{const I=yn(o),N=je(p.shape,c.shape,n,i,r,a,!1,I),A=L.conv2d(p,c,N);return S([p,c]),A},b={x:p,filter:c},x={strides:n,pad:r,dataFormat:o,dilations:i,dimRoundingMode:a},w=g.runKernelFunc(d,b,null,Wo,x);return l?y(w,[w.shape[1],w.shape[2],w.shape[3]]):w}const xe=m({conv2d_:Xx});function Zx(e,t,n,r,o="NWC",i=1,a){const s=u(e,"x","conv1d"),c=u(t,"filter","conv1d");let p=s,l=!1;s.rank===2&&(l=!0,p=y(s,[1,s.shape[0],s.shape[1]])),f(p.rank===3,()=>`Error in conv1d: input must be rank 3, but got rank ${p.rank}.`),f(c.rank===3,()=>`Error in conv1d: filter must be rank 3, but got rank ${c.rank}.`),a!=null&&f(X(r),()=>`Error in conv1d: pad must be an integer when using, dimRoundingMode ${a} but got pad ${r}.`),f(p.shape[2]===c.shape[1],()=>`Error in conv1d: depth of input (${p.shape[2]}) must match input depth for filter ${c.shape[1]}.`),f(le(n,i),()=>`Error in conv1D: Either stride or dilation must be 1. Got stride ${n} and dilation '${i}'`),f(o==="NWC",()=>`Error in conv1d: got dataFormat of ${o} but only NWC is currently supported.`);const h=y(c,[1,c.shape[0],c.shape[1],c.shape[2]]),d=y(p,[p.shape[0],1,p.shape[1],p.shape[2]]),b=[1,n],x=[1,i],w="NHWC",L=xe(d,h,b,r,w,x,a);return l?y(L,[L.shape[2],L.shape[3]]):y(L,[L.shape[0],L.shape[2],L.shape[3]])}const Nl=m({conv1d_:Zx});function Qx(e,t,n,r,o,i="NHWC",a){f(e.length===t.rank,()=>`Length of inShape (${e.length}) and rank of dy (${t.rank}) must match`);let s=e,c=t,p=!1;t.rank===3&&(p=!0,c=y(t,[1,t.shape[0],t.shape[1],t.shape[2]]),s=[1,e[0],e[1],e[2]]),f(s.length===4,()=>`Error in conv2dDerInput: inShape must be length 4, but got length ${s.length}.`),f(c.rank===4,()=>`Error in conv2dDerInput: dy must be rank 4, but got rank ${c.rank}`),f(n.rank===4,()=>`Error in conv2dDerInput: filter must be rank 4, but got rank ${n.rank}`);const l=i==="NHWC"?s[3]:s[1],h=i==="NHWC"?c.shape[3]:c.shape[1];f(l===n.shape[2],()=>`Error in conv2dDerInput: depth of input (${l}) must match input depth for filter ${n.shape[2]}.`),f(h===n.shape[3],()=>`Error in conv2dDerInput: depth of output (${h}) must match output depth for filter ${n.shape[3]}.`),a!=null&&f(X(o),()=>`Error in conv2dDerInput: pad must be an integer when using, dimRoundingMode ${a} but got pad ${o}.`);const d=(L,S)=>{const I=1,N=yn(i),A=je(s,n.shape,r,I,o,a,!1,N),E=L.conv2dDerInput(c,n,A);return S([c,n]),E},b={dy:c,filter:n},x={strides:r,pad:o,dataFormat:i,dimRoundingMode:a,inputShape:s},w=g.runKernelFunc(d,b,null,Bo,x);return p?y(w,[w.shape[1],w.shape[2],w.shape[3]]):w}const $r=m({conv2DBackpropInput_:Qx});function ey(e,t,n,r,o,i){const a=u(e,"x","conv2dTranspose"),s=u(t,"filter","conv2dTranspose");return $r(n,a,s,r,o,"NHWC",i)}const Rl=m({conv2dTranspose_:ey});function ty(e,t,n,r,o="NDHWC",i=[1,1,1]){const a=u(e,"x","conv3d"),s=u(t,"filter","conv3d");let c=a,p=!1;a.rank===4&&(p=!0,c=y(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]])),f(c.rank===5,()=>`Error in conv3d: input must be rank 5, but got rank ${c.rank}.`),f(s.rank===5,()=>`Error in conv3d: filter must be rank 5, but got rank ${s.rank}.`),f(c.shape[4]===s.shape[3],()=>`Error in conv3d: depth of input (${c.shape[4]}) must match input depth for filter ${s.shape[3]}.`),f(le(n,i),()=>`Error in conv3D: Either strides or dilations must be 1. Got strides ${n} and dilations '${i}'`),f(o==="NDHWC",()=>`Error in conv3d: got dataFormat of ${o} but only NDHWC is currently supported.`);const l=(x,w)=>{const L=Ln(c.shape,s.shape,n,i,r),S=x.conv3d(c,s,L);return w([c,s]),S},h={x:c,filter:s},d={strides:n,pad:r,dataFormat:o,dilations:i},b=g.runKernelFunc(l,h,null,$o,d);return p?y(b,[b.shape[1],b.shape[2],b.shape[3],b.shape[4]]):b}const _l=m({conv3d_:ty});function ny(e,t,n,r,o){f(e.length===t.rank,()=>`Length of inShape (${e.length}) and rank of dy (${t.rank}) must match`);let i=e,a=t,s=!1;t.rank===4&&(s=!0,a=y(t,[1,t.shape[0],t.shape[1],t.shape[2],t.shape[3]]),i=[1,e[0],e[1],e[2],e[3]]);const c=i[4],p=a.shape[4];f(i.length===5,()=>`Error in conv3dDerInput: inShape must be length 5, but got length ${i.length}.`),f(a.rank===5,()=>`Error in conv3dDerInput: dy must be rank 5, but got rank ${a.rank}`),f(n.rank===5,()=>`Error in conv3dDerInput: filter must be rank 5, but got rank ${n.rank}`),f(c===n.shape[3],()=>`Error in conv3dDerInput: depth of input (${c}) must match input depth for filter ${n.shape[3]}.`),f(p===n.shape[4],()=>`Error in conv3dDerInput: depth of output (${p}) must match output depth for filter ${n.shape[4]}.`);const l=x=>{const w=1,L=Ln(i,n.shape,r,w,o);return x.conv3dDerInput(a,n,L)},h={dy:a},d={pad:o},b=g.runKernelFunc(l,h,null,Wc,d);return s?y(b,[b.shape[1],b.shape[2],b.shape[3],b.shape[4]]):b}const Oa=m({conv3DBackpropInput_:ny});function ry(e,t,n,r,o){const i=u(e,"x","conv3dTranspose"),a=u(t,"filter","conv3dTranspose");return Oa(n,i,a,r,o)}const Cl=m({conv3dTranspose_:ry});function oy(e){const t=u(e,"x","cos"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.cos(t);return o([t]),i},n,null,jo)}const jn=m({cos_:oy});function iy(e){const t=u(e,"x","cosh"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.cosh(t);return o([t]),i},n,null,Go)}const ms=m({cosh_:iy});function sy(e,t=0,n=!1,r=!1){const o=u(e,"x","cumsum"),i=(c,p)=>{const l=ge([t],o.rank);let h=o;l!=null&&(h=K(o,l));const d=De(1,o.rank)[0];let b=c.cumsum(h,d,n,r);if(p([o]),l!=null){const x=Un(l);b=K(b,x)}return b},a={x:o},s={axis:t,exclusive:n,reverse:r};return g.runKernelFunc(i,a,null,Po,s)}const fs=m({cumsum_:sy});function ay(e,t,n="NHWC"){const r=u(e,"x","depthToSpace"),o=n==="NHWC"?r.shape[1]:r.shape[2],i=n==="NHWC"?r.shape[2]:r.shape[3],a=n==="NHWC"?r.shape[3]:r.shape[1];f(o*t>=0,()=>`Negative dimension size caused by overflow when multiplying ${o} and ${t} for depthToSpace with input shape ${r.shape}`),f(i*t>=0,()=>`Negative dimension size caused by overflow when multiplying ${i} and ${t} for depthToSpace with input shape - ${r.shape}`),f(a%(t*t)===0,()=>`Dimension size must be evenly divisible by ${t*t} but is ${a} for depthToSpace with input shape ${r.shape}`);const s=l=>l.depthToSpace(r,t,n),c={x:r},p={blockSize:t,dataFormat:n};return g.runKernelFunc(s,c,null,$c,p)}const El=m({depthToSpace_:sy});function ay(e,t,n,r,o="NHWC",i=[1,1],a){const s=u(e,"x","depthwiseConv2d"),c=u(t,"filter","depthwiseConv2d");let p=s,l=!1;s.rank===3&&(l=!0,p=y(s,[1,s.shape[0],s.shape[1],s.shape[2]])),f(p.rank===4,()=>`Error in depthwiseConv2d: input must be rank 4, but got rank ${p.rank}.`),f(c.rank===4,()=>`Error in depthwiseConv2d: filter must be rank 4, but got rank ${c.rank}.`),f(p.shape[3]===c.shape[2],()=>`Error in depthwiseConv2d: number of input channels (${p.shape[3]}) must match the inChannels dimension in filter ${c.shape[2]}.`),a!=null&&f(X(r),()=>`Error in depthwiseConv2d: pad must be an integer when using, dimRoundingMode ${a} but got pad ${r}.`);const h=(w,L)=>{i==null&&(i=[1,1]),f(le(n,i),()=>`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${n} and dilations '${i}'`);const S=je(p.shape,c.shape,n,i,r,a,!0),I=w.depthwiseConv2D(p,c,S);return L([p,c]),I},d={x:p,filter:c},b={strides:n,pad:r,dataFormat:o,dilations:i,dimRoundingMode:a},x=g.runKernelFunc(h,d,null,qo,b);return l?y(x,[x.shape[1],x.shape[2],x.shape[3]]):x}const en=m({depthwiseConv2d_:ay});function cy(e){const t=u(e,"x","diag"),n=o=>{const i=y(t,[t.size]),a=o.diag(i),s=[...e.shape,...e.shape];return y(a,s)},r={x:t};return g.runKernelFunc(n,r,null,Pc)}const Ol=m({diag_:cy});function py(e,t,n,r,o=[1,1],i="NHWC"){const a=u(e,"x","dilation2d"),s=u(t,"filter","dilation2d");f(a.rank===3||a.rank===4,()=>`Error in dilation2d: input must be rank 3 or 4, but got rank ${a.rank}.`),f(s.rank===3,()=>`Error in dilation2d: filter must be rank 3, but got rank ${s.rank}.`),f(i==="NHWC",()=>`Error in dilation2d: Only NHWC is currently supported, but got dataFormat of ${i}`);let c=a,p=!1;a.rank===3&&(c=y(a,[1,a.shape[0],a.shape[1],a.shape[2]]),p=!0);const l={x:c,filter:s},h={strides:n,pad:r,dilations:o},d=g.runKernel(Ho,l,h);return p?y(d,[d.shape[1],d.shape[2],d.shape[3]]):d}const kl=m({dilation2d_:py});function ly(e,t){let n=u(e,"a","floorDiv"),r=u(t,"b","floorDiv");[n,r]=V(n,r);const o=(a,s)=>{const c=a.floorDiv(n,r);return s([n,r]),c},i={a:n,b:r};return g.runKernelFunc(o,i,null,Zo)}const gs=m({floorDiv_:ly});function hy(e,t){let n=u(e,"a","div"),r=u(t,"b","div");if([n,r]=V(n,r),n.dtype==="int32"&&r.dtype==="int32")return gs(n,r);const o=(s,c)=>{const p=s.realDivide(n,r);return c([n,r]),p},i={a:n,b:r},a={};return g.runKernelFunc(o,i,null,zo,a)}const F=m({div_:hy});function uy(e,t){const n=e.length,r=[];for(let o=0;o1&&a===1&&r.unshift(i)}return r}function ae(e,t){const n=[];for(let r=0;r1)&&n.unshift(i)}return n}function q(e,t){const n=[],r=Math.max(e.length,t.length);for(let o=0;oa.equal(n,r),i={a:n,b:r};return g.runKernelFunc(o,i,null,Yc)}const tn=m({equal_:dy});function my(e,t,n){const r=u(t,"a","where"),o=u(n,"b","where"),i=u(e,"condition","where","bool"),a=q(r.shape,o.shape),s=Br(r,a),c=Br(o,a);i.rank===1&&f(i.shape[0]===r.shape[0],()=>"The first dimension of `a` must match the size of `condition`."),i.rank!==1&&P(i.shape,c.shape,"Error in where: ");const p=(h,d)=>{const b=h.select(i,s,c);return d([i]),b},l={condition:i,t:s,e:c};return g.runKernelFunc(p,l,null,ki)}const Oe=m({where_:my});function fy(e){const t=u(e,"x","zerosLike"),n={x:t};return g.runKernelFunc(r=>r.zerosLike(t),n,null,es)}const W=m({zerosLike_:fy});function gy(e,t){let n=u(e,"a","div"),r=u(t,"b","div");[n,r]=V(n,r);const o=F(n,r),i=W(o),a=tn(r,i);return Oe(a,i,o)}const Dl=m({divNoNan_:gy});function by(e,t){const n=u(e,"t1","dot"),r=u(t,"t2","dot");f((n.rank===1||n.rank===2)&&(r.rank===1||r.rank===2),()=>`Error in dot: inputs must all be rank 1 or 2, but got ranks ${n.rank} and ${r.rank}.`);const o=n.rank===1?n.size:n.shape[1],i=r.rank===1?r.size:r.shape[0];if(f(o===i,()=>`Error in dot: inner dimensions of inputs must match, but got ${o} and ${i}.`),n.rank===1&&r.rank===1){const a=y(n,[1,-1]),s=y(r,[-1,1]),c=Y(a,s);return y(c,[])}else if(n.rank===1&&r.rank===2){const a=y(n,[1,-1]),s=y(r,[r.shape[0],r.shape[1]]),c=Y(a,s);return y(c,[c.size])}else if(n.rank===2&&r.rank===1){const a=y(r,[-1,1]),s=Y(n,a);return y(s,[s.size])}else{const a=y(r,[r.shape[0],r.shape[1]]),s=Y(n,a);return s}}const Fl=m({dot_:by});function wy(e){const t=u(e,"x","elu"),n=(o,i)=>{const a=o.elu(t);return i([a]),a},r={x:t};return g.runKernelFunc(n,r,null,Yo)}const bs=m({elu_:wy});function xy(e){let t=u(e,"x","erf");f(t.dtype==="int32"||t.dtype==="float32",()=>"Input dtype must be `int32` or `float32`."),t.dtype==="int32"&&(t=C(t,"float32"));const n={x:t};return g.runKernelFunc((r,o)=>{const i=r.erf(t);return o([t]),i},n,null,Vo)}const Ml=m({erf_:xy});function yy(e){const t=u(e,"x","exp"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.exp(t);return o([i]),i},n,null,Ko)}const Se=m({exp_:yy});function Ly(e,t=0){const n=null,r=u(e,"x","expandDims",n);f(t<=r.rank,()=>"Axis must be <= rank of the tensor");const o=r.shape.slice();return t<0&&(f(-(r.rank+1)<=t,()=>`Axis must be in the interval [${-(r.rank+1)}, ${r.rank}]`),t=r.rank+t+1),o.splice(t,0,1),y(r,o)}const et=m({expandDims_:Ly});function vy(e){const t=u(e,"x","expm1"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.expm1(t);return o([t]),i},n,null,Jo)}const Ul=m({expm1_:vy});function Sy(e,t){const n=null,r=u(e,"x","tile",n);f(r.rank===t.length,()=>`Error in transpose: rank of input ${r.rank} must match length of reps ${t}.`);const o=(c,p)=>{const l=c.tile(r,t);return p([r]),l},i=[r],a={x:r},s={reps:t};return g.runKernelFunc(o,a,null,Ji,s,i)}const Ot=m({tile_:Sy});function Iy(e,t,n,r="float32"){t==null&&(t=e);const o=Be([e,t],r),i=e<=t?e:t;for(let s=0;s`The dtype for tf.spectral.fft() must be complex64 but got ${e.dtype}.`);const t={input:e};return g.runKernelFunc(n=>{const r=e.shape[e.shape.length-1],o=e.size/r,i=e.as2D(o,r),a=n.fft(i);return a.reshape(e.shape)},t,null,Vc)}const Gn=m({fft_:Ty});function Ge(e,t,n){const r={shape:e,value:t,dtype:n};return g.runKernelFunc(o=>o.fill(e,t,n),{},null,Kc,r)}function Ay(e){const t=u(e,"x","floor"),n={x:t};return g.runKernelFunc(r=>r.floor(t),n,null,Xo)}const Pn=m({floor_:Ay});const ka=30;function Ny(e){return e<=ka?e:kr(e,Math.floor(Math.sqrt(e)))}const Gd={};Re(Gd,{collectGatherOpShapeInfo:()=>Wl,computeOutShape:()=>_y,segOpComputeOptimalWindowSize:()=>Ry});function Ry(e,t){let n=!1,r;for(e<=ka?(r=e,n=!0):r=kr(e,Math.floor(Math.sqrt(e)));!n;)r>t||r===e?n=!0:r=kr(e,r+1);return r}function _y(e,t,n){const r=[],o=e.length;for(let i=0;i{const l=z(n,r.shape)[0],h=Wl(r,o,l),d=c.gather(r,y(o,[o.size]),l);return p([r,o]),y(d,h.outputShape)};return g.runKernelFunc(s,i,null,ei,a)}const qn=m({gather_:Cy});function Ey(e,t){let n=u(e,"a","greater"),r=u(t,"b","greater");[n,r]=V(n,r),q(n.shape,r.shape);const o=a=>a.greater(n,r),i={a:n,b:r};return g.runKernelFunc(o,i,null,Zc)}const tt=m({greater_:Ey});function Oy(e,t){let n=u(e,"a","greaterEqual"),r=u(t,"b","greaterEqual");[n,r]=V(n,r),q(n.shape,r.shape);const o=(a,s)=>{const c=a.greaterEqual(n,r);return s([n,r]),c},i={a:n,b:r};return g.runKernelFunc(o,i,null,ti)}const ht=m({greaterEqual_:Oy});function ky(e){f(e.dtype==="complex64",()=>`The dtype for tf.spectral.ifft() must be complex64 but got ${e.dtype}.`);const t={input:e};return g.runKernelFunc(n=>{const r=e.shape[e.shape.length-1],o=e.size/r,i=y(e,[o,r]),a=n.ifft(i);return y(a,e.shape)},t,null,Qc)}const vn=m({ifft_:ky});function Dy(e){const t=u(e,"input","imag"),n=o=>o.imag(t),r={input:t};return g.runKernelFunc(n,r,null,ep)}const nn=m({imag_:Dy});function Fy(e){const t=u(e,"input","real"),n=o=>o.real(t),r={input:t};return g.runKernelFunc(n,r,null,bp)}const zt=m({real_:Fy});function My(e,t){const n=u(e,"x","reverse"),r=a=>{const s=z(t,n.shape);if(n.rank===0)return Et(n);const c=a.reverse(n,s);return y(c,n.shape)},o={x:n},i={dims:t};return g.runKernelFunc(r,o,null,Ci,i)}const Ve=m({reverse_:My});function _(e,t){if((_e(e)&&t!=="string"||Array.isArray(e))&&t!=="complex64")throw new Error("Error creating a new Scalar: value must be a primitive (number|boolean|string)");if(t==="string"&&_e(e)&&!(e instanceof Uint8Array))throw new Error("When making a scalar from encoded string, the value must be `Uint8Array`.");const n=[],r=[];return He(e,n,r,t)}function Uy(e){const t=e.shape[e.shape.length-1],n=e.size/t;let r;if(t<=2){const o=y(e,[n,t]);r=vn(o)}else{const o=[n,2*(t-1)],i=y(zt(e),[n,t]),a=y(nn(e),[n,t]),s=Ve(G(i,[0,1],[n,t-2]),1),c=v(Ve(G(a,[0,1],[n,t-2]),1),_(-1)),p=Z([i,s],1),l=Z([a,c],1),h=y(Ye(p,l),[o[0],o[1]]);r=vn(h)}if(r=zt(r),e.rank===3&&e.shape[0]!==0){const o=r,i=e.shape[0];r=y(r,[i,r.shape[0]/i,r.shape[1]]),o.dispose()}return r}const xs=m({irfft_:Uy});function Wy(e){const t=u(e,"x","isFinite"),n={x:t};return g.runKernelFunc(r=>r.isFinite(t),n,null,ri)}const Bl=m({isFinite_:Wy});function By(e){const t=u(e,"x","isInf"),n={x:t};return g.runKernelFunc(r=>r.isInf(t),n,null,oi)}const $l=m({isInf_:By});function $y(e){const t=u(e,"x","isNaN"),n={x:t};return g.runKernelFunc(r=>r.isNaN(t),n,null,ii)}const jl=m({isNaN_:$y});function jy(e,t){let n=u(e,"a","maximum"),r=u(t,"b","maximum");[n,r]=V(n,r),n.dtype==="bool"&&(n=C(n,"int32"),r=C(r,"int32")),q(n.shape,r.shape);const o=(a,s)=>{const c=a.maximum(n,r);return s([n,r]),c},i={a:n,b:r};return g.runKernelFunc(o,i,null,hi)}const kt=m({maximum_:jy});function Gy(e,t=.2){const n=u(e,"x","leakyRelu");return kt(v(_(t),n),n)}const Gl=m({leakyRelu_:Gy});function Py(e,t){let n=u(e,"a","less"),r=u(t,"b","less");[n,r]=V(n,r),q(n.shape,r.shape);const o=a=>a.less(n,r),i={a:n,b:r};return g.runKernelFunc(o,i,null,tp)}const Hn=m({less_:Py});function qy(e,t){let n=u(e,"a","lessEqual"),r=u(t,"b","lessEqual");[n,r]=V(n,r),q(n.shape,r.shape);const o=(a,s)=>{const c=a.lessEqual(n,r);return s([n,r]),c},i={a:n,b:r};return g.runKernelFunc(o,i,null,np)}const ut=m({lessEqual_:qy});function Pl(e,t,n){if(n<=0)throw new Error("The number of values should be positive.");const r={start:e,stop:t,num:n};return g.runKernelFunc(o=>o.linspace(e,t,n),{},null,rp,r)}function Hy(e,t=5,n=1,r=1,o=.5){const i=u(e,"x","localResponseNormalization");f(i.rank===4||i.rank===3,()=>`Error in localResponseNormalization: x must be rank 3 or 4 but got - rank ${i.rank}.`),f(X(t),()=>`Error in localResponseNormalization: depthRadius must be an integer but got depthRadius ${t}.`);let a=i,s=!1;i.rank===3&&(s=!0,a=y(i,[1,i.shape[0],i.shape[1],i.shape[2]]));const c=(d,b)=>{const x=d.localResponseNormalization4D(a,t,n,r,o);return b([a,x]),x},p={x:a},l={depthRadius:t,bias:n,alpha:r,beta:o},h=g.runKernelFunc(c,p,null,pi,l);return s?y(h,[h.shape[1],h.shape[2],h.shape[3]]):h}const ql=m({localResponseNormalization_:Hy});function zy(e){const t=u(e,"x","log"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.log(t);return o([t]),i},n,null,si)}const yt=m({log_:zy});function Yy(e){const t=u(e,"x","log1p"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.log1p(t);return o([t]),i},n,null,ai)}const ys=m({log1p_:Yy});function Vy(e){return f(jt(e),()=>"The f passed in grad(f) must be a function"),(t,n)=>{const r=u(t,"x","tf.grad",null),o=n!=null?u(n,"dy","tf.grad"):null;return g.tidy(()=>{const{value:i,grads:a}=g.gradients(()=>e(r),[r],o);return o!=null&&P(i.shape,o.shape,"The shape of dy passed in grad(f)(x, dy) must match the shape returned by f(x)"),Da(a),a[0]})}}function Ky(e){return f(jt(e),()=>"The f passed in grads(f) must be a function"),(t,n)=>{f(Array.isArray(t),()=>"The args passed in grads(f)(args) must be an array of `Tensor`s or `TensorLike`s");const r=Zt(t,"args","tf.grads",null),o=n!=null?u(n,"dy","tf.grads"):null;return g.tidy(()=>{const{value:i,grads:a}=g.gradients(()=>e(...r),r,o);return o!=null&&P(i.shape,o.shape,"The shape of dy passed in grads(f)([x1,...], dy) must match the shape returned by f([x1,...])"),Da(a),a})}}function Jy(e){return f(jt(e),()=>"The f passed in valueAndGrad(f) must be a function"),(t,n)=>{f(t instanceof ee,()=>"The x passed in valueAndGrad(f)(x) must be a tensor"),f(n==null||n instanceof ee,()=>"The dy passed in valueAndGrad(f)(x, dy) must be a tensor");const{grads:r,value:o}=g.gradients(()=>e(t),[t],n);return Da(r),{grad:r[0],value:o}}}function Xy(e){return f(jt(e),()=>"The f passed in valueAndGrads(f) must be a function"),(t,n)=>{f(Array.isArray(t)&&t.every(o=>o instanceof ee),()=>"The args passed in valueAndGrads(f)(args) must be array of tensors"),f(n==null||n instanceof ee,()=>"The dy passed in valueAndGrads(f)(args, dy) must be a tensor");const r=g.gradients(()=>e(...t),t,n);return n!=null&&P(r.value.shape,n.shape,"The shape of dy passed in valueAndGrads(f)([x1,...], dy) must match the shape returned by f([x1,...])"),Da(r.grads),r}}function Hl(e,t){f(jt(e),()=>"The f passed in variableGrads(f) must be a function"),f(t==null||Array.isArray(t)&&t.every(p=>p instanceof Ht),()=>"The varList passed in variableGrads(f, varList) must be an array of variables");const n=t!=null;if(!n){t=[];for(const p in g.registeredVariables)t.push(g.registeredVariables[p])}const r=n?t.filter(p=>!p.trainable):null,o=t.length;t=t.filter(p=>p.trainable),f(t.length>0,()=>`variableGrads() expects at least one of the input variables to be trainable, but none of the ${o} variables is trainable.`);const i=!0,{value:a,grads:s}=g.gradients(e,t,null,i);f(s.some(p=>p!=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()."),f(a.rank===0,()=>`The f passed in variableGrads(f) must return a scalar, but it returned a rank-${a.rank} tensor`);const c={};return t.forEach((p,l)=>{s[l]!=null&&(c[p.name]=s[l])}),r!=null&&r.forEach(p=>c[p.name]=null),{value:a,grads:c}}function Ke(e){return g.customGrad(e)}function Da(e){const t=e.filter(n=>n==null).length;if(t>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.`)}function Zy(e){const t=u(e,"x","neg"),n={x:t};return g.runKernelFunc(r=>r.neg(t),n,null,wi)}const ne=m({neg_:Zy});function Qy(e){const t=u(e,"x","softplus"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.softplus(t);return o([t]),i},n,null,$i)}const Ls=m({softplus_:Qy});function eL(e){const t=u(e,"x","logSigmoid"),n=Ke(r=>{const o=ne(Ls(ne(r))),i=a=>{const s=v(a,lt(ne(r)));return s};return{value:o,gradFunc:i}});return n(t)}const zl=m({logSigmoid_:eL});function tL(e,t=null,n=!1){const r=u(e,"x","max"),o=(s,c)=>{const p=z(t,r.shape);let l=p;const h=ge(l,r.rank);let d=r;h!=null&&(d=K(r,h),l=De(l.length,d.rank));const b=s.max(d,l);h!=null&&d.dispose();let x=b;if(n){const w=we(x.shape,z(t,r.shape));x=y(x,w),b.dispose()}return c([r,x]),x},i={x:r},a={reductionIndices:t,keepDims:n};return g.runKernelFunc(o,i,null,li,a)}const dt=m({max_:tL});function nL(e,t){let n=u(e,"a","sub"),r=u(t,"b","sub");[n,r]=V(n,r);const o=(a,s)=>{const c=a.subtract(n,r);return s([n,r]),c},i={a:n,b:r};return g.runKernelFunc(o,i,null,Yi)}const O=m({sub_:nL});function rL(e,t=null,n=!1){let r=u(e,"x","sum");r.dtype==="bool"&&(r=C(r,"int32"));const o=(s,c)=>{c([r]);const p=z(t,r.shape),l=ge(p,r.rank);let h=p,d=r;l!=null&&(d=K(r,l),h=De(h.length,r.rank));let b=s.sum(d,h);if(n){const x=we(b.shape,p);b=y(b,x)}return b},i={x:r},a={axis:t,keepDims:n};return g.runKernelFunc(o,i,null,Gi,a)}const U=m({sum_:rL});function oL(e,t=-1){const n=u(e,"logits","logSoftmax");if(t===-1&&(t=n.rank-1),t!==n.rank-1)throw Error(`Log Softmax along a non-last dimension is not yet supported. Logits was rank ${n.rank} and axis was ${t}`);const r=(a,s)=>{const c=!0,p=dt(e,t,!0),l=O(e,p),h=O(C(l,"float32"),yt(U(Se(l),t,c)));return s([h]),h},o={logits:n},i={axis:t};return g.runKernelFunc(r,o,null,ci,i)}const Yl=m({logSoftmax_:oL});function iL(e,t=null,n=!1){const r=u(e,"x","logSumExp"),o=z(t,r.shape),i=dt(r,o,!0),a=O(r,i),s=Se(a),c=U(s,o),p=yt(c),l=R(y(i,p.shape),p);if(n){const h=we(l.shape,o);return y(l,h)}return l}const vs=m({logSumExp_:iL});function sL(e,t){const n=u(e,"a","logicalAnd","bool"),r=u(t,"b","logicalAnd","bool");q(n.shape,r.shape);const o={a:n,b:r};return g.runKernelFunc(i=>i.logicalAnd(n,r),o,null,op)}const Lt=m({logicalAnd_:sL});function aL(e){const t=u(e,"x","logicalNot","bool"),n={x:t};return g.runKernelFunc(r=>r.logicalNot(t),n,null,ip)}const zn=m({logicalNot_:aL});function cL(e,t){const n=u(e,"a","logicalOr","bool"),r=u(t,"b","logicalOr","bool");q(n.shape,r.shape);const o={a:n,b:r};return g.runKernelFunc(i=>i.logicalOr(n,r),o,null,sp)}const Ss=m({logicalOr_:cL});function pL(e,t){const n=u(e,"a","logicalXor","bool"),r=u(t,"b","logicalXor","bool");return q(n.shape,r.shape),Lt(Ss(e,t),zn(Lt(e,t)))}const Vl=m({logicalXor_:pL});function lL(e,t,n,r,o){const i=u(e,"x","maxPool"),a=1;let s=i,c=!1;i.rank===3&&(c=!0,s=y(i,[1,i.shape[0],i.shape[1],i.shape[2]])),f(s.rank===4,()=>`Error in maxPool: input must be rank 4 but got rank ${s.rank}.`),f(le(n,a),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${n} and dilations '${a}'`),o!=null&&f(X(r),()=>`Error in maxPool: pad must be an integer when using, dimRoundingMode ${o} but got pad ${r}.`);const p=(b,x)=>{const w=_t(s.shape,t,n,1,r,o);let L;return w.filterWidth===1&&w.filterHeight===1&&Te(w.inShape,w.outShape)?L=s.clone():L=b.maxPool(s,w),x([s,L]),L},l={x:s},h={filterSize:t,strides:n,pad:r,dimRoundingMode:o},d=g.runKernelFunc(p,l,null,ui,h);return c?y(d,[d.shape[1],d.shape[2],d.shape[3]]):d}const Ae=m({maxPool_:lL});function hL(e,t=[1,1,1],n,r,o,i="NDHWC",a){a==null?a=[1,1,1]:Le("dilations is deprecated, this field will be gone in v3.0.0.");const s=u(e,"x","maxPool3d");let c=s,p=!1;s.rank===4&&(p=!0,c=y(s,[1,s.shape[0],s.shape[1],s.shape[2],s.shape[3]])),f(c.rank===5,()=>`Error in maxPool3d: x must be rank 5 but got rank ${c.rank}.`),f(i==="NDHWC",()=>`Error in maxPool3d: Only NDHWC is currently supported, but got dataFormat of ${i}`),f(le(n,a),()=>`Error in maxPool3d: Either strides or dilations must be 1. Got strides ${n} and dilations '${a}'`),o!=null&&f(X(r),()=>`Error in maxPool3d: pad must be an integer when using, dimRoundingMode ${o} but got pad ${r}.`);const l=(x,w)=>{a==null&&(a=[1,1,1]);const L=Qt(c.shape,t,n,a,r,o,i),S=x.maxPool3d(c,L);return w([c,S]),S},h={x:c},d={filterSize:t,strides:n,pad:r,dimRoundingMode:o,dataFormat:i,dilations:a},b=g.runKernelFunc(l,h,null,di,d);return p?y(b,[b.shape[1],b.shape[2],b.shape[3],b.shape[4]]):b}const Kl=m({maxPool3d_:hL});function uL(e,t,n,r,o=!1){const i=u(e,"x","maxPoolWithArgmax"),a={x:i},s={filterSize:t,strides:n,pad:r,includeBatchInIndex:o},c=g.runKernel(lp,a,s);return{result:c[0],indexes:c[1]}}const Jl=m({maxPoolWithArgmax_:uL});function Ce(e,t="float32"){if(t==="complex64"){const r=Ce(e,"float32"),o=Ce(e,"float32");return Ye(r,o)}const n=Pt(Q(e),t);return g.makeTensor(n,e,t)}function vt(e,t="float32"){if(t==="complex64"){const r=vt(e,"float32"),o=Ce(e,"float32");return Ye(r,o)}const n=is(Q(e),t);return g.makeTensor(n,e,t)}function dL(e,t=null,n=!1){const r=u(e,"x","mean"),o=z(t,r.shape),i=Vp(r.shape,o),a=i[1],s=Q(a),c=Ke(p=>{const l=_(s),h=l.dtype===p.dtype?p:C(p,l.dtype),d=F(h,l),b=U(d,t,n),x=w=>{const L=p.shape.slice();o.forEach(N=>{L[N]=1});const S=y(w,L),I=F(v(S,vt(p.shape,"float32")),s);return I};return{value:b,gradFunc:x}});return c(r)}const Sn=m({mean_:dL});function mL(e,t=null,n=!1){const r=u(e,"x","min"),o=(s,c)=>{const p=z(t,r.shape);let l=p;const h=ge(l,r.rank);let d=r;h!=null&&(d=K(r,h),l=De(l.length,r.rank));const b=s.min(d,l);h!=null&&d.dispose();let x=b;if(n){const w=we(x.shape,p);x=y(b,w),b.dispose()}return c([r,x]),x},i={x:r},a={axis:t,keepDims:n};return g.runKernelFunc(o,i,null,mi,a)}const In=m({min_:mL});function fL(e,t){let n=u(e,"a","minimum"),r=u(t,"b","minimum");[n,r]=V(n,r),n.dtype==="bool"&&(n=C(n,"int32"),r=C(r,"int32")),q(n.shape,r.shape);const o=(a,s)=>{const c=a.minimum(n,r);return s([n,r]),c},i={a:n,b:r};return g.runKernelFunc(o,i,null,fi)}const Yn=m({minimum_:fL});function gL(e,t){let n=u(e,"a","mod"),r=u(t,"b","mod");[n,r]=V(n,r);const o=(a,s)=>{const c=a.mod(n,r);return s([n,r]),c},i={a:n,b:r};return g.runKernelFunc(o,i,null,gi)}const Is=m({mod_:gL});function bL(e){const t=u(e,"x","square"),n={},r=[t],o=[];return g.runKernelFunc((i,a)=>(a([t]),i.square(t)),{x:t},null,"Square",n,r,o)}const H=m({square_:bL});function wL(e,t=null,n=!1){e=u(e,"x","moments");const r=z(t,e.shape),o=Sn(e,r,n);let i=o.shape;n||(i=we(o.shape,r));const a=H(O(C(e,"float32"),y(o,i))),s=Sn(a,r,n);return{mean:o,variance:s}}const Xl=m({moments_:wL});function xL(e,t,n,r){const o=u(t,"data","multiRNNCell"),i=Zt(n,"c","multiRNNCell"),a=Zt(r,"h","multiRNNCell");let s=o;const c=[];for(let h=0;h2)throw new Error(`Rank of probabilities must be 1 or 2, but is ${a}`);n=n||Math.random();const s=a===1?y(o,[1,-1]):o,c=g.runKernelFunc(p=>p.multinomial(s,r,t,n),{logits2D:s});return a===1?y(c,[c.size]):c}const Ql=m({multinomial_:yL});function LL(e,t){let n=u(e,"a","notEqual"),r=u(t,"b","notEqual");[n,r]=V(n,r),q(n.shape,r.shape);const o=a=>a.notEqual(n,r),i={a:n,b:r};return g.runKernelFunc(o,i,null,hp)}const Vn=m({notEqual_:LL});function vL(e,t,n=1,r=0){if(t<2)throw new Error(`Error in oneHot: depth must be >=2, but it is ${t}`);const o=u(e,"indices","oneHot","int32"),i=[...o.shape,t],a=(p,l)=>(l([o]),y(p.oneHot(y(o,[o.size]),t,n,r),i)),s={indices:o},c={depth:t,onValue:n,offValue:r};return g.runKernelFunc(a,s,null,yi,c)}const jr=m({oneHot_:vL});function SL(e){const t=u(e,"x","onesLike"),n=(o,i)=>{if(t.dtype==="complex64"){const a=Fa(zt(t)),s=W(nn(t));return Ye(a,s)}return o.onesLike(t)},r={x:t};return g.runKernelFunc(n,r,null,xi)}const Fa=m({onesLike_:SL});function IL(e,t){const n=u(e,"v1","outerProduct"),r=u(t,"v2","outerProduct");f(n.rank===1&&r.rank===1,()=>`Error in outerProduct: inputs must be rank 1, but got ranks ${n.rank} and ${r.rank}.`);const o=y(n,[-1,1]),i=y(r,[1,-1]);return Y(o,i)}const eh=m({outerProduct_:IL});function TL(e,t,n=0){const r=u(e,"x","pad");if(r.rank===0)throw new Error("pad(scalar) is not defined. Pass non-scalar to pad");const o=(s,c)=>(c([r]),s.pad(r,t,n)),i={paddings:t,constantValue:n},a={x:r};return g.runKernelFunc(o,a,null,Li,i)}const Pe=m({pad_:TL});function AL(e,t,n=0){return f(t.length===2,()=>"Invalid number of paddings. Must be length of 2."),Pe(e,[t],n)}const th=m({pad1d_:AL});function NL(e,t,n=0){return f(t.length===2&&t[0].length===2&&t[1].length===2,()=>"Invalid number of paddings. Must be length of 2 each."),Pe(e,t,n)}const nh=m({pad2d_:NL});function RL(e,t,n=0){return f(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."),Pe(e,t,n)}const rh=m({pad3d_:RL});function _L(e,t,n=0){return f(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."),Pe(e,t,n)}const oh=m({pad4d_:_L});function CL(e,t,n){const r=u(e,"x","spaceToBatchND");f(r.rank>=1+t.length,()=>`input rank ${r.rank} should be > than [blockShape] ${t.length}`),f(n.length===t.length,()=>`paddings.shape[0] ${n.length} must be equal to [blockShape] ${t.length}`),f(r.shape.reduce((s,c,p)=>p>0&&p<=t.length?s&&(c+n[p-1][0]+n[p-1][1])%t[p-1]===0:s,!0),()=>`input spatial dimensions ${r.shape.slice(1)} with paddings ${n.toString()} must be divisible by blockShapes ${t.toString()}`);const o=s=>s.spaceToBatchND(r,t,n),i={x:r},a={blockShape:t,paddings:n};return g.runKernelFunc(o,i,null,Pi,a)}const Kn=m({spaceToBatchND_:CL});function kL(e,t,n,r,o,i){o==null&&(o=[1,1]),i==null&&(i=1),r===0&&(r="valid");const a=u(e,"x","maxPool");let s=a,c=!1;a.rank===3&&(c=!0,s=y(a,[1,a.shape[0],a.shape[1],a.shape[2]])),f(le(i,o),()=>`Error in pool: Either strides or dilations must be 1. Got strides ${i} and dilations '${o}'`);const p=_t(s.shape,t,i,o,r),l=[p.dilationHeight,p.dilationWidth];let h;r==="same"?h=OL([p.filterHeight,p.filterWidth],l):h=[[0,0],[0,0]];const d=l[0]===1&&l[1]===1,[b,x]=EL([p.inHeight,p.inWidth],l,h),w=d?r:"valid",L=d?s:Kn(s,l,b),S=n==="avg"?()=>pt(L,t,i,w):()=>Ae(L,t,i,w),I=S(),N=d?I:Bn(I,l,x);return c?y(N,[N.shape[1],N.shape[2],N.shape[3]]):N}function EL(e,t,n){const r=n.map(l=>l[0]),o=n.map(l=>l[1]),i=e.concat(r,o),a=t.map((l,h)=>(l-i[h]%l)%l),s=o.map((l,h)=>l+a[h]),c=t.map((l,h)=>[r[h],s[h]]),p=t.map((l,h)=>[0,a[h]]);return[c,p]}function OL(e,t){const n=e.map((a,s)=>a+(a-1)*(t[s]-1)),r=n.map(a=>a-1),o=r.map(a=>Math.floor(a/2)),i=r.map((a,s)=>a-o[s]);return r.map((a,s)=>[o[s],i[s]])}const ih=m({pool_:kL});function DL(e,t){let n=u(e,"base","pow"),r=u(t,"exp","pow");[n,r]=V(n,r);const o={a:n,b:r},i=(a,s)=>{const c=a.pow(n,r);return s([n,r,c]),c};return g.runKernelFunc(i,o,null,vi)}const Je=m({pow_:DL});function FL(e,t){const n=u(e,"x","prelu"),r=u(t,"alpha","prelu"),o=(a,s)=>{const c=a.prelu(n,r);return s([n,r]),c},i={x:n,alpha:r};return g.runKernelFunc(o,i,null,Si)}const Ts=m({prelu_:FL});function sh(e,t=!1){console.log(e.toString(t))}function ML(e,t=null,n=!1){let r=u(e,"x","prod");const o=s=>{r.dtype==="bool"&&(r=C(r,"int32"));const c=z(t,r.shape),p=ge(c,r.rank);let l=c,h=r;p!=null&&(h=K(r,p),l=De(l.length,r.rank));let d=s.prod(h,l);if(n){const b=we(d.shape,c);d=y(d,b)}return d},i={x:r},a={axis:t,keepDims:n};return g.runKernelFunc(o,i,null,fp,a)}const ah=m({prod_:ML});function UL(e,t,n){const r=Q(e);let o=null;if(n==null||n==="float32")o=new Float32Array(r);else if(n==="int32")o=new Int32Array(r);else if(n==="bool")o=new Uint8Array(r);else throw new Error(`Unknown data type ${n}`);for(let i=0;iqd,expectArrayBuffersEqual:()=>qL,expectArraysClose:()=>BL,expectArraysEqual:()=>jL,expectNumbersClose:()=>GL,expectPromiseToFail:()=>$L,expectValuesInRange:()=>PL,testEpsilon:()=>ph});const WL=.001,qd=.1;function BL(e,t,n){return n==null&&(n=ph()),lh(e,t,(r,o)=>hh(r,o,n))}function ph(){return g.backend.floatPrecision()===32?WL:qd}function lh(e,t,n){let r=!0;if((_e(e)||_e(t))&&(r=!1),_e(e)&&_e(t)&&(r=!0),r){const a=e.constructor.name,s=t.constructor.name;if(a!==s)throw new Error(`Arrays are of different type. Actual: ${a}. Expected: ${s}`)}if(Array.isArray(e)&&Array.isArray(t)){const a=We(e),s=We(t);if(!Te(a,s))throw new Error(`Arrays have different shapes. Actual: [${a}]. Expected: [${s}]`)}const o=_e(e)?e:$t(e),i=_e(t)?t:$t(t);if(o.length!==i.length)throw new Error(`Arrays have different lengths actual: ${o.length} vs expected: ${i.length}. + ${r.shape}`),f(a%(t*t)===0,()=>`Dimension size must be evenly divisible by ${t*t} but is ${a} for depthToSpace with input shape ${r.shape}`);const s=l=>l.depthToSpace(r,t,n),c={x:r},p={blockSize:t,dataFormat:n};return g.runKernelFunc(s,c,null,$c,p)}const El=m({depthToSpace_:ay});function cy(e,t,n,r,o="NHWC",i=[1,1],a){const s=u(e,"x","depthwiseConv2d"),c=u(t,"filter","depthwiseConv2d");let p=s,l=!1;s.rank===3&&(l=!0,p=y(s,[1,s.shape[0],s.shape[1],s.shape[2]])),f(p.rank===4,()=>`Error in depthwiseConv2d: input must be rank 4, but got rank ${p.rank}.`),f(c.rank===4,()=>`Error in depthwiseConv2d: filter must be rank 4, but got rank ${c.rank}.`),f(p.shape[3]===c.shape[2],()=>`Error in depthwiseConv2d: number of input channels (${p.shape[3]}) must match the inChannels dimension in filter ${c.shape[2]}.`),a!=null&&f(X(r),()=>`Error in depthwiseConv2d: pad must be an integer when using, dimRoundingMode ${a} but got pad ${r}.`);const h=(w,L)=>{i==null&&(i=[1,1]),f(le(n,i),()=>`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${n} and dilations '${i}'`);const S=je(p.shape,c.shape,n,i,r,a,!0),I=w.depthwiseConv2D(p,c,S);return L([p,c]),I},d={x:p,filter:c},b={strides:n,pad:r,dataFormat:o,dilations:i,dimRoundingMode:a},x=g.runKernelFunc(h,d,null,qo,b);return l?y(x,[x.shape[1],x.shape[2],x.shape[3]]):x}const en=m({depthwiseConv2d_:cy});function py(e){const t=u(e,"x","diag"),n=o=>{const i=y(t,[t.size]),a=o.diag(i),s=[...e.shape,...e.shape];return y(a,s)},r={x:t};return g.runKernelFunc(n,r,null,Pc)}const Ol=m({diag_:py});function ly(e,t,n,r,o=[1,1],i="NHWC"){const a=u(e,"x","dilation2d"),s=u(t,"filter","dilation2d");f(a.rank===3||a.rank===4,()=>`Error in dilation2d: input must be rank 3 or 4, but got rank ${a.rank}.`),f(s.rank===3,()=>`Error in dilation2d: filter must be rank 3, but got rank ${s.rank}.`),f(i==="NHWC",()=>`Error in dilation2d: Only NHWC is currently supported, but got dataFormat of ${i}`);let c=a,p=!1;a.rank===3&&(c=y(a,[1,a.shape[0],a.shape[1],a.shape[2]]),p=!0);const l={x:c,filter:s},h={strides:n,pad:r,dilations:o},d=g.runKernel(Ho,l,h);return p?y(d,[d.shape[1],d.shape[2],d.shape[3]]):d}const kl=m({dilation2d_:ly});function hy(e,t){let n=u(e,"a","floorDiv"),r=u(t,"b","floorDiv");[n,r]=V(n,r);const o=(a,s)=>{const c=a.floorDiv(n,r);return s([n,r]),c},i={a:n,b:r};return g.runKernelFunc(o,i,null,Zo)}const gs=m({floorDiv_:hy});function uy(e,t){let n=u(e,"a","div"),r=u(t,"b","div");if([n,r]=V(n,r),n.dtype==="int32"&&r.dtype==="int32")return gs(n,r);const o=(s,c)=>{const p=s.realDivide(n,r);return c([n,r]),p},i={a:n,b:r},a={};return g.runKernelFunc(o,i,null,zo,a)}const F=m({div_:uy});function dy(e,t){const n=e.length,r=[];for(let o=0;o1&&a===1&&r.unshift(i)}return r}function ae(e,t){const n=[];for(let r=0;r1)&&n.unshift(i)}return n}function q(e,t){const n=[],r=Math.max(e.length,t.length);for(let o=0;oa.equal(n,r),i={a:n,b:r};return g.runKernelFunc(o,i,null,Yc)}const tn=m({equal_:my});function fy(e,t,n){const r=u(t,"a","where"),o=u(n,"b","where"),i=u(e,"condition","where","bool"),a=q(r.shape,o.shape),s=Br(r,a),c=Br(o,a);i.rank===1&&f(i.shape[0]===r.shape[0],()=>"The first dimension of `a` must match the size of `condition`."),i.rank!==1&&P(i.shape,c.shape,"Error in where: ");const p=(h,d)=>{const b=h.select(i,s,c);return d([i]),b},l={condition:i,t:s,e:c};return g.runKernelFunc(p,l,null,ki)}const Oe=m({where_:fy});function gy(e){const t=u(e,"x","zerosLike"),n={x:t};return g.runKernelFunc(r=>r.zerosLike(t),n,null,es)}const W=m({zerosLike_:gy});function by(e,t){let n=u(e,"a","div"),r=u(t,"b","div");[n,r]=V(n,r);const o=F(n,r),i=W(o),a=tn(r,i);return Oe(a,i,o)}const Dl=m({divNoNan_:by});function wy(e,t){const n=u(e,"t1","dot"),r=u(t,"t2","dot");f((n.rank===1||n.rank===2)&&(r.rank===1||r.rank===2),()=>`Error in dot: inputs must all be rank 1 or 2, but got ranks ${n.rank} and ${r.rank}.`);const o=n.rank===1?n.size:n.shape[1],i=r.rank===1?r.size:r.shape[0];if(f(o===i,()=>`Error in dot: inner dimensions of inputs must match, but got ${o} and ${i}.`),n.rank===1&&r.rank===1){const a=y(n,[1,-1]),s=y(r,[-1,1]),c=Y(a,s);return y(c,[])}else if(n.rank===1&&r.rank===2){const a=y(n,[1,-1]),s=y(r,[r.shape[0],r.shape[1]]),c=Y(a,s);return y(c,[c.size])}else if(n.rank===2&&r.rank===1){const a=y(r,[-1,1]),s=Y(n,a);return y(s,[s.size])}else{const a=y(r,[r.shape[0],r.shape[1]]),s=Y(n,a);return s}}const Fl=m({dot_:wy});function xy(e){const t=u(e,"x","elu"),n=(o,i)=>{const a=o.elu(t);return i([a]),a},r={x:t};return g.runKernelFunc(n,r,null,Yo)}const bs=m({elu_:xy});function yy(e){let t=u(e,"x","erf");f(t.dtype==="int32"||t.dtype==="float32",()=>"Input dtype must be `int32` or `float32`."),t.dtype==="int32"&&(t=C(t,"float32"));const n={x:t};return g.runKernelFunc((r,o)=>{const i=r.erf(t);return o([t]),i},n,null,Vo)}const Ml=m({erf_:yy});function Ly(e){const t=u(e,"x","exp"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.exp(t);return o([i]),i},n,null,Ko)}const Se=m({exp_:Ly});function vy(e,t=0){const n=null,r=u(e,"x","expandDims",n);f(t<=r.rank,()=>"Axis must be <= rank of the tensor");const o=r.shape.slice();return t<0&&(f(-(r.rank+1)<=t,()=>`Axis must be in the interval [${-(r.rank+1)}, ${r.rank}]`),t=r.rank+t+1),o.splice(t,0,1),y(r,o)}const et=m({expandDims_:vy});function Sy(e){const t=u(e,"x","expm1"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.expm1(t);return o([t]),i},n,null,Jo)}const Ul=m({expm1_:Sy});function Iy(e,t){const n=null,r=u(e,"x","tile",n);f(r.rank===t.length,()=>`Error in transpose: rank of input ${r.rank} must match length of reps ${t}.`);const o=(c,p)=>{const l=c.tile(r,t);return p([r]),l},i=[r],a={x:r},s={reps:t};return g.runKernelFunc(o,a,null,Ji,s,i)}const Ot=m({tile_:Iy});function Ty(e,t,n,r="float32"){t==null&&(t=e);const o=Be([e,t],r),i=e<=t?e:t;for(let s=0;s`The dtype for tf.spectral.fft() must be complex64 but got ${e.dtype}.`);const t={input:e};return g.runKernelFunc(n=>{const r=e.shape[e.shape.length-1],o=e.size/r,i=e.as2D(o,r),a=n.fft(i);return a.reshape(e.shape)},t,null,Vc)}const Gn=m({fft_:Ay});function Ge(e,t,n){const r={shape:e,value:t,dtype:n};return g.runKernelFunc(o=>o.fill(e,t,n),{},null,Kc,r)}function Ny(e){const t=u(e,"x","floor"),n={x:t};return g.runKernelFunc(r=>r.floor(t),n,null,Xo)}const Pn=m({floor_:Ny});const ka=30;function Ry(e){return e<=ka?e:kr(e,Math.floor(Math.sqrt(e)))}const Pd={};Re(Pd,{collectGatherOpShapeInfo:()=>Wl,computeOutShape:()=>Cy,segOpComputeOptimalWindowSize:()=>_y});function _y(e,t){let n=!1,r;for(e<=ka?(r=e,n=!0):r=kr(e,Math.floor(Math.sqrt(e)));!n;)r>t||r===e?n=!0:r=kr(e,r+1);return r}function Cy(e,t,n){const r=[],o=e.length;for(let i=0;i{const l=z(n,r.shape)[0],h=Wl(r,o,l),d=c.gather(r,y(o,[o.size]),l);return p([r,o]),y(d,h.outputShape)};return g.runKernelFunc(s,i,null,ei,a)}const qn=m({gather_:Ey});function Oy(e,t){let n=u(e,"a","greater"),r=u(t,"b","greater");[n,r]=V(n,r),q(n.shape,r.shape);const o=a=>a.greater(n,r),i={a:n,b:r};return g.runKernelFunc(o,i,null,Zc)}const tt=m({greater_:Oy});function ky(e,t){let n=u(e,"a","greaterEqual"),r=u(t,"b","greaterEqual");[n,r]=V(n,r),q(n.shape,r.shape);const o=(a,s)=>{const c=a.greaterEqual(n,r);return s([n,r]),c},i={a:n,b:r};return g.runKernelFunc(o,i,null,ti)}const ht=m({greaterEqual_:ky});function Dy(e){f(e.dtype==="complex64",()=>`The dtype for tf.spectral.ifft() must be complex64 but got ${e.dtype}.`);const t={input:e};return g.runKernelFunc(n=>{const r=e.shape[e.shape.length-1],o=e.size/r,i=y(e,[o,r]),a=n.ifft(i);return y(a,e.shape)},t,null,Qc)}const vn=m({ifft_:Dy});function Fy(e){const t=u(e,"input","imag"),n=o=>o.imag(t),r={input:t};return g.runKernelFunc(n,r,null,ep)}const nn=m({imag_:Fy});function My(e){const t=u(e,"input","real"),n=o=>o.real(t),r={input:t};return g.runKernelFunc(n,r,null,bp)}const zt=m({real_:My});function Uy(e,t){const n=u(e,"x","reverse"),r=a=>{const s=z(t,n.shape);if(n.rank===0)return Et(n);const c=a.reverse(n,s);return y(c,n.shape)},o={x:n},i={dims:t};return g.runKernelFunc(r,o,null,Ci,i)}const Ve=m({reverse_:Uy});function _(e,t){if((_e(e)&&t!=="string"||Array.isArray(e))&&t!=="complex64")throw new Error("Error creating a new Scalar: value must be a primitive (number|boolean|string)");if(t==="string"&&_e(e)&&!(e instanceof Uint8Array))throw new Error("When making a scalar from encoded string, the value must be `Uint8Array`.");const n=[],r=[];return He(e,n,r,t)}function Wy(e){const t=e.shape[e.shape.length-1],n=e.size/t;let r;if(t<=2){const o=y(e,[n,t]);r=vn(o)}else{const o=[n,2*(t-1)],i=y(zt(e),[n,t]),a=y(nn(e),[n,t]),s=Ve(G(i,[0,1],[n,t-2]),1),c=v(Ve(G(a,[0,1],[n,t-2]),1),_(-1)),p=Z([i,s],1),l=Z([a,c],1),h=y(Ye(p,l),[o[0],o[1]]);r=vn(h)}if(r=zt(r),e.rank===3&&e.shape[0]!==0){const o=r,i=e.shape[0];r=y(r,[i,r.shape[0]/i,r.shape[1]]),o.dispose()}return r}const xs=m({irfft_:Wy});function By(e){const t=u(e,"x","isFinite"),n={x:t};return g.runKernelFunc(r=>r.isFinite(t),n,null,ri)}const Bl=m({isFinite_:By});function $y(e){const t=u(e,"x","isInf"),n={x:t};return g.runKernelFunc(r=>r.isInf(t),n,null,oi)}const $l=m({isInf_:$y});function jy(e){const t=u(e,"x","isNaN"),n={x:t};return g.runKernelFunc(r=>r.isNaN(t),n,null,ii)}const jl=m({isNaN_:jy});function Gy(e,t){let n=u(e,"a","maximum"),r=u(t,"b","maximum");[n,r]=V(n,r),n.dtype==="bool"&&(n=C(n,"int32"),r=C(r,"int32")),q(n.shape,r.shape);const o=(a,s)=>{const c=a.maximum(n,r);return s([n,r]),c},i={a:n,b:r};return g.runKernelFunc(o,i,null,hi)}const kt=m({maximum_:Gy});function Py(e,t=.2){const n=u(e,"x","leakyRelu");return kt(v(_(t),n),n)}const Gl=m({leakyRelu_:Py});function qy(e,t){let n=u(e,"a","less"),r=u(t,"b","less");[n,r]=V(n,r),q(n.shape,r.shape);const o=a=>a.less(n,r),i={a:n,b:r};return g.runKernelFunc(o,i,null,tp)}const Hn=m({less_:qy});function Hy(e,t){let n=u(e,"a","lessEqual"),r=u(t,"b","lessEqual");[n,r]=V(n,r),q(n.shape,r.shape);const o=(a,s)=>{const c=a.lessEqual(n,r);return s([n,r]),c},i={a:n,b:r};return g.runKernelFunc(o,i,null,np)}const ut=m({lessEqual_:Hy});function Pl(e,t,n){if(n<=0)throw new Error("The number of values should be positive.");const r={start:e,stop:t,num:n};return g.runKernelFunc(o=>o.linspace(e,t,n),{},null,rp,r)}function zy(e,t=5,n=1,r=1,o=.5){const i=u(e,"x","localResponseNormalization");f(i.rank===4||i.rank===3,()=>`Error in localResponseNormalization: x must be rank 3 or 4 but got + rank ${i.rank}.`),f(X(t),()=>`Error in localResponseNormalization: depthRadius must be an integer but got depthRadius ${t}.`);let a=i,s=!1;i.rank===3&&(s=!0,a=y(i,[1,i.shape[0],i.shape[1],i.shape[2]]));const c=(d,b)=>{const x=d.localResponseNormalization4D(a,t,n,r,o);return b([a,x]),x},p={x:a},l={depthRadius:t,bias:n,alpha:r,beta:o},h=g.runKernelFunc(c,p,null,pi,l);return s?y(h,[h.shape[1],h.shape[2],h.shape[3]]):h}const ql=m({localResponseNormalization_:zy});function Yy(e){const t=u(e,"x","log"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.log(t);return o([t]),i},n,null,si)}const yt=m({log_:Yy});function Vy(e){const t=u(e,"x","log1p"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.log1p(t);return o([t]),i},n,null,ai)}const ys=m({log1p_:Vy});function Ky(e){return f(jt(e),()=>"The f passed in grad(f) must be a function"),(t,n)=>{const r=u(t,"x","tf.grad",null),o=n!=null?u(n,"dy","tf.grad"):null;return g.tidy(()=>{const{value:i,grads:a}=g.gradients(()=>e(r),[r],o);return o!=null&&P(i.shape,o.shape,"The shape of dy passed in grad(f)(x, dy) must match the shape returned by f(x)"),Da(a),a[0]})}}function Jy(e){return f(jt(e),()=>"The f passed in grads(f) must be a function"),(t,n)=>{f(Array.isArray(t),()=>"The args passed in grads(f)(args) must be an array of `Tensor`s or `TensorLike`s");const r=Zt(t,"args","tf.grads",null),o=n!=null?u(n,"dy","tf.grads"):null;return g.tidy(()=>{const{value:i,grads:a}=g.gradients(()=>e(...r),r,o);return o!=null&&P(i.shape,o.shape,"The shape of dy passed in grads(f)([x1,...], dy) must match the shape returned by f([x1,...])"),Da(a),a})}}function Xy(e){return f(jt(e),()=>"The f passed in valueAndGrad(f) must be a function"),(t,n)=>{f(t instanceof ee,()=>"The x passed in valueAndGrad(f)(x) must be a tensor"),f(n==null||n instanceof ee,()=>"The dy passed in valueAndGrad(f)(x, dy) must be a tensor");const{grads:r,value:o}=g.gradients(()=>e(t),[t],n);return Da(r),{grad:r[0],value:o}}}function Zy(e){return f(jt(e),()=>"The f passed in valueAndGrads(f) must be a function"),(t,n)=>{f(Array.isArray(t)&&t.every(o=>o instanceof ee),()=>"The args passed in valueAndGrads(f)(args) must be array of tensors"),f(n==null||n instanceof ee,()=>"The dy passed in valueAndGrads(f)(args, dy) must be a tensor");const r=g.gradients(()=>e(...t),t,n);return n!=null&&P(r.value.shape,n.shape,"The shape of dy passed in valueAndGrads(f)([x1,...], dy) must match the shape returned by f([x1,...])"),Da(r.grads),r}}function Hl(e,t){f(jt(e),()=>"The f passed in variableGrads(f) must be a function"),f(t==null||Array.isArray(t)&&t.every(p=>p instanceof Ht),()=>"The varList passed in variableGrads(f, varList) must be an array of variables");const n=t!=null;if(!n){t=[];for(const p in g.registeredVariables)t.push(g.registeredVariables[p])}const r=n?t.filter(p=>!p.trainable):null,o=t.length;t=t.filter(p=>p.trainable),f(t.length>0,()=>`variableGrads() expects at least one of the input variables to be trainable, but none of the ${o} variables is trainable.`);const i=!0,{value:a,grads:s}=g.gradients(e,t,null,i);f(s.some(p=>p!=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()."),f(a.rank===0,()=>`The f passed in variableGrads(f) must return a scalar, but it returned a rank-${a.rank} tensor`);const c={};return t.forEach((p,l)=>{s[l]!=null&&(c[p.name]=s[l])}),r!=null&&r.forEach(p=>c[p.name]=null),{value:a,grads:c}}function Ke(e){return g.customGrad(e)}function Da(e){const t=e.filter(n=>n==null).length;if(t>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.`)}function Qy(e){const t=u(e,"x","neg"),n={x:t};return g.runKernelFunc(r=>r.neg(t),n,null,wi)}const ne=m({neg_:Qy});function eL(e){const t=u(e,"x","softplus"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.softplus(t);return o([t]),i},n,null,$i)}const Ls=m({softplus_:eL});function tL(e){const t=u(e,"x","logSigmoid"),n=Ke(r=>{const o=ne(Ls(ne(r))),i=a=>{const s=v(a,lt(ne(r)));return s};return{value:o,gradFunc:i}});return n(t)}const zl=m({logSigmoid_:tL});function nL(e,t=null,n=!1){const r=u(e,"x","max"),o=(s,c)=>{const p=z(t,r.shape);let l=p;const h=ge(l,r.rank);let d=r;h!=null&&(d=K(r,h),l=De(l.length,d.rank));const b=s.max(d,l);h!=null&&d.dispose();let x=b;if(n){const w=we(x.shape,z(t,r.shape));x=y(x,w),b.dispose()}return c([r,x]),x},i={x:r},a={reductionIndices:t,keepDims:n};return g.runKernelFunc(o,i,null,li,a)}const dt=m({max_:nL});function rL(e,t){let n=u(e,"a","sub"),r=u(t,"b","sub");[n,r]=V(n,r);const o=(a,s)=>{const c=a.subtract(n,r);return s([n,r]),c},i={a:n,b:r};return g.runKernelFunc(o,i,null,Yi)}const O=m({sub_:rL});function oL(e,t=null,n=!1){let r=u(e,"x","sum");r.dtype==="bool"&&(r=C(r,"int32"));const o=(s,c)=>{c([r]);const p=z(t,r.shape),l=ge(p,r.rank);let h=p,d=r;l!=null&&(d=K(r,l),h=De(h.length,r.rank));let b=s.sum(d,h);if(n){const x=we(b.shape,p);b=y(b,x)}return b},i={x:r},a={axis:t,keepDims:n};return g.runKernelFunc(o,i,null,Gi,a)}const U=m({sum_:oL});function iL(e,t=-1){const n=u(e,"logits","logSoftmax");if(t===-1&&(t=n.rank-1),t!==n.rank-1)throw Error(`Log Softmax along a non-last dimension is not yet supported. Logits was rank ${n.rank} and axis was ${t}`);const r=(a,s)=>{const c=!0,p=dt(e,t,!0),l=O(e,p),h=O(C(l,"float32"),yt(U(Se(l),t,c)));return s([h]),h},o={logits:n},i={axis:t};return g.runKernelFunc(r,o,null,ci,i)}const Yl=m({logSoftmax_:iL});function sL(e,t=null,n=!1){const r=u(e,"x","logSumExp"),o=z(t,r.shape),i=dt(r,o,!0),a=O(r,i),s=Se(a),c=U(s,o),p=yt(c),l=R(y(i,p.shape),p);if(n){const h=we(l.shape,o);return y(l,h)}return l}const vs=m({logSumExp_:sL});function aL(e,t){const n=u(e,"a","logicalAnd","bool"),r=u(t,"b","logicalAnd","bool");q(n.shape,r.shape);const o={a:n,b:r};return g.runKernelFunc(i=>i.logicalAnd(n,r),o,null,op)}const Lt=m({logicalAnd_:aL});function cL(e){const t=u(e,"x","logicalNot","bool"),n={x:t};return g.runKernelFunc(r=>r.logicalNot(t),n,null,ip)}const zn=m({logicalNot_:cL});function pL(e,t){const n=u(e,"a","logicalOr","bool"),r=u(t,"b","logicalOr","bool");q(n.shape,r.shape);const o={a:n,b:r};return g.runKernelFunc(i=>i.logicalOr(n,r),o,null,sp)}const Ss=m({logicalOr_:pL});function lL(e,t){const n=u(e,"a","logicalXor","bool"),r=u(t,"b","logicalXor","bool");return q(n.shape,r.shape),Lt(Ss(e,t),zn(Lt(e,t)))}const Vl=m({logicalXor_:lL});function hL(e,t,n,r,o){const i=u(e,"x","maxPool"),a=1;let s=i,c=!1;i.rank===3&&(c=!0,s=y(i,[1,i.shape[0],i.shape[1],i.shape[2]])),f(s.rank===4,()=>`Error in maxPool: input must be rank 4 but got rank ${s.rank}.`),f(le(n,a),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${n} and dilations '${a}'`),o!=null&&f(X(r),()=>`Error in maxPool: pad must be an integer when using, dimRoundingMode ${o} but got pad ${r}.`);const p=(b,x)=>{const w=_t(s.shape,t,n,1,r,o);let L;return w.filterWidth===1&&w.filterHeight===1&&Te(w.inShape,w.outShape)?L=s.clone():L=b.maxPool(s,w),x([s,L]),L},l={x:s},h={filterSize:t,strides:n,pad:r,dimRoundingMode:o},d=g.runKernelFunc(p,l,null,ui,h);return c?y(d,[d.shape[1],d.shape[2],d.shape[3]]):d}const Ae=m({maxPool_:hL});function uL(e,t=[1,1,1],n,r,o,i="NDHWC",a){a==null?a=[1,1,1]:Le("dilations is deprecated, this field will be gone in v3.0.0.");const s=u(e,"x","maxPool3d");let c=s,p=!1;s.rank===4&&(p=!0,c=y(s,[1,s.shape[0],s.shape[1],s.shape[2],s.shape[3]])),f(c.rank===5,()=>`Error in maxPool3d: x must be rank 5 but got rank ${c.rank}.`),f(i==="NDHWC",()=>`Error in maxPool3d: Only NDHWC is currently supported, but got dataFormat of ${i}`),f(le(n,a),()=>`Error in maxPool3d: Either strides or dilations must be 1. Got strides ${n} and dilations '${a}'`),o!=null&&f(X(r),()=>`Error in maxPool3d: pad must be an integer when using, dimRoundingMode ${o} but got pad ${r}.`);const l=(x,w)=>{a==null&&(a=[1,1,1]);const L=Qt(c.shape,t,n,a,r,o,i),S=x.maxPool3d(c,L);return w([c,S]),S},h={x:c},d={filterSize:t,strides:n,pad:r,dimRoundingMode:o,dataFormat:i,dilations:a},b=g.runKernelFunc(l,h,null,di,d);return p?y(b,[b.shape[1],b.shape[2],b.shape[3],b.shape[4]]):b}const Kl=m({maxPool3d_:uL});function dL(e,t,n,r,o=!1){const i=u(e,"x","maxPoolWithArgmax"),a={x:i},s={filterSize:t,strides:n,pad:r,includeBatchInIndex:o},c=g.runKernel(lp,a,s);return{result:c[0],indexes:c[1]}}const Jl=m({maxPoolWithArgmax_:dL});function Ce(e,t="float32"){if(t==="complex64"){const r=Ce(e,"float32"),o=Ce(e,"float32");return Ye(r,o)}const n=Pt(Q(e),t);return g.makeTensor(n,e,t)}function vt(e,t="float32"){if(t==="complex64"){const r=vt(e,"float32"),o=Ce(e,"float32");return Ye(r,o)}const n=is(Q(e),t);return g.makeTensor(n,e,t)}function mL(e,t=null,n=!1){const r=u(e,"x","mean"),o=z(t,r.shape),i=Vp(r.shape,o),a=i[1],s=Q(a),c=Ke(p=>{const l=_(s),h=l.dtype===p.dtype?p:C(p,l.dtype),d=F(h,l),b=U(d,t,n),x=w=>{const L=p.shape.slice();o.forEach(N=>{L[N]=1});const S=y(w,L),I=F(v(S,vt(p.shape,"float32")),s);return I};return{value:b,gradFunc:x}});return c(r)}const Sn=m({mean_:mL});function fL(e,t=null,n=!1){const r=u(e,"x","min"),o=(s,c)=>{const p=z(t,r.shape);let l=p;const h=ge(l,r.rank);let d=r;h!=null&&(d=K(r,h),l=De(l.length,r.rank));const b=s.min(d,l);h!=null&&d.dispose();let x=b;if(n){const w=we(x.shape,p);x=y(b,w),b.dispose()}return c([r,x]),x},i={x:r},a={axis:t,keepDims:n};return g.runKernelFunc(o,i,null,mi,a)}const In=m({min_:fL});function gL(e,t){let n=u(e,"a","minimum"),r=u(t,"b","minimum");[n,r]=V(n,r),n.dtype==="bool"&&(n=C(n,"int32"),r=C(r,"int32")),q(n.shape,r.shape);const o=(a,s)=>{const c=a.minimum(n,r);return s([n,r]),c},i={a:n,b:r};return g.runKernelFunc(o,i,null,fi)}const Yn=m({minimum_:gL});function bL(e,t){let n=u(e,"a","mod"),r=u(t,"b","mod");[n,r]=V(n,r);const o=(a,s)=>{const c=a.mod(n,r);return s([n,r]),c},i={a:n,b:r};return g.runKernelFunc(o,i,null,gi)}const Is=m({mod_:bL});function wL(e){const t=u(e,"x","square"),n={},r=[t],o=[];return g.runKernelFunc((i,a)=>(a([t]),i.square(t)),{x:t},null,"Square",n,r,o)}const H=m({square_:wL});function xL(e,t=null,n=!1){e=u(e,"x","moments");const r=z(t,e.shape),o=Sn(e,r,n);let i=o.shape;n||(i=we(o.shape,r));const a=H(O(C(e,"float32"),y(o,i))),s=Sn(a,r,n);return{mean:o,variance:s}}const Xl=m({moments_:xL});function yL(e,t,n,r){const o=u(t,"data","multiRNNCell"),i=Zt(n,"c","multiRNNCell"),a=Zt(r,"h","multiRNNCell");let s=o;const c=[];for(let h=0;h2)throw new Error(`Rank of probabilities must be 1 or 2, but is ${a}`);n=n||Math.random();const s=a===1?y(o,[1,-1]):o,c=g.runKernelFunc(p=>p.multinomial(s,r,t,n),{logits2D:s});return a===1?y(c,[c.size]):c}const Ql=m({multinomial_:LL});function vL(e,t){let n=u(e,"a","notEqual"),r=u(t,"b","notEqual");[n,r]=V(n,r),q(n.shape,r.shape);const o=a=>a.notEqual(n,r),i={a:n,b:r};return g.runKernelFunc(o,i,null,hp)}const Vn=m({notEqual_:vL});function SL(e,t,n=1,r=0){if(t<2)throw new Error(`Error in oneHot: depth must be >=2, but it is ${t}`);const o=u(e,"indices","oneHot","int32"),i=[...o.shape,t],a=(p,l)=>(l([o]),y(p.oneHot(y(o,[o.size]),t,n,r),i)),s={indices:o},c={depth:t,onValue:n,offValue:r};return g.runKernelFunc(a,s,null,yi,c)}const jr=m({oneHot_:SL});function IL(e){const t=u(e,"x","onesLike"),n=(o,i)=>{if(t.dtype==="complex64"){const a=Fa(zt(t)),s=W(nn(t));return Ye(a,s)}return o.onesLike(t)},r={x:t};return g.runKernelFunc(n,r,null,xi)}const Fa=m({onesLike_:IL});function TL(e,t){const n=u(e,"v1","outerProduct"),r=u(t,"v2","outerProduct");f(n.rank===1&&r.rank===1,()=>`Error in outerProduct: inputs must be rank 1, but got ranks ${n.rank} and ${r.rank}.`);const o=y(n,[-1,1]),i=y(r,[1,-1]);return Y(o,i)}const eh=m({outerProduct_:TL});function AL(e,t,n=0){const r=u(e,"x","pad");if(r.rank===0)throw new Error("pad(scalar) is not defined. Pass non-scalar to pad");const o=(s,c)=>(c([r]),s.pad(r,t,n)),i={paddings:t,constantValue:n},a={x:r};return g.runKernelFunc(o,a,null,Li,i)}const Pe=m({pad_:AL});function NL(e,t,n=0){return f(t.length===2,()=>"Invalid number of paddings. Must be length of 2."),Pe(e,[t],n)}const th=m({pad1d_:NL});function RL(e,t,n=0){return f(t.length===2&&t[0].length===2&&t[1].length===2,()=>"Invalid number of paddings. Must be length of 2 each."),Pe(e,t,n)}const nh=m({pad2d_:RL});function _L(e,t,n=0){return f(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."),Pe(e,t,n)}const rh=m({pad3d_:_L});function CL(e,t,n=0){return f(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."),Pe(e,t,n)}const oh=m({pad4d_:CL});function EL(e,t,n){const r=u(e,"x","spaceToBatchND");f(r.rank>=1+t.length,()=>`input rank ${r.rank} should be > than [blockShape] ${t.length}`),f(n.length===t.length,()=>`paddings.shape[0] ${n.length} must be equal to [blockShape] ${t.length}`),f(r.shape.reduce((s,c,p)=>p>0&&p<=t.length?s&&(c+n[p-1][0]+n[p-1][1])%t[p-1]===0:s,!0),()=>`input spatial dimensions ${r.shape.slice(1)} with paddings ${n.toString()} must be divisible by blockShapes ${t.toString()}`);const o=s=>s.spaceToBatchND(r,t,n),i={x:r},a={blockShape:t,paddings:n};return g.runKernelFunc(o,i,null,Pi,a)}const Kn=m({spaceToBatchND_:EL});function DL(e,t,n,r,o,i){o==null&&(o=[1,1]),i==null&&(i=1),r===0&&(r="valid");const a=u(e,"x","maxPool");let s=a,c=!1;a.rank===3&&(c=!0,s=y(a,[1,a.shape[0],a.shape[1],a.shape[2]])),f(le(i,o),()=>`Error in pool: Either strides or dilations must be 1. Got strides ${i} and dilations '${o}'`);const p=_t(s.shape,t,i,o,r),l=[p.dilationHeight,p.dilationWidth];let h;r==="same"?h=kL([p.filterHeight,p.filterWidth],l):h=[[0,0],[0,0]];const d=l[0]===1&&l[1]===1,[b,x]=OL([p.inHeight,p.inWidth],l,h),w=d?r:"valid",L=d?s:Kn(s,l,b),S=n==="avg"?()=>pt(L,t,i,w):()=>Ae(L,t,i,w),I=S(),N=d?I:Bn(I,l,x);return c?y(N,[N.shape[1],N.shape[2],N.shape[3]]):N}function OL(e,t,n){const r=n.map(l=>l[0]),o=n.map(l=>l[1]),i=e.concat(r,o),a=t.map((l,h)=>(l-i[h]%l)%l),s=o.map((l,h)=>l+a[h]),c=t.map((l,h)=>[r[h],s[h]]),p=t.map((l,h)=>[0,a[h]]);return[c,p]}function kL(e,t){const n=e.map((a,s)=>a+(a-1)*(t[s]-1)),r=n.map(a=>a-1),o=r.map(a=>Math.floor(a/2)),i=r.map((a,s)=>a-o[s]);return r.map((a,s)=>[o[s],i[s]])}const ih=m({pool_:DL});function FL(e,t){let n=u(e,"base","pow"),r=u(t,"exp","pow");[n,r]=V(n,r);const o={a:n,b:r},i=(a,s)=>{const c=a.pow(n,r);return s([n,r,c]),c};return g.runKernelFunc(i,o,null,vi)}const Je=m({pow_:FL});function ML(e,t){const n=u(e,"x","prelu"),r=u(t,"alpha","prelu"),o=(a,s)=>{const c=a.prelu(n,r);return s([n,r]),c},i={x:n,alpha:r};return g.runKernelFunc(o,i,null,Si)}const Ts=m({prelu_:ML});function sh(e,t=!1){console.log(e.toString(t))}function UL(e,t=null,n=!1){let r=u(e,"x","prod");const o=s=>{r.dtype==="bool"&&(r=C(r,"int32"));const c=z(t,r.shape),p=ge(c,r.rank);let l=c,h=r;p!=null&&(h=K(r,p),l=De(l.length,r.rank));let d=s.prod(h,l);if(n){const b=we(d.shape,c);d=y(d,b)}return d},i={x:r},a={axis:t,keepDims:n};return g.runKernelFunc(o,i,null,fp,a)}const ah=m({prod_:UL});function WL(e,t,n){const r=Q(e);let o=null;if(n==null||n==="float32")o=new Float32Array(r);else if(n==="int32")o=new Int32Array(r);else if(n==="bool")o=new Uint8Array(r);else throw new Error(`Unknown data type ${n}`);for(let i=0;iHd,expectArrayBuffersEqual:()=>HL,expectArraysClose:()=>$L,expectArraysEqual:()=>GL,expectNumbersClose:()=>PL,expectPromiseToFail:()=>jL,expectValuesInRange:()=>qL,testEpsilon:()=>ph});const BL=.001,Hd=.1;function $L(e,t,n){return n==null&&(n=ph()),lh(e,t,(r,o)=>hh(r,o,n))}function ph(){return g.backend.floatPrecision()===32?BL:Hd}function lh(e,t,n){let r=!0;if((_e(e)||_e(t))&&(r=!1),_e(e)&&_e(t)&&(r=!0),r){const a=e.constructor.name,s=t.constructor.name;if(a!==s)throw new Error(`Arrays are of different type. Actual: ${a}. Expected: ${s}`)}if(Array.isArray(e)&&Array.isArray(t)){const a=We(e),s=We(t);if(!Te(a,s))throw new Error(`Arrays have different shapes. Actual: [${a}]. Expected: [${s}]`)}const o=_e(e)?e:$t(e),i=_e(t)?t:$t(t);if(o.length!==i.length)throw new Error(`Arrays have different lengths actual: ${o.length} vs expected: ${i.length}. Actual: ${o}. Expected: ${i}.`);for(let a=0;at.fail(),()=>t())}function jL(e,t){const n=typeof t=="string"||typeof t=="number"||typeof t=="boolean"?[t]:t;return Rt(e)||Rt(e[0])||Rt(t)||Rt(t[0])?lh(e,n,(r,o)=>r==o):lh(e,t,(r,o)=>hh(r,o,0))}function GL(e,t,n){if(n==null&&(n=ph()),!hh(e,t,n))throw new Error(`Numbers differ: actual === ${e}, expected === ${t}`)}function hh(e,t,n){return!isFinite(e)&&!isFinite(t)?!0:!(isNaN(e)||isNaN(t)||Math.abs(e-t)>n)}function PL(e,t,n){for(let r=0;rn)throw new Error(`Value out of range:${e[r]} low: ${t}, high: ${n}`)}function qL(e,t){expect(new Float32Array(e)).toEqual(new Float32Array(t))}const Ma=mu(Cu());class As{constructor(e,t,n,r,o){this.mean=e,this.stdDev=t,this.dtype=n,this.nextVal=NaN,this.truncated=r,this.truncated&&(this.upper=this.mean+this.stdDev*2,this.lower=this.mean-this.stdDev*2);const i=o||Math.random();this.random=Ma.alea(i.toString())}nextValue(){if(!isNaN(this.nextVal)){const r=this.nextVal;return this.nextVal=NaN,r}let e,t,n=!1;for(;!n;){let r,o,i;do r=2*this.random()-1,o=2*this.random()-1,i=r*r+o*o;while(i>=1||i===0);const a=Math.sqrt(-2*Math.log(i)/i);e=this.mean+this.stdDev*r*a,t=this.mean+this.stdDev*o*a,(!this.truncated||this.isValidTruncated(e))&&(n=!0)}return(!this.truncated||this.isValidTruncated(t))&&(this.nextVal=this.convertValue(t)),this.convertValue(e)}convertValue(e){return this.dtype==null||this.dtype==="float32"?e:Math.round(e)}isValidTruncated(e){return e<=this.upper&&e>=this.lower}}class Hd{constructor(e,t,n,r){this.alpha=e,this.beta=1/t,this.dtype=n;const o=r||Math.random();this.randu=Ma.alea(o.toString()),this.randn=new As(0,1,n,!1,this.randu()),e<1?this.d=e+2/3:this.d=e-1/3,this.c=1/Math.sqrt(9*this.d)}nextValue(){let e,t,n,r,o,i;for(;;){do r=this.randn.nextValue(),i=1+this.c*r;while(i<=0);if(i*=i*i,e=r*r,t=1-.331*e*e,n=.5*e+this.d*(1-i+Math.log(i)),o=this.randu(),othis.dtype==null||this.dtype==="float32",this.min=e,this.range=t-e,this.dtype=n,r==null&&(r=Math.random()),typeof r=="number"&&(r=r.toString()),!this.canReturnFloat()&&this.range<=1)throw new Error(`The difference between ${e} - ${t} <= 1 and dtype is not float`);this.random=Ma.alea(r)}convertValue(e){return this.canReturnFloat()?e:Math.round(e)}nextValue(){return this.convertValue(this.min+this.range*this.random())}}function HL(e,t,n=1,r="float32",o){if(n==null&&(n=1),r==null&&(r="float32"),r!=="float32"&&r!=="int32")throw new Error(`Unsupported data type ${r}`);const i=new Hd(t,n,r,o),a=Be(e,r);for(let s=0;s{const a=e===t,s=e1;if(a||s||c)return Ce([0],r);const p=Math.abs(Math.ceil((t-e)/n)),l=Pt(p,r);t{const i=r.reciprocal(t);return o([t]),i},n,null,Ii)}const mh=m({reciprocal_:VL});function KL(e){const t=u(e,"x","relu"),n=(o,i)=>(i([t]),t.dtype==="bool"?C(t,"int32"):o.relu(t)),r={x:t};return g.runKernelFunc(n,r,null,Ti)}const ie=m({relu_:KL});function JL(e){const t=u(e,"x","relu6"),n=(o,i)=>(i([t]),t.dtype==="bool"?C(t,"int32"):o.relu6(t)),r={x:t};return g.runKernelFunc(n,r,null,_i)}const Rs=m({relu6_:JL});function XL(e){const t=u(e,"x","reverse");return f(t.rank===1,()=>`Error in reverse1D: x must be rank 1 but got rank ${t.rank}.`),Ve(t,0)}const fh=m({reverse1d_:XL});function ZL(e,t){const n=u(e,"x","reverse");return f(n.rank===2,()=>`Error in reverse2D: x must be rank 2 but got rank ${n.rank}.`),Ve(n,t)}const gh=m({reverse2d_:ZL});function QL(e,t){const n=u(e,"x","reverse");return f(n.rank===3,()=>`Error in reverse3D: x must be rank 3 but got rank ${n.rank}.`),Ve(n,t)}const bh=m({reverse3d_:QL});function ev(e,t){const n=u(e,"x","reverse");return f(n.rank===4,()=>`Error in reverse4D: x must be rank 4 but got rank ${n.rank}.`),Ve(n,t)}const wh=m({reverse4d_:ev});function xh(e,t,n=0){let r=[];if(typeof t=="number")f(e.shape[n]%t===0,()=>"Number of splits must evenly divide the axis."),r=new Array(t).fill(e.shape[n]/t);else{const o=t.reduce((a,s)=>(s===-1&&(a+=1),a),0);f(o<=1,()=>"There should be only one negative value in split array.");const i=t.indexOf(-1);if(i!==-1){const a=t.reduce((s,c)=>c>0?s+c:s);t[i]=e.shape[n]-a}f(e.shape[n]===t.reduce((a,s)=>a+s),()=>"The sum of sizes must match the size of the axis dimension."),r=t}return r}function tv(e,t,n=0){const r=u(e,"x","split"),o=(s,c)=>{const p=z(n,r.shape)[0],l=xh(r,t,p);return s.split(r,l,p)},i={x:r},a={numOrSizeSplits:t,axis:n};return g.runKernelFunc(o,i,null,qi,a)}const Yt=m({split_:tv});function nv(e,t){f(e.dtype==="float32",()=>`The dtype for rfft() must be real value but got ${e.dtype}`);let n=e.shape[e.shape.length-1];const r=e.size/n;let o;if(t!=null&&t0),w=e.shape.map(L=>L);w[e.shape.length-1]=t,o=G(e,x,w),n=t}else if(t!=null&&t>n){const x=e.shape.map(w=>w);x[e.shape.length-1]=t-n,o=Z([e,Ce(x)],e.shape.length-1),n=t}else o=e;const i=W(o),a=y(Ye(o,i),[r,n]),s=Gn(a),c=Math.floor(n/2)+1,p=zt(s),l=nn(s),h=Yt(p,[c,n-c],p.shape.length-1),d=Yt(l,[c,n-c],l.shape.length-1),b=o.shape.slice();return b[o.shape.length-1]=c,y(Ye(h[0],d[0]),b)}const Jn=m({rfft_:nv});function rv(e){const t=u(e,"x","round"),n={x:t};return g.runKernelFunc(r=>r.round(t),n,null,Ei)}const yh=m({round_:rv});function ov(e){const t=u(e,"x","rsqrt"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.rsqrt(t);return o([t]),i},n,null,Oi)}const _s=m({rsqrt_:ov});function iv(e){const t=u(e,"x","selu"),n=(o,i)=>{const a=o.selu(t);return i([t]),a},r={x:t};return g.runKernelFunc(n,r,null,Di)}const Lh=m({selu_:iv});function sv(e,t,n,r,o,i=[1,1],a="NHWC"){const s=u(e,"x","separableConv2d"),c=u(t,"depthwiseFilter","separableConv2d"),p=u(n,"pointwiseFilter","separableConv2d");let l=s,h=!1;if(s.rank===3&&(h=!0,l=y(s,[1,s.shape[0],s.shape[1],s.shape[2]])),a==="NCHW")throw new Error("separableConv2d currently does not support dataFormat NCHW; only NHWC is supported");f(l.rank===4,()=>`Error in separableConv2d: input must be rank 4, but got rank ${l.rank}.`),f(c.rank===4,()=>`Error in separableConv2d: depthwise filter must be rank 4, but got rank ${c.rank}.`),f(p.rank===4,()=>`Error in separableConv2d: pointwise filter must be rank 4, but got rank ${c.rank}.`),f(p.shape[0]===1,()=>`Error in separableConv2d: the first dimension of pointwise filter must be 1, but got ${p.shape[0]}.`),f(p.shape[1]===1,()=>`Error in separableConv2d: the second dimension of pointwise filter must be 1, but got ${p.shape[1]}.`);const d=c.shape[2],b=c.shape[3];f(p.shape[2]===d*b,()=>`Error in separableConv2d: the third dimension of pointwise filter must be ${d*b}, but got ${p.shape[2]}.`);const x=en(l,c,r,o,a,i),w=1,L=xe(x,p,w,"valid",a);return h?y(L,[L.shape[1],L.shape[2],L.shape[3]]):L}const Xn=m({separableConv2d_:sv});async function av(e,t){const n=u(e,"x","setdiff1d"),r=u(t,"y","setdiff1d");f(n.dtype===r.dtype,()=>`x and y should have the same dtype, but got x (${n.dtype}) and y (${r.dtype}).`),f(n.rank===1,()=>`x should be 1D tensor, but got x (${n.shape}).`),f(r.rank===1,()=>`y should be 1D tensor, but got y (${r.shape}).`);const o=await n.data(),i=await r.data(),a=new Set(i);let s=0;for(let l=0;lr.sign(t),n,null,Wi)}const Sh=m({sign_:cv});function pv(e){const t=u(e,"x","sin"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.sin(t);return o([t]),i},n,null,Mi)}const Cs=m({sin_:pv});function lv(e){const t=u(e,"x","sinh"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.sinh(t);return o([t]),i},n,null,Ui)}const Es=m({sinh_:lv});function hv(e,t,n){const r=u(e,"x","slice1d");return f(r.rank===1,()=>`slice1d expects a rank-1 tensor, but got a rank-${r.rank} tensor`),G(r,[t],[n])}const Ih=m({slice1d_:hv});function uv(e,t,n){const r=u(e,"x","slice2d");return f(r.rank===2,()=>`slice2d expects a rank-2 tensor, but got a rank-${r.rank} tensor`),G(r,t,n)}const Th=m({slice2d_:uv});function dv(e,t,n){const r=u(e,"x","slice3d");return f(r.rank===3,()=>`slice3d expects a rank-3 tensor, but got a rank-${r.rank} tensor`),G(r,t,n)}const Os=m({slice3d_:dv});function mv(e,t,n){const r=u(e,"x","slice4d");return f(r.rank===4,()=>`slice4d expects a rank-4 tensor, but got a rank-${r.rank} tensor`),G(r,t,n)}const Ah=m({slice4d_:mv});function fv(e,t=-1){const n=u(e,"logits","softmax","float32");if(t===-1&&(t=n.rank-1),t!==n.rank-1)throw Error(`Softmax along a non-last dimension is not yet supported. Logits was rank ${n.rank} and dim was ${t}`);const r={logits:n},o={dim:t};return g.runKernelFunc((i,a)=>{const s=i.softmax(n,t);return a([s]),s},r,null,Hi,o)}const rn=m({softmax_:fv});function gv(e){const t=u(e,"x","sqrt"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.sqrt(t);return o([t]),i},n,null,ji)}const me=m({sqrt_:gv});function bv(e,t){let n=u(e,"a","squaredDifference"),r=u(t,"b","squaredDifference");[n,r]=V(n,r),q(n.shape,r.shape);const o=(s,c)=>{const p=s.squaredDifference(n,r);return c([n,r]),p},i={a:n,b:r},a={};return g.runKernelFunc(o,i,null,zi,a)}const Zn=m({squaredDifference_:bv});function wv(e,t){const n=u(e,"x","squeeze");return y(n,_p(n.shape,t).newShape)}const Qn=m({squeeze_:wv});function xv(e,t=0){const n=Zt(e,"tensors","stack");if(f(n.length>=1,()=>"Pass at least one tensor to tf.stack"),n.length===1)return et(n[0],t);const r=n[0].rank,o=n[0].shape,i=n[0].dtype;f(t<=r,()=>"Axis must be <= rank of the tensor"),n.forEach(s=>{P(o,s.shape,"All tensors passed to stack must have matching shapes"),f(i===s.dtype,()=>"All tensors passed to stack must have matching dtypes")});const a=n.map(s=>et(s,t));return Z(a,t)}const ke=m({stack_:xv});function yv(e,t=0){const n=u(e,"x","step"),r={x:n},o={alpha:t};return g.runKernelFunc(i=>i.step(n,t),r,null,ts,o)}const Dt=m({step_:yv});function Lv(e,t,n,r,o=0,i=0,a=0,s=0,c=0){r==null&&(r=new Array(t.length));let p=u(e,"x","stridedSlice");const l=b=>{const x=us(a);if(x.length>1)throw new Error("Multiple ellipses in slice is not allowed.");if(a!==0&&s!==0)throw new Error("Using both ellipsisMask and newAxisMask is not yet supported.");if(a!==0&&c!==0)throw new Error("Using both ellipsisMask and shrinkAxisMask is not yet supported.");const w=p.rank-t.length,L=us(s),S=p.shape.slice();if(L.forEach(D=>{t[D]=0,n[D]=1,S.splice(D,0,1)}),p=y(p,S),x.length&&w>0){const D=x[0],$=w+1;t=dl(o,D,$,t,p.shape),n=ml(i,D,$,n,p.shape),r=ul(r,D,$,p.shape)}else for(let D=0;D{n[D]=t[D]+1,r[D]=1});const N=hl(t,n,r),A=N.filter((D,$)=>I.indexOf($)===-1),E=r.every(D=>D===1);if(E)return y(G(p,t,N),A);const M=b.stridedSlice(p,t,n,r);return y(M,A)},h={x:p},d={begin:t,end:n,strides:r,beginMask:o,endMask:i,ellipsisMask:a,newAxisMask:s,shrinkAxisMask:c};return g.runKernelFunc(l,h,null,Sp,d)}const Nh=m({stridedSlice_:Lv});function vv(e){const t=u(e,"x","tan"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.tan(t);return o([t]),i},n,null,Vi)}const Rh=m({tan_:vv});function mt(e,t,n){if(at(e),t!=null&&t.length!==2)throw new Error("tensor2d() requires shape to have two numbers");const r=We(e,n);if(r.length!==2&&r.length!==1)throw new Error("tensor2d() requires values to be number[][] or flat/TypedArray");if(r.length===1&&t==null)throw new Error("tensor2d() requires shape to be provided when `values` are a flat/TypedArray");return He(e,t,r,n)}function er(e,t,n){if(at(e),t!=null&&t.length!==3)throw new Error("tensor3d() requires shape to have three numbers");const r=We(e,n);if(r.length!==3&&r.length!==1)throw new Error("tensor3d() requires values to be number[][][] or flat/TypedArray");if(r.length===1&&t==null)throw new Error("tensor3d() requires shape to be provided when `values` are a flat array");return He(e,t,r,n)}function ft(e,t,n){if(at(e),t!=null&&t.length!==4)throw new Error("tensor4d() requires shape to have four numbers");const r=We(e,n);if(r.length!==4&&r.length!==1)throw new Error("tensor4d() requires values to be number[][][][] or flat/TypedArray");if(r.length===1&&t==null)throw new Error("tensor4d() requires shape to be provided when `values` are a flat array");return He(e,t,r,n)}function _h(e,t,n){if(at(e),t!=null&&t.length!==5)throw new Error("tensor5d() requires shape to have five numbers");const r=We(e,n);if(r.length!==5&&r.length!==1)throw new Error("tensor5d() requires values to be number[][][][][] or flat/TypedArray");if(r.length===1&&t==null)throw new Error("tensor5d() requires shape to be provided when `values` are a flat array");return He(e,t,r,n)}function Ch(e,t,n){if(at(e),t!=null&&t.length!==6)throw new Error("tensor6d() requires shape to have six numbers");const r=We(e,n);if(r.length!==6&&r.length!==1)throw new Error("tensor6d() requires values to be number[][][][][][] or flat/TypedArray");if(r.length===1&&t==null)throw new Error("tensor6d() requires shape to be provided when `values` are a flat array");return t=t||r,He(e,t,r,n)}function Sv(e,t=1,n=!0){const r=u(e,"x","topk");if(r.rank===0)throw new Error("topk() expects the input to be of rank 1 or higher");const o=r.shape[r.shape.length-1];if(t>o)throw new Error(`'k' passed to topk() must be <= the last dimension (${o}) but got ${t}`);const i={x:r},a={k:t,sorted:n},[s,c]=g.runKernelFunc(p=>p.topk(r,t,n),i,null,Ip,a);return{values:s,indices:c}}const Eh=m({topk_:Sv});function Iv(e,t=0,n=1,r,o){if(r!=null&&r==="bool")throw new Error("Unsupported data type $ { dtype }");const i=new As(t,n,r,!0,o),a=Be(e,r);for(let s=0;s"numSegments must be of dtype int");const i={x:r,segmentIds:o},a={numSegments:n},s=(c,p)=>{const l=c.unsortedSegmentSum(r,o,n);return p([o]),l};return g.runKernelFunc(s,i,null,Qi,a)}const ks=m({unsortedSegmentSum_:Tv});function Av(e,t=0){const n=u(e,"x","unstack");f(t>=-n.shape.length&&t`Axis = ${t} is not in [-${n.shape.length}, ${n.shape.length})`),t<0&&(t+=n.shape.length);const r={value:n},o={axis:t},i=a=>a.unstack(n,t);return g.runKernelFunc(i,r,null,Zi,o)}const Ie=m({unstack_:Av});function kh(e,t=!0,n,r){return g.makeVariable(e,t,n,r)}function Ua(e,t){const n=[];for(let i=0;i0,()=>"mask cannot be scalar"),P(s.slice(i,i+a),o.shape,"mask's shape must match the first K dimensions of tensor's shape,");let c=1;for(let w=i;w"Shape mismatch in v and x");const c=_(1),p=O(c,s);let l=v(O(a,i),p);if(o){f(r!=null,()=>"When using zeroDebias: true, step is required.");const h=u(r,"step","movingAverage");l=F(l,O(c,Je(s,h)))}return R(i,l)}const lm=m({movingAverage_:Hv});const hm={};Re(hm,{calculateShapes:()=>um,validateInput:()=>Wa,validateUpdateShape:()=>Dh});function Dh(e,t,n){const r=t.rank>1?t.shape[t.rank-1]:1,o=t.rank>1?t.rank-1:1,i=`Must have updates.shape = indices.shape[:batchDim] + shape[sliceDim:], got updates.shape: ${n.shape}, indices.shape: ${t.shape}, shape: ${e}, sliceDim: ${r}, and batchDim: ${o}.`;if(n.rank1?t.shape[r-1]:1,i=n.length;let a=1;for(let h=o;hc.scatterND(r,o,n),a={indices:r,updates:o},s={shape:n};return g.runKernelFunc(i,a,null,yp,s)}const dm=m({scatterND_:zv});function mm(e,t,n,r){if(e.dtype!=="int32")throw new Error(`tf.sparseToDense() expects the indices to be int32 type, but the dtype was ${e.dtype}.`);if(e.rank>2)throw new Error(`sparseIndices should be a scalar, vector, or matrix, but got shape ${e.shape}.`);const o=e.rank>0?e.shape[0]:1,i=e.rank>1?e.shape[1]:1;if(n.length!==i)throw new Error(`outputShape has incorrect number of elements:, ${n.length}, should be: ${i}.`);const a=t.size;if(!(t.rank===0||t.rank===1&&a===o))throw new Error(`sparseValues has incorrect shape ${t.shape}, should be [] or [${o}]`);if(t.dtype!==r.dtype)throw new Error("sparseValues.dtype must match defaultValues.dtype")}function Yv(e,t,n,r=0){const o=u(e,"sparseIndices","sparseToDense","int32"),i=u(t,"sparseValues","sparseToDense"),a=u(r,"defaultValue","sparseToDense",i.dtype);mm(o,i,n,a);const s={sparseIndices:o,sparseValues:i,defaultValue:a},c={outputShape:n};return g.runKernelFunc(p=>p.sparseToDense(o,i,n,a),s,null,vp,c)}const fm=m({sparseToDense_:Yv});function Vv(e,t){const n=u(t,"indices","gatherND","int32"),r=u(e,"x","gatherND"),o=a=>a.gatherND(r,n),i={params:r,indices:n};return g.runKernelFunc(o,i,null,Xc)}const gm=m({gatherND_:Vv});function bm(e,t){if(t==null)return e.shape.slice();if(Te(e.shape,t))return t;if(e.shape.length===t.length){const n=[];for(let r=0;r`x has to be a floating point tensor since it's going to be scaled, but got a ${o.dtype} tensor instead.`),f(t>=0&&t<1,()=>`rate must be a float in the range [0, 1), but got ${t}.`),t===0)return e instanceof ee?o.clone():o;const i=bm(o,n),a=1-t,s=F(Pn(R(Ns(i,0,1,"float32",r),a)),a);return v(o,s)}const wm=m({dropout_:Kv});function Ba(e){return Math.floor(Math.pow(2,Math.ceil(Math.log(e)/Math.log(2))))}function qr(e,t,n){const r=1-e%2,o=new Float32Array(e);for(let i=0;i1,()=>`inTopK() expects the predictions to be of rank 2 or higher, but got ${r.rank}`),f(r.rank-1===o.rank,()=>`predictions rank should be 1 larger than targets rank, but got predictions rank ${r.rank} and targets rank ${o.rank}`),P(r.shape.slice(0,r.shape.length-1),o.shape,"predictions's shape should be align with the targets' shape, except the last dimension.");const i=r.shape[r.shape.length-1];f(n>0&&n<=i,()=>`'k' passed to inTopK() must be > 0 && <= the predictions last dimension (${i}), but got ${n}`);const a=await r.data(),s=await o.data(),[c,p]=[a.length/i,i],l=Er("bool",c);for(let h=0;hL.value-w.value),l[h]=0;for(let w=0;w`Error in conv2dDerFilter: input must be rank 4, but got shape ${s.shape}.`),f(c.rank===4,()=>`Error in conv2dDerFilter: dy must be rank 4, but got shape ${c.shape}.`),f(n.length===4,()=>`Error in conv2dDerFilter: filterShape must be length 4, but got ${n}.`);const p=i==="NHWC"?s.shape[3]:s.shape[1],l=i==="NHWC"?c.shape[3]:c.shape[1];f(p===n[2],()=>`Error in conv2dDerFilter: depth of input ${p}) must match input depth in filter (${n[2]}.`),f(l===n[3],()=>`Error in conv2dDerFilter: depth of dy (${l}) must match output depth for filter (${n[3]}).`),a!=null&&f(X(o),()=>`Error in conv2dDerFilter: pad must be an integer when using, dimRoundingMode ${a} but got pad ${o}.`);const h=x=>{const w=1,L=yn(i),S=je(s.shape,n,r,w,o,a,!1,L);return x.conv2dDerFilter(s,c,S)},d={x:s,dy:c},b={strides:r,pad:o,dataFormat:i,dimRoundingMode:a};return g.runKernelFunc(h,d,null,Mc,b)}const Hr=m({conv2DBackpropFilter_:Xv});function tr(e,t,n){if(n==null||n==="linear")return e;if(n==="relu")return v(e,Dt(t));throw new Error(`Cannot compute gradient for fused activation ${n}.`)}function nr(e,t){let n=t;const r=ae(e.shape,t.shape);return r.length>0&&(n=U(n,r)),y(n,e.shape)}function rr(e,t,n){if(t==="linear")return e;if(t==="relu")return ie(e);if(t==="elu")return bs(e);if(t==="relu6")return Rs(e);if(t==="prelu")return Ts(e,n);throw new Error(`Unknown fused activation ${t}.`)}const or=(e,t)=>{const n=e>0;return!n||t==="linear"};function Zv({x:e,filter:t,strides:n,pad:r,dataFormat:o="NHWC",dilations:i=[1,1],dimRoundingMode:a,bias:s,activation:c="linear",preluActivationWeights:p}){if(c=c||"linear",or(g.state.gradientDepth,c)===!1){let E=xe(e,t,n,r,o,i,a);return s!=null&&(E=R(E,s)),rr(E,c,p)}const l=u(e,"x","conv2d"),h=u(t,"filter","conv2d");let d=l,b=!1;l.rank===3&&(b=!0,d=y(l,[1,l.shape[0],l.shape[1],l.shape[2]])),f(d.rank===4,()=>`Error in fused conv2d: input must be rank 4, but got rank ${d.rank}.`),f(h.rank===4,()=>`Error in fused conv2d: filter must be rank 4, but got rank ${h.rank}.`),a!=null&&f(X(r),()=>`Error in fused conv2d: pad must be an integer when using, dimRoundingMode ${a} but got pad ${r}.`),f(d.shape[3]===h.shape[2],()=>`Error in conv2d: depth of input (${d.shape[3]}) must match input depth for filter ${h.shape[2]}.`),f(le(n,i),()=>`Error in conv2D: Either strides or dilations must be 1. Got strides ${n} and dilations '${i}'`),f(o==="NHWC",()=>`Error in conv2d: got dataFormat of ${o} but only NHWC is currently supported.`);const x=je(d.shape,h.shape,n,i,r,a);let w;s!=null&&(w=u(s,"bias","fused conv2d"),[w]=V(w,l),q(x.outShape,w.shape));let L;p!=null&&(L=u(p,"prelu weights","fused conv2d"));const S=(E,M)=>{const[D,$,B,j]=M,te=tr(E,B,c);f(ct(i),()=>`Error in gradient of fused conv2D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${i}'`);const re=$r($.shape,te,D,n,r),he=Hr($,te,D.shape,n,r),ye=[re,he];if(j!=null){const Me=nr(j,te);ye.push(Me)}return ye},I=E=>{const M=E.fusedConv2d({input:d,filter:h,convInfo:x,bias:w,activation:c,preluActivationWeights:L});return M},N={x:d,filter:h,bias:w,preluActivationWeights:L},A={strides:n,pad:r,dataFormat:o,dilations:i,dimRoundingMode:a,activation:c};if(s==null){const E=Ke((M,D,$)=>{let B=g.runKernelFunc(I,N,null,Sa,A);return $([D,M,B]),b&&(B=y(B,[B.shape[1],B.shape[2],B.shape[3]])),{value:B,gradFunc:S}});return E(d,h)}else{const E=Ke((M,D,$,B)=>{let j=g.runKernelFunc(I,N,null,Sa,A);return B([D,M,j,$]),b&&(j=y(j,[j.shape[1],j.shape[2],j.shape[3]])),{value:j,gradFunc:S}});return E(d,h,w)}}const Qv=m({fusedConv2d_:Zv});function eS(e,t,n,r){let o=e;e.rank===3&&(o=y(e,[1,e.shape[0],e.shape[1],e.shape[2]]));let i=t;i.rank===3&&(i=y(t,[1,t.shape[0],t.shape[1],t.shape[2]]));const a=c=>c.depthwiseConv2DDerFilter(o,i,r),s={x:o,dy:i};return g.runKernelFunc(a,s,null,jc)}const $a=m({depthwiseConv2dNativeBackpropFilter_:eS});function tS(e,t,n,r){let o=t,i=!1;t.rank===3&&(i=!0,o=y(t,[1,t.shape[0],t.shape[1],t.shape[2]]));const a=p=>p.depthwiseConv2DDerInput(o,n,r),s={dy:o},c=g.runKernelFunc(a,s,null,Gc);return i?y(c,[c.shape[1],c.shape[2],c.shape[3]]):c}const ja=m({depthwiseConv2dNativeBackpropInput_:tS});function nS({x:e,filter:t,strides:n,pad:r,dataFormat:o="NHWC",dilations:i=[1,1],dimRoundingMode:a,bias:s,activation:c="linear",preluActivationWeights:p}){if(or(g.state.gradientDepth,c)===!1){let E=en(e,t,n,r,o,i,a);return s!=null&&(E=R(E,s)),rr(E,c,p)}const l=u(e,"x","depthwiseConv2d"),h=u(t,"filter","depthwiseConv2d");let d=l,b=!1;l.rank===3&&(b=!0,d=y(l,[1,l.shape[0],l.shape[1],l.shape[2]])),f(d.rank===4,()=>`Error in fused depthwiseConv2d: input must be rank 4, but got rank ${d.rank}.`),f(h.rank===4,()=>`Error in fused depthwiseConv2d: filter must be rank 4, but got rank ${h.rank}.`),f(d.shape[3]===h.shape[2],()=>`Error in fused depthwiseConv2d: number of input channels (${d.shape[3]}) must match the inChannels dimension in filter ${h.shape[2]}.`),i==null&&(i=[1,1]),f(le(n,i),()=>`Error in fused depthwiseConv2d: Either strides or dilations must be 1. Got strides ${n} and dilations '${i}'`),a!=null&&f(X(r),()=>`Error in fused depthwiseConv2d: pad must be an integer when using dimRoundingMode ${a} but got pad ${r}.`);const x=je(d.shape,h.shape,n,i,r,a,!0);let w;s!=null&&(w=u(s,"bias","fused conv2d"),[w]=V(w,l),q(x.outShape,w.shape));let L;p!=null&&(L=u(p,"prelu weights","fused depthwiseConv2d"));const S=(E,M)=>{f(ct(i),()=>`Error in gradient of fused depthwiseConv2d: dilation rates greater than 1 are not yet supported. Got dilations '${i}'`);const[D,$,B,j]=M,te=tr(E,B,c),re=ja($.shape,te,D,x),he=$a($,te,D.shape,x);if(j!=null){const ye=nr(w,te);return[re,he,ye]}return[re,he]},I=E=>{const M=E.fusedDepthwiseConv2D({input:d,filter:h,convInfo:x,bias:w,activation:c,preluActivationWeights:L});return M},N={x:d,filter:h,bias:w,preluActivationWeights:L},A={strides:n,pad:r,dataFormat:o,dilations:i,dimRoundingMode:a,activation:c};if(s==null){const E=Ke((M,D,$)=>{let B=g.runKernelFunc(I,N,null,Ia,A);return $([D,M,B]),b&&(B=y(B,[B.shape[1],B.shape[2],B.shape[3]])),{value:B,gradFunc:S}});return E(d,h)}else{const E=Ke((M,D,$,B)=>{let j=g.runKernelFunc(I,N,null,Ia,A);return B([D,M,j,$]),b&&(j=y(j,[j.shape[1],j.shape[2],j.shape[3]])),{value:j,gradFunc:S}});return E(d,h,w)}}const rS=m({fusedDepthwiseConv2d_:nS});function oS({a:e,b:t,transposeA:n=!1,transposeB:r=!1,bias:o,activation:i="linear",preluActivationWeights:a}){if(or(g.state.gradientDepth,i)===!1){let j=Y(e,t,n,r);return o!=null&&(j=R(j,o)),rr(j,i,a)}let s=u(e,"a","fused matMul"),c=u(t,"b","fused matMul");[s,c]=V(s,c);const p=n?s.shape[s.rank-2]:s.shape[s.rank-1],l=r?c.shape[c.rank-1]:c.shape[c.rank-2],h=n?s.shape[s.rank-1]:s.shape[s.rank-2],d=r?c.shape[c.rank-2]:c.shape[c.rank-1],b=s.shape.slice(0,-2),x=c.shape.slice(0,-2),w=Q(b),L=Q(x);f(s.rank>=2&&c.rank>=2&&s.rank===c.rank,()=>`Error in fused matMul: inputs must have the same rank of at least 2, got ranks ${s.rank} and ${c.rank}.`),f(Te(b,x),()=>`Error in fused matMul: outer dimensions (${b}) and (${x}) of Tensors with shapes ${s.shape} and ${c.shape} must match.`),f(p===l,()=>`Error in fused matMul: inner shapes (${p}) and (${l}) of Tensors with shapes ${s.shape} and ${c.shape} and transposeA=${n} and transposeB=${r} must match.`);const S=s.shape.slice(0,-2).concat([h,d]),I=n?y(s,[w,p,h]):y(s,[w,h,p]),N=r?y(c,[L,d,l]):y(c,[L,l,d]);let A;o!=null&&(A=u(o,"bias","fused matMul"),[A]=V(A,s),q(S,A.shape));let E;a!=null&&(E=u(a,"prelu weights","fused matMul"));const M=(j,te)=>{const[re,he,ye,Me]=te,Tt=tr(y(j,ye.shape),ye,i);let ln,wr;if(!n&&!r?(ln=Y(Tt,he,!1,!0),wr=Y(re,Tt,!0,!1)):!n&&r?(ln=Y(Tt,he,!1,!1),wr=Y(Tt,re,!0,!1)):n&&!r?(ln=Y(he,Tt,!1,!0),wr=Y(re,Tt,!1,!1)):(ln=Y(he,Tt,!0,!0),wr=Y(Tt,re,!0,!0)),o!=null){const Hb=nr(Me,Tt);return[ln,wr,Hb]}else return[ln,wr]},D=j=>{const te=j.fusedBatchMatMul({a:I,b:N,transposeA:n,transposeB:r,bias:A,activation:i,preluActivationWeights:E});return te},$={a:I,b:N,bias:A,preluActivationWeights:E},B={transposeA:n,transposeB:r,activation:i};if(o==null){const j=Ke((te,re,he)=>{const ye=g.runKernelFunc(D,$,null,va,B);return he([te,re,ye]),{value:y(ye,S),gradFunc:M}});return j(I,N)}else{const j=Ke((te,re,he,ye)=>{const Me=g.runKernelFunc(D,$,null,va,B);return ye([te,re,Me,he]),{value:y(Me,S),gradFunc:M}});return j(I,N,A)}}const iS=m({fusedMatMul_:oS});const Fh={};Re(Fh,{conv2d:()=>Qv,depthwiseConv2d:()=>rS,matMul:()=>iS});function sS(e){return qr(e,.54,.46)}const ym=m({hammingWindow_:sS});function aS(e){return qr(e,.5,.5)}const Ga=m({hannWindow_:aS});function cS(e,t,n,r=!1,o=0){let i=0;const a=[];for(;i+t<=e.size;)a.push(G(e,i,t)),i+=n;if(r)for(;i`Error in cropAndResize: image must be rank 4,but got rank ${a.rank}.`),f(s.rank===2&&s.shape[1]===4,()=>`Error in cropAndResize: boxes must be have size [${p},4] but had shape ${s.shape}.`),f(c.rank===1&&c.shape[0]===p,()=>`Error in cropAndResize: boxInd must be have size [${p}] but had shape ${s.shape}.`),f(r.length===2,()=>`Error in cropAndResize: cropSize must be of length 2, but got length ${r.length}.`),f(r[0]>=1&&r[1]>=1,()=>`cropSize must be atleast [1,1], but was ${r}`),f(o==="bilinear"||o==="nearest",()=>`method must be bilinear or nearest, but was ${o}`);const l=x=>x.cropAndResize(a,s,c,r,o,i),h={image:a,boxes:s,boxInd:c},d={method:o,extrapolationValue:i,cropSize:r},b=g.runKernelFunc(l,h,null,Bc,d);return b}const vm=m({cropAndResize_:lS});function hS(e){const t=u(e,"image","flipLeftRight","float32");f(t.rank===4,()=>`Error in flipLeftRight: image must be rank 4,but got rank ${t.rank}.`);const n={image:t},r=g.runKernel(Jc,n,{});return r}const Sm=m({flipLeftRight_:hS});function uS(e,t,n=0,r=.5){const o=u(e,"image","rotateWithOffset","float32");f(o.rank===4,()=>`Error in rotateWithOffset: image must be rank 4,but got rank ${o.rank}.`);const i={image:o},a={radians:t,fillValue:n,center:r},s=g.runKernel(Tp,i,a);return s}const Im=m({rotateWithOffset_:uS});function St(e,t,n,r,o,i){r==null&&(r=.5),o==null&&(o=Number.NEGATIVE_INFINITY),i==null&&(i=0);const a=e.shape[0];return n=Math.min(n,a),f(0<=r&&r<=1,()=>`iouThreshold must be in [0, 1], but was '${r}'`),f(e.rank===2,()=>`boxes must be a 2D tensor, but was of rank '${e.rank}'`),f(e.shape[1]===4,()=>`boxes must have 4 columns, but 2nd dimension was ${e.shape[1]}`),f(t.rank===1,()=>"scores must be a 1D tensor"),f(t.shape[0]===a,()=>`scores has incompatible shape with boxes. Expected ${a}, but was ${t.shape[0]}`),f(0<=i&&i<=1,()=>`softNmsSigma must be in [0, 1], but was '${i}'`),{maxOutputSize:n,iouThreshold:r,scoreThreshold:o,softNmsSigma:i}}function dS(e,t,n,r=.5,o=Number.NEGATIVE_INFINITY){const i=u(e,"boxes","nonMaxSuppression"),a=u(t,"scores","nonMaxSuppression"),s=St(i,a,n,r,o);n=s.maxOutputSize,r=s.iouThreshold,o=s.scoreThreshold;const c={maxOutputSize:n,iouThreshold:r,scoreThreshold:o};return g.runKernelFunc(p=>p.nonMaxSuppression(i,a,n,r,o),{boxes:i,scores:a},null,up,c)}const Tm=m({nonMaxSuppression_:dS});function Am(e,t,n){const r=mS(e,t,n),o=r<0?-(r+1):r;e.splice(o,0,t)}function mS(e,t,n){return gS(e,t,n||fS)}function fS(e,t){return e>t?1:e>>1);const s=n(t,e[i]);s>0?r=i+1:(o=i,a=!s)}return a?r:-r-1}function qa(e,t,n,r,o){return Mh(e,t,n,r,o,0).selectedIndices}function Ha(e,t,n,r,o,i){return Mh(e,t,n,r,o,0,!1,i,!0)}function za(e,t,n,r,o,i){return Mh(e,t,n,r,o,i,!0)}function Mh(e,t,n,r,o,i,a=!1,s=!1,c=!1){const p=[];for(let L=0;Lo&&p.push({score:t[L],boxIndex:L,suppressBeginIndex:0});p.sort(Nm);const l=i>0?-.5/i:0,h=[],d=[];for(;h.length0;){const L=p.pop(),{score:S,boxIndex:I,suppressBeginIndex:N}=L;if(S=N;--E){const M=bS(e,I,h[E]);if(M>=r){A=!0;break}if(L.score=L.score*wS(r,l,M),L.score<=o)break}L.suppressBeginIndex=h.length,A||(L.score===S?(h.push(I),d.push(L.score)):L.score>o&&Am(p,L,Nm))}const b=h.length,x=n-b;s&&x>0&&(h.push(...new Array(x).fill(0)),d.push(...new Array(x).fill(0)));const w={selectedIndices:ce(h,"int32")};return a&&(w.selectedScores=ce(d,"float32")),c&&(w.validOutputs=_(b,"int32")),w}function bS(e,t,n){const r=e.subarray(t*4,t*4+4),o=e.subarray(n*4,n*4+4),i=Math.min(r[0],r[2]),a=Math.min(r[1],r[3]),s=Math.max(r[0],r[2]),c=Math.max(r[1],r[3]),p=Math.min(o[0],o[2]),l=Math.min(o[1],o[3]),h=Math.max(o[0],o[2]),d=Math.max(o[1],o[3]),b=(s-i)*(c-a),x=(h-p)*(d-l);if(b<=0||x<=0)return 0;const w=Math.max(i,p),L=Math.max(a,l),S=Math.min(s,h),I=Math.min(c,d),N=Math.max(S-w,0)*Math.max(I-L,0);return N/(b+x-N)}function wS(e,t,n){const r=Math.exp(t*n*n);return n<=e?r:0}function Nm(e,t){return e.score-t.score||e.score===t.score&&t.boxIndex-e.boxIndex}async function xS(e,t,n,r=.5,o=Number.NEGATIVE_INFINITY){const i=u(e,"boxes","nonMaxSuppressionAsync"),a=u(t,"scores","nonMaxSuppressionAsync"),s=St(i,a,n,r,o);n=s.maxOutputSize,r=s.iouThreshold,o=s.scoreThreshold;const c=await Promise.all([i.data(),a.data()]),p=c[0],l=c[1],h=qa(p,l,n,r,o);return i!==e&&i.dispose(),a!==t&&a.dispose(),h}const Rm=xS;function yS(e,t,n,r=.5,o=Number.NEGATIVE_INFINITY,i=0){const a=u(e,"boxes","nonMaxSuppression"),s=u(t,"scores","nonMaxSuppression"),c=St(a,s,n,r,o,i);n=c.maxOutputSize,r=c.iouThreshold,o=c.scoreThreshold,i=c.softNmsSigma;const p={boxes:a,scores:s},l={maxOutputSize:n,iouThreshold:r,scoreThreshold:o,softNmsSigma:i},h=g.runKernel(mp,p,l);return{selectedIndices:h[0],selectedScores:h[1]}}const _m=m({nonMaxSuppressionWithScore_:yS});async function LS(e,t,n,r=.5,o=Number.NEGATIVE_INFINITY,i=0){const a=u(e,"boxes","nonMaxSuppressionAsync"),s=u(t,"scores","nonMaxSuppressionAsync"),c=St(a,s,n,r,o,i);n=c.maxOutputSize,r=c.iouThreshold,o=c.scoreThreshold,i=c.softNmsSigma;const p=await Promise.all([a.data(),s.data()]),l=p[0],h=p[1],d=za(l,h,n,r,o,i);return a!==e&&a.dispose(),s!==t&&s.dispose(),d}const Cm=LS;function vS(e,t,n,r=.5,o=Number.NEGATIVE_INFINITY,i=!1){const a=u(e,"boxes","nonMaxSuppression"),s=u(t,"scores","nonMaxSuppression"),c=St(a,s,n,r,o,null),p=c.maxOutputSize,l=c.iouThreshold,h=c.scoreThreshold,d={boxes:a,scores:s},b={maxOutputSize:p,iouThreshold:l,scoreThreshold:h,padToMaxOutputSize:i},x=g.runKernel(dp,d,b);return{selectedIndices:x[0],validOutputs:x[1]}}const Em=m({nonMaxSuppressionPadded_:vS});async function SS(e,t,n,r=.5,o=Number.NEGATIVE_INFINITY,i=!1){const a=u(e,"boxes","nonMaxSuppressionAsync"),s=u(t,"scores","nonMaxSuppressionAsync"),c=St(a,s,n,r,o,null),p=c.maxOutputSize,l=c.iouThreshold,h=c.scoreThreshold,[d,b]=await Promise.all([a.data(),s.data()]),x=Ha(d,b,p,l,h,i);return a!==e&&a.dispose(),s!==t&&s.dispose(),x}const Om=SS;function IS(e,t,n=!1){const r=u(e,"images","resizeBilinear");f(r.rank===3||r.rank===4,()=>`Error in resizeBilinear: x must be rank 3 or 4, but got rank ${r.rank}.`),f(t.length===2,()=>`Error in resizeBilinear: new shape must 2D, but got shape ${t}.`);let o=r,i=!1;r.rank===3&&(i=!0,o=y(r,[1,r.shape[0],r.shape[1],r.shape[2]]));const[a,s]=t,c=(d,b)=>(b([o]),d.resizeBilinear(o,a,s,n)),p={images:o},l={alignCorners:n,size:t},h=g.runKernelFunc(c,p,null,Ri,l);return i?y(h,[h.shape[1],h.shape[2],h.shape[3]]):h}const km=m({resizeBilinear_:IS});function TS(e,t,n=!1){const r=u(e,"images","resizeNearestNeighbor");f(r.rank===3||r.rank===4,()=>`Error in resizeNearestNeighbor: x must be rank 3 or 4, but got rank ${r.rank}.`),f(t.length===2,()=>`Error in resizeNearestNeighbor: new shape must 2D, but got shape ${t}.`),f(r.dtype==="float32"||r.dtype==="int32",()=>"`images` must have `int32` or `float32` as dtype");let o=r,i=!1;r.rank===3&&(i=!0,o=y(r,[1,r.shape[0],r.shape[1],r.shape[2]]));const[a,s]=t,c={images:o},p={alignCorners:n,size:t},l=(d,b)=>(b([o]),d.resizeNearestNeighbor(o,a,s,n)),h=g.runKernelFunc(l,c,null,Ni,p);return i?y(h,[h.shape[1],h.shape[2],h.shape[3]]):h}const Dm=m({resizeNearestNeighbor_:TS});function AS(e,t,n){f(t%1===0,()=>`bandPart(): numLower must be an integer, got ${t}.`),f(n%1===0,()=>`bandPart(): numUpper must be an integer, got ${n}.`);const r=u(e,"a","bandPart");f(r.rank>=2,()=>`bandPart(): Rank must be at least 2, got ${r.rank}.`);const o=r.shape,[i,a]=r.shape.slice(-2);if(!(t<=i))throw new Error(`bandPart(): numLower (${t}) must not be greater than the number of rows (${i}).`);if(!(n<=a))throw new Error(`bandPart(): numUpper (${n}) must not be greater than the number of columns (${a}).`);t<0&&(t=i),n<0&&(n=a);const s=y(Gr(0,i,1,"int32"),[-1,1]),c=Gr(0,a,1,"int32"),p=O(s,c),l=Lt(ut(p,_(+t,"int32")),ht(p,_(-n,"int32"))),h=Ce([i,a],r.dtype);return y(ke(Ie(y(r,[-1,i,a])).map(d=>Oe(l,d,h))),o)}const Fm=m({bandPart_:AS});function NS(e){let t;if(Array.isArray(e)){t=!1,f(e!=null&&e.length>0,()=>"Gram-Schmidt process: input must not be null, undefined, or empty");const o=e[0].shape[0];for(let i=1;i`Gram-Schmidt: Non-unique lengths found in the input vectors: (${e[i].shape[0]} vs. ${o})`)}else t=!0,e=Yt(e,e.shape[0],0).map(o=>Qn(o,[0]));f(e.length<=e[0].shape[0],()=>`Gram-Schmidt: Number of vectors (${e.length}) exceeds number of dimensions (${e[0].shape[0]}).`);const n=[],r=e;for(let o=0;o{let i=r[o];if(o>0)for(let a=0;a=2,()=>`qr() requires input tensor to have a rank >= 2, but got rank ${e.rank}`),e.rank===2)return Um(e,t);{const n=e.shape.slice(0,e.shape.length-2).reduce((c,p)=>c*p),r=Ie(y(e,[n,e.shape[e.shape.length-2],e.shape[e.shape.length-1]]),0),o=[],i=[];r.forEach(c=>{const[p,l]=Um(c,t);o.push(p),i.push(l)});const a=y(ke(o,0),e.shape),s=y(ke(i,0),e.shape);return[a,s]}}function Um(e,t=!1){return g.tidy(()=>{f(e.shape.length===2,()=>`qr2d() requires a 2D Tensor, but got a ${e.shape.length}D Tensor.`);const n=e.shape[0],r=e.shape[1];let o=ws(n),i=Et(e);const a=mt([[1]],[1,1]);let s=Et(a);const c=n>=r?r:n;for(let p=0;p{const b=G(i,[p,p],[n-p,1]),x=Pr(b),w=G(i,[p,p],[1,1]),L=Oe(tt(w,0),mt([[-1]]),mt([[1]])),S=O(w,v(L,x)),I=F(b,S);I.shape[0]===1?s=Et(a):s=Z([a,G(I,[1,0],[I.shape[0]-1,I.shape[1]])],0);const N=ne(F(Y(L,S),x)),A=G(i,[p,0],[n-p,r]),E=v(N,s),M=K(s);if(p===0)i=O(A,Y(E,Y(M,A)));else{const B=O(A,Y(E,Y(M,A)));i=Z([G(i,[0,0],[p,r]),B],0)}const D=K(E),$=G(o,[0,p],[n,o.shape[1]-p]);if(p===0)o=O($,Y(Y($,s),D));else{const B=O($,Y(Y($,s),D));o=Z([G(o,[0,0],[n,p]),B],1)}return[s,i,o]}),ve([l,h,d])}return!t&&n>r&&(o=G(o,[0,0],[n,r]),i=G(i,[0,0],[r,r])),[o,i]})}const Wm=m({qr_:RS});var be;(function(e){e[e.NONE=0]="NONE",e[e.MEAN=1]="MEAN",e[e.SUM=2]="SUM",e[e.SUM_BY_NONZERO_WEIGHTS=3]="SUM_BY_NONZERO_WEIGHTS"})(be||(be={}));function _S(e,t,n=be.SUM_BY_NONZERO_WEIGHTS){const r=u(e,"losses","computeWeightedLoss");let o=null;t!=null&&(o=u(t,"weights","computeWeightedLoss"));const i=o==null?r:v(r,o);if(n===be.NONE)return i;if(n===be.SUM)return U(i);if(n===be.MEAN){if(o==null)return Sn(i);{const a=r.size/o.size,s=F(U(i),U(o));return a>1?F(s,_(a)):s}}if(n===be.SUM_BY_NONZERO_WEIGHTS){if(o==null)return F(U(i),_(r.size));{const a=v(o,vt(r.shape)),s=C(U(Vn(a,_(0))),"float32");return F(U(i),s)}}throw Error(`Unknown reduction: ${n}`)}const $e=m({computeWeightedLoss_:_S});function CS(e,t,n,r=be.SUM_BY_NONZERO_WEIGHTS){const o=u(e,"labels","absoluteDifference"),i=u(t,"predictions","absoluteDifference");let a=null;n!=null&&(a=u(n,"weights","absoluteDifference")),P(o.shape,i.shape,"Error in absoluteDifference: ");const s=Ee(O(o,i));return $e(s,a,r)}const Bm=m({absoluteDifference_:CS});function ES(e,t,n,r,o=be.SUM_BY_NONZERO_WEIGHTS){const i=u(e,"labels","cosineDistance"),a=u(t,"predictions","cosineDistance");let s=null;r!=null&&(s=u(r,"weights","cosineDistance")),P(i.shape,a.shape,"Error in cosineDistance: ");const c=_(1),p=O(c,U(v(i,a),n,!0));return $e(p,s,o)}const $m=m({cosineDistance_:ES});function OS(e,t,n,r=be.SUM_BY_NONZERO_WEIGHTS){let o=u(e,"labels","hingeLoss");const i=u(t,"predictions","hingeLoss");let a=null;n!=null&&(a=u(n,"weights","hingeLoss")),P(o.shape,i.shape,"Error in hingeLoss: ");const s=_(1);o=O(v(_(2),o),s);const c=ie(O(s,v(o,i)));return $e(c,a,r)}const jm=m({hingeLoss_:OS});function kS(e,t,n,r=1,o=be.SUM_BY_NONZERO_WEIGHTS){const i=u(e,"labels","huberLoss"),a=u(t,"predictions","huberLoss");let s=null;n!=null&&(s=u(n,"weights","huberLoss")),P(i.shape,a.shape,"Error in huberLoss: ");const c=_(r),p=Ee(O(a,i)),l=Yn(p,c),h=O(p,l),d=R(v(_(.5),H(l)),v(c,h));return $e(d,s,o)}const Gm=m({huberLoss_:kS});function DS(e,t,n,r=1e-7,o=be.SUM_BY_NONZERO_WEIGHTS){const i=u(e,"labels","logLoss"),a=u(t,"predictions","logLoss");let s=null;n!=null&&(s=u(n,"weights","logLoss")),P(i.shape,a.shape,"Error in logLoss: ");const c=_(1),p=_(r),l=ne(v(i,yt(R(a,p)))),h=v(O(c,i),yt(R(O(c,a),p))),d=O(l,h);return $e(d,s,o)}const Pm=m({logLoss_:DS});function FS(e,t,n,r=be.SUM_BY_NONZERO_WEIGHTS){const o=u(e,"labels","meanSquaredError"),i=u(t,"predictions","meanSquaredError");let a=null;n!=null&&(a=u(n,"weights","meanSquaredError")),P(o.shape,i.shape,"Error in meanSquaredError: ");const s=Zn(o,i);return $e(s,a,r)}const qm=m({meanSquaredError_:FS});function MS(e,t){const n=u(e,"labels","sigmoidCrossEntropyWithLogits"),r=u(t,"logits","sigmoidCrossEntropyWithLogits");P(n.shape,r.shape,"Error in sigmoidCrossEntropyWithLogits: ");const o=ie(r),i=v(r,n),a=ys(Se(ne(Ee(r))));return R(O(o,i),a)}function US(e,t,n,r=0,o=be.SUM_BY_NONZERO_WEIGHTS){let i=u(e,"multiClassLabels","sigmoidCrossEntropy");const a=u(t,"logits","sigmoidCrossEntropy");let s=null;if(n!=null&&(s=u(n,"weights","sigmoidCrossEntropy")),P(i.shape,a.shape,"Error in sigmoidCrossEntropy: "),r>0){const p=_(r),l=_(1),h=_(.5);i=R(v(i,O(l,p)),v(h,p))}const c=MS(i,a);return $e(c,s,o)}const Hm=m({sigmoidCrossEntropy_:US});function WS(e,t,n=-1){if(n===-1&&(n=t.rank-1),n!==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 ${n}`);const r=Ke((o,i,a)=>{const s=!0,c=vs(i,[n],s),p=O(C(i,"float32"),c);a([o,p]);const l=ne(v(p,o)),h=U(l,[n]),d=(b,x)=>{const[w,L]=x,S=we(b.shape,[n]);return[v(y(b,S),O(C(w,"float32"),Se(L))),v(y(b,S),O(Se(L),C(w,"float32")))]};return{value:h,gradFunc:d}});return r(e,t)}function BS(e,t,n,r=0,o=be.SUM_BY_NONZERO_WEIGHTS){let i=u(e,"onehotLabels","softmaxCrossEntropy");const a=u(t,"logits","softmaxCrossEntropy");let s=null;if(n!=null&&(s=u(n,"weights","softmaxCrossEntropy")),P(i.shape,a.shape,"Error in softmaxCrossEntropy: "),r>0){const p=_(r),l=_(1),h=_(i.shape[1]);i=R(v(i,O(l,p)),F(p,h))}const c=WS(i,a);return $e(c,s,o)}const zm=m({softmaxCrossEntropy_:BS});const Uh={};Re(Uh,{abs:()=>Ee,acos:()=>qp,acosh:()=>Hp,add:()=>R,addN:()=>zp,addStrict:()=>em,all:()=>Kp,any:()=>Jp,argMax:()=>Xp,argMin:()=>Zp,asin:()=>Qp,asinh:()=>el,atan:()=>tl,atan2:()=>nl,atanh:()=>rl,avgPool:()=>pt,avgPool3d:()=>al,basicLSTMCell:()=>wl,batchNorm:()=>Ct,batchNorm2d:()=>xl,batchNorm3d:()=>yl,batchNorm4d:()=>Ll,batchToSpaceND:()=>Bn,booleanMaskAsync:()=>Yd,broadcastTo:()=>Br,buffer:()=>Be,cast:()=>C,ceil:()=>vl,clipByValue:()=>$n,clone:()=>Et,complex:()=>Ye,concat:()=>Z,concat1d:()=>Sl,concat2d:()=>Il,concat3d:()=>Tl,concat4d:()=>Al,conv1d:()=>Nl,conv2d:()=>xe,conv2dTranspose:()=>Rl,conv3d:()=>_l,conv3dTranspose:()=>Cl,cos:()=>jn,cosh:()=>ms,cosineWindow:()=>qr,cumsum:()=>fs,depthToSpace:()=>El,depthwiseConv2d:()=>en,diag:()=>Ol,dilation2d:()=>kl,div:()=>F,divNoNan:()=>Dl,divStrict:()=>tm,dot:()=>Fl,dropout:()=>wm,elu:()=>bs,enclosingPowerOfTwo:()=>Ba,equal:()=>tn,equalStrict:()=>Vd,erf:()=>Ml,exp:()=>Se,expandDims:()=>et,expm1:()=>Ul,eye:()=>ws,fft:()=>Gn,fill:()=>Ge,floor:()=>Pn,floorDiv:()=>gs,fused:()=>Fh,gather:()=>qn,gatherND:()=>gm,greater:()=>tt,greaterEqual:()=>ht,greaterEqualStrict:()=>Kd,greaterStrict:()=>Jd,ifft:()=>vn,imag:()=>nn,image:()=>Ya,inTopKAsync:()=>xm,irfft:()=>xs,isFinite:()=>Bl,isInf:()=>$l,isNaN:()=>jl,leakyRelu:()=>Gl,less:()=>Hn,lessEqual:()=>ut,lessEqualStrict:()=>Xd,lessStrict:()=>Zd,linalg:()=>Km,linspace:()=>Pl,localResponseNormalization:()=>ql,log:()=>yt,log1p:()=>ys,logSigmoid:()=>zl,logSoftmax:()=>Yl,logSumExp:()=>vs,logicalAnd:()=>Lt,logicalNot:()=>zn,logicalOr:()=>Ss,logicalXor:()=>Vl,losses:()=>Jm,matMul:()=>Y,max:()=>dt,maxPool:()=>Ae,maxPool3d:()=>Kl,maxPoolWithArgmax:()=>Jl,maximum:()=>kt,maximumStrict:()=>nm,mean:()=>Sn,min:()=>In,minimum:()=>Yn,minimumStrict:()=>rm,mod:()=>Is,modStrict:()=>om,moments:()=>Xl,movingAverage:()=>lm,mul:()=>v,mulStrict:()=>im,multiRNNCell:()=>Zl,multinomial:()=>Ql,neg:()=>ne,norm:()=>Pr,notEqual:()=>Vn,notEqualStrict:()=>Qd,oneHot:()=>jr,ones:()=>vt,onesLike:()=>Fa,op:()=>m,outerProduct:()=>eh,pad:()=>Pe,pad1d:()=>th,pad2d:()=>nh,pad3d:()=>rh,pad4d:()=>oh,pool:()=>ih,pow:()=>Je,powStrict:()=>sm,prelu:()=>Ts,print:()=>sh,prod:()=>ah,rand:()=>ch,randomGamma:()=>uh,randomNormal:()=>dh,randomUniform:()=>Ns,range:()=>Gr,real:()=>zt,reciprocal:()=>mh,relu:()=>ie,relu6:()=>Rs,reshape:()=>y,reverse:()=>Ve,reverse1d:()=>fh,reverse2d:()=>gh,reverse3d:()=>bh,reverse4d:()=>wh,rfft:()=>Jn,round:()=>yh,rsqrt:()=>_s,scalar:()=>_,scatterND:()=>dm,selu:()=>Lh,separableConv2d:()=>Xn,setdiff1dAsync:()=>vh,sigmoid:()=>lt,sign:()=>Sh,signal:()=>Vm,sin:()=>Cs,sinh:()=>Es,slice:()=>G,slice1d:()=>Ih,slice2d:()=>Th,slice3d:()=>Os,slice4d:()=>Ah,softmax:()=>rn,softplus:()=>Ls,spaceToBatchND:()=>Kn,sparseToDense:()=>fm,spectral:()=>Ym,split:()=>Yt,sqrt:()=>me,square:()=>H,squaredDifference:()=>Zn,squaredDifferenceStrict:()=>am,squeeze:()=>Qn,stack:()=>ke,step:()=>Dt,stridedSlice:()=>Nh,sub:()=>O,subStrict:()=>cm,sum:()=>U,tan:()=>Rh,tanh:()=>Wr,tensor:()=>ze,tensor1d:()=>ce,tensor2d:()=>mt,tensor3d:()=>er,tensor4d:()=>ft,tensor5d:()=>_h,tensor6d:()=>Ch,tile:()=>Ot,topk:()=>Eh,transpose:()=>K,truncatedNormal:()=>Oh,unsortedSegmentSum:()=>ks,unstack:()=>Ie,variable:()=>kh,where:()=>Oe,whereAsync:()=>Ds,zeros:()=>Ce,zerosLike:()=>W});const Ym={fft:Gn,ifft:vn,rfft:Jn,irfft:xs},Vm={hammingWindow:ym,hannWindow:Ga,frame:Pa,stft:Lm},Ya={flipLeftRight:Sm,resizeNearestNeighbor:Dm,resizeBilinear:km,rotateWithOffset:Im,cropAndResize:vm,nonMaxSuppression:Tm,nonMaxSuppressionAsync:Rm,nonMaxSuppressionWithScore:_m,nonMaxSuppressionWithScoreAsync:Cm,nonMaxSuppressionPadded:Em,nonMaxSuppressionPaddedAsync:Om},Km={bandPart:Fm,gramSchmidt:Mm,qr:Wm},Jm={absoluteDifference:Bm,computeWeightedLoss:$e,cosineDistance:$m,hingeLoss:jm,huberLoss:Gm,logLoss:Pm,meanSquaredError:qm,sigmoidCrossEntropy:Hm,softmaxCrossEntropy:zm};_d(Uh);const Fs={float32:4,float16:2,int32:4,uint16:2,uint8:1,bool:1,complex64:8};const Va=4;async function jS(e,t){const n=[],r=[],o=Array.isArray(e)?e.map(a=>a.name):Object.keys(e);for(let a=0;a{const d=await c.bytes(),b=d.reduce((L,S)=>L+S.length,0)+Va*d.length,x=new Uint8Array(b);let w=0;for(let L=0;L{if(t+=i.byteLength,n.push(i.byteLength===i.buffer.byteLength?i:new i.constructor(i)),!(i instanceof Float32Array||i instanceof Int32Array||i instanceof Uint8Array))throw new Error(`Unsupported TypedArray subtype: ${i.constructor.name}`)});const r=new Uint8Array(t);let o=0;return n.forEach(i=>{r.set(new Uint8Array(i.buffer),o),o+=i.byteLength}),r.buffer}const PS=typeof Buffer!="undefined"&&(typeof Blob=="undefined"||typeof atob=="undefined"||typeof btoa=="undefined");function Xm(e){return PS?Buffer.byteLength(e):new Blob([e]).size}function Ms(e){if(e.length===1)return e[0];let t=0;e.forEach(o=>{t+=o.byteLength});const n=new Uint8Array(t);let r=0;return e.forEach(o=>{n.set(new Uint8Array(o),r),r+=o.byteLength}),n.buffer}function Bh(e){const t="/";for(e=e.trim();e.endsWith(t);)e=e.slice(0,e.length-1);const n=e.split(t);return n[n.length-1]}function Us(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("Expected JSON model topology, received ArrayBuffer.");return{dateSaved:new Date(),modelTopologyType:"JSON",modelTopologyBytes:e.modelTopology==null?0:Xm(JSON.stringify(e.modelTopology)),weightSpecsBytes:e.weightSpecs==null?0:Xm(JSON.stringify(e.weightSpecs)),weightDataBytes:e.weightData==null?0:e.weightData.byteLength}}function qS(){const e=n=>{let r=n<<13,o=0;for(;(r&8388608)===0;)o-=8388608,r<<=1;return r&=~8388608,o+=947912704,r|o},t=new Uint32Array(2048);t[0]=0;for(let n=1;n<1024;n++)t[n]=e(n);for(let n=1024;n<2048;n++)t[n]=939524096+(n-1024<<13);return t}function HS(){const e=new Uint32Array(64);e[0]=0,e[31]=1199570944,e[32]=2147483648,e[63]=3347054592;for(let t=1;t<31;t++)e[t]=t<<23;for(let t=33;t<63;t++)e[t]=2147483648+(t-32<<23);return e}function zS(){const e=new Uint32Array(64);for(let t=0;t<64;t++)e[t]=1024;return e[0]=e[32]=0,e}function GS(){const e=qS(),t=HS(),n=zS();return r=>{const o=new ArrayBuffer(4*r.length),i=new Uint32Array(o);for(let a=0;a>10]+(s&1023)]+t[s>>10];i[a]=c}return new Float32Array(o)}}class Ne{constructor(){this.saveRouters=[],this.loadRouters=[]}static getInstance(){return Ne.instance==null&&(Ne.instance=new Ne()),Ne.instance}static registerSaveRouter(e){Ne.getInstance().saveRouters.push(e)}static registerLoadRouter(e){Ne.getInstance().loadRouters.push(e)}static getSaveHandlers(e){return Ne.getHandlers(e,"save")}static getLoadHandlers(e,t){return Ne.getHandlers(e,"load",t)}static getHandlers(e,t,n){const r=[],o=t==="load"?Ne.getInstance().loadRouters:Ne.getInstance().saveRouters;return o.forEach(i=>{const a=i(e,n);a!==null&&r.push(a)}),r}}const YS=e=>Ne.registerSaveRouter(e),VS=e=>Ne.registerLoadRouter(e),KS=e=>Ne.getSaveHandlers(e),JS=(e,t)=>Ne.getLoadHandlers(e,t);const zr="://";class Ft{constructor(){this.managers={}}static getInstance(){return Ft.instance==null&&(Ft.instance=new Ft()),Ft.instance}static registerManager(e,t){f(e!=null,()=>"scheme must not be undefined or null."),e.endsWith(zr)&&(e=e.slice(0,e.indexOf(zr))),f(e.length>0,()=>"scheme must not be an empty string.");const n=Ft.getInstance();f(n.managers[e]==null,()=>`A model store manager is already registered for scheme '${e}'.`),n.managers[e]=t}static getManager(e){const t=this.getInstance().managers[e];if(t==null)throw new Error(`Cannot find model manager for scheme '${e}'`);return t}static getSchemes(){return Object.keys(this.getInstance().managers)}}function Ka(e){if(e.indexOf(zr)===-1)throw new Error(`The url string provided does not contain a scheme. Supported schemes are: ${Ft.getSchemes().join(",")}`);return{scheme:e.split(zr)[0],path:e.split(zr)[1]}}async function Zm(e,t,n=!1){f(e!==t,()=>`Old path and new path are the same: '${e}'`);const r=Ne.getLoadHandlers(e);f(r.length>0,()=>`Copying failed because no load handler is found for source URL ${e}.`),f(r.length<2,()=>`Copying failed because more than one (${r.length}) load handlers for source URL ${e}.`);const o=r[0],i=Ne.getSaveHandlers(t);f(i.length>0,()=>`Copying failed because no save handler is found for destination URL ${t}.`),f(i.length<2,()=>`Copying failed because more than one (${r.length}) save handlers for destination URL ${t}.`);const a=i[0],s=Ka(e).scheme,c=Ka(e).path,p=s===Ka(e).scheme,l=await o.load();n&&p&&await Ft.getManager(s).removeModel(c);const h=await a.save(l);return n&&!p&&await Ft.getManager(s).removeModel(c),h.modelArtifactsInfo}async function Qm(){const e=Ft.getSchemes(),t={};for(const n of e){const r=await Ft.getManager(n).listModels();for(const o in r){const i=n+zr+o;t[i]=r[o]}}return t}async function ef(e){const t=Ka(e),n=Ft.getManager(t.scheme);return n.removeModel(t.path)}async function tf(e,t){const n=!1;return Zm(e,t,n)}async function nf(e,t){const n=!0;return Zm(e,t,n)}const XS="model",ZS=".json",QS=".weights.bin";function rf(e){return new Promise(t=>setTimeout(t)).then(e)}class Yr{constructor(e){if(!pe().getBool("IS_BROWSER"))throw new Error("browserDownloads() cannot proceed because the current environment is not a browser.");e.startsWith(Yr.URL_SCHEME)&&(e=e.slice(Yr.URL_SCHEME.length)),(e==null||e.length===0)&&(e=XS),this.modelTopologyFileName=e+ZS,this.weightDataFileName=e+QS}async save(e){if(typeof document=="undefined")throw new Error("Browser downloads are not supported in this environment since `document` is not present");const t=window.URL.createObjectURL(new Blob([e.weightData],{type:"application/octet-stream"}));if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserDownloads.save() does not support saving model topology in binary formats yet.");{const n=[{paths:["./"+this.weightDataFileName],weights:e.weightSpecs}],r={modelTopology:e.modelTopology,format:e.format,generatedBy:e.generatedBy,convertedBy:e.convertedBy,weightsManifest:n},o=window.URL.createObjectURL(new Blob([JSON.stringify(r)],{type:"application/json"})),i=this.jsonAnchor==null?document.createElement("a"):this.jsonAnchor;if(i.download=this.modelTopologyFileName,i.href=o,await rf(()=>i.dispatchEvent(new MouseEvent("click"))),e.weightData!=null){const a=this.weightDataAnchor==null?document.createElement("a"):this.weightDataAnchor;a.download=this.weightDataFileName,a.href=t,await rf(()=>a.dispatchEvent(new MouseEvent("click")))}return{modelArtifactsInfo:Us(e)}}}}Yr.URL_SCHEME="downloads://";class eI{constructor(e){if(e==null||e.length<1)throw new Error(`When calling browserFiles, at least 1 file is required, but received ${e}`);this.files=e}async load(){const e=this.files[0],t=this.files.slice(1);return new Promise((n,r)=>{const o=new FileReader();o.onload=i=>{const a=JSON.parse(i.target.result),s=a.modelTopology;if(s==null){r(new Error(`modelTopology field is missing from file ${e.name}`));return}t.length===0&&n({modelTopology:s});const c=a.weightsManifest;if(c==null){r(new Error(`weightManifest field is missing from file ${e.name}`));return}let p;try{p=this.checkManifestAndWeightFiles(c,t)}catch(b){r(b);return}const l=[],h=[],d=[];c.forEach(b=>{b.paths.forEach(x=>{h.push(x),d.push(null)}),l.push(...b.weights)}),c.forEach(b=>{b.paths.forEach(x=>{const w=new FileReader();w.onload=L=>{const S=L.target.result,I=h.indexOf(x);d[I]=S,d.indexOf(null)===-1&&n({modelTopology:s,weightSpecs:l,weightData:Ms(d),format:a.format,generatedBy:a.generatedBy,convertedBy:a.convertedBy,userDefinedMetadata:a.userDefinedMetadata})},w.onerror=L=>r(`Failed to weights data from file of path '${x}'.`),w.readAsArrayBuffer(p[x])})})},o.onerror=i=>r(`Failed to read model topology and weights manifest JSON from file '${e.name}'. BrowserFiles supports loading Keras-style tf.Model artifacts only.`),o.readAsText(e)})}checkManifestAndWeightFiles(e,t){const n=[],r=t.map(i=>Bh(i.name)),o={};for(const i of e)i.paths.forEach(a=>{const s=Bh(a);if(n.indexOf(s)!==-1)throw new Error(`Duplicate file basename found in weights manifest: '${s}'`);if(n.push(s),r.indexOf(s)===-1)throw new Error(`Weight file with basename '${s}' is not provided.`);o[a]=t[r.indexOf(s)]});if(n.length!==t.length)throw new Error(`Mismatch in the number of files in weights manifest (${n.length}) and the number of weight files provided (${t.length}).`);return o}}const nI=e=>pe().getBool("IS_BROWSER")&&(!Array.isArray(e)&&e.startsWith(Yr.URL_SCHEME))?tI(e.slice(Yr.URL_SCHEME.length)):null;Ne.registerSaveRouter(nI);function tI(e="model"){return new Yr(e)}function rI(e){return new eI(e)}function $h(e,t,n,r){a(e),n=n==null?0:n,r=r==null?1:r,s(n,r);let o=0;const i=c=>(c.then(p=>{const l=n+ ++o/e.length*(r-n);return t(l),p}),c);function a(c){f(c!=null&&Array.isArray(c)&&c.length>0,()=>"promises must be a none empty array")}function s(c,p){f(c>=0&&c<=1,()=>`Progress fraction must be in range [0, 1], but got startFraction ${c}`),f(p>=0&&p<=1,()=>`Progress fraction must be in range [0, 1], but got endFraction ${p}`),f(p>=c,()=>`startFraction must be no more than endFraction, but got startFraction ${c} and endFraction ${p}`)}return Promise.all(e.map(i))}async function jh(e,t){t==null&&(t={});const n=t.fetchFunc==null?pe().platform.fetch:t.fetchFunc,r=e.map(h=>n(h,t.requestInit,{isBinary:!0})),o=0,i=.5,a=t.onProgress==null?await Promise.all(r):await $h(r,t.onProgress,o,i),s=a.map(h=>h.arrayBuffer()),c=.5,p=1,l=t.onProgress==null?await Promise.all(s):await $h(s,t.onProgress,c,p);return l}async function oI(e,t="",n,r){const o=a=>jh(a,{requestInit:r}),i=of(o);return i(e,t,n)}function of(e){return async(t,n="",r)=>{const o=t.map(()=>!1),i={},a=r!=null?r.map(()=>!1):[],s=[];if(t.forEach((b,x)=>{let w=0;b.weights.forEach(L=>{const S="quantization"in L?L.quantization.dtype:L.dtype,I=Fs[S]*Q(L.shape),N=()=>{o[x]=!0,i[x]==null&&(i[x]=[]),i[x].push({manifestEntry:L,groupOffset:w,sizeBytes:I})};r!=null?r.forEach((A,E)=>{A===L.name&&(N(),a[E]=!0)}):N(),s.push(L.name),w+=I})}),!a.every(b=>b)){const b=r.filter((x,w)=>!a[w]);throw new Error(`Could not find weights in manifest with names: ${b.join(", ")}. -Manifest JSON has weights with names: ${s.join(", ")}.`)}const c=o.reduce((b,x,w)=>(x&&b.push(w),b),[]),p=[];c.forEach(b=>{t[b].paths.forEach(x=>{const w=n+(n.endsWith("/")?"":"/")+x;p.push(w)})});const l=await e(p),h={};let d=0;return c.forEach(b=>{const x=t[b].paths.length;let w=0;for(let A=0;A{const E=L.slice(A.groupOffset,A.groupOffset+A.sizeBytes),M=Wh(E,[A.manifestEntry]);for(const D in M)h[D]=M[D]}),d+=x}),h}}const iI="application/octet-stream",sI="application/json";class Gh{constructor(e,t){if(this.DEFAULT_METHOD="POST",t==null&&(t={}),this.weightPathPrefix=t.weightPathPrefix,this.onProgress=t.onProgress,t.fetchFunc!=null?(f(typeof t.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=t.fetchFunc):this.fetch=pe().platform.fetch,f(e!=null&&e.length>0,()=>"URL path for http must not be null, undefined or empty."),Array.isArray(e)&&f(e.length===2,()=>`URL paths for http must have a length of 2, (actual length is ${e.length}).`),this.path=e,t.requestInit!=null&&t.requestInit.body!=null)throw new Error("requestInit is expected to have no pre-existing body, but has one.");this.requestInit=t.requestInit||{}}async save(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserHTTPRequest.save() does not support saving model topology in binary formats yet.");const t=Object.assign({method:this.DEFAULT_METHOD},this.requestInit);t.body=new FormData();const n=[{paths:["./model.weights.bin"],weights:e.weightSpecs}],r={modelTopology:e.modelTopology,format:e.format,generatedBy:e.generatedBy,convertedBy:e.convertedBy,userDefinedMetadata:e.userDefinedMetadata,weightsManifest:n};t.body.append("model.json",new Blob([JSON.stringify(r)],{type:sI}),"model.json"),e.weightData!=null&&t.body.append("model.weights.bin",new Blob([e.weightData],{type:iI}),"model.weights.bin");const o=await this.fetch(this.path,t);if(o.ok)return{modelArtifactsInfo:Us(e),responses:[o]};throw new Error(`BrowserHTTPRequest.save() failed due to HTTP response status ${o.status}.`)}async load(){const e=await this.fetch(this.path,this.requestInit);if(!e.ok)throw new Error(`Request to ${this.path} failed with status code ${e.status}. Please verify this URL points to the model JSON of the model to load.`);let t;try{t=await e.json()}catch(l){let h=`Failed to parse model JSON of response from ${this.path}.`;throw this.path.endsWith(".pb")?h+=" 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.":h+=" Please make sure the server is serving valid JSON for this request.",new Error(h)}const n=t.modelTopology,r=t.weightsManifest,o=t.generatedBy,i=t.convertedBy,a=t.format,s=t.userDefinedMetadata;if(n==null&&r==null)throw new Error(`The JSON from HTTP path ${this.path} contains neither model topology or manifest for weights.`);let c,p;if(r!=null){const l=await this.loadWeights(r);[c,p]=l}return{modelTopology:n,weightSpecs:c,weightData:p,userDefinedMetadata:s,generatedBy:o,convertedBy:i,format:a}}async loadWeights(e){const t=Array.isArray(this.path)?this.path[1]:this.path,[n,r]=aI(t),o=this.weightPathPrefix||n,i=[];for(const c of e)i.push(...c.weights);const a=[];e.forEach(c=>{c.paths.forEach(p=>{a.push(o+p+r)})});const s=await jh(a,{requestInit:this.requestInit,fetchFunc:this.fetch,onProgress:this.onProgress});return[i,Ms(s)]}}Gh.URL_SCHEME_REGEX=/^https?:\/\//;function aI(e){const t=e.lastIndexOf("/"),n=e.lastIndexOf("?"),r=e.substring(0,t),o=n>t?e.substring(n):"";return[r+"/",o]}function Ph(e){return e.match(Gh.URL_SCHEME_REGEX)!=null}const sf=(e,t)=>{if(typeof fetch=="undefined"&&(t==null||t.fetchFunc==null))return null;{let n=!0;if(Array.isArray(e)?n=e.every(r=>Ph(r)):n=Ph(e),n)return qh(e,t)}return null};Ne.registerSaveRouter(sf);Ne.registerLoadRouter(sf);function qh(e,t){return new Gh(e,t)}function cI(e,t){return qh(e,t)}class Hh{constructor(e){this.modelArtifacts=e}async load(){return this.modelArtifacts}}class pI{constructor(e){this.saveHandler=e}async save(e){return this.saveHandler(e)}}function lI(e,t,n,r){if(arguments.length===1){const o=e.modelTopology!=null||e.weightSpecs!=null;return o?new Hh(e):(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 Hh({modelTopology:e}))}else return 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 Hh({modelTopology:e,weightSpecs:t,weightData:n,trainingConfig:r})}function hI(e){return new pI(e)}const Vr={};Re(Vr,{browserFiles:()=>rI,browserHTTPRequest:()=>cI,concatenateArrayBuffers:()=>Ms,copyModel:()=>tf,decodeWeights:()=>Wh,encodeWeights:()=>jS,fromMemory:()=>lI,getLoadHandlers:()=>JS,getModelArtifactsInfoForJSON:()=>Us,getSaveHandlers:()=>KS,http:()=>qh,isHTTPScheme:()=>Ph,listModels:()=>Qm,loadWeights:()=>oI,moveModel:()=>nf,registerLoadRouter:()=>VS,registerSaveRouter:()=>YS,removeModel:()=>ef,weightsLoaderFactory:()=>of,withSaveHandler:()=>hI});function uI(e,t,n){const r=u(e,"labels","confusionMatrix"),o=u(t,"predictions","confusionMatrix");f(n==null||n>0&&Number.isInteger(n),()=>`If provided, numClasses must be a positive integer, but got ${n}`),f(r.rank===1,()=>`Expected the rank of labels to be 1, but got ${r.rank}`),f(o.rank===1,()=>`Expected the rank of predictions to be 1, but got ${o.rank}`),f(r.shape[0]===o.shape[0],()=>`Mismatch in the number of examples: ${r.shape[0]} vs. ${o.shape[0]}. Labels and predictions should have the same number of elements.`),f(n>0&&Number.isInteger(n),()=>`numClasses is required to be a positive integer, but got ${n}`);const i=jr(C(r,"int32"),n),a=jr(C(o,"int32"),n),s=K(i);return C(Y(s,a),"int32")}const dI=m({confusionMatrix_:uI});const af={};Re(af,{confusionMatrix:()=>dI});const Kr={};Re(Kr,{fromPixels:()=>gI,toPixels:()=>fI});let Jr;function mI(e,t=3){if(t>4)throw new Error("Cannot construct Tensor with more than 4 channels from pixels.");if(e==null)throw new Error("pixels passed to tf.browser.fromPixels() can not be null");let n=!1,r=!1,o=!1,i=!1,a=!1;if(e.data instanceof Uint8Array)n=!0;else if(typeof ImageData!="undefined"&&e instanceof ImageData)r=!0;else if(typeof HTMLVideoElement!="undefined"&&e instanceof HTMLVideoElement)o=!0;else if(typeof HTMLImageElement!="undefined"&&e instanceof HTMLImageElement)i=!0;else if(e.getContext!=null)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 ${e.constructor.name}`);if(o){const b=2;if(o&&e.readyState element.")}const s=rs(La,g.backendName);if(s!=null){const b={pixels:e},x={numChannels:t};return g.runKernel(La,b,x)}const[c,p]=o?[e.videoWidth,e.videoHeight]:[e.width,e.height];let l;a?l=e.getContext("2d").getImageData(0,0,c,p).data:r||n?l=e.data:(i||o)&&(Jr==null&&(Jr=document.createElement("canvas").getContext("2d")),Jr.canvas.width=c,Jr.canvas.height=p,Jr.drawImage(e,0,0,c,p),l=Jr.getImageData(0,0,c,p).data);let h;if(t===4)h=new Int32Array(l);else{const b=c*p;h=new Int32Array(b*t);for(let x=0;x4||i===2)throw new Error(`toPixels only supports depth of size 1, 3 or 4 but got ${i}`);const a=await n.data(),s=In(n),c=dt(n),p=await Promise.all([s.data(),c.data()]),l=p[0],h=p[1],d=l[0],b=h[0];if(s.dispose(),c.dispose(),n.dtype==="float32"){if(d<0||b>1)throw new Error(`Tensor values for a float32 Tensor must be in the range [0 - 1] but got range [${d} - ${b}].`)}else if(n.dtype==="int32"){if(d<0||b>255)throw new Error(`Tensor values for a int32 Tensor must be in the range [0 - 255] but got range [${d} - ${b}].`)}else throw new Error(`Unsupported type for toPixels: ${n.dtype}. Please use float32 or int32 tensors.`);const x=n.dtype==="float32"?255:1,w=new Uint8ClampedArray(o*r*4);for(let L=0;Lpf});function pf(e,t){if(e.rank<1)throw new Error(`tf.gatherND() expects the input to be rank 1 or higher, but the rank was ${e.rank}.`);if(t.rank<1)throw new Error(`tf.gatherND() expects the indices to be rank 1 or higher, but the rank was ${t.rank}.`);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[t.rank-1]>e.rank)throw new Error(`index innermost dimension length must be <= tensor rank; saw: ${t.shape[t.rank-1]} vs. ${e.rank}`);if(e.size===0)throw new Error(`Requested more than 0 entries, but input is empty. Input shape: ${e.shape}.`);const n=t.shape,r=n[n.length-1];let o=1;for(let p=0;pp/s),1].slice(0,r);return[a,o,s,c]}const lf={};Re(lf,{Serializable:()=>zh,SerializationMap:()=>ir,registerClass:()=>nt});class zh{getClassName(){return this.constructor.className}static fromConfig(e,t){return new e(t)}}class ir{constructor(){this.classNameMap={}}static getMap(){return ir.instance==null&&(ir.instance=new ir()),ir.instance}static register(e){ir.getMap().classNameMap[e.className]=[e,e.fromConfig]}}function nt(e){f(e.className!=null,()=>"Class being registered does not have the static className property defined."),f(typeof e.className=="string",()=>"className is required to be a string, but got type "+typeof e.className),f(e.className.length>0,()=>"Class being registered has an empty-string as its className, which is disallowed."),ir.register(e)}const bI="2.3.0";class ot extends zh{minimize(e,t=!1,n){const{value:r,grads:o}=this.computeGradients(e,n);if(n!=null){const i=n.map(a=>({name:a.name,tensor:o[a.name]}));this.applyGradients(i)}else this.applyGradients(o);return ve(o),t?r:(r.dispose(),null)}get iterations(){return this.iterations_==null&&(this.iterations_=0),this.iterations_}incrementIterations(){this.iterations_=this.iterations+1}computeGradients(e,t){return Hl(e,t)}dispose(){this.iterations_!=null&&ve(this.iterations_)}async saveIterations(){return this.iterations_==null&&(this.iterations_=0),{name:"iter",tensor:_(this.iterations_,"int32")}}async getWeights(){throw new Error("getWeights() is not implemented for this optimizer yet.")}async setWeights(e){throw new Error(`setWeights() is not implemented for this optimizer class ${this.getClassName()}`)}async extractIterations(e){return this.iterations_=(await e[0].tensor.data())[0],e.slice(1)}}Object.defineProperty(ot,Symbol.hasInstance,{value:e=>e.minimize!=null&&e.computeGradients!=null&&e.applyGradients!=null});class sr extends ot{constructor(e,t,n=null){super();this.learningRate=e,this.rho=t,this.epsilon=n,this.accumulatedGrads=[],this.accumulatedUpdates=[],n==null&&(this.epsilon=g.backend.epsilon())}applyGradients(e){const t=Array.isArray(e)?e.map(n=>n.name):Object.keys(e);t.forEach((n,r)=>{const o=g.registeredVariables[n],i=!1;this.accumulatedGrads[r]==null&&(this.accumulatedGrads[r]={originalName:`${n}/accum_grad`,variable:k(()=>W(o).variable(i))}),this.accumulatedUpdates[r]==null&&(this.accumulatedUpdates[r]={originalName:`${n}/accum_var`,variable:k(()=>W(o).variable(i))});const a=Array.isArray(e)?e[r].tensor:e[n];if(a==null)return;const s=this.accumulatedGrads[r].variable,c=this.accumulatedUpdates[r].variable;k(()=>{const p=R(v(s,this.rho),v(H(a),1-this.rho)),l=v(F(me(R(c,this.epsilon)),me(R(s,this.epsilon))),a),h=R(v(c,this.rho),v(H(l),1-this.rho));s.assign(p),c.assign(h);const d=R(v(l,-this.learningRate),o);o.assign(d)})}),this.incrementIterations()}dispose(){this.accumulatedUpdates!=null&&(ve(this.accumulatedGrads.map(e=>e.variable)),ve(this.accumulatedUpdates.map(e=>e.variable)))}async getWeights(){const e=[...this.accumulatedGrads,...this.accumulatedUpdates];return[await this.saveIterations()].concat(e.map(t=>({name:t.originalName,tensor:t.variable})))}async setWeights(e){e=await this.extractIterations(e);const t=e.length/2,n=!1;this.accumulatedGrads=e.slice(0,t).map(r=>({originalName:r.name,variable:r.tensor.variable(n)})),this.accumulatedUpdates=e.slice(t,t*2).map(r=>({originalName:r.name,variable:r.tensor.variable(n)}))}getConfig(){return{learningRate:this.learningRate,rho:this.rho,epsilon:this.epsilon}}static fromConfig(e,t){return new e(t.learningRate,t.rho,t.epsilon)}}sr.className="Adadelta";nt(sr);class ar extends ot{constructor(e,t=.1){super();this.learningRate=e,this.initialAccumulatorValue=t,this.accumulatedGrads=[]}applyGradients(e){const t=Array.isArray(e)?e.map(n=>n.name):Object.keys(e);t.forEach((n,r)=>{const o=g.registeredVariables[n];if(this.accumulatedGrads[r]==null){const s=!1;this.accumulatedGrads[r]={originalName:`${n}/accumulator`,variable:k(()=>Ge(o.shape,this.initialAccumulatorValue).variable(s))}}const i=Array.isArray(e)?e[r].tensor:e[n];if(i==null)return;const a=this.accumulatedGrads[r].variable;k(()=>{const s=R(a,H(i));a.assign(s);const c=R(v(F(i,me(R(s,g.backend.epsilon()))),-this.learningRate),o);o.assign(c)})}),this.incrementIterations()}dispose(){this.accumulatedGrads!=null&&ve(this.accumulatedGrads.map(e=>e.variable))}async getWeights(){return[await this.saveIterations()].concat(this.accumulatedGrads.map(e=>({name:e.originalName,tensor:e.variable})))}async setWeights(e){e=await this.extractIterations(e);const t=!1;this.accumulatedGrads=e.map(n=>({originalName:n.name,variable:n.tensor.variable(t)}))}getConfig(){return{learningRate:this.learningRate,initialAccumulatorValue:this.initialAccumulatorValue}}static fromConfig(e,t){return new e(t.learningRate,t.initialAccumulatorValue)}}ar.className="Adagrad";nt(ar);class cr extends ot{constructor(e,t,n,r=null){super();this.learningRate=e,this.beta1=t,this.beta2=n,this.epsilon=r,this.accumulatedFirstMoment=[],this.accumulatedSecondMoment=[],k(()=>{this.accBeta1=_(t).variable(),this.accBeta2=_(n).variable()}),r==null&&(this.epsilon=g.backend.epsilon())}applyGradients(e){const t=Array.isArray(e)?e.map(n=>n.name):Object.keys(e);k(()=>{const n=O(1,this.accBeta1),r=O(1,this.accBeta2);t.forEach((o,i)=>{const a=g.registeredVariables[o],s=!1;this.accumulatedFirstMoment[i]==null&&(this.accumulatedFirstMoment[i]={originalName:`${o}/m`,variable:k(()=>W(a).variable(s))}),this.accumulatedSecondMoment[i]==null&&(this.accumulatedSecondMoment[i]={originalName:`${o}/v`,variable:k(()=>W(a).variable(s))});const c=Array.isArray(e)?e[i].tensor:e[o];if(c==null)return;const p=this.accumulatedFirstMoment[i].variable,l=this.accumulatedSecondMoment[i].variable,h=R(v(p,this.beta1),v(c,1-this.beta1)),d=R(v(l,this.beta2),v(H(c),1-this.beta2)),b=F(h,n),x=F(d,r);p.assign(h),l.assign(d);const w=R(v(F(b,R(me(x),this.epsilon)),-this.learningRate),a);a.assign(w)}),this.accBeta1.assign(v(this.accBeta1,this.beta1)),this.accBeta2.assign(v(this.accBeta2,this.beta2))}),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.accBeta2.dispose(),this.accumulatedFirstMoment!=null&&ve(this.accumulatedFirstMoment.map(e=>e.variable)),this.accumulatedSecondMoment!=null&&ve(this.accumulatedSecondMoment.map(e=>e.variable))}async getWeights(){const e=[...this.accumulatedFirstMoment,...this.accumulatedSecondMoment];return[await this.saveIterations()].concat(e.map(t=>({name:t.originalName,tensor:t.variable})))}async setWeights(e){e=await this.extractIterations(e),k(()=>{this.accBeta1.assign(Je(this.beta1,this.iterations_+1)),this.accBeta2.assign(Je(this.beta2,this.iterations_+1))});const t=e.length/2,n=!1;this.accumulatedFirstMoment=e.slice(0,t).map(r=>({originalName:r.name,variable:r.tensor.variable(n)})),this.accumulatedSecondMoment=e.slice(t,t*2).map(r=>({originalName:r.name,variable:r.tensor.variable(n)}))}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon}}static fromConfig(e,t){return new e(t.learningRate,t.beta1,t.beta2,t.epsilon)}}cr.className="Adam";nt(cr);class pr extends ot{constructor(e,t,n,r=null,o=0){super();this.learningRate=e,this.beta1=t,this.beta2=n,this.epsilon=r,this.decay=o,this.accumulatedFirstMoment=[],this.accumulatedWeightedInfNorm=[],k(()=>{this.iteration=_(0).variable(),this.accBeta1=_(t).variable()}),r==null&&(this.epsilon=g.backend.epsilon())}applyGradients(e){const t=Array.isArray(e)?e.map(n=>n.name):Object.keys(e);k(()=>{const n=O(1,this.accBeta1),r=F(-this.learningRate,R(v(this.iteration,this.decay),1));t.forEach((o,i)=>{const a=g.registeredVariables[o],s=!1;this.accumulatedFirstMoment[i]==null&&(this.accumulatedFirstMoment[i]={originalName:`${o}/m`,variable:W(a).variable(s)}),this.accumulatedWeightedInfNorm[i]==null&&(this.accumulatedWeightedInfNorm[i]={originalName:`${o}/v`,variable:W(a).variable(s)});const c=Array.isArray(e)?e[i].tensor:e[o];if(c==null)return;const p=this.accumulatedFirstMoment[i].variable,l=this.accumulatedWeightedInfNorm[i].variable,h=R(v(p,this.beta1),v(c,1-this.beta1)),d=v(l,this.beta2),b=Ee(c),x=kt(d,b);p.assign(h),l.assign(x);const w=R(v(F(r,n),F(h,R(x,this.epsilon))),a);a.assign(w)}),this.iteration.assign(R(this.iteration,1)),this.accBeta1.assign(v(this.accBeta1,this.beta1))}),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.iteration.dispose(),this.accumulatedFirstMoment!=null&&ve(this.accumulatedFirstMoment.map(e=>e.variable)),this.accumulatedWeightedInfNorm!=null&&ve(this.accumulatedWeightedInfNorm.map(e=>e.variable))}async getWeights(){throw new Error("getWeights() is not implemented for Adamax yet.")}async setWeights(e){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(e,t){return new e(t.learningRate,t.beta1,t.beta2,t.epsilon,t.decay)}}pr.className="Adamax";nt(pr);class on extends ot{constructor(e){super();this.learningRate=e,this.setLearningRate(e)}applyGradients(e){const t=Array.isArray(e)?e.map(n=>n.name):Object.keys(e);t.forEach((n,r)=>{const o=Array.isArray(e)?e[r].tensor:e[n];if(o==null)return;const i=g.registeredVariables[n];k(()=>{const a=R(v(this.c,o),i);i.assign(a)})}),this.incrementIterations()}setLearningRate(e){this.learningRate=e,this.c!=null&&this.c.dispose(),this.c=sl(_(-e))}dispose(){this.c.dispose()}async getWeights(){return[await this.saveIterations()]}async setWeights(e){if(e=await this.extractIterations(e),e.length!==0)throw new Error("SGD optimizer does not have settable weights.")}getConfig(){return{learningRate:this.learningRate}}static fromConfig(e,t){return new e(t.learningRate)}}on.className="SGD";nt(on);class lr extends on{constructor(e,t,n=!1){super(e);this.learningRate=e,this.momentum=t,this.useNesterov=n,this.accumulations=[],this.m=_(this.momentum)}applyGradients(e){const t=Array.isArray(e)?e.map(n=>n.name):Object.keys(e);t.forEach((n,r)=>{const o=g.registeredVariables[n];if(this.accumulations[r]==null){const s=!1;this.accumulations[r]={originalName:`${n}/momentum`,variable:k(()=>W(o).variable(s))}}const i=this.accumulations[r].variable,a=Array.isArray(e)?e[r].tensor:e[n];if(a==null)return;k(()=>{let s;const c=R(v(this.m,i),a);this.useNesterov?s=R(v(this.c,R(a,v(c,this.m))),o):s=R(v(this.c,c),o),i.assign(c),o.assign(s)})}),this.incrementIterations()}dispose(){this.m.dispose(),this.accumulations!=null&&ve(this.accumulations.map(e=>e.variable))}setMomentum(e){this.momentum=e}async getWeights(){return[await this.saveIterations()].concat(this.accumulations.map(e=>({name:e.originalName,tensor:e.variable})))}async setWeights(e){e=await this.extractIterations(e);const t=!1;this.accumulations=e.map(n=>({originalName:n.name,variable:n.tensor.variable(t)}))}getConfig(){return{learningRate:this.learningRate,momentum:this.momentum,useNesterov:this.useNesterov}}static fromConfig(e,t){return new e(t.learningRate,t.momentum,t.useNesterov)}}lr.className="Momentum";nt(lr);class hr extends ot{constructor(e,t=.9,n=0,r=null,o=!1){super();if(this.learningRate=e,this.decay=t,this.momentum=n,this.epsilon=r,this.accumulatedMeanSquares=[],this.accumulatedMoments=[],this.accumulatedMeanGrads=[],this.centered=o,r==null&&(this.epsilon=g.backend.epsilon()),e==null)throw new Error("learningRate for RMSPropOptimizer must be defined.")}applyGradients(e){const t=Array.isArray(e)?e.map(n=>n.name):Object.keys(e);t.forEach((n,r)=>{const o=g.registeredVariables[n],i=!1;this.accumulatedMeanSquares[r]==null&&(this.accumulatedMeanSquares[r]={originalName:`${n}/rms`,variable:k(()=>W(o).variable(i))}),this.accumulatedMoments[r]==null&&(this.accumulatedMoments[r]={originalName:`${n}/momentum`,variable:k(()=>W(o).variable(i))}),this.accumulatedMeanGrads[r]==null&&this.centered&&(this.accumulatedMeanGrads[r]={originalName:`${n}/mg`,variable:k(()=>W(o).variable(i))});const a=Array.isArray(e)?e[r].tensor:e[n];if(a==null)return;const s=this.accumulatedMeanSquares[r].variable,c=this.accumulatedMoments[r].variable;k(()=>{const p=R(v(s,this.decay),v(H(a),1-this.decay));if(this.centered){const l=this.accumulatedMeanGrads[r].variable,h=R(v(l,this.decay),v(a,1-this.decay)),d=F(v(a,this.learningRate),me(O(p,R(H(h),this.epsilon)))),b=R(v(c,this.momentum),d);s.assign(p),l.assign(h),c.assign(b);const x=O(o,b);o.assign(x)}else{const l=R(v(s,this.decay),v(H(a),1-this.decay)),h=R(v(c,this.momentum),F(v(a,this.learningRate),me(R(l,this.epsilon))));s.assign(l),c.assign(h);const d=O(o,h);o.assign(d)}})}),this.incrementIterations()}dispose(){this.accumulatedMeanSquares!=null&&ve(this.accumulatedMeanSquares.map(e=>e.variable)),this.accumulatedMeanGrads!=null&&this.centered&&ve(this.accumulatedMeanGrads.map(e=>e.variable)),this.accumulatedMoments!=null&&ve(this.accumulatedMoments.map(e=>e.variable))}async getWeights(){const e=[...this.accumulatedMeanSquares,...this.accumulatedMoments];return this.centered&&e.push(...this.accumulatedMeanGrads),[await this.saveIterations()].concat(e.map(t=>({name:t.originalName,tensor:t.variable})))}async setWeights(e){e=await this.extractIterations(e);const t=this.centered?e.length/3:e.length/2,n=!1;this.accumulatedMeanSquares=e.slice(0,t).map(r=>({originalName:r.name,variable:r.tensor.variable(n)})),this.accumulatedMoments=e.slice(t,t*2).map(r=>({originalName:r.name,variable:r.tensor.variable(n)})),this.centered&&(this.accumulatedMeanGrads=e.slice(t*2,t*3).map(r=>({originalName:r.name,variable:r.tensor.variable(n)})))}getConfig(){return{learningRate:this.learningRate,decay:this.decay,momentum:this.momentum,epsilon:this.epsilon,centered:this.centered}}static fromConfig(e,t){return new e(t.learningRate,t.decay,t.momentum,t.epsilon,t.centered)}}hr.className="RMSProp";nt(hr);class Tn{static sgd(e){return new on(e)}static momentum(e,t,n=!1){return new lr(e,t,n)}static rmsprop(e,t=.9,n=0,r=null,o=!1){return new hr(e,t,n,r,o)}static adam(e=.001,t=.9,n=.999,r=null){return new cr(e,t,n,r)}static adadelta(e=.001,t=.95,n=null){return new sr(e,t,n)}static adamax(e=.002,t=.9,n=.999,r=null,o=0){return new pr(e,t,n,r,o)}static adagrad(e,t=.1){return new ar(e,t)}}lr,on,sr,ar,hr,pr,cr;const wI={sgd:Tn.sgd,momentum:Tn.momentum,adadelta:Tn.adadelta,adagrad:Tn.adagrad,rmsprop:Tn.rmsprop,adamax:Tn.adamax,adam:Tn.adam};const xI=(()=>typeof requestAnimationFrame!="undefined"?requestAnimationFrame:typeof setImmediate!="undefined"?setImmediate:e=>e())();function yI(){return new Promise(e=>xI(()=>e()))}function LI(e,t,n){const r=n*(typeof e=="number"?e:e[0]),o=t*(typeof e=="number"?e:e[1]);return[r,o]}function vI(e,t,n,r=!0){let o=[];if(r)o=o.concat(t.slice(0)),o.push(e[0]/n),o=o.concat(e.slice(1));else{o=o.concat(e[0]);const i=t.length;for(let a=0;a=t*2+1||a%2===1?i.push(a):o.push(a);r.push(...o),r.push(0),r.push(...i)}return r}function II(e,t,n,r=!0){const o=[];r?o.push(e[0]/n):o.push(e[0]*n);for(let i=1;iRI,ERF_A2:()=>_I,ERF_A3:()=>CI,ERF_A4:()=>EI,ERF_A5:()=>OI,ERF_P:()=>NI,PARALLELIZE_THRESHOLD:()=>ka,SELU_SCALE:()=>Vh,SELU_SCALEALPHA:()=>Yh,applyActivation:()=>rr,assertAndGetBroadcastShape:()=>q,assertAxesAreInnerMostDims:()=>qw,assertParamsConsistent:()=>cl,assignToTypedArray:()=>$I,axesAreInnerMostDims:()=>Yp,calculateShapes:()=>um,castTensor:()=>PI,combineLocations:()=>Ud,complexWithEvenIndex:()=>UI,complexWithOddIndex:()=>WI,computeConv2DInfo:()=>je,computeConv3DInfo:()=>Ln,computeDefaultPad:()=>il,computeDilation2DInfo:()=>rx,computeOptimalWindowSize:()=>Ny,computeOutAndReduceShapes:()=>Vp,computeOutShape:()=>pl,computePool2DInfo:()=>_t,computePool3DInfo:()=>Qt,convertConv2DDataFormat:()=>yn,eitherStridesOrDilationsAreOne:()=>le,expandShapeToKeepDim:()=>we,exponent:()=>GI,exponents:()=>jI,getAxesPermutation:()=>ge,getBroadcastDims:()=>uy,getComplexWithIndex:()=>BI,getFusedBiasGradient:()=>nr,getFusedDyActivation:()=>tr,getImageCenter:()=>LI,getInnerMostAxes:()=>De,getPermuted:()=>SI,getReductionAxes:()=>ae,getReshaped:()=>vI,getReshapedPermuted:()=>II,getSliceBeginCoords:()=>TI,getSliceSize:()=>AI,getUndoAxesPermutation:()=>Un,linspaceImpl:()=>HI,log:()=>DI,mergeRealAndImagArrays:()=>FI,prepareAndValidate:()=>pf,prepareSplitSize:()=>xh,reshapeTensor:()=>qI,segment_util:()=>Gd,shouldFuse:()=>or,splitRealAndImagArrays:()=>MI,tupleValuesAreOne:()=>ct,upcastType:()=>Mr,validateInput:()=>Wa,validateUpdateShape:()=>Dh,warn:()=>kI});function PI(e,t,n){if(t==="complex64"){if(e.dtype==="complex64")return e.clone();const r=Ce(e.shape),o=C(e,"float32"),i=n.complex(o,r);return r.dispose(),o.dispose(),i}if(!Op(e.dtype,t))return g.makeTensorFromDataId(e.dataId,e.shape,t);if(e.dtype==="complex64"){const r=n.real(e),o=C(r,t);return r.dispose(),o}if(t==="int32")return n.int(e);if(t==="bool"){const r=_(0,e.dtype),o=n.notEqual(e,r);return r.dispose(),o}else throw new Error(`Error in Cast: failed to cast ${e.dtype} to ${t}`)}function qI(e,t){return g.makeTensorFromDataId(e.dataId,t,e.dtype)}function HI(e,t,n){const r=(t-e)/(n-1),o=Pt(n,"float32");o[0]=e;for(let i=1;i{const a=[...o];a[n]=i;const s=G(e,r,a);return r[n]+=i,s})}function df(e,t){const n=new Array(e.rank);for(let o=0;oN.value-I.value);const w=h*r,L=c.subarray(w,w+r),S=p.subarray(w,w+r);for(let I=0;Iqa,nonMaxSuppressionV4Impl:()=>Ha,nonMaxSuppressionV5Impl:()=>za,split:()=>uf,tile:()=>df,topkImpl:()=>mf,whereImpl:()=>Ua});const zI=1e-7,YI=1e-4;class VI{constructor(e,t){this.backend=e,this.dataMover=t,this.data=new WeakMap(),this.dataIdsCount=0}get(e){return this.data.has(e)||this.dataMover.moveData(this.backend,e),this.data.get(e)}set(e,t){this.dataIdsCount++,this.data.set(e,t)}has(e){return this.data.has(e)}delete(e){return this.dataIdsCount--,this.data.delete(e)}numDataIds(){return this.dataIdsCount}}class KI{time(e){return T("time")}read(e){return T("read")}readSync(e){return T("readSync")}numDataIds(){return T("numDataIds")}disposeData(e){return T("disposeData")}write(e,t,n){return T("write")}move(e,t,n,r){return T("move")}memory(){return T("memory")}floatPrecision(){return T("floatPrecision")}epsilon(){return this.floatPrecision()===32?zI:YI}batchMatMul(e,t,n,r){return T("batchMatMul")}fusedBatchMatMul({a:e,b:t,transposeA:n,transposeB:r,bias:o,activation:i,preluActivationWeights:a}){return T("fusedBatchMatMul")}slice(e,t,n){return T("slice")}stridedSlice(e,t,n,r){return T("stridedSlice")}unstack(e,t){return T("unstack")}reverse(e,t){return T("reverse")}concat(e,t){return T("concat")}neg(e){return T("neg")}add(e,t){return T("add")}addN(e){return T("addN")}subtract(e,t){return T("subtract")}multiply(e,t){return T("multiply")}realDivide(e,t){return T("realDivide")}floorDiv(e,t){return T("floorDiv")}sum(e,t){return T("sum")}prod(e,t){return T("prod")}unsortedSegmentSum(e,t,n){return T("unsortedSegmentSum")}argMin(e,t){return T("argMin")}argMax(e,t){return T("argMax")}equal(e,t){return T("equal")}notEqual(e,t){return T("notEqual")}less(e,t){return T("less")}lessEqual(e,t){return T("lessEqual")}greater(e,t){return T("greater")}greaterEqual(e,t){return T("greaterEqual")}logicalNot(e){return T("logicalNot")}logicalAnd(e,t){return T("logicalAnd")}logicalOr(e,t){return T("logicalOr")}where(e){return T("where")}select(e,t,n){return T("select")}topk(e,t,n){return T("topk")}min(e,t){return T("min")}minimum(e,t){return T("minimum")}mod(e,t){return T("mod")}max(e,t){return T("max")}maximum(e,t){return T("maximum")}all(e,t){return T("all")}any(e,t){return T("any")}squaredDifference(e,t){return T("squaredDifference")}ceil(e){return T("ceil")}floor(e){return T("floor")}round(e){return T("round")}sign(e){return T("sign")}isNaN(e){return T("isNaN")}isInf(e){return T("isInf")}isFinite(e){return T("isFinite")}pow(e,t){return T("pow")}exp(e){return T("exp")}expm1(e){return T("expm1")}softmax(e,t){return T("softmax")}log(e){return T("log")}log1p(e){return T("log1p")}sqrt(e){return T("sqrt")}rsqrt(e){return T("rsqrt")}square(e){return T("square")}reciprocal(e){return T("reciprocal")}relu(e){return T("relu")}relu6(e){return T("relu6")}prelu(e,t){return T("prelu")}elu(e){return T("elu")}eluDer(e,t){return T("eluDer")}selu(e){return T("selu")}int(e){return T("int")}clip(e,t,n){return T("clip")}abs(e){return T("abs")}complexAbs(e){return T("complexAbs")}sigmoid(e){return T("sigmoid")}softplus(e){return T("softplus")}sin(e){return T("sin")}cos(e){return T("cos")}tan(e){return T("tan")}asin(e){return T("asin")}acos(e){return T("acos")}atan(e){return T("atan")}atan2(e,t){return T("atan2")}sinh(e){return T("sinh")}cosh(e){return T("cosh")}tanh(e){return T("tanh")}asinh(e){return T("asinh")}acosh(e){return T("acosh")}atanh(e){return T("atanh")}erf(e){return T("erf")}step(e,t){return T("step")}fusedConv2d({input:e,filter:t,convInfo:n,bias:r,activation:o,preluActivationWeights:i}){return T("fusedConv2d")}conv2d(e,t,n){return T("conv2d")}conv2dDerInput(e,t,n){return T("conv2dDerInput")}conv2dDerFilter(e,t,n){return T("conv2dDerFilter")}fusedDepthwiseConv2D({input:e,filter:t,convInfo:n,bias:r,activation:o,preluActivationWeights:i}){return T("fusedDepthwiseConv2D")}depthwiseConv2D(e,t,n){return T("depthwiseConv2D")}depthwiseConv2DDerInput(e,t,n){return T("depthwiseConv2DDerInput")}depthwiseConv2DDerFilter(e,t,n){return T("depthwiseConv2DDerFilter")}conv3d(e,t,n){return T("conv3d")}conv3dDerInput(e,t,n){return T("conv3dDerInput")}conv3dDerFilter(e,t,n){return T("conv3dDerFilter")}maxPool(e,t){return T("maxPool")}maxPoolBackprop(e,t,n,r){return T("maxPoolBackprop")}avgPool(e,t){return T("avgPool")}avgPoolBackprop(e,t,n){return T("avgPoolBackprop")}avgPool3d(e,t){return T("avgPool3d")}avgPool3dBackprop(e,t,n){return T("avgPool3dBackprop")}maxPool3d(e,t){return T("maxPool3d")}maxPool3dBackprop(e,t,n,r){return T("maxPool3dBackprop")}reshape(e,t){return T("reshape")}cast(e,t){return T("cast")}tile(e,t){return T("tile")}pad(e,t,n){return T("pad")}transpose(e,t){return T("transpose")}gather(e,t,n){return T("gather")}gatherND(e,t){return T("gatherND")}scatterND(e,t,n){return T("scatterND")}batchToSpaceND(e,t,n){return T("batchToSpaceND")}spaceToBatchND(e,t,n){return T("spaceToBatchND")}resizeBilinear(e,t,n,r){return T("resizeBilinear")}resizeBilinearBackprop(e,t,n){return T("resizeBilinearBackprop")}resizeNearestNeighbor(e,t,n,r){return T("resizeNearestNeighbor")}resizeNearestNeighborBackprop(e,t,n){return T("resizeNearestNeighborBackprop")}batchNorm(e,t,n,r,o,i){return T("batchNorm")}localResponseNormalization4D(e,t,n,r,o){return T("localResponseNormalization4D")}LRNGrad(e,t,n,r,o,i,a){return T("LRNGrad")}multinomial(e,t,n,r){return T("multinomial")}oneHot(e,t,n,r){return T("oneHot")}cumsum(e,t,n,r){return T("cumsum")}nonMaxSuppression(e,t,n,r,o){return T("nonMaxSuppression")}fft(e){return T("fft")}ifft(e){return T("ifft")}complex(e,t){return T("complex")}real(e){return T("real")}imag(e){return T("imag")}cropAndResize(e,t,n,r,o,i){return T("cropAndResize")}depthToSpace(e,t,n){return T("depthToSpace")}split(e,t,n){return T("split")}sparseToDense(e,t,n,r){return T("sparseToDense")}diag(e){return T("diag")}fill(e,t,n){return T("fill")}onesLike(e){return T("onesLike")}zerosLike(e){return T("zerosLike")}linspace(e,t,n){return T("linspace")}dispose(){return T("dispose")}}function T(e){throw new Error(`'${e}' not yet implemented or not found in the registry. Did you forget to import the kernel?`)}const gf={kernelName:xo,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>v(e,Dt(C(n,"float32"),-1))}}};const bf={kernelName:yo,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const r=H(C(n,"float32")),o=me(O(_(1),r));return ne(F(e,o))}}}};const wf={kernelName:Lo,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const r=me(O(H(C(n,"float32")),1));return F(e,r)}}}};const xf={kernelName:kn,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,o=q(n.shape,r.shape),i=()=>{let s=e;const c=ae(n.shape,o);return c.length>0&&(s=U(s,c)),y(s,n.shape)},a=()=>{let s=e;const c=ae(r.shape,o);return c.length>0&&(s=U(s,c)),y(s,r.shape)};return{a:i,b:a}}};const yf={kernelName:vo,saveAllInputs:!0,gradFunc:(e,t)=>{const n={};return t.forEach((r,o)=>{n[o]=()=>e.clone()}),n}};const Lf={kernelName:So,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>W(n)}}};const vf={kernelName:Io,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>W(n)}}};const Sf={kernelName:To,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>F(e,me(O(_(1),H(C(n,"float32")))))}}};const If={kernelName:Ao,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const r=me(R(_(1),H(C(n,"float32"))));return F(e,r)}}}};const Tf={kernelName:_o,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,o=q(n.shape,r.shape),i=()=>{const s=R(H(n),H(r));let c=v(e,F(r,s));const p=ae(n.shape,o);return p.length>0&&(c=U(c,p)),y(c,n.shape)},a=()=>{const s=R(H(n),H(r));let c=ne(v(e,F(n,s)));const p=ae(r.shape,o);return p.length>0&&(c=U(c,p)),y(c,r.shape)};return{a:i,b:a}}};const Af={kernelName:No,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>F(e,R(H(C(n,"float32")),1))}}};const Nf={kernelName:Ro,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>F(e,O(_(1),H(C(n,"float32"))))}}};function JI(e,t,n,r,o=[1,1,1],i,a){const s=u(e,"dy","avgPool3dBackprop"),c=u(t,"input","avgPool3dBackprop");let p=s,l=c,h=!1;c.rank===4&&(h=!0,p=y(s,[1,s.shape[0],s.shape[1],s.shape[2],s.shape[3]]),l=y(c,[1,c.shape[0],c.shape[1],c.shape[2],c.shape[3]])),f(p.rank===5,()=>`Error in avgPool3dBackprop: dy must be rank 5 but got rank ${p.rank}.`),f(l.rank===5,()=>`Error in avgPool3dBackprop: input must be rank 5 but got rank ${l.rank}.`),f(le(r,o),()=>`Error in avgPool3dBackprop: Either strides or dilations must be 1. Got strides ${r} and dilations '${o}'`),a!=null&&f(X(i),()=>`Error in maxPool3dBackprop: pad must be an integer when using, dimRoundingMode ${a} but got pad ${i}.`);const d=L=>{const S=Qt(l.shape,n,r,o,i,a);return L.avgPool3dBackprop(p,l,S)},b={dy:p,input:l},x={filterSize:n,strides:r,dilations:o,pad:i,dimRoundingMode:a},w=g.runKernelFunc(d,b,null,Dc,x);return h?y(w,[w.shape[1],w.shape[2],w.shape[3],w.shape[4]]):w}const Rf=m({avgPool3dBackprop_:JI});const _f={kernelName:Eo,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{filterSize:o,strides:i,dilations:a,pad:s,dimRoundingMode:c}=n,p=a==null?[1,1,1]:a;return{x:()=>Rf(e,r,o,i,p,s,c)}}};function XI(e,t,n,r,o){const i=u(e,"dy","avgPoolBackprop"),a=u(t,"input","avgPoolBackprop");f(a.rank===i.rank,()=>`Rank of input (${a.rank}) does not match rank of dy (${i.rank})`);let s=a,c=i,p=!1;a.rank===3&&(p=!0,s=y(a,[1,a.shape[0],a.shape[1],a.shape[2]]),c=y(i,[1,i.shape[0],i.shape[1],i.shape[2]])),f(c.rank===4,()=>`Error in avgPoolBackprop: dy must be rank 4 but got rank ${c.rank}.`),f(s.rank===4,()=>`Error in avgPoolBackprop: input must be rank 4 but got rank ${s.rank}.`);const l=x=>{const w=_t(s.shape,n,r,1,o);return x.avgPoolBackprop(c,s,w)},h={dy:c,input:s},d={filterSize:n,strides:r,pad:o},b=g.runKernelFunc(l,h,null,kc,d);return p?y(b,[b.shape[1],b.shape[2],b.shape[3]]):b}const Cf=m({avgPoolBackprop_:XI});const Ef={kernelName:Co,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{filterSize:o,strides:i,pad:a}=n;return{x:()=>Cf(e,r,o,i,a)}}};const Of={kernelName:Oo,inputsToSave:["a","b"],gradFunc:(e,t,n)=>{const[r,o]=t,{transposeA:i,transposeB:a}=n;return!i&&!a?{a:()=>Y(e,o,!1,!0),b:()=>Y(r,e,!0,!1)}:!i&&a?{a:()=>Y(e,o,!1,!1),b:()=>Y(e,r,!0,!1)}:i&&!a?{a:()=>Y(o,e,!1,!0),b:()=>Y(r,e,!1,!1)}:{a:()=>Y(o,e,!0,!0),b:()=>Y(e,r,!0,!0)}}};const kf={kernelName:ko,gradFunc:(e,t,n)=>{const{blockShape:r,crops:o}=n;return{x:()=>Kn(e,r,o)}}};const Df={kernelName:Do,gradFunc:(e,t,n)=>{const r=n,o=r.inputShape,i=r.shape,a=Array.from(i);for(let c=o.length-1;c>=0;c--)if(o[c]===i[c])a[c]=1;else if(o[c]!==1)throw new Error(`broadcastTo(): [${o}] cannot be broadcast to [${i}].`);const s=[];for(let c=0;c1&&s.push(c);return{x:()=>U(e,s,!0)}}};const Ff={kernelName:Dn,gradFunc:e=>({x:()=>e.clone()})};const Mf={kernelName:Fo,gradFunc:e=>({x:()=>W(e)})};const Uf={kernelName:Mo,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{clipValueMin:o,clipValueMax:i}=n;return{x:()=>Oe(Lt(ht(r,o),ut(r,i)),e,W(e))}}};const Wf={kernelName:Uo,saveAllInputs:!0,gradFunc:(e,t,n)=>{const r=t.map(c=>c.shape),{axis:o}=n,i=z(o,t[0].shape)[0],a=r.map(c=>c[i]),s=Yt(e,a,i);return s.map(c=>()=>c)}};const Bf={kernelName:Wo,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const[r,o]=t,{dilations:i,strides:a,pad:s,dataFormat:c}=n;return f(ct(i),()=>`Error in gradient of conv2D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${i}'`),{x:()=>$r(r.shape,e,o,a,s,c),filter:()=>Hr(r,e,o.shape,a,s,c)}}};const $f={kernelName:Bo,inputsToSave:["dy","filter"],gradFunc:(e,t,n)=>{const[r,o]=t,{strides:i,pad:a,dataFormat:s,dimRoundingMode:c}=n;return{dy:()=>xe(e,o,i,a,s,1,c),filter:()=>Hr(e,r,o.shape,i,a,s,c)}}};function ZI(e,t,n,r,o){let i=e;e.rank===4&&(i=y(e,[1,e.shape[0],e.shape[1],e.shape[2],e.shape[3]]));let a=t;a.rank===4&&(a=y(t,[1,t.shape[0],t.shape[1],t.shape[2],t.shape[3]])),f(i.rank===5,()=>`Error in conv3dDerFilter: input must be rank 5, but got shape ${i.shape}.`),f(a.rank===5,()=>`Error in conv3dDerFilter: dy must be rank 5, but got shape ${a.shape}.`),f(n.length===5,()=>`Error in conv3dDerFilter: filterShape must be length 5, but got ${n}.`),f(i.shape[4]===n[3],()=>`Error in conv3dDerFilter: depth of input ${i.shape[4]}) must match input depth in filter (${n[3]}.`),f(a.shape[4]===n[4],()=>`Error in conv3dDerFilter: depth of dy (${a.shape[4]}) must match output depth for filter (${n[4]}).`);const s=l=>{const h=1,d=Ln(i.shape,n,r,h,o);return l.conv3dDerFilter(i,a,d)},c={x:i,y:a},p={strides:r,pad:o};return g.runKernelFunc(s,c,null,Uc,p)}const jf=m({conv3DBackpropFilter_:ZI});const Gf={kernelName:$o,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const{dilations:r,strides:o,pad:i}=n;f(ct(r),()=>`Error in gradient of conv3D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${r}'`);const[a,s]=t;return{x:()=>Oa(a.shape,e,s,o,i),filter:()=>jf(a,e,s.shape,o,i)}}};const Pf={kernelName:jo,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>v(ne(Cs(C(n,"float32"))),e)}}};const qf={kernelName:Go,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>v(Es(C(n,"float32")),e)}}};const Hf={kernelName:Po,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{axis:o,exclusive:i,reverse:a}=n;return{x:()=>{const s=ge([o],r.rank);let c=fs(e,o,i,!a);return s!=null&&(c=K(c,s)),c}}}};const zf={kernelName:qo,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const{dilations:r,strides:o,pad:i,dimRoundingMode:a}=n,s=r==null?[1,1]:r;f(ct(s),()=>`Error in gradient of depthwiseConv2dNative: dilation rates greater than 1 are not yet supported. Got dilations '${s}'`);const[c,p]=t;f(c.rank===4,()=>`Error in gradient of depthwiseConv2dNative: input must be rank 4, but got rank ${c.rank}.`),f(p.rank===4,()=>`Error in gradient of depthwiseConv2dNative: filter must be rank 4, but got rank ${p.rank}.`),f(c.shape[3]===p.shape[2],()=>`Error in gradient of depthwiseConv2d: number of input channels (${c.shape[3]}) must match the inChannels dimension in filter ${p.shape[2]}.`),f(le(o,s),()=>`Error in gradient of depthwiseConv2d: Either strides or dilations must be 1. Got strides ${o} and dilations '${s}'.`),a!=null&&f(X(i),()=>`Error in depthwiseConv2d: pad must be an integer when using, dimRoundingMode ${a} but got pad ${i}.`);const l=je(c.shape,p.shape,o,s,i,a,!0);return{x:()=>ja(c.shape,e,p,l),filter:()=>$a(c,e,p.shape,l)}}};const Yf={kernelName:Ho,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const[r,o]=t,i={x:r,filter:o,dy:e},a={x:r,filter:o,dy:e};return{x:()=>g.runKernel(qc,i,n),filter:()=>g.runKernel(Hc,a,n)}}};const Vf={kernelName:zo,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,o=q(n.shape,r.shape),i=()=>{const s=F(e,C(r,"float32")),c=ae(n.shape,o);return c.length>0?y(U(s,c),n.shape):s},a=()=>{let s=v(e,C(n,"float32"));const c=ae(r.shape,o);c.length>0&&(s=y(U(s,c),r.shape));const p=H(r);return ne(F(s,C(p,"float32")))};return{a:i,b:a}}};const Kf={kernelName:Yo,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t,r=i=>i.eluDer(e,n),o={dy:e,y:n};return{x:()=>g.runKernelFunc(r,o,null,zc)}}};const Jf={kernelName:Vo,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t,r=v(Se(ne(H(n))),2/Math.sqrt(Math.PI));return{x:()=>v(e,r)}}};const Xf={kernelName:Ko,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t;return{x:()=>v(e,n)}}};const Zf={kernelName:Jo,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>v(e,Se(n))}}};const Qf={kernelName:Xo,gradFunc:e=>({x:()=>W(e)})};const eg={kernelName:Zo,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,o=q(n.shape,r.shape),i=()=>{const s=F(e,C(r,"float32")),c=ae(n.shape,o);return c.length>0?y(U(s,c),n.shape):s},a=()=>{let s=v(e,C(n,"float32"));const c=ae(r.shape,o);c.length>0&&(s=y(U(s,c),r.shape));const p=H(r);return ne(F(s,C(p,"float32")))};return{a:i,b:a}}};const tg={kernelName:Qo,inputsToSave:["x","mean","variance","scale"],gradFunc:(e,t,n)=>{const{varianceEpsilon:r}=n,[o,i,a,s]=t,c=s==null?_(1):s,p=ae(i.shape,o.shape),l=[];if(i.rank===1){for(let A=0;Ai.rank===1?y(v(v(e,Ot(y(b,[1,1,1,i.shape[0]]),l)),c),o.shape):y(v(v(e,b),c),o.shape),L=()=>{let A=v(v(b,_(-1)),d);return i.rank===1&&(A=U(A,p)),y(A,i.shape)},S=()=>{let A=v(v(x,h),d);return i.rank===1&&(A=U(A,p)),y(A,i.shape)},I=()=>{const A=v(h,b);let E=v(e,A);return i.rank===1&&(E=U(E,p)),y(E,i.shape)},N=()=>{let A=e;return i.rank===1&&(A=U(A,p)),y(A,i.shape)};return{x:w,mean:L,variance:S,scale:I,offset:N}}};const og={kernelName:ei,inputsToSave:["x","indices"],gradFunc:(e,t,n)=>{const[r,o]=t,{axis:i}=n,a=z(i,r.shape)[0],s=()=>{const c=r.shape,p=o.size,l=c.slice(0,a),h=l.length,d=c.slice(i,c.length).slice(1),b=d.length,x=ng(0,h),w=ng(h+1,h+1+b),L=rg([l,[p],d]),S=y(e,L),I=y(o,[p]),N=rg([[h],x,w]),A=K(S,N);let E=ks(A,I,r.shape[a]);const M=Un(N);return E=K(E,M),E};return{x:s,indices:()=>o}}};function ng(e,t){const n=[];for(let r=e;r{const[n,r]=t;return{a:()=>W(n),b:()=>W(r)}}};const sg={kernelName:ni,gradFunc:e=>({x:()=>C(e,"float32")})};const ag={kernelName:ri,gradFunc:e=>({x:()=>W(e)})};const cg={kernelName:oi,gradFunc:e=>({x:()=>W(e)})};const pg={kernelName:ii,gradFunc:e=>({x:()=>W(e)})};const lg={kernelName:ai,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>F(e,R(n,1))}}};const hg={kernelName:si,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>F(e,C(n,"float32"))}}};const ug={kernelName:ci,inputsToSave:[],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[r]=t,{axis:o}=n;return{logits:()=>{const i=!0,a=Se(r);return O(e,v(U(e,o,i),a))}}}};function QI(e,t,n,r=5,o=1,i=1,a=.5){const s=l=>l.LRNGrad(n,e,t,r,o,i,a),c={x:e,y:t,dy:n},p={depthRadius:r,bias:o,alpha:i,beta:a};return g.runKernelFunc(s,c,null,ap,p)}const dg=m({localResponseNormalizationBackprop_:QI});const mg={kernelName:pi,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[r,o]=t,{depthRadius:i,bias:a,alpha:s,beta:c}=n;return{x:()=>dg(r,o,e,i,a,s,c)}}};function Ja(e,t,n,r,o){return t.rank{const i=v(e,C(tn(n,t),e.dtype));return o==null?i:K(i,o)}}}const Kh={kernelName:li,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const r=n,{reductionIndices:o}=r,[i,a]=t,s=z(o,i.shape),c=ge(s,i.rank),p=Ja(e,a,i,s,c);return{x:()=>{let l=p.x();return c!=null&&(l=K(l)),l}}}};const fg={kernelName:hi,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,o=()=>v(e,C(ht(n,r),"float32")),i=()=>v(e,C(Hn(n,r),"float32"));return{a:o,b:i}}};function eT(e,t,n,r,o,i=[1,1,1],a,s){const c=u(e,"dy","maxPool3dBackprop"),p=u(t,"input","maxPool3dBackprop"),l=u(n,"output","maxPool3dBackprop");let h=c,d=p,b=l,x=!1;p.rank===4&&(x=!0,h=y(c,[1,c.shape[0],c.shape[1],c.shape[2],c.shape[3]]),d=y(p,[1,p.shape[0],p.shape[1],p.shape[2],p.shape[3]]),b=y(l,[1,l.shape[0],l.shape[1],l.shape[2],l.shape[3]])),f(h.rank===5,()=>`Error in maxPool3dBackprop: dy must be rank 5 but got rank ${h.rank}.`),f(d.rank===5,()=>`Error in maxPool3dBackprop: input must be rank 5 but got rank ${d.rank}.`),f(b.rank===5,()=>`Error in maxPool3dBackprop: output must be rank 5 but got rank ${b.rank}.`),f(le(o,i),()=>`Error in maxPool3dBackprop: Either strides or dilations must be 1. Got strides ${o} and dilations '${i}'`),s!=null&&f(X(a),()=>`Error in maxPool3dBackprop: pad must be an integer when using, dimRoundingMode ${s} but got pad ${a}.`);const w=N=>{const A=Qt(d.shape,r,o,i,a,s);return N.maxPool3dBackprop(h,d,b,A)},L={dy:h,input:d,output:b},S={filterSize:r,strides:o,dilations:i,pad:a,dimRoundingMode:s},I=g.runKernelFunc(w,L,null,pp,S);return x?y(I,[I.shape[1],I.shape[2],I.shape[3],I.shape[4]]):I}const gg=m({maxPool3dBackprop_:eT});const bg={kernelName:di,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[r,o]=t,{filterSize:i,strides:a,dilations:s,pad:c,dimRoundingMode:p}=n,l=s==null?[1,1,1]:s;return{x:()=>gg(e,r,o,i,a,l,c,p)}}};function tT(e,t,n,r,o,i,a){const s=u(e,"dy","maxPoolBackprop"),c=u(t,"input","maxPoolBackprop"),p=u(n,"output","maxPoolBackprop");f(c.rank===s.rank,()=>`Rank of input (${c.rank}) does not match rank of dy (${s.rank})`),f(s.rank===4,()=>`Error in maxPoolBackprop: dy must be rank 4 but got rank ${s.rank}.`),f(c.rank===4,()=>`Error in maxPoolBackprop: input must be rank 4 but got rank ${c.rank}.`),a!=null&&f(X(i),()=>`Error in maxPoolBackprop: pad must be an integer when using, dimRoundingMode ${a} but got pad ${i}.`);const l=b=>{const x=_t(c.shape,r,o,1,i,a);return b.maxPoolBackprop(s,c,p,x)},h={dy:s,input:c,output:p},d={filterSize:r,strides:o,pad:i,dimRoundingMode:a};return g.runKernelFunc(l,h,null,cp,d)}const wg=m({maxPoolBackprop_:tT});const xg={kernelName:ui,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[r,o]=t,{filterSize:i,strides:a,pad:s}=n;return{x:()=>wg(e,r,o,i,a,s)}}};const yg={kernelName:mi,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const r=n,{axis:o}=r,[i,a]=t,s=z(o,i.shape),c=ge(s,i.rank),p=Ja(e,a,i,s,c);return{x:()=>{let l=p.x();return c!=null&&(l=K(l)),l}}}};const Lg={kernelName:fi,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,o=()=>v(e,C(ut(n,r),"float32")),i=()=>v(e,C(tt(n,r),"float32"));return{a:o,b:i}}};const vg={kernelName:gi,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,o=q(n.shape,r.shape),i=()=>{const s=ae(n.shape,o);return s.length>0?y(U(e,s),n.shape):e},a=()=>{const s=v(e,ne(Pn(F(n,r)))),c=ae(r.shape,o);return c.length>0?y(U(s,c),r.shape):s};return{a:i,b:a}}};const Sg={kernelName:bi,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,o=q(n.shape,r.shape),i=()=>{const s=v(e,C(r,"float32")),c=ae(n.shape,o);return c.length>0?y(U(s,c),n.shape):s},a=()=>{const s=v(e,C(n,"float32")),c=ae(r.shape,o);return c.length>0?y(U(s,c),r.shape):s};return{a:i,b:a}}};const Ig={kernelName:wi,gradFunc:e=>({x:()=>ne(e)})};const Tg={kernelName:yi,inputsToSave:["indices"],gradFunc:(e,t)=>{const n=t[0];return{indices:()=>Ce(n.shape,"float32")}}};const Ag={kernelName:xi,gradFunc:e=>({x:()=>W(e)})};const Jh={kernelName:Li,inputsToSave:["x"],gradFunc:(e,t,n)=>{const r=t[0],{paddings:o}=n,i=o.map(a=>a[0]);return{x:()=>G(e,i,r.shape)}}};const Ng={kernelName:vi,inputsToSave:["a","b"],outputsToSave:[!0],gradFunc:(e,t)=>{const[n,r,o]=t,i=n,a=r,s=q(i.shape,a.shape),c=()=>{const l=C(a,"float32");let h=v(e,v(l,Je(i,O(l,_(1)))));const d=ae(i.shape,s);return d.length>0&&(h=U(h,d)),y(h,i.shape)},p=()=>{const l=tt(i,0),h=Oe(l,yt(i),W(i));let d=v(e,v(o,h));const b=ae(a.shape,s);return b.length>0&&(d=U(d,b)),y(d,a.shape)};return{a:c,b:p}}};const Rg={kernelName:Si,inputsToSave:["x","alpha"],gradFunc:(e,t)=>{const[n,r]=t,o=tt(n,0);return{x:()=>Oe(o,e,v(e,r)),alpha:()=>{let i=Oe(o,W(e),v(e,n));const a=ae(r.shape,e.shape);return a.length>0&&(i=U(i,a)),y(i,r.shape)}}}};const _g={kernelName:Ii,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>F(e,ne(H(n)))}}};const Cg={kernelName:_i,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t,r=v(ut(n,6),Dt(n));return{x:()=>v(e,C(r,"float32"))}}};const Eg={kernelName:Ti,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>v(e,C(Dt(n),"float32"))}}};const Og={kernelName:Ai,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>y(e,n.shape)}}};const kg={kernelName:Ri,inputsToSave:["images"],gradFunc:(e,t,n)=>{const[r]=t,o=s=>{const{alignCorners:c}=n;return s.resizeBilinearBackprop(e,r,c)},i={images:r},a=()=>g.runKernelFunc(o,i,null,xp,n);return{images:a}}};const Dg={kernelName:Ni,inputsToSave:["images"],gradFunc:(e,t,n)=>{const[r]=t,o=s=>{const{alignCorners:c}=n;return s.resizeNearestNeighborBackprop(e,r,c)},i={images:r},a=()=>g.runKernelFunc(o,i,null,wp,n);return{images:a}}};const Fg={kernelName:Ci,gradFunc:(e,t,n)=>{const{dims:r}=n,o=z(r,e.shape);return{x:()=>Ve(e,o)}}};const Mg={kernelName:Ei,gradFunc:e=>({x:()=>W(e)})};const Ug={kernelName:Oi,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>ne(F(e,v(Je(n,1.5),2)))}}};const Wg={kernelName:ki,inputsToSave:["condition"],gradFunc:(e,t)=>{const[n]=t;return{condition:()=>C(W(n),"float32"),t:()=>v(e,C(n,e.dtype)),e:()=>v(e,C(zn(n),e.dtype))}}};const Bg={kernelName:Di,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const r=tt(n,_(0)),o=_(Yh),i=_(Vh),a=v(e,i),s=v(v(e,o),Se(C(n,"float32")));return Oe(r,a,s)}}}};const $g={kernelName:Bi,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t;return{x:()=>v(e,v(n,O(_(1),n)))}}};const jg={kernelName:Wi,gradFunc:e=>({x:()=>W(e)})};const Gg={kernelName:Mi,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>v(jn(C(n,"float32")),e)}}};const Pg={kernelName:Ui,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>v(ms(C(n,"float32")),e)}}};const qg={kernelName:Fi,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{begin:o,size:i}=n,a=r.shape,[s,c]=ds(r,o,i),p=[];for(let l=0;lPe(e,p)}}};const Hg={kernelName:Hi,outputsToSave:[!0],gradFunc:(e,t,n)=>{const[r]=t,{dim:o}=n,i=!0,a=v(e,r);return{logits:()=>O(a,v(U(a,[o],i),r))}}};const zg={kernelName:$i,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>v(e,lt(n))}}};const Xh={kernelName:Pi,gradFunc:(e,t,n)=>{const{blockShape:r,paddings:o}=n;return{x:()=>Bn(e,r,o)}}};const Zh={kernelName:qi,gradFunc:(e,t,n)=>{const{axis:r}=n;return{x:()=>Z(e,r)}}};const Yg={kernelName:ji,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>F(e,v(me(C(n,"float32")),2))}}};const Vg={kernelName:Lp,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>v(e,v(C(n,"float32"),2))}}};const Kg={kernelName:zi,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,o=_(2),i=()=>v(e,v(o,O(n,r))),a=()=>v(e,v(o,O(r,n)));return{a:i,b:a}}};const Jg={kernelName:ts,gradFunc:e=>({x:()=>W(e)})};const Xg={kernelName:Yi,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,o=q(n.shape,r.shape),i=()=>{let s=e;const c=ae(n.shape,o);return c.length>0&&(s=U(s,c)),y(s,n.shape)},a=()=>{let s=e;const c=ae(r.shape,o);return c.length>0&&(s=U(s,c)),y(ne(s),r.shape)};return{a:i,b:a}}};const Zg={kernelName:Gi,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,o=r.shape.slice(),{axis:i}=n,a=z(i,r.shape);a.forEach(p=>{o[p]=1});const s=y(e,o),c=v(s,vt(r.shape,"float32"));return{x:()=>c}}};const Qg={kernelName:Vi,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>F(e,H(jn(n)))}}};const eb={kernelName:Ki,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t;return{x:()=>v(O(_(1),H(n)),e)}}};const tb={kernelName:Ji,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{reps:o}=n,i=()=>{let a=W(r);if(r.rank===1)for(let s=0;s{const r=n,{perm:o}=r,i=Un(o);return{x:()=>K(e,i)}}};const rb={kernelName:Zi,gradFunc:(e,t,n)=>{const r=n,{axis:o}=r;return{value:()=>ke(e,o)}}};const ob={kernelName:Qi,inputsToSave:["segmentIds"],gradFunc:(e,t)=>{const[n]=t,r=()=>nT(e,n);return{x:r}}};function nT(e,t){const n=kt(t,W(t)),r=qn(e,n);let o=ht(t,_(0,"int32"));const i=r.rank-o.rank;for(let s=0;s({x:()=>W(e)})};const rT=[gf,bf,wf,xf,yf,Lf,vf,Sf,If,Tf,Af,Nf,_f,Ef,Of,kf,Df,Ff,Mf,Uf,Wf,$f,Bf,Gf,Pf,qf,Hf,zf,Yf,Vf,Kf,Jf,Xf,Zf,eg,Qf,tg,og,ig,sg,ag,cg,pg,lg,hg,ug,mg,Kh,Kh,fg,bg,xg,yg,Lg,vg,Sg,Ig,Tg,Ag,Jh,Jh,Ng,Rg,_g,Cg,Eg,Og,kg,Dg,Fg,Mg,Ug,Wg,Bg,$g,jg,Gg,Pg,qg,Hg,zg,Xh,Xh,Zh,Zh,Yg,Kg,Vg,Jg,Xg,Zg,Qg,eb,tb,nb,rb,ob,ib];for(const e of rT)Np(e);const Ys={};Re(Ys,{Abs:()=>xo,Acos:()=>yo,Acosh:()=>Lo,AdadeltaOptimizer:()=>sr,AdagradOptimizer:()=>ar,AdamOptimizer:()=>cr,AdamaxOptimizer:()=>pr,Add:()=>kn,AddN:()=>vo,All:()=>Ec,Any:()=>Oc,ArgMax:()=>So,ArgMin:()=>Io,Asin:()=>To,Asinh:()=>Ao,Atan:()=>No,Atan2:()=>_o,Atanh:()=>Ro,AvgPool:()=>Co,AvgPool3D:()=>Eo,AvgPool3DBackprop:()=>Dc,AvgPoolBackprop:()=>kc,BatchMatMul:()=>Oo,BatchToSpaceND:()=>ko,BroadcastTo:()=>Do,Cast:()=>Dn,Ceil:()=>Fo,ClipByValue:()=>Mo,Complex:()=>Fc,Concat:()=>Uo,Conv2D:()=>Wo,Conv2DBackpropFilter:()=>Mc,Conv2DBackpropInput:()=>Bo,Conv3D:()=>$o,Conv3DBackpropFilterV2:()=>Uc,Conv3DBackpropInputV2:()=>Wc,Cos:()=>jo,Cosh:()=>Go,CropAndResize:()=>Bc,Cumsum:()=>Po,DataStorage:()=>VI,DepthToSpace:()=>$c,DepthwiseConv2dNative:()=>qo,DepthwiseConv2dNativeBackpropFilter:()=>jc,DepthwiseConv2dNativeBackpropInput:()=>Gc,Diag:()=>Pc,Dilation2D:()=>Ho,Dilation2DBackpropFilter:()=>Hc,Dilation2DBackpropInput:()=>qc,Div:()=>zo,ENV:()=>Nc,Elu:()=>Yo,EluGrad:()=>zc,Environment:()=>Ac,Equal:()=>Yc,Erf:()=>Vo,Exp:()=>Ko,Expm1:()=>Jo,FFT:()=>Vc,Fill:()=>Kc,FlipLeftRight:()=>Jc,Floor:()=>Xo,FloorDiv:()=>Zo,FromPixels:()=>La,FusedBatchNorm:()=>Qo,FusedConv2D:()=>Sa,FusedDepthwiseConv2D:()=>Ia,GatherNd:()=>Xc,GatherV2:()=>ei,Greater:()=>Zc,GreaterEqual:()=>ti,IFFT:()=>Qc,Identity:()=>ni,Imag:()=>ep,IsFinite:()=>ri,IsInf:()=>oi,IsNan:()=>ii,KernelBackend:()=>KI,LRN:()=>pi,LRNBackprop:()=>ap,Less:()=>tp,LessEqual:()=>np,LinSpace:()=>rp,Log:()=>si,Log1p:()=>ai,LogSoftmax:()=>ci,LogicalAnd:()=>op,LogicalNot:()=>ip,LogicalOr:()=>sp,Max:()=>li,MaxPool:()=>ui,MaxPool3D:()=>di,MaxPool3DBackprop:()=>pp,MaxPoolBackprop:()=>cp,MaxPoolWithArgmax:()=>lp,Maximum:()=>hi,Mean:()=>aw,Min:()=>mi,Minimum:()=>fi,Mod:()=>gi,MomentumOptimizer:()=>lr,Multiply:()=>bi,Negate:()=>wi,NonMaxSuppressionV3:()=>up,NonMaxSuppressionV4:()=>dp,NonMaxSuppressionV5:()=>mp,NotEqual:()=>hp,OneHot:()=>yi,OnesLike:()=>xi,Optimizer:()=>ot,PadV2:()=>Li,Pool:()=>cw,Pow:()=>vi,Prelu:()=>Si,Prod:()=>fp,RMSPropOptimizer:()=>hr,Range:()=>gp,Rank:()=>Up,Real:()=>bp,Reciprocal:()=>Ii,Reduction:()=>be,Relu:()=>Ti,Relu6:()=>_i,Reshape:()=>Ai,ResizeBilinear:()=>Ri,ResizeBilinearGrad:()=>xp,ResizeNearestNeighbor:()=>Ni,ResizeNearestNeighborGrad:()=>wp,Reverse:()=>Ci,RotateWithOffset:()=>Tp,Round:()=>Ei,Rsqrt:()=>Oi,SGDOptimizer:()=>on,ScatterNd:()=>yp,SelectV2:()=>ki,Selu:()=>Di,Sigmoid:()=>Bi,Sign:()=>Wi,Sin:()=>Mi,Sinh:()=>Ui,Slice:()=>Fi,Softmax:()=>Hi,Softplus:()=>$i,SpaceToBatchND:()=>Pi,SparseToDense:()=>vp,SplitV:()=>qi,Sqrt:()=>ji,Square:()=>Lp,SquaredDifference:()=>zi,Step:()=>ts,StridedSlice:()=>Sp,Sub:()=>Yi,Sum:()=>Gi,Tan:()=>Vi,Tanh:()=>Ki,Tensor:()=>ee,TensorBuffer:()=>Dr,Tile:()=>Ji,TopK:()=>Ip,Transpose:()=>Xi,Unpack:()=>Zi,UnsortedSegmentSum:()=>Qi,Variable:()=>Ht,ZerosLike:()=>es,_FusedMatMul:()=>va,abs:()=>Ee,acos:()=>qp,acosh:()=>Hp,add:()=>R,addN:()=>zp,addStrict:()=>em,all:()=>Kp,any:()=>Jp,argMax:()=>Xp,argMin:()=>Zp,asin:()=>Qp,asinh:()=>el,atan:()=>tl,atan2:()=>nl,atanh:()=>rl,avgPool:()=>pt,avgPool3d:()=>al,backend:()=>Ix,backend_util:()=>hf,basicLSTMCell:()=>wl,batchNorm:()=>Ct,batchNorm2d:()=>xl,batchNorm3d:()=>yl,batchNorm4d:()=>Ll,batchToSpaceND:()=>Bn,booleanMaskAsync:()=>Yd,broadcastTo:()=>Br,browser:()=>Kr,buffer:()=>Be,cast:()=>C,ceil:()=>vl,clipByValue:()=>$n,clone:()=>Et,complex:()=>Ye,concat:()=>Z,concat1d:()=>Sl,concat2d:()=>Il,concat3d:()=>Tl,concat4d:()=>Al,conv1d:()=>Nl,conv2d:()=>xe,conv2dTranspose:()=>Rl,conv3d:()=>_l,conv3dTranspose:()=>Cl,cos:()=>jn,cosh:()=>ms,cosineWindow:()=>qr,cumsum:()=>fs,customGrad:()=>Ke,deprecationWarn:()=>Le,depthToSpace:()=>El,depthwiseConv2d:()=>en,device_util:()=>Dd,diag:()=>Ol,dilation2d:()=>kl,disableDeprecationWarnings:()=>hx,dispose:()=>ve,disposeVariables:()=>ux,div:()=>F,divNoNan:()=>Dl,divStrict:()=>tm,dot:()=>Fl,dropout:()=>wm,elu:()=>bs,enableDebugMode:()=>lx,enableProdMode:()=>px,enclosingPowerOfTwo:()=>Ba,engine:()=>dx,env:()=>pe,equal:()=>tn,equalStrict:()=>Vd,erf:()=>Ml,exp:()=>Se,expandDims:()=>et,expm1:()=>Ul,eye:()=>ws,fft:()=>Gn,fill:()=>Ge,findBackend:()=>Lx,findBackendFactory:()=>vx,floor:()=>Pn,floorDiv:()=>gs,fused:()=>Fh,gather:()=>qn,gatherND:()=>gm,gather_util:()=>cf,getBackend:()=>xx,getGradient:()=>Ta,getKernel:()=>rs,getKernelsForBackend:()=>Aa,grad:()=>Vy,grads:()=>Ky,greater:()=>tt,greaterEqual:()=>ht,greaterEqualStrict:()=>Kd,greaterStrict:()=>Jd,ifft:()=>vn,imag:()=>nn,image:()=>Ya,inTopKAsync:()=>xm,io:()=>Vr,irfft:()=>xs,isFinite:()=>Bl,isInf:()=>$l,isNaN:()=>jl,keep:()=>sl,kernel_impls:()=>ff,leakyRelu:()=>Gl,less:()=>Hn,lessEqual:()=>ut,lessEqualStrict:()=>Xd,lessStrict:()=>Zd,linalg:()=>Km,linspace:()=>Pl,localResponseNormalization:()=>ql,log:()=>yt,log1p:()=>ys,logSigmoid:()=>zl,logSoftmax:()=>Yl,logSumExp:()=>vs,logicalAnd:()=>Lt,logicalNot:()=>zn,logicalOr:()=>Ss,logicalXor:()=>Vl,losses:()=>Jm,matMul:()=>Y,math:()=>af,max:()=>dt,maxPool:()=>Ae,maxPool3d:()=>Kl,maxPoolWithArgmax:()=>Jl,maximum:()=>kt,maximumStrict:()=>nm,mean:()=>Sn,memory:()=>mx,min:()=>In,minimum:()=>Yn,minimumStrict:()=>rm,mod:()=>Is,modStrict:()=>om,moments:()=>Xl,movingAverage:()=>lm,mul:()=>v,mulStrict:()=>im,multiRNNCell:()=>Zl,multinomial:()=>Ql,neg:()=>ne,nextFrame:()=>yI,norm:()=>Pr,notEqual:()=>Vn,notEqualStrict:()=>Qd,oneHot:()=>jr,ones:()=>vt,onesLike:()=>Fa,op:()=>m,outerProduct:()=>eh,pad:()=>Pe,pad1d:()=>th,pad2d:()=>nh,pad3d:()=>rh,pad4d:()=>oh,pool:()=>ih,pow:()=>Je,powStrict:()=>sm,prelu:()=>Ts,print:()=>sh,prod:()=>ah,profile:()=>fx,rand:()=>ch,randomGamma:()=>uh,randomNormal:()=>dh,randomUniform:()=>Ns,range:()=>Gr,ready:()=>wx,real:()=>zt,reciprocal:()=>mh,registerBackend:()=>Sx,registerGradient:()=>Np,registerKernel:()=>pw,relu:()=>ie,relu6:()=>Rs,removeBackend:()=>yx,reshape:()=>y,reverse:()=>Ve,reverse1d:()=>fh,reverse2d:()=>gh,reverse3d:()=>bh,reverse4d:()=>wh,rfft:()=>Jn,round:()=>yh,rsqrt:()=>_s,scalar:()=>_,scatterND:()=>dm,scatter_util:()=>hm,selu:()=>Lh,separableConv2d:()=>Xn,serialization:()=>lf,setBackend:()=>bx,setPlatform:()=>Tx,setdiff1dAsync:()=>vh,sigmoid:()=>lt,sign:()=>Sh,signal:()=>Vm,sin:()=>Cs,sinh:()=>Es,slice:()=>G,slice1d:()=>Ih,slice2d:()=>Th,slice3d:()=>Os,slice4d:()=>Ah,slice_util:()=>Wd,softmax:()=>rn,softplus:()=>Ls,spaceToBatchND:()=>Kn,sparseToDense:()=>fm,spectral:()=>Ym,split:()=>Yt,sqrt:()=>me,square:()=>H,squaredDifference:()=>Zn,squaredDifferenceStrict:()=>am,squeeze:()=>Qn,stack:()=>ke,step:()=>Dt,stridedSlice:()=>Nh,sub:()=>O,subStrict:()=>cm,sum:()=>U,sumOutType:()=>Ew,tan:()=>Rh,tanh:()=>Wr,tensor:()=>ze,tensor1d:()=>ce,tensor2d:()=>mt,tensor3d:()=>er,tensor4d:()=>ft,tensor5d:()=>_h,tensor6d:()=>Ch,tensor_util:()=>Ed,test_util:()=>Pd,tidy:()=>k,tile:()=>Ot,time:()=>gx,topk:()=>Eh,train:()=>wI,transpose:()=>K,truncatedNormal:()=>Oh,unregisterGradient:()=>hw,unregisterKernel:()=>lw,unsortedSegmentSum:()=>ks,unstack:()=>Ie,upcastType:()=>Mr,util:()=>gd,valueAndGrad:()=>Jy,valueAndGrads:()=>Xy,variable:()=>kh,variableGrads:()=>Hl,version_core:()=>bI,where:()=>Oe,whereAsync:()=>Ds,zeros:()=>Ce,zerosLike:()=>W});function sn(e,t,n=!1){if(e.beginPath(),t.slice(1).forEach(({x:r,y:o},i)=>{const a=t[i];e.moveTo(a.x,a.y),e.lineTo(r,o)}),n){const r=t[t.length-1],o=t[0];if(!r||!o)return;e.moveTo(r.x,r.y),e.lineTo(o.x,o.y)}e.stroke()}class Qe{constructor(e,t){if(!Mt(e)||!Mt(t))throw new Error(`Dimensions.constructor - expected width and height to be valid numbers, instead have ${JSON.stringify({width:e,height:t})}`);this._width=e,this._height=t}get width(){return this._width}get height(){return this._height}reverse(){return new Qe(1/this.width,1/this.height)}}const Ks={};Re(Ks,{computeReshapedDimensions:()=>tu,getCenterPoint:()=>mr,isDimensions:()=>Za,isEven:()=>Xa,isFloat:()=>eu,isTensor:()=>ur,isTensor1D:()=>oT,isTensor2D:()=>Qh,isTensor3D:()=>an,isTensor4D:()=>gt,isValidNumber:()=>Mt,isValidProbablitiy:()=>Xr,range:()=>Vt,round:()=>dr});function ur(e,t){return e instanceof ee&&e.shape.length===t}function oT(e){return ur(e,1)}function Qh(e){return ur(e,2)}function an(e){return ur(e,3)}function gt(e){return ur(e,4)}function eu(e){return e%1!==0}function Xa(e){return e%2===0}function dr(e,t=2){const n=Math.pow(10,t);return Math.floor(e*n)/n}function Za(e){return e&&e.width&&e.height}function tu({width:e,height:t},n){const r=n/Math.max(t,e);return new Qe(Math.round(e*r),Math.round(t*r))}function mr(e){return e.reduce((t,n)=>t.add(n),new J(0,0)).div(new J(e.length,e.length))}function Vt(e,t,n){return Array(e).fill(0).map((r,o)=>t+o*n)}function Mt(e){return!!e&&e!==Infinity&&e!==-Infinity&&!isNaN(e)||e===0}function Xr(e){return Mt(e)&&0<=e&&e<=1}class J{constructor(e,t){this._x=e,this._y=t}get x(){return this._x}get y(){return this._y}add(e){return new J(this.x+e.x,this.y+e.y)}sub(e){return new J(this.x-e.x,this.y-e.y)}mul(e){return new J(this.x*e.x,this.y*e.y)}div(e){return new J(this.x/e.x,this.y/e.y)}abs(){return new J(Math.abs(this.x),Math.abs(this.y))}magnitude(){return Math.sqrt(Math.pow(this.x,2)+Math.pow(this.y,2))}floor(){return new J(Math.floor(this.x),Math.floor(this.y))}}class de{constructor(e,t=!0){const n=e||{},r=[n.left,n.top,n.right,n.bottom].every(Mt),o=[n.x,n.y,n.width,n.height].every(Mt);if(!o&&!r)throw new Error(`Box.constructor - expected box to be IBoundingBox | IRect, instead have ${JSON.stringify(n)}`);const[i,a,s,c]=o?[n.x,n.y,n.width,n.height]:[n.left,n.top,n.right-n.left,n.bottom-n.top];de.assertIsValidBox({x:i,y:a,width:s,height:c},"Box.constructor",t),this._x=i,this._y=a,this._width=s,this._height=c}static isRect(e){return!!e&&[e.x,e.y,e.width,e.height].every(Mt)}static assertIsValidBox(e,t,n=!1){if(!de.isRect(e))throw new Error(`${t} - invalid box: ${JSON.stringify(e)}, expected object with properties x, y, width, height`);if(!n&&(e.width<0||e.height<0))throw new Error(`${t} - width (${e.width}) and height (${e.height}) must be positive numbers`)}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 J(this.left,this.top)}get topRight(){return new J(this.right,this.top)}get bottomLeft(){return new J(this.left,this.bottom)}get bottomRight(){return new J(this.right,this.bottom)}round(){const[e,t,n,r]=[this.x,this.y,this.width,this.height].map(o=>Math.round(o));return new de({x:e,y:t,width:n,height:r})}floor(){const[e,t,n,r]=[this.x,this.y,this.width,this.height].map(o=>Math.floor(o));return new de({x:e,y:t,width:n,height:r})}toSquare(){let{x:e,y:t,width:n,height:r}=this;const o=Math.abs(n-r);return nt&&(a=-l+t+n,l=t),h>e&&(s=-h+e+r,h=e),c<1&&(s=2-c,c=1),p<1&&(s=2-p,p=1),{dy:i,edy:s,dx:o,edx:a,y:p,ey:h,x:c,ex:l,w:n,h:r}}calibrate(e){return new de({left:this.left+e.left*this.width,top:this.top+e.top*this.height,right:this.right+e.right*this.width,bottom:this.bottom+e.bottom*this.height}).toSquare().round()}}class Rr extends de{constructor(e,t,n,r,o=!1){super({left:e,top:t,right:n,bottom:r},o)}}class On{constructor(e,t,n,r,o){this._imageDims=new Qe(o.width,o.height),this._score=e,this._classScore=t,this._className=n,this._box=new de(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 de(this._box).rescale(this.imageDims.reverse())}forSize(e,t){return new On(this.score,this.classScore,this.className,this.relativeBox,{width:e,height:t})}}class fe extends On{constructor(e,t,n){super(e,e,"",t,n)}forSize(e,t){const{score:n,relativeBox:r,imageDims:o}=super.forSize(e,t);return new fe(n,r,o)}}function na(e,t,n=!0){const r=Math.max(0,Math.min(e.right,t.right)-Math.max(e.left,t.left)),o=Math.max(0,Math.min(e.bottom,t.bottom)-Math.max(e.top,t.top)),i=r*o;return n?i/(e.area+t.area-i):i/Math.min(e.area,t.area)}function ta(e){const t=e.map(s=>s.x),n=e.map(s=>s.y),r=t.reduce((s,c)=>ccss({score:a,boxIndex:s})).sort((a,s)=>a.score-s.score).map(a=>a.boxIndex);const i=[];for(;o.length>0;){const a=o.pop();i.push(a);const s=o,c=[];for(let p=0;pc[l]<=n)}return i}function wt(e,t){return k(()=>{const[n,r,o]=t,i=Ge([...e.shape.slice(0,3),1],n),a=Ge([...e.shape.slice(0,3),1],r),s=Ge([...e.shape.slice(0,3),1],o),c=Z([i,a,s],3);return O(e,c)})}function Qs(e,t=!1){return k(()=>{const[n,r]=e.shape.slice(1);if(n===r)return e;const o=Math.abs(n-r),i=Math.round(o*(t?.5:1)),a=n>r?2:1,s=d=>{const b=e.shape.slice();return b[a]=d,Ge(b,0)},c=s(i),p=o-c.shape[a],l=t&&p?s(p):null,h=[l,e,c].filter(d=>!!d).map(d=>d.toFloat());return Z(h,a)})}function Uu(e){const t=e.slice();for(let n=t.length-1;n>0;n--){const r=Math.floor(Math.random()*(n+1)),o=t[n];t[n]=t[r],t[r]=o}return t}function Lr(e){return 1/(1+Math.exp(-e))}function Wu(e){return Math.log(e/(1-e))}class Ar extends de{constructor(e,t,n,r,o=!1){super({x:e,y:t,width:n,height:r},o)}}const iT=.5,sT=.43,aT=.45;class st{constructor(e,t,n=new J(0,0)){const{width:r,height:o}=t;this._imgDims=new Qe(r,o),this._shift=n,this._positions=e.map(i=>i.mul(new J(r,o)).add(n))}get shift(){return new J(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(e=>e.sub(this._shift).div(new J(this.imageWidth,this.imageHeight)))}forSize(e,t){return new this.constructor(this.relativePositions,{width:e,height:t})}shiftBy(e,t){return new this.constructor(this.relativePositions,this._imgDims,new J(e,t))}shiftByPoint(e){return this.shiftBy(e.x,e.y)}align(e,t={}){if(e){const o=e instanceof fe?e.box.floor():new de(e);return this.shiftBy(o.x,o.y).align(null,t)}const{useDlibAlignment:n,minBoxPadding:r}=Object.assign({},{useDlibAlignment:!1,minBoxPadding:.2},t);return n?this.alignDlib():this.alignMinBbox(r)}alignDlib(){const e=this.getRefPointsForAlignment(),[t,n,r]=e,o=l=>r.sub(l).magnitude(),i=(o(t)+o(n))/2,a=Math.floor(i/aT),s=mr(e),c=Math.floor(Math.max(0,s.x-iT*a)),p=Math.floor(Math.max(0,s.y-sT*a));return new Ar(c,p,Math.min(a,this.imageWidth+c),Math.min(a,this.imageHeight+p))}alignMinBbox(e){const t=ta(this.positions);return t.pad(t.width*e,t.height*e)}getRefPointsForAlignment(){throw new Error("getRefPointsForAlignment not implemented by base class")}}class ud extends st{getRefPointsForAlignment(){const e=this.positions;return[e[0],e[1],mr([e[3],e[4]])]}}class Nr extends st{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(mr)}}class wo{constructor(e,t){this._label=e,this._distance=t}get label(){return this._label}get distance(){return this._distance}toString(e=!0){return`${this.label}${e?` (${dr(this.distance)})`:""}`}}class bo extends de{constructor(e,t){super(e);this._label=t}static assertIsValidLabeledBox(e,t){if(de.assertIsValidBox(e,t),!Mt(e.label))throw new Error(`${t} - expected property label (${e.label}) to be a number`)}get label(){return this._label}}class xn{constructor(e,t){if(!(typeof e=="string"))throw new Error("LabeledFaceDescriptors - constructor expected label to be a string");if(!Array.isArray(t)||t.some(n=>!(n instanceof Float32Array)))throw new Error("LabeledFaceDescriptors - constructor expected descriptors to be an array of Float32Array");this._label=e,this._descriptors=t}get label(){return this._label}get descriptors(){return this._descriptors}toJSON(){return{label:this.label,descriptors:this.descriptors.map(e=>Array.from(e))}}static fromJSON(e){const t=e.descriptors.map(n=>new Float32Array(n));return new xn(e.label,t)}}class hd extends bo{constructor(e,t,n,r){super(e,t);this._score=n,this._classScore=r}static assertIsValidPredictedBox(e,t){if(bo.assertIsValidLabeledBox(e,t),!Xr(e.score)||!Xr(e.classScore))throw new Error(`${t} - expected properties score (${e.score}) and (${e.classScore}) to be a number between [0, 1]`)}get score(){return this._score}get classScore(){return this._classScore}}function Nt(e){return e.detection instanceof fe}function mn(e,t){const n={detection:t};return Object.assign({},e,n)}function nu(){const e=window.fetch||function(){throw new Error("fetch - missing fetch implementation for browser environment")},t=function(){throw new Error("readFile - filesystem not available for browser environment")};return{Canvas:HTMLCanvasElement,CanvasRenderingContext2D,Image:HTMLImageElement,ImageData,Video:HTMLVideoElement,createCanvasElement:()=>document.createElement("canvas"),createImageElement:()=>document.createElement("img"),fetch:e,readFile:t}}function Qa(e){let t="";if(!e)try{e=require("fs")}catch(r){t=r.toString()}const n=e?function(r){return new Promise((o,i)=>{e.readFile(r,function(a,s){return a?i(a):o(s)})})}:function(){throw new Error(`readFile - failed to require fs in nodejs environment with error: ${t}`)};return{readFile:n}}function ru(){const e=global.Canvas||global.HTMLCanvasElement,t=global.Image||global.HTMLImageElement,n=function(){if(e)return new e();throw new Error("createCanvasElement - missing Canvas implementation for nodejs environment")},r=function(){if(t)return new t();throw new Error("createImageElement - missing Image implementation for nodejs environment")},o=global.fetch||function(){throw new Error("fetch - missing fetch implementation for nodejs environment")},i=Qa();return{Canvas:e||class{},CanvasRenderingContext2D:global.CanvasRenderingContext2D||class{},Image:t||class{},ImageData:global.ImageData||class{},Video:global.HTMLVideoElement||class{},createCanvasElement:n,createImageElement:r,fetch:o,...i}}function ou(){return typeof window=="object"&&typeof document!="undefined"&&typeof HTMLImageElement!="undefined"&&typeof HTMLCanvasElement!="undefined"&&typeof HTMLVideoElement!="undefined"&&typeof ImageData!="undefined"&&typeof CanvasRenderingContext2D!="undefined"}const iu=mu(Ou());let Fe;function cT(){if(!Fe)throw new Error("getEnv - environment is not defined, check isNodejs() and isBrowser()");return Fe}function su(e){Fe=e}function au(){if(ou())return su(nu());if(iu.isNodejs())return su(ru())}function pT(e){if(Fe||au(),!Fe)throw new Error("monkeyPatch - environment is not defined, check isNodejs() and isBrowser()");const{Canvas:t=Fe.Canvas,Image:n=Fe.Image}=e;Fe.Canvas=t,Fe.Image=n,Fe.createCanvasElement=e.createCanvasElement||(()=>new t()),Fe.createImageElement=e.createImageElement||(()=>new n()),Fe.ImageData=e.ImageData||Fe.ImageData,Fe.Video=e.Video||Fe.Video,Fe.fetch=e.fetch||Fe.fetch,Fe.readFile=e.readFile||Fe.readFile}const se={getEnv:cT,setEnv:su,initialize:au,createBrowserEnv:nu,createFileSystem:Qa,createNodejsEnv:ru,monkeyPatch:pT,isBrowser:ou,isNodejs:iu.isNodejs};au();function gn(e){return!se.isNodejs()&&typeof e=="string"?document.getElementById(e):e}function qe(e){const{Canvas:t,CanvasRenderingContext2D:n}=se.getEnv();if(e instanceof n)return e;const r=gn(e);if(!(r instanceof t))throw new Error("resolveContext2d - expected canvas to be of instance of Canvas");const o=r.getContext("2d");if(!o)throw new Error("resolveContext2d - canvas 2d context is null");return o}var Kt;(function(e){e.TOP_LEFT="TOP_LEFT",e.TOP_RIGHT="TOP_RIGHT",e.BOTTOM_LEFT="BOTTOM_LEFT",e.BOTTOM_RIGHT="BOTTOM_RIGHT"})(Kt||(Kt={}));class ec{constructor(e={}){const{anchorPosition:t,backgroundColor:n,fontColor:r,fontSize:o,fontStyle:i,padding:a}=e;this.anchorPosition=t||Kt.TOP_LEFT,this.backgroundColor=n||"rgba(0, 0, 0, 0.5)",this.fontColor=r||"rgba(255, 255, 255, 1)",this.fontSize=o||14,this.fontStyle=i||"Georgia",this.padding=a||4}}class Zr{constructor(e,t,n={}){this.text=typeof e=="string"?[e]:e instanceof Zr?e.text:e,this.anchor=t,this.options=new ec(n)}measureWidth(e){const{padding:t}=this.options;return this.text.map(n=>e.measureText(n).width).reduce((n,r)=>n{const b=s+l.x,x=s+l.y+(d+1)*i;n.fillText(h,b,x)})}}class sb{constructor(e={}){const{boxColor:t,lineWidth:n,label:r,drawLabelOptions:o}=e;this.boxColor=t||"rgba(0, 0, 255, 1)",this.lineWidth=n||2,this.label=r;const i={anchorPosition:Kt.BOTTOM_LEFT,backgroundColor:this.boxColor};this.drawLabelOptions=new ec(Object.assign({},i,o))}}class cu{constructor(e,t={}){this.box=new de(e),this.options=new sb(t)}draw(e){const t=qe(e),{boxColor:n,lineWidth:r}=this.options,{x:o,y:i,width:a,height:s}=this.box;t.strokeStyle=n,t.lineWidth=r,t.strokeRect(o,i,a,s);const{label:c}=this.options;c&&new Zr([c],{x:o-r/2,y:i},this.options.drawLabelOptions).draw(e)}}function lT(e,t){const n=Array.isArray(t)?t:[t];n.forEach(r=>{const o=r instanceof fe?r.score:Nt(r)?r.detection.score:void 0,i=r instanceof fe?r.box:Nt(r)?r.detection.box:new de(r),a=o?`${dr(o)}`:void 0;new cu(i,{label:a}).draw(e)})}function Ir(e){const{Image:t,Video:n}=se.getEnv();return e instanceof t&&e.complete||e instanceof n&&e.readyState>=3}function xa(e){return new Promise((t,n)=>{if(e instanceof se.getEnv().Canvas||Ir(e))return t();function r(i){if(!i.currentTarget)return;i.currentTarget.removeEventListener("load",r),i.currentTarget.removeEventListener("error",o),t(i)}function o(i){if(!i.currentTarget)return;i.currentTarget.removeEventListener("load",r),i.currentTarget.removeEventListener("error",o),n(i)}e.addEventListener("load",r),e.addEventListener("error",o)})}function wa(e){return new Promise((t,n)=>{if(!(e instanceof Blob))return n("bufferToImage - expected buf to be of type: Blob");const r=new FileReader();r.onload=()=>{if(typeof r.result!="string")return n("bufferToImage - expected reader.result to be a string, in onload");const o=se.getEnv().createImageElement();o.onload=()=>t(o),o.onerror=n,o.src=r.result},r.onerror=n,r.readAsDataURL(e)})}function bn(e){const{Image:t,Video:n}=se.getEnv();return e instanceof t?new Qe(e.naturalWidth,e.naturalHeight):e instanceof n?new Qe(e.videoWidth,e.videoHeight):new Qe(e.width,e.height)}function En({width:e,height:t}){const{createCanvasElement:n}=se.getEnv(),r=n();return r.width=e,r.height=t,r}function Tr(e,t){const{ImageData:n}=se.getEnv();if(!(e instanceof n)&&!Ir(e))throw new Error("createCanvasFromMedia - media has not finished loading yet");const{width:r,height:o}=t||bn(e),i=En({width:r,height:o});return e instanceof n?qe(i).putImageData(e,0,0):qe(i).drawImage(e,0,0,r,o),i}async function ga(e,t){const n=t||se.getEnv().createCanvasElement(),[r,o,i]=e.shape.slice(gt(e)?1:0),a=k(()=>e.as3D(r,o,i).toInt());return await Kr.toPixels(a,n),a.dispose(),n}function go(e){const{Image:t,Canvas:n,Video:r}=se.getEnv();return e instanceof t||e instanceof n||e instanceof r}function fa(e,t,n=!1){const{Image:r,Canvas:o}=se.getEnv();if(!(e instanceof r||e instanceof o))throw new Error("imageToSquare - expected arg0 to be HTMLImageElement | HTMLCanvasElement");const i=bn(e),a=t/Math.max(i.height,i.width),s=a*i.width,c=a*i.height,p=En({width:t,height:t}),l=e instanceof o?e:Tr(e),h=Math.abs(s-c)/2,d=n&&s{if(an(n)){this._imageTensors[r]=n,this._inputDimensions[r]=n.shape;return}if(gt(n)){const i=n.shape[0];if(i!==1)throw new Error(`NetInput - tf.Tensor4D with batchSize ${i} passed, but not supported in input array`);this._imageTensors[r]=n,this._inputDimensions[r]=n.shape.slice(1);return}const o=n instanceof se.getEnv().Canvas?n:Tr(n);this._canvases[r]=o,this._inputDimensions[r]=[o.height,o.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 Vt(this.batchSize,0,1).map((e,t)=>this.getReshapedInputDimensions(t))}getInput(e){return this.canvases[e]||this.imageTensors[e]}getInputDimensions(e){return this._inputDimensions[e]}getInputHeight(e){return this._inputDimensions[e][0]}getInputWidth(e){return this._inputDimensions[e][1]}getReshapedInputDimensions(e){if(typeof this.inputSize!="number")throw new Error("getReshapedInputDimensions - inputSize not set, toBatchTensor has not been called yet");const t=this.getInputWidth(e),n=this.getInputHeight(e);return tu({width:t,height:n},this.inputSize)}toBatchTensor(e,t=!0){return this._inputSize=e,k(()=>{const n=Vt(this.batchSize,0,1).map(o=>{const i=this.getInput(o);if(i instanceof ee){let a=gt(i)?i:i.expandDims();return a=Qs(a,t),(a.shape[1]!==e||a.shape[2]!==e)&&(a=Ya.resizeBilinear(a,[e,e])),a.as3D(e,e,3)}if(i instanceof se.getEnv().Canvas)return Kr.fromPixels(fa(i,e,t));throw new Error(`toBatchTensor - at batchIdx ${o}, expected input to be instanceof tf.Tensor or instanceof HTMLCanvasElement, instead have ${i}`)}),r=ke(n.map(o=>o.toFloat())).as4D(this.batchSize,e,e,3);return r})}}async function ue(e){if(e instanceof Jt)return e;let t=Array.isArray(e)?e:[e];if(!t.length)throw new Error("toNetInput - empty array passed as input");const n=o=>Array.isArray(e)?` at input index ${o}:`:"",r=t.map(gn);return r.forEach((o,i)=>{if(!go(o)&&!an(o)&&!gt(o))throw typeof t[i]=="string"?new Error(`toNetInput -${n(i)} string passed, but could not resolve HTMLElement for element id ${t[i]}`):new Error(`toNetInput -${n(i)} expected media to be of type HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | tf.Tensor3D, or to be an element id`);if(gt(o)){const a=o.shape[0];if(a!==1)throw new Error(`toNetInput -${n(i)} tf.Tensor4D with batchSize ${a} passed, but not supported in input array`)}}),await Promise.all(r.map(o=>go(o)&&xa(o))),new Jt(r,Array.isArray(e))}async function _n(e,t){const{Canvas:n}=se.getEnv();let r=e;if(!(e instanceof n)){const a=await ue(e);if(a.batchSize>1)throw new Error("extractFaces - batchSize > 1 not supported");const s=a.getInput(0);r=s instanceof n?s:await ga(s)}const o=qe(r),i=t.map(a=>a instanceof fe?a.forSize(r.width,r.height).box.floor():a).map(a=>a.clipAtImageBorders(r.width,r.height));return i.map(({x:a,y:s,width:c,height:p})=>{const l=En({width:c,height:p});return qe(l).putImageData(o.getImageData(a,s,c,p),0,0),l})}async function Cn(e,t){if(!an(e)&&!gt(e))throw new Error("extractFaceTensors - expected image tensor to be 3D or 4D");if(gt(e)&&e.shape[0]>1)throw new Error("extractFaceTensors - batchSize > 1 not supported");return k(()=>{const[n,r,o]=e.shape.slice(gt(e)?1:0),i=t.map(s=>s instanceof fe?s.forSize(r,n).box:s).map(s=>s.clipAtImageBorders(r,n)),a=i.map(({x:s,y:c,width:p,height:l})=>Os(e.as3D(n,r,o),[c,s,0],[l,p,o]));return a})}async function wn(e,t){const n=se.getEnv().fetch,r=await n(e,t);if(!(r.status<400))throw new Error(`failed to fetch: (${r.status}) ${r.statusText}, from url: ${r.url}`);return r}async function ld(e){const t=await wn(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 wa(n)}async function ba(e){return(await wn(e)).json()}async function pd(e){return new Float32Array(await(await wn(e)).arrayBuffer())}function tc(e,t){const n=`${t}-weights_manifest.json`;if(!e)return{modelBaseUri:"",manifestUri:n};if(e==="/")return{modelBaseUri:"/",manifestUri:`/${n}`};const r=e.startsWith("http://")?"http://":e.startsWith("https://")?"https://":"";e=e.replace(r,"");const o=e.split("/").filter(s=>s),i=e.endsWith(".json")?o[o.length-1]:n;let a=r+(e.endsWith(".json")?o.slice(0,o.length-1):o).join("/");return a=e.startsWith("/")?`/${a}`:a,{modelBaseUri:a,manifestUri:a==="/"?`/${i}`:`${a}/${i}`}}async function ma(e,t){const{manifestUri:n,modelBaseUri:r}=tc(e,t);let o=await ba(n);return Vr.loadWeights(o,r)}function cd(e,t,n=!1){const{width:r,height:o}=n?bn(t):t;return e.width=r,e.height=o,{width:r,height:o}}class Ue{constructor(e){this._name=e,this._params=void 0,this._paramMappings=[]}get params(){return this._params}get paramMappings(){return this._paramMappings}get isLoaded(){return!!this.params}getParamFromPath(e){const{obj:t,objProp:n}=this.traversePropertyPath(e);return t[n]}reassignParamFromPath(e,t){const{obj:n,objProp:r}=this.traversePropertyPath(e);n[r].dispose(),n[r]=t}getParamList(){return this._paramMappings.map(({paramPath:e})=>({path:e,tensor:this.getParamFromPath(e)}))}getTrainableParams(){return this.getParamList().filter(e=>e.tensor instanceof Ht)}getFrozenParams(){return this.getParamList().filter(e=>!(e.tensor instanceof Ht))}variable(){this.getFrozenParams().forEach(({path:e,tensor:t})=>{this.reassignParamFromPath(e,t.variable())})}freeze(){this.getTrainableParams().forEach(({path:e,tensor:t})=>{const n=ze(t.dataSync());t.dispose(),this.reassignParamFromPath(e,n)})}dispose(e=!0){this.getParamList().forEach(t=>{if(e&&t.tensor.isDisposed)throw new Error(`param tensor has already been disposed for path ${t.path}`);t.tensor.dispose()}),this._params=void 0}serializeParams(){return new Float32Array(this.getParamList().map(({tensor:e})=>Array.from(e.dataSync())).reduce((e,t)=>e.concat(t)))}async load(e){if(e instanceof Float32Array){this.extractWeights(e);return}await this.loadFromUri(e)}async loadFromUri(e){if(e&&typeof e!="string")throw new Error(`${this._name}.loadFromUri - expected model uri`);const t=await ma(e,this.getDefaultModelName());this.loadFromWeightMap(t)}async loadFromDisk(e){if(e&&typeof e!="string")throw new Error(`${this._name}.loadFromDisk - expected model file path`);const{readFile:t}=se.getEnv(),{manifestUri:n,modelBaseUri:r}=tc(e,this.getDefaultModelName()),o=c=>Promise.all(c.map(p=>t(p).then(l=>l.buffer))),i=Vr.weightsLoaderFactory(o),a=JSON.parse((await t(n)).toString()),s=await i(a,r);this.loadFromWeightMap(s)}loadFromWeightMap(e){const{paramMappings:t,params:n}=this.extractParamsFromWeigthMap(e);this._paramMappings=t,this._params=n}extractWeights(e){const{paramMappings:t,params:n}=this.extractParams(e);this._paramMappings=t,this._params=n}traversePropertyPath(e){if(!this.params)throw new Error("traversePropertyPath - model has no loaded params");const t=e.split("/").reduce((o,i)=>{if(!o.nextObj.hasOwnProperty(i))throw new Error(`traversePropertyPath - object does not have property ${i}, for path ${e}`);return{obj:o.nextObj,objProp:i,nextObj:o.nextObj[i]}},{nextObj:this.params}),{obj:n,objProp:r}=t;if(!n||!r||!(n[r]instanceof ee))throw new Error(`traversePropertyPath - parameter is not a tensor, for path ${e}`);return{obj:n,objProp:r}}}function rt(e,t,n){return k(()=>{let r=Xn(e,t.depthwise_filter,t.pointwise_filter,n,"same");return r=R(r,t.bias),r})}function nc(e,t,n=!1){return k(()=>{const r=ie(n?R(xe(e,t.conv0.filters,[2,2],"same"),t.conv0.bias):rt(e,t.conv0,[2,2])),o=rt(r,t.conv1,[1,1]),i=ie(R(r,o)),a=rt(i,t.conv2,[1,1]);return ie(R(r,R(o,a)))})}function Ws(e,t,n=!1,r=!0){return k(()=>{const o=ie(n?R(xe(e,t.conv0.filters,r?[2,2]:[1,1],"same"),t.conv0.bias):rt(e,t.conv0,r?[2,2]:[1,1])),i=rt(o,t.conv1,[1,1]),a=ie(R(o,i)),s=rt(a,t.conv2,[1,1]),c=ie(R(o,R(i,s))),p=rt(c,t.conv3,[1,1]);return ie(R(o,R(i,R(s,p))))})}function fr(e,t,n="same",r=!1){return k(()=>{const o=R(xe(e,t.filters,[1,1],n),t.bias);return r?ie(o):o})}function Xe(e,t){Object.keys(e).forEach(n=>{t.some(r=>r.originalPath===n)||e[n].dispose()})}function Qr(e,t){return function(n,r,o,i){const a=ft(e(n*r*o*o),[o,o,n,r]),s=ce(e(r));return t.push({paramPath:`${i}/filters`},{paramPath:`${i}/bias`}),{filters:a,bias:s}}}function rc(e,t){return function(n,r,o){const i=mt(e(n*r),[n,r]),a=ce(e(r));return t.push({paramPath:`${o}/weights`},{paramPath:`${o}/bias`}),{weights:i,bias:a}}}class pu{constructor(e,t,n){this.depthwise_filter=e,this.pointwise_filter=t,this.bias=n}}function eo(e,t){return function(n,r,o){const i=ft(e(3*3*n),[3,3,n,1]),a=ft(e(n*r),[1,1,n,r]),s=ce(e(r));return t.push({paramPath:`${o}/depthwise_filter`},{paramPath:`${o}/pointwise_filter`},{paramPath:`${o}/bias`}),new pu(i,a,s)}}function to(e){return function(t){const n=e(`${t}/depthwise_filter`,4),r=e(`${t}/pointwise_filter`,4),o=e(`${t}/bias`,1);return new pu(n,r,o)}}function it(e,t){return function(n,r,o){const i=e[n];if(!ur(i,r))throw new Error(`expected weightMap[${n}] to be a Tensor${r}D, instead have ${i}`);return t.push({originalPath:n,paramPath:o||n}),i}}function Ze(e){let t=e;function n(o){const i=t.slice(0,o);return t=t.slice(o),i}function r(){return t}return{extractWeights:n,getRemainingWeights:r}}function oc(e,t){const n=Qr(e,t),r=eo(e,t);function o(a,s,c,p=!1){const l=p?n(a,s,3,`${c}/conv0`):r(a,s,`${c}/conv0`),h=r(s,s,`${c}/conv1`),d=r(s,s,`${c}/conv2`);return{conv0:l,conv1:h,conv2:d}}function i(a,s,c,p=!1){const{conv0:l,conv1:h,conv2:d}=o(a,s,c,p),b=r(s,s,`${c}/conv3`);return{conv0:l,conv1:h,conv2:d,conv3:b}}return{extractDenseBlock3Params:o,extractDenseBlock4Params:i}}function ab(e){const t=[],{extractWeights:n,getRemainingWeights:r}=Ze(e),{extractDenseBlock4Params:o}=oc(n,t),i=o(3,32,"dense0",!0),a=o(32,64,"dense1"),s=o(64,128,"dense2"),c=o(128,256,"dense3");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:i,dense1:a,dense2:s,dense3:c}}}function ic(e){return function(t){const n=e(`${t}/filters`,4),r=e(`${t}/bias`,1);return{filters:n,bias:r}}}function sc(e,t){const n=it(e,t),r=ic(n),o=to(n);function i(s,c=!1){const p=c?r(`${s}/conv0`):o(`${s}/conv0`),l=o(`${s}/conv1`),h=o(`${s}/conv2`);return{conv0:p,conv1:l,conv2:h}}function a(s,c=!1){const p=c?r(`${s}/conv0`):o(`${s}/conv0`),l=o(`${s}/conv1`),h=o(`${s}/conv2`),d=o(`${s}/conv3`);return{conv0:p,conv1:l,conv2:h,conv3:d}}return{extractDenseBlock3Params:i,extractDenseBlock4Params:a}}function cb(e){const t=[],{extractDenseBlock4Params:n}=sc(e,t),r={dense0:n("dense0",!0),dense1:n("dense1"),dense2:n("dense2"),dense3:n("dense3")};return Xe(e,t),{params:r,paramMappings:t}}class ac extends Ue{constructor(){super("FaceFeatureExtractor")}forwardInput(e){const{params:t}=this;if(!t)throw new Error("FaceFeatureExtractor - load model before inference");return k(()=>{const n=e.toBatchTensor(112,!0),r=[122.782,117.001,104.298],o=wt(n,r).div(_(255));let i=Ws(o,t.dense0,!0);return i=Ws(i,t.dense1),i=Ws(i,t.dense2),i=Ws(i,t.dense3),i=pt(i,[7,7],[2,2],"valid"),i})}async forward(e){return this.forwardInput(await ue(e))}getDefaultModelName(){return"face_feature_extractor_model"}extractParamsFromWeigthMap(e){return cb(e)}extractParams(e){return ab(e)}}function Bs(e,t){return k(()=>R(Y(e,t.weights),t.bias))}function pb(e,t,n){const r=[],{extractWeights:o,getRemainingWeights:i}=Ze(e),a=rc(o,r),s=a(t,n,"fc");if(i().length!==0)throw new Error(`weights remaing after extract: ${i().length}`);return{paramMappings:r,params:{fc:s}}}function lb(e){const t=[],n=it(e,t);function r(i){const a=n(`${i}/weights`,2),s=n(`${i}/bias`,1);return{weights:a,bias:s}}const o={fc:r("fc")};return Xe(e,t),{params:o,paramMappings:t}}function cc(e){const t={},n={};return Object.keys(e).forEach(r=>{const o=r.startsWith("fc")?n:t;o[r]=e[r]}),{featureExtractorMap:t,classifierMap:n}}class pc extends Ue{constructor(e,t){super(e);this._faceFeatureExtractor=t}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(e){const{params:t}=this;if(!t)throw new Error(`${this._name} - load model before inference`);return k(()=>{const n=e instanceof Jt?this.faceFeatureExtractor.forwardInput(e):e;return Bs(n.as2D(n.shape[0],-1),t.fc)})}dispose(e=!0){this.faceFeatureExtractor.dispose(e),super.dispose(e)}loadClassifierParams(e){const{params:t,paramMappings:n}=this.extractClassifierParams(e);this._params=t,this._paramMappings=n}extractClassifierParams(e){return pb(e,this.getClassifierChannelsIn(),this.getClassifierChannelsOut())}extractParamsFromWeigthMap(e){const{featureExtractorMap:t,classifierMap:n}=cc(e);return this.faceFeatureExtractor.loadFromWeightMap(t),lb(n)}extractParams(e){const t=this.getClassifierChannelsIn(),n=this.getClassifierChannelsOut(),r=n*t+n,o=e.slice(0,e.length-r),i=e.slice(e.length-r);return this.faceFeatureExtractor.extractWeights(o),this.extractClassifierParams(i)}}const ha=["neutral","happy","sad","angry","fearful","disgusted","surprised"];class fn{constructor(e){if(e.length!==7)throw new Error(`FaceExpressions.constructor - expected probabilities.length to be 7, have: ${e.length}`);ha.forEach((t,n)=>{this[t]=e[n]})}asSortedArray(){return ha.map(e=>({expression:e,probability:this[e]})).sort((e,t)=>t.probability-e.probability)}}class ua extends pc{constructor(e=new ac()){super("FaceExpressionNet",e)}forwardInput(e){return k(()=>rn(this.runNet(e)))}async forward(e){return this.forwardInput(await ue(e))}async predictExpressions(e){const t=await ue(e),n=await this.forwardInput(t),r=await Promise.all(Ie(n).map(async i=>{const a=await i.data();return i.dispose(),a}));n.dispose();const o=r.map(i=>new fn(i));return t.isBatchInput?o:o[0]}getDefaultModelName(){return"face_expression_model"}getClassifierChannelsIn(){return 256}getClassifierChannelsOut(){return 7}}function pa(e){return e.expressions instanceof fn}function uo(e,t){const n={expressions:t};return Object.assign({},e,n)}function hT(e,t,n=.1,r){const o=Array.isArray(t)?t:[t];o.forEach(i=>{const a=i instanceof fn?i:pa(i)?i.expressions:void 0;if(!a)throw new Error("drawFaceExpressions - expected faceExpressions to be FaceExpressions | WithFaceExpressions<{}> or array thereof");const s=a.asSortedArray(),c=s.filter(h=>h.probability>n),p=Nt(i)?i.detection.box.bottomLeft:r||new J(0,0),l=new Zr(c.map(h=>`${h.expression} (${dr(h.probability)})`),p);l.draw(e)})}function dn(e){return Nt(e)&&e.landmarks instanceof st&&e.unshiftedLandmarks instanceof st&&e.alignedRect instanceof fe}function Rn(e,t){const{box:n}=e.detection,r=t.shiftBy(n.x,n.y),o=r.align(),{imageDims:i}=e.detection,a=new fe(e.detection.score,o.rescale(i.reverse()),i),s={landmarks:r,unshiftedLandmarks:t,alignedRect:a};return Object.assign({},e,s)}class hb{constructor(e={}){const{drawLines:t=!0,drawPoints:n=!0,lineWidth:r,lineColor:o,pointSize:i,pointColor:a}=e;this.drawLines=t,this.drawPoints=n,this.lineWidth=r||1,this.pointSize=i||2,this.lineColor=o||"rgba(0, 255, 255, 1)",this.pointColor=a||"rgba(255, 0, 255, 1)"}}class ub{constructor(e,t={}){this.faceLandmarks=e,this.options=new hb(t)}draw(e){const t=qe(e),{drawLines:n,drawPoints:r,lineWidth:o,lineColor:i,pointSize:a,pointColor:s}=this.options;if(n&&this.faceLandmarks instanceof Nr&&(t.strokeStyle=i,t.lineWidth=o,sn(t,this.faceLandmarks.getJawOutline()),sn(t,this.faceLandmarks.getLeftEyeBrow()),sn(t,this.faceLandmarks.getRightEyeBrow()),sn(t,this.faceLandmarks.getNose()),sn(t,this.faceLandmarks.getLeftEye(),!0),sn(t,this.faceLandmarks.getRightEye(),!0),sn(t,this.faceLandmarks.getMouth(),!0)),r){t.strokeStyle=s,t.fillStyle=s;const c=p=>{t.beginPath(),t.arc(p.x,p.y,a,0,2*Math.PI),t.fill()};this.faceLandmarks.positions.forEach(c)}}}function uT(e,t){const n=Array.isArray(t)?t:[t];n.forEach(r=>{const o=r instanceof st?r:dn(r)?r.landmarks:void 0;if(!o)throw new Error("drawFaceLandmarks - expected faceExpressions to be FaceLandmarks | WithFaceLandmarks> or array thereof");new ub(o).draw(e)})}const Vs={};Re(Vs,{AnchorPosition:()=>Kt,DrawBox:()=>cu,DrawBoxOptions:()=>sb,DrawFaceLandmarks:()=>ub,DrawFaceLandmarksOptions:()=>hb,DrawTextField:()=>Zr,DrawTextFieldOptions:()=>ec,drawContour:()=>sn,drawDetections:()=>lT,drawFaceExpressions:()=>hT,drawFaceLandmarks:()=>uT});function dT(e,t){const n=Qr(e,t),r=eo(e,t);function o(a,s,c){const p=r(a,s,`${c}/separable_conv0`),l=r(s,s,`${c}/separable_conv1`),h=n(a,s,1,`${c}/expansion_conv`);return{separable_conv0:p,separable_conv1:l,expansion_conv:h}}function i(a,s){const c=r(a,a,`${s}/separable_conv0`),p=r(a,a,`${s}/separable_conv1`),l=r(a,a,`${s}/separable_conv2`);return{separable_conv0:c,separable_conv1:p,separable_conv2:l}}return{extractConvParams:n,extractSeparableConvParams:r,extractReductionBlockParams:o,extractMainBlockParams:i}}function db(e,t){const n=[],{extractWeights:r,getRemainingWeights:o}=Ze(e),{extractConvParams:i,extractSeparableConvParams:a,extractReductionBlockParams:s,extractMainBlockParams:c}=dT(r,n),p=i(3,32,3,"entry_flow/conv_in"),l=s(32,64,"entry_flow/reduction_block_0"),h=s(64,128,"entry_flow/reduction_block_1"),d={conv_in:p,reduction_block_0:l,reduction_block_1:h},b={};Vt(t,0,1).forEach(S=>{b[`main_block_${S}`]=c(128,`middle_flow/main_block_${S}`)});const x=s(128,256,"exit_flow/reduction_block"),w=a(256,512,"exit_flow/separable_conv"),L={reduction_block:x,separable_conv:w};if(o().length!==0)throw new Error(`weights remaing after extract: ${o().length}`);return{paramMappings:n,params:{entry_flow:d,middle_flow:b,exit_flow:L}}}function mT(e,t){const n=it(e,t),r=ic(n),o=to(n);function i(s){const c=o(`${s}/separable_conv0`),p=o(`${s}/separable_conv1`),l=r(`${s}/expansion_conv`);return{separable_conv0:c,separable_conv1:p,expansion_conv:l}}function a(s){const c=o(`${s}/separable_conv0`),p=o(`${s}/separable_conv1`),l=o(`${s}/separable_conv2`);return{separable_conv0:c,separable_conv1:p,separable_conv2:l}}return{extractConvParams:r,extractSeparableConvParams:o,extractReductionBlockParams:i,extractMainBlockParams:a}}function mb(e,t){const n=[],{extractConvParams:r,extractSeparableConvParams:o,extractReductionBlockParams:i,extractMainBlockParams:a}=mT(e,n),s=r("entry_flow/conv_in"),c=i("entry_flow/reduction_block_0"),p=i("entry_flow/reduction_block_1"),l={conv_in:s,reduction_block_0:c,reduction_block_1:p},h={};Vt(t,0,1).forEach(w=>{h[`main_block_${w}`]=a(`middle_flow/main_block_${w}`)});const d=i("exit_flow/reduction_block"),b=o("exit_flow/separable_conv"),x={reduction_block:d,separable_conv:b};return Xe(e,n),{params:{entry_flow:l,middle_flow:h,exit_flow:x},paramMappings:n}}function fb(e,t,n){return R(xe(e,t.filters,n,"same"),t.bias)}function lu(e,t,n=!0){let r=n?ie(e):e;return r=rt(r,t.separable_conv0,[1,1]),r=rt(ie(r),t.separable_conv1,[1,1]),r=Ae(r,[3,3],[2,2],"same"),r=R(r,fb(e,t.expansion_conv,[2,2])),r}function fT(e,t){let n=rt(ie(e),t.separable_conv0,[1,1]);return n=rt(ie(n),t.separable_conv1,[1,1]),n=rt(ie(n),t.separable_conv2,[1,1]),n=R(n,e),n}class gb extends Ue{constructor(e){super("TinyXception");this._numMainBlocks=e}forwardInput(e){const{params:t}=this;if(!t)throw new Error("TinyXception - load model before inference");return k(()=>{const n=e.toBatchTensor(112,!0),r=[122.782,117.001,104.298],o=wt(n,r).div(_(256));let i=ie(fb(o,t.entry_flow.conv_in,[2,2]));return i=lu(i,t.entry_flow.reduction_block_0,!1),i=lu(i,t.entry_flow.reduction_block_1),Vt(this._numMainBlocks,0,1).forEach(a=>{i=fT(i,t.middle_flow[`main_block_${a}`])}),i=lu(i,t.exit_flow.reduction_block),i=ie(rt(i,t.exit_flow.separable_conv,[1,1])),i})}async forward(e){return this.forwardInput(await ue(e))}getDefaultModelName(){return"tiny_xception_model"}extractParamsFromWeigthMap(e){return mb(e,this._numMainBlocks)}extractParams(e){return db(e,this._numMainBlocks)}}function bb(e){const t=[],{extractWeights:n,getRemainingWeights:r}=Ze(e),o=rc(n,t),i=o(512,1,"fc/age"),a=o(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:a}}}}function wb(e){const t=[],n=it(e,t);function r(i){const a=n(`${i}/weights`,2),s=n(`${i}/bias`,1);return{weights:a,bias:s}}const o={fc:{age:r("fc/age"),gender:r("fc/gender")}};return Xe(e,t),{params:o,paramMappings:t}}var Bt;(function(e){e.FEMALE="female",e.MALE="male"})(Bt||(Bt={}));class ya extends Ue{constructor(e=new gb(2)){super("AgeGenderNet");this._faceFeatureExtractor=e}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(e){const{params:t}=this;if(!t)throw new Error(`${this._name} - load model before inference`);return k(()=>{const n=e instanceof Jt?this.faceFeatureExtractor.forwardInput(e):e,r=pt(n,[7,7],[2,2],"valid").as2D(n.shape[0],-1),o=Bs(r,t.fc.age).as1D(),i=Bs(r,t.fc.gender);return{age:o,gender:i}})}forwardInput(e){return k(()=>{const{age:t,gender:n}=this.runNet(e);return{age:t,gender:rn(n)}})}async forward(e){return this.forwardInput(await ue(e))}async predictAgeAndGender(e){const t=await ue(e),n=await this.forwardInput(t),r=Ie(n.age),o=Ie(n.gender),i=r.map((s,c)=>({ageTensor:s,genderTensor:o[c]})),a=await Promise.all(i.map(async({ageTensor:s,genderTensor:c})=>{const p=(await s.data())[0],l=(await c.data())[0],h=l>.5,d=h?Bt.MALE:Bt.FEMALE,b=h?l:1-l;return s.dispose(),c.dispose(),{age:p,gender:d,genderProbability:b}}));return n.age.dispose(),n.gender.dispose(),t.isBatchInput?a:a[0]}getDefaultModelName(){return"age_gender_model"}dispose(e=!0){this.faceFeatureExtractor.dispose(e),super.dispose(e)}loadClassifierParams(e){const{params:t,paramMappings:n}=this.extractClassifierParams(e);this._params=t,this._paramMappings=n}extractClassifierParams(e){return bb(e)}extractParamsFromWeigthMap(e){const{featureExtractorMap:t,classifierMap:n}=cc(e);return this.faceFeatureExtractor.loadFromWeightMap(t),wb(n)}extractParams(e){const t=512*1+1+(512*2+2),n=e.slice(0,e.length-t),r=e.slice(e.length-t);return this.faceFeatureExtractor.extractWeights(n),this.extractClassifierParams(r)}}class lc extends pc{postProcess(e,t,n){const r=n.map(({width:i,height:a})=>{const s=t/Math.max(a,i);return{width:i*s,height:a*s}}),o=r.length;return k(()=>{const i=(l,h)=>ke([Ge([68],l),Ge([68],h)],1).as2D(1,136).as1D(),a=(l,h)=>{const{width:d,height:b}=r[l];return h(d,b)?Math.abs(d-b)/2:0},s=l=>a(l,(h,d)=>ha(l,(h,d)=>di(s(h),c(h))))).div(ke(Array.from(Array(o),(l,h)=>i(r[h].width,r[h].height))));return p})}forwardInput(e){return k(()=>{const t=this.runNet(e);return this.postProcess(t,e.inputSize,e.inputDimensions.map(([n,r])=>({height:n,width:r})))})}async forward(e){return this.forwardInput(await ue(e))}async detectLandmarks(e){const t=await ue(e),n=k(()=>Ie(this.forwardInput(t))),r=await Promise.all(n.map(async(o,i)=>{const a=Array.from(await o.data()),s=a.filter((p,l)=>Xa(l)),c=a.filter((p,l)=>!Xa(l));return new Nr(Array(68).fill(0).map((p,l)=>new J(s[l],c[l])),{height:t.getInputHeight(i),width:t.getInputWidth(i)})}));return n.forEach(o=>o.dispose()),t.isBatchInput?r:r[0]}getClassifierChannelsOut(){return 136}}class Sr extends lc{constructor(e=new ac()){super("FaceLandmark68Net",e)}getDefaultModelName(){return"face_landmark_68_model"}getClassifierChannelsIn(){return 256}}function xb(e){const t=[],{extractDenseBlock3Params:n}=sc(e,t),r={dense0:n("dense0",!0),dense1:n("dense1"),dense2:n("dense2")};return Xe(e,t),{params:r,paramMappings:t}}function yb(e){const t=[],{extractWeights:n,getRemainingWeights:r}=Ze(e),{extractDenseBlock3Params:o}=oc(n,t),i=o(3,32,"dense0",!0),a=o(32,64,"dense1"),s=o(64,128,"dense2");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:i,dense1:a,dense2:s}}}class Lb extends Ue{constructor(){super("TinyFaceFeatureExtractor")}forwardInput(e){const{params:t}=this;if(!t)throw new Error("TinyFaceFeatureExtractor - load model before inference");return k(()=>{const n=e.toBatchTensor(112,!0),r=[122.782,117.001,104.298],o=wt(n,r).div(_(255));let i=nc(o,t.dense0,!0);return i=nc(i,t.dense1),i=nc(i,t.dense2),i=pt(i,[14,14],[2,2],"valid"),i})}async forward(e){return this.forwardInput(await ue(e))}getDefaultModelName(){return"face_feature_extractor_tiny_model"}extractParamsFromWeigthMap(e){return xb(e)}extractParams(e){return yb(e)}}class la extends lc{constructor(e=new Lb()){super("FaceLandmark68TinyNet",e)}getDefaultModelName(){return"face_landmark_68_tiny_model"}getClassifierChannelsIn(){return 128}}class ad extends Sr{}function vb(e,t){return R(v(e,t.weights),t.biases)}function hu(e,t,n,r,o="same"){const{filters:i,bias:a}=t.conv;let s=xe(e,i,n,o);return s=R(s,a),s=vb(s,t.scale),r?ie(s):s}function Sb(e,t){return hu(e,t,[1,1],!0)}function uu(e,t){return hu(e,t,[1,1],!1)}function hc(e,t){return hu(e,t,[2,2],!0,"valid")}function gT(e,t){function n(s,c,p){const l=e(s),h=l.length/(c*p*p);if(eu(h))throw new Error(`depth has to be an integer: ${h}, weights.length: ${l.length}, numFilters: ${c}, filterSize: ${p}`);return k(()=>K(ft(l,[c,h,p,p]),[2,3,1,0]))}function r(s,c,p,l){const h=n(s,c,p),d=ce(e(c));return t.push({paramPath:`${l}/filters`},{paramPath:`${l}/bias`}),{filters:h,bias:d}}function o(s,c){const p=ce(e(s)),l=ce(e(s));return t.push({paramPath:`${c}/weights`},{paramPath:`${c}/biases`}),{weights:p,biases:l}}function i(s,c,p,l){const h=r(s,c,p,`${l}/conv`),d=o(c,`${l}/scale`);return{conv:h,scale:d}}function a(s,c,p,l,h=!1){const d=i((h?.5:1)*s,c,p,`${l}/conv1`),b=i(s,c,p,`${l}/conv2`);return{conv1:d,conv2:b}}return{extractConvLayerParams:i,extractResidualLayerParams:a}}function Ib(e){const{extractWeights:t,getRemainingWeights:n}=Ze(e),r=[],{extractConvLayerParams:o,extractResidualLayerParams:i}=gT(t,r),a=o(4704,32,7,"conv32_down"),s=i(9216,32,3,"conv32_1"),c=i(9216,32,3,"conv32_2"),p=i(9216,32,3,"conv32_3"),l=i(36864,64,3,"conv64_down",!0),h=i(36864,64,3,"conv64_1"),d=i(36864,64,3,"conv64_2"),b=i(36864,64,3,"conv64_3"),x=i(147456,128,3,"conv128_down",!0),w=i(147456,128,3,"conv128_1"),L=i(147456,128,3,"conv128_2"),S=i(589824,256,3,"conv256_down",!0),I=i(589824,256,3,"conv256_1"),N=i(589824,256,3,"conv256_2"),A=i(589824,256,3,"conv256_down_out"),E=k(()=>K(mt(t(256*128),[128,256]),[1,0]));if(r.push({paramPath:"fc"}),n().length!==0)throw new Error(`weights remaing after extract: ${n().length}`);const M={conv32_down:a,conv32_1:s,conv32_2:c,conv32_3:p,conv64_down:l,conv64_1:h,conv64_2:d,conv64_3:b,conv128_down:x,conv128_1:w,conv128_2:L,conv256_down:S,conv256_1:I,conv256_2:N,conv256_down_out:A,fc:E};return{params:M,paramMappings:r}}function bT(e,t){const n=it(e,t);function r(a){const s=n(`${a}/scale/weights`,1),c=n(`${a}/scale/biases`,1);return{weights:s,biases:c}}function o(a){const s=n(`${a}/conv/filters`,4),c=n(`${a}/conv/bias`,1),p=r(a);return{conv:{filters:s,bias:c},scale:p}}function i(a){return{conv1:o(`${a}/conv1`),conv2:o(`${a}/conv2`)}}return{extractConvLayerParams:o,extractResidualLayerParams:i}}function Tb(e){const t=[],{extractConvLayerParams:n,extractResidualLayerParams:r}=bT(e,t),o=n("conv32_down"),i=r("conv32_1"),a=r("conv32_2"),s=r("conv32_3"),c=r("conv64_down"),p=r("conv64_1"),l=r("conv64_2"),h=r("conv64_3"),d=r("conv128_down"),b=r("conv128_1"),x=r("conv128_2"),w=r("conv256_down"),L=r("conv256_1"),S=r("conv256_2"),I=r("conv256_down_out"),N=e.fc;if(t.push({originalPath:"fc",paramPath:"fc"}),!Qh(N))throw new Error(`expected weightMap[fc] to be a Tensor2D, instead have ${N}`);const A={conv32_down:o,conv32_1:i,conv32_2:a,conv32_3:s,conv64_down:c,conv64_1:p,conv64_2:l,conv64_3:h,conv128_down:d,conv128_1:b,conv128_2:x,conv256_down:w,conv256_1:L,conv256_2:S,conv256_down_out:I,fc:N};return Xe(e,t),{params:A,paramMappings:t}}function Ut(e,t){let n=Sb(e,t.conv1);return n=uu(n,t.conv2),n=R(n,e),n=ie(n),n}function $s(e,t){let n=hc(e,t.conv1);n=uu(n,t.conv2);let r=pt(e,2,2,"valid");const o=Ce(r.shape),i=r.shape[3]!==n.shape[3],a=r.shape[1]!==n.shape[1]||r.shape[2]!==n.shape[2];if(a){const s=[...n.shape];s[1]=1;const c=Ce(s);n=Z([n,c],1);const p=[...n.shape];p[2]=1;const l=Ce(p);n=Z([n,l],2)}return r=i?Z([r,o],3):r,n=R(r,n),n=ie(n),n}class vr extends Ue{constructor(){super("FaceRecognitionNet")}forwardInput(e){const{params:t}=this;if(!t)throw new Error("FaceRecognitionNet - load model before inference");return k(()=>{const n=e.toBatchTensor(150,!0).toFloat(),r=[122.782,117.001,104.298],o=wt(n,r).div(_(256));let i=hc(o,t.conv32_down);i=Ae(i,3,2,"valid"),i=Ut(i,t.conv32_1),i=Ut(i,t.conv32_2),i=Ut(i,t.conv32_3),i=$s(i,t.conv64_down),i=Ut(i,t.conv64_1),i=Ut(i,t.conv64_2),i=Ut(i,t.conv64_3),i=$s(i,t.conv128_down),i=Ut(i,t.conv128_1),i=Ut(i,t.conv128_2),i=$s(i,t.conv256_down),i=Ut(i,t.conv256_1),i=Ut(i,t.conv256_2),i=$s(i,t.conv256_down_out);const a=i.mean([1,2]),s=Y(a,t.fc);return s})}async forward(e){return this.forwardInput(await ue(e))}async computeFaceDescriptor(e){const t=await ue(e),n=k(()=>Ie(this.forwardInput(t))),r=await Promise.all(n.map(o=>o.data()));return n.forEach(o=>o.dispose()),t.isBatchInput?r:r[0]}getDefaultModelName(){return"face_recognition_model"}extractParamsFromWeigthMap(e){return Tb(e)}extractParams(e){return Ib(e)}}function sd(e){const t=new vr();return t.extractWeights(e),t}function mo(e,t){const n={descriptor:t};return Object.assign({},e,n)}function id(e){return typeof e.age=="number"}function fo(e,t){const n={age:t};return Object.assign({},e,n)}function od(e){return(e.gender===Bt.MALE||e.gender===Bt.FEMALE)&&Xr(e.genderProbability)}function ho(e,t,n){const r={gender:t,genderProbability:n};return Object.assign({},e,r)}function wT(e,t){function n(c,p){const l=ft(e(3*3*c),[3,3,c,1]),h=ce(e(c)),d=ce(e(c)),b=ce(e(c)),x=ce(e(c));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:l,batch_norm_scale:h,batch_norm_offset:d,batch_norm_mean:b,batch_norm_variance:x}}function r(c,p,l,h,d){const b=ft(e(c*p*l*l),[l,l,c,p]),x=ce(e(p));return t.push({paramPath:`${h}/filters`},{paramPath:`${h}/${d?"batch_norm_offset":"bias"}`}),{filters:b,bias:x}}function o(c,p,l,h){const{filters:d,bias:b}=r(c,p,l,h,!0);return{filters:d,batch_norm_offset:b}}function i(c,p,l){const h=n(c,`${l}/depthwise_conv`),d=o(c,p,1,`${l}/pointwise_conv`);return{depthwise_conv:h,pointwise_conv:d}}function a(){const c=o(3,32,3,"mobilenetv1/conv_0"),p=i(32,64,"mobilenetv1/conv_1"),l=i(64,128,"mobilenetv1/conv_2"),h=i(128,128,"mobilenetv1/conv_3"),d=i(128,256,"mobilenetv1/conv_4"),b=i(256,256,"mobilenetv1/conv_5"),x=i(256,512,"mobilenetv1/conv_6"),w=i(512,512,"mobilenetv1/conv_7"),L=i(512,512,"mobilenetv1/conv_8"),S=i(512,512,"mobilenetv1/conv_9"),I=i(512,512,"mobilenetv1/conv_10"),N=i(512,512,"mobilenetv1/conv_11"),A=i(512,1024,"mobilenetv1/conv_12"),E=i(1024,1024,"mobilenetv1/conv_13");return{conv_0:c,conv_1:p,conv_2:l,conv_3:h,conv_4:d,conv_5:b,conv_6:x,conv_7:w,conv_8:L,conv_9:S,conv_10:I,conv_11:N,conv_12:A,conv_13:E}}function s(){const c=o(1024,256,1,"prediction_layer/conv_0"),p=o(256,512,3,"prediction_layer/conv_1"),l=o(512,128,1,"prediction_layer/conv_2"),h=o(128,256,3,"prediction_layer/conv_3"),d=o(256,128,1,"prediction_layer/conv_4"),b=o(128,256,3,"prediction_layer/conv_5"),x=o(256,64,1,"prediction_layer/conv_6"),w=o(64,128,3,"prediction_layer/conv_7"),L=r(512,12,1,"prediction_layer/box_predictor_0/box_encoding_predictor"),S=r(512,9,1,"prediction_layer/box_predictor_0/class_predictor"),I=r(1024,24,1,"prediction_layer/box_predictor_1/box_encoding_predictor"),N=r(1024,18,1,"prediction_layer/box_predictor_1/class_predictor"),A=r(512,24,1,"prediction_layer/box_predictor_2/box_encoding_predictor"),E=r(512,18,1,"prediction_layer/box_predictor_2/class_predictor"),M=r(256,24,1,"prediction_layer/box_predictor_3/box_encoding_predictor"),D=r(256,18,1,"prediction_layer/box_predictor_3/class_predictor"),$=r(256,24,1,"prediction_layer/box_predictor_4/box_encoding_predictor"),B=r(256,18,1,"prediction_layer/box_predictor_4/class_predictor"),j=r(128,24,1,"prediction_layer/box_predictor_5/box_encoding_predictor"),te=r(128,18,1,"prediction_layer/box_predictor_5/class_predictor"),re={box_encoding_predictor:L,class_predictor:S},he={box_encoding_predictor:I,class_predictor:N},ye={box_encoding_predictor:A,class_predictor:E},Me={box_encoding_predictor:M,class_predictor:D},Tt={box_encoding_predictor:$,class_predictor:B},ln={box_encoding_predictor:j,class_predictor:te};return{conv_0:c,conv_1:p,conv_2:l,conv_3:h,conv_4:d,conv_5:b,conv_6:x,conv_7:w,box_predictor_0:re,box_predictor_1:he,box_predictor_2:ye,box_predictor_3:Me,box_predictor_4:Tt,box_predictor_5:ln}}return{extractMobilenetV1Params:a,extractPredictionLayerParams:s}}function Ab(e){const t=[],{extractWeights:n,getRemainingWeights:r}=Ze(e),{extractMobilenetV1Params:o,extractPredictionLayerParams:i}=wT(n,t),a=o(),s=i(),c=er(n(5118*4),[1,5118,4]),p={extra_dim:c};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:s,output_layer:p},paramMappings:t}}function xT(e,t){const n=it(e,t);function r(p,l,h){const d=n(`${p}/Conv2d_${l}_pointwise/weights`,4,`${h}/filters`),b=n(`${p}/Conv2d_${l}_pointwise/convolution_bn_offset`,1,`${h}/batch_norm_offset`);return{filters:d,batch_norm_offset:b}}function o(p){const l=`mobilenetv1/conv_${p}`,h=`MobilenetV1/Conv2d_${p}_depthwise`,d=`${l}/depthwise_conv`,b=`${l}/pointwise_conv`,x=n(`${h}/depthwise_weights`,4,`${d}/filters`),w=n(`${h}/BatchNorm/gamma`,1,`${d}/batch_norm_scale`),L=n(`${h}/BatchNorm/beta`,1,`${d}/batch_norm_offset`),S=n(`${h}/BatchNorm/moving_mean`,1,`${d}/batch_norm_mean`),I=n(`${h}/BatchNorm/moving_variance`,1,`${d}/batch_norm_variance`);return{depthwise_conv:{filters:x,batch_norm_scale:w,batch_norm_offset:L,batch_norm_mean:S,batch_norm_variance:I},pointwise_conv:r("MobilenetV1",p,b)}}function i(){return{conv_0:r("MobilenetV1",0,"mobilenetv1/conv_0"),conv_1:o(1),conv_2:o(2),conv_3:o(3),conv_4:o(4),conv_5:o(5),conv_6:o(6),conv_7:o(7),conv_8:o(8),conv_9:o(9),conv_10:o(10),conv_11:o(11),conv_12:o(12),conv_13:o(13)}}function a(p,l){const h=n(`${p}/weights`,4,`${l}/filters`),d=n(`${p}/biases`,1,`${l}/bias`);return{filters:h,bias:d}}function s(p){const l=a(`Prediction/BoxPredictor_${p}/BoxEncodingPredictor`,`prediction_layer/box_predictor_${p}/box_encoding_predictor`),h=a(`Prediction/BoxPredictor_${p}/ClassPredictor`,`prediction_layer/box_predictor_${p}/class_predictor`);return{box_encoding_predictor:l,class_predictor:h}}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:s(0),box_predictor_1:s(1),box_predictor_2:s(2),box_predictor_3:s(3),box_predictor_4:s(4),box_predictor_5:s(5)}}return{extractMobilenetV1Params:i,extractPredictionLayerParams:c}}function Nb(e){const t=[],{extractMobilenetV1Params:n,extractPredictionLayerParams:r}=xT(e,t),o=e["Output/extra_dim"];if(t.push({originalPath:"Output/extra_dim",paramPath:"output_layer/extra_dim"}),!an(o))throw new Error(`expected weightMap['Output/extra_dim'] to be a Tensor3D, instead have ${o}`);const i={mobilenetv1:n(),prediction_layer:r(),output_layer:{extra_dim:o}};return Xe(e,t),{params:i,paramMappings:t}}function It(e,t,n){return k(()=>{let r=xe(e,t.filters,n,"same");return r=R(r,t.batch_norm_offset),$n(r,0,6)})}const yT=.0010000000474974513;function LT(e,t,n){return k(()=>{let r=en(e,t.filters,n,"same");return r=Ct(r,t.batch_norm_mean,t.batch_norm_variance,t.batch_norm_offset,t.batch_norm_scale,yT),$n(r,0,6)})}function vT(e){return[2,4,6,12].some(t=>t===e)?[2,2]:[1,1]}function Rb(e,t){return k(()=>{let n=null,r=It(e,t.conv_0,[2,2]);const o=[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];if(o.forEach((i,a)=>{const s=a+1,c=vT(s);r=LT(r,i.depthwise_conv,c),r=It(r,i.pointwise_conv,[1,1]),s===11&&(n=r)}),n===null)throw new Error("mobileNetV1 - output of conv layer 11 is null");return{out:r,conv11:n}})}function _b(e,t,n,r,o){const i=e.shape[0],a=Math.min(n,i),s=t.map((l,h)=>({score:l,boxIndex:h})).filter(l=>l.score>o).sort((l,h)=>h.score-l.score),c=l=>l<=r?1:0,p=[];return s.forEach(l=>{if(p.length>=a)return;const h=l.score;for(let d=p.length-1;d>=0;--d){const b=ST(e,l.boxIndex,p[d]);if(b===0)continue;if(l.score*=c(b),l.score<=o)break}h===l.score&&p.push(l.boxIndex)}),p}function ST(e,t,n){const r=e.arraySync(),o=Math.min(r[t][0],r[t][2]),i=Math.min(r[t][1],r[t][3]),a=Math.max(r[t][0],r[t][2]),s=Math.max(r[t][1],r[t][3]),c=Math.min(r[n][0],r[n][2]),p=Math.min(r[n][1],r[n][3]),l=Math.max(r[n][0],r[n][2]),h=Math.max(r[n][1],r[n][3]),d=(a-o)*(s-i),b=(l-c)*(h-p);if(d<=0||b<=0)return 0;const x=Math.max(o,c),w=Math.max(i,p),L=Math.min(a,l),S=Math.min(s,h),I=Math.max(L-x,0)*Math.max(S-w,0);return I/(d+b-I)}function IT(e){const t=Ie(K(e,[1,0])),n=[O(t[2],t[0]),O(t[3],t[1])],r=[R(t[0],F(n[0],_(2))),R(t[1],F(n[1],_(2)))];return{sizes:n,centers:r}}function TT(e,t){const{sizes:n,centers:r}=IT(e),o=Ie(K(t,[1,0])),i=F(v(Se(F(o[2],_(5))),n[0]),_(2)),a=R(v(F(o[0],_(10)),n[0]),r[0]),s=F(v(Se(F(o[3],_(5))),n[1]),_(2)),c=R(v(F(o[1],_(10)),n[1]),r[1]);return K(ke([O(a,i),O(c,s),R(a,i),R(c,s)]),[1,0])}function Cb(e,t,n){return k(()=>{const r=e.shape[0];let o=TT(y(Ot(n.extra_dim,[r,1,1]),[-1,4]),y(e,[-1,4]));o=y(o,[r,o.shape[0]/r,4]);const i=lt(G(t,[0,0,1],[-1,-1,-1]));let a=G(i,[0,0,0],[-1,-1,1]);a=y(a,[r,a.shape[1]]);const s=Ie(o),c=Ie(a);return{boxes:s,scores:c}})}function gr(e,t){return k(()=>{const n=e.shape[0],r=y(fr(e,t.box_encoding_predictor),[n,-1,1,4]),o=y(fr(e,t.class_predictor),[n,-1,3]);return{boxPredictionEncoding:r,classPrediction:o}})}function Eb(e,t,n){return k(()=>{const r=It(e,n.conv_0,[1,1]),o=It(r,n.conv_1,[2,2]),i=It(o,n.conv_2,[1,1]),a=It(i,n.conv_3,[2,2]),s=It(a,n.conv_4,[1,1]),c=It(s,n.conv_5,[2,2]),p=It(c,n.conv_6,[1,1]),l=It(p,n.conv_7,[2,2]),h=gr(t,n.box_predictor_0),d=gr(e,n.box_predictor_1),b=gr(o,n.box_predictor_2),x=gr(a,n.box_predictor_3),w=gr(c,n.box_predictor_4),L=gr(l,n.box_predictor_5),S=Z([h.boxPredictionEncoding,d.boxPredictionEncoding,b.boxPredictionEncoding,x.boxPredictionEncoding,w.boxPredictionEncoding,L.boxPredictionEncoding],1),I=Z([h.classPrediction,d.classPrediction,b.classPrediction,x.classPrediction,w.classPrediction,L.classPrediction],1);return{boxPredictions:S,classPredictions:I}})}class bt{constructor({minConfidence:e,maxResults:t}={}){if(this._name="SsdMobilenetv1Options",this._minConfidence=e||.5,this._maxResults=t||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}}class Nn extends Ue{constructor(){super("SsdMobilenetv1")}forwardInput(e){const{params:t}=this;if(!t)throw new Error("SsdMobilenetv1 - load model before inference");return k(()=>{const n=e.toBatchTensor(512,!1).toFloat(),r=O(v(n,_(.007843137718737125)),_(1)),o=Rb(r,t.mobilenetv1),{boxPredictions:i,classPredictions:a}=Eb(o.out,o.conv11,t.prediction_layer);return Cb(i,a,t.output_layer)})}async forward(e){return this.forwardInput(await ue(e))}async locateFaces(e,t={}){const{maxResults:n,minConfidence:r}=new bt(t),o=await ue(e),{boxes:i,scores:a}=this.forwardInput(o),s=i[0],c=a[0];for(let I=1;I{const[N,A]=[Math.max(0,L[I][0]),Math.min(1,L[I][2])].map(D=>D*w),[E,M]=[Math.max(0,L[I][1]),Math.min(1,L[I][3])].map(D=>D*x);return new fe(p[I],new Ar(E,N,M-E,A-N),{height:o.getInputHeight(0),width:o.getInputWidth(0)})});return s.dispose(),c.dispose(),S}getDefaultModelName(){return"ssd_mobilenetv1_model"}extractParamsFromWeigthMap(e){return Nb(e)}extractParams(e){return Ab(e)}}function xc(e){const t=new Nn();return t.extractWeights(e),t}function Fu(e){return xc(e)}class Mu extends Nn{}const Ob=.4,kb=[new J(.738768,.874946),new J(2.42204,2.65704),new J(4.30971,7.04493),new J(10.246,4.59428),new J(12.6868,11.8741)],Db=[new J(1.603231,2.094468),new J(6.041143,7.080126),new J(2.882459,3.518061),new J(4.266906,5.178857),new J(9.041765,10.66308)],Fb=[117.001,114.697,97.404],Mb="tiny_yolov2_model",Ub="tiny_yolov2_separable_conv_model";const uc=e=>typeof e=="number";function Js(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(!uc(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=>uc(t.x)&&uc(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(uc)))throw new Error(`config.meanRgb has to be an array of shape [number, number, number], have: ${JSON.stringify(e.meanRgb)}`)}function no(e){return k(()=>{const t=v(e,_(.10000000149011612));return R(ie(O(e,t)),t)})}function cn(e,t){return k(()=>{let n=Pe(e,[[0,0],[1,1],[1,1],[0,0]]);return n=xe(n,t.conv.filters,[1,1],"valid"),n=O(n,t.bn.sub),n=v(n,t.bn.truediv),n=R(n,t.conv.bias),no(n)})}function pn(e,t){return k(()=>{let n=Pe(e,[[0,0],[1,1],[1,1],[0,0]]);return n=Xn(n,t.depthwise_filter,t.pointwise_filter,[1,1],"valid"),n=R(n,t.bias),no(n)})}function AT(e,t){const n=Qr(e,t);function r(a,s){const c=ce(e(a)),p=ce(e(a));return t.push({paramPath:`${s}/sub`},{paramPath:`${s}/truediv`}),{sub:c,truediv:p}}function o(a,s,c){const p=n(a,s,3,`${c}/conv`),l=r(s,`${c}/bn`);return{conv:p,bn:l}}const i=eo(e,t);return{extractConvParams:n,extractConvWithBatchNormParams:o,extractSeparableConvParams:i}}function Wb(e,t,n,r){const{extractWeights:o,getRemainingWeights:i}=Ze(e),a=[],{extractConvParams:s,extractConvWithBatchNormParams:c,extractSeparableConvParams:p}=AT(o,a);let l;if(t.withSeparableConvs){const[h,d,b,x,w,L,S,I,N]=r,A=t.isFirstLayerConv2d?s(h,d,3,"conv0"):p(h,d,"conv0"),E=p(d,b,"conv1"),M=p(b,x,"conv2"),D=p(x,w,"conv3"),$=p(w,L,"conv4"),B=p(L,S,"conv5"),j=I?p(S,I,"conv6"):void 0,te=N?p(I,N,"conv7"):void 0,re=s(N||I||S,5*n,1,"conv8");l={conv0:A,conv1:E,conv2:M,conv3:D,conv4:$,conv5:B,conv6:j,conv7:te,conv8:re}}else{const[h,d,b,x,w,L,S,I,N]=r,A=c(h,d,"conv0"),E=c(d,b,"conv1"),M=c(b,x,"conv2"),D=c(x,w,"conv3"),$=c(w,L,"conv4"),B=c(L,S,"conv5"),j=c(S,I,"conv6"),te=c(I,N,"conv7"),re=s(N,5*n,1,"conv8");l={conv0:A,conv1:E,conv2:M,conv3:D,conv4:$,conv5:B,conv6:j,conv7:te,conv8:re}}if(i().length!==0)throw new Error(`weights remaing after extract: ${i().length}`);return{params:l,paramMappings:a}}function NT(e,t){const n=it(e,t);function r(s){const c=n(`${s}/sub`,1),p=n(`${s}/truediv`,1);return{sub:c,truediv:p}}function o(s){const c=n(`${s}/filters`,4),p=n(`${s}/bias`,1);return{filters:c,bias:p}}function i(s){const c=o(`${s}/conv`),p=r(`${s}/bn`);return{conv:c,bn:p}}const a=to(n);return{extractConvParams:o,extractConvWithBatchNormParams:i,extractSeparableConvParams:a}}function Bb(e,t){const n=[],{extractConvParams:r,extractConvWithBatchNormParams:o,extractSeparableConvParams:i}=NT(e,n);let a;if(t.withSeparableConvs){const s=t.filterSizes&&t.filterSizes.length||9;a={conv0:t.isFirstLayerConv2d?r("conv0"):i("conv0"),conv1:i("conv1"),conv2:i("conv2"),conv3:i("conv3"),conv4:i("conv4"),conv5:i("conv5"),conv6:s>7?i("conv6"):void 0,conv7:s>8?i("conv7"):void 0,conv8:r("conv8")}}else a={conv0:o("conv0"),conv1:o("conv1"),conv2:o("conv2"),conv3:o("conv3"),conv4:o("conv4"),conv5:o("conv5"),conv6:o("conv6"),conv7:o("conv7"),conv8:r("conv8")};return Xe(e,n),{params:a,paramMappings:n}}var Xs;(function(e){e[e.XS=224]="XS",e[e.SM=320]="SM",e[e.MD=416]="MD",e[e.LG=608]="LG"})(Xs||(Xs={}));class Wt{constructor({inputSize:e,scoreThreshold:t}={}){if(this._name="TinyYolov2Options",this._inputSize=e||416,this._scoreThreshold=t||.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}}class ro extends Ue{constructor(e){super("TinyYolov2");Js(e),this._config=e}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(e,t){let n=cn(e,t.conv0);return n=Ae(n,[2,2],[2,2],"same"),n=cn(n,t.conv1),n=Ae(n,[2,2],[2,2],"same"),n=cn(n,t.conv2),n=Ae(n,[2,2],[2,2],"same"),n=cn(n,t.conv3),n=Ae(n,[2,2],[2,2],"same"),n=cn(n,t.conv4),n=Ae(n,[2,2],[2,2],"same"),n=cn(n,t.conv5),n=Ae(n,[2,2],[1,1],"same"),n=cn(n,t.conv6),n=cn(n,t.conv7),fr(n,t.conv8,"valid",!1)}runMobilenet(e,t){let n=this.config.isFirstLayerConv2d?no(fr(e,t.conv0,"valid",!1)):pn(e,t.conv0);return n=Ae(n,[2,2],[2,2],"same"),n=pn(n,t.conv1),n=Ae(n,[2,2],[2,2],"same"),n=pn(n,t.conv2),n=Ae(n,[2,2],[2,2],"same"),n=pn(n,t.conv3),n=Ae(n,[2,2],[2,2],"same"),n=pn(n,t.conv4),n=Ae(n,[2,2],[2,2],"same"),n=pn(n,t.conv5),n=Ae(n,[2,2],[1,1],"same"),n=t.conv6?pn(n,t.conv6):n,n=t.conv7?pn(n,t.conv7):n,fr(n,t.conv8,"valid",!1)}forwardInput(e,t){const{params:n}=this;if(!n)throw new Error("TinyYolov2 - load model before inference");return k(()=>{let r=e.toBatchTensor(t,!1).toFloat();return r=this.config.meanRgb?wt(r,this.config.meanRgb):r,r=r.div(_(256)),this.config.withSeparableConvs?this.runMobilenet(r,n):this.runTinyYolov2(r,n)})}async forward(e,t){return await this.forwardInput(await ue(e),t)}async detect(e,t={}){const{inputSize:n,scoreThreshold:r}=new Wt(t),o=await ue(e),i=await this.forwardInput(o,n),a=k(()=>Ie(i)[0].expandDims()),s={width:o.getInputWidth(0),height:o.getInputHeight(0)},c=await this.extractBoxes(a,o.getReshapedInputDimensions(0),r);i.dispose(),a.dispose();const p=c.map(w=>w.box),l=c.map(w=>w.score),h=c.map(w=>w.classScore),d=c.map(w=>this.config.classes[w.label]),b=ea(p.map(w=>w.rescale(n)),l,this.config.iouThreshold,!0),x=b.map(w=>new On(l[w],h[w],d[w],p[w],s));return x}getDefaultModelName(){return""}extractParamsFromWeigthMap(e){return Bb(e,this.config)}extractParams(e){const t=this.config.filterSizes||ro.DEFAULT_FILTER_SIZES,n=t?t.length:void 0;if(n!==7&&n!==8&&n!==9)throw new Error(`TinyYolov2 - expected 7 | 8 | 9 convolutional filters, but found ${n} filterSizes in config`);return Wb(e,this.config,this.boxEncodingSize,t)}async extractBoxes(e,t,n){const{width:r,height:o}=t,i=Math.max(r,o),a=i/r,s=i/o,c=e.shape[1],p=this.config.anchors.length,[l,h,d]=k(()=>{const L=e.reshape([c,c,p,this.boxEncodingSize]),S=L.slice([0,0,0,0],[c,c,p,4]),I=L.slice([0,0,0,4],[c,c,p,1]),N=this.withClassScores?rn(L.slice([0,0,0,5],[c,c,p,this.config.classes.length]),3):_(0);return[S,I,N]}),b=[],x=await h.array(),w=await l.array();for(let L=0;Ln){const A=(S+Lr(w[L][S][I][0]))/c*a,E=(L+Lr(w[L][S][I][1]))/c*s,M=Math.exp(w[L][S][I][2])*this.config.anchors[I].x/c*a,D=Math.exp(w[L][S][I][3])*this.config.anchors[I].y/c*s,$=A-M/2,B=E-D/2,j={row:L,col:S,anchor:I},{classScore:te,label:re}=this.withClassScores?await this.extractPredictedClass(d,j):{classScore:1,label:0};b.push({box:new Rr($,B,$+M,B+D),score:N,classScore:N*te,label:re,...j})}}return l.dispose(),h.dispose(),d.dispose(),b}async extractPredictedClass(e,t){const{row:n,col:r,anchor:o}=t,i=await e.array();return Array(this.config.classes.length).fill(0).map((a,s)=>i[n][r][o][s]).map((a,s)=>({classScore:a,label:s})).reduce((a,s)=>a.classScore>s.classScore?a:s)}}ro.DEFAULT_FILTER_SIZES=[3,16,32,64,128,256,512,1024,1024];class xr extends ro{constructor(e=!0){const t=Object.assign({},{withSeparableConvs:e,iouThreshold:Ob,classes:["face"]},e?{anchors:Db,meanRgb:Fb}:{anchors:kb,withClassScores:!0});super(t)}get withSeparableConvs(){return this.config.withSeparableConvs}get anchors(){return this.config.anchors}async locateFaces(e,t){const n=await this.detect(e,t);return n.map(r=>new fe(r.score,r.relativeBox,{width:r.imageWidth,height:r.imageHeight}))}getDefaultModelName(){return this.withSeparableConvs?Ub:Mb}extractParamsFromWeigthMap(e){return super.extractParamsFromWeigthMap(e)}}function ku(e,t=!0){const n=new xr(t);return n.extractWeights(e),n}class Zs extends Wt{constructor(){super(...arguments);this._name="TinyFaceDetectorOptions"}}class xt{async then(e){return e(await this.run())}async run(){throw new Error("ComposableTask - run is not implemented")}}async function br(e,t,n,r,o=({alignedRect:i})=>i){const i=e.map(c=>dn(c)?o(c):c.detection),a=r||(t instanceof ee?await Cn(t,i):await _n(t,i)),s=await n(a);return a.forEach(c=>c instanceof ee&&c.dispose()),s}async function oo(e,t,n,r,o){return br([e],t,async i=>n(i[0]),r,o)}const $b=.4,jb=[new J(1.603231,2.094468),new J(6.041143,7.080126),new J(2.882459,3.518061),new J(4.266906,5.178857),new J(9.041765,10.66308)],Gb=[117.001,114.697,97.404];class yr extends ro{constructor(){const e={withSeparableConvs:!0,iouThreshold:$b,classes:["face"],anchors:jb,meanRgb:Gb,isFirstLayerConv2d:!0,filterSizes:[3,16,32,64,128,256,512]};super(e)}get anchors(){return this.config.anchors}async locateFaces(e,t){const n=await this.detect(e,t);return n.map(r=>new fe(r.score,r.relativeBox,{width:r.imageWidth,height:r.imageHeight}))}getDefaultModelName(){return"tiny_face_detector_model"}extractParamsFromWeigthMap(e){return super.extractParamsFromWeigthMap(e)}}const oe={ssdMobilenetv1:new Nn(),tinyFaceDetector:new yr(),tinyYolov2:new xr(),faceLandmark68Net:new Sr(),faceLandmark68TinyNet:new la(),faceRecognitionNet:new vr(),faceExpressionNet:new ua(),ageGenderNet:new ya()},Lc=(e,t)=>oe.ssdMobilenetv1.locateFaces(e,t),Bu=(e,t)=>oe.tinyFaceDetector.locateFaces(e,t),$u=(e,t)=>oe.tinyYolov2.locateFaces(e,t),vc=e=>oe.faceLandmark68Net.detectLandmarks(e),ju=e=>oe.faceLandmark68TinyNet.detectLandmarks(e),Gu=e=>oe.faceRecognitionNet.computeFaceDescriptor(e),Pu=e=>oe.faceExpressionNet.predictExpressions(e),qu=e=>oe.ageGenderNet.predictAgeAndGender(e),Sc=e=>oe.ssdMobilenetv1.load(e),Hu=e=>oe.tinyFaceDetector.load(e),zu=e=>oe.tinyYolov2.load(e),Yu=e=>oe.faceLandmark68Net.load(e),Vu=e=>oe.faceLandmark68TinyNet.load(e),Ku=e=>oe.faceRecognitionNet.load(e),Ju=e=>oe.faceExpressionNet.load(e),Xu=e=>oe.ageGenderNet.load(e),Zu=Sc,Qu=Lc,ed=vc;class Pb extends xt{constructor(e,t,n){super();this.parentTask=e,this.input=t,this.extractedFaces=n}}class Ps extends Pb{async run(){const e=await this.parentTask,t=await br(e,this.input,async n=>await Promise.all(n.map(r=>oe.faceExpressionNet.predictExpressions(r))),this.extractedFaces);return e.map((n,r)=>uo(n,t[r]))}withAgeAndGender(){return new js(this,this.input)}}class qs extends Pb{async run(){const e=await this.parentTask;if(!e)return;const t=await oo(e,this.input,n=>oe.faceExpressionNet.predictExpressions(n),this.extractedFaces);return uo(e,t)}withAgeAndGender(){return new Gs(this,this.input)}}class ao extends Ps{withAgeAndGender(){return new io(this,this.input)}withFaceDescriptors(){return new hn(this,this.input)}}class co extends qs{withAgeAndGender(){return new so(this,this.input)}withFaceDescriptor(){return new un(this,this.input)}}class qb extends xt{constructor(e,t,n){super();this.parentTask=e,this.input=t,this.extractedFaces=n}}class js extends qb{async run(){const e=await this.parentTask,t=await br(e,this.input,async n=>await Promise.all(n.map(r=>oe.ageGenderNet.predictAgeAndGender(r))),this.extractedFaces);return e.map((n,r)=>{const{age:o,gender:i,genderProbability:a}=t[r];return fo(ho(n,i,a),o)})}withFaceExpressions(){return new Ps(this,this.input)}}class Gs extends qb{async run(){const e=await this.parentTask;if(!e)return;const{age:t,gender:n,genderProbability:r}=await oo(e,this.input,o=>oe.ageGenderNet.predictAgeAndGender(o),this.extractedFaces);return fo(ho(e,n,r),t)}withFaceExpressions(){return new qs(this,this.input)}}class io extends js{withFaceExpressions(){return new ao(this,this.input)}withFaceDescriptors(){return new hn(this,this.input)}}class so extends Gs{withFaceExpressions(){return new co(this,this.input)}withFaceDescriptor(){return new un(this,this.input)}}class ca extends xt{constructor(e,t){super();this.parentTask=e,this.input=t}}class hn extends ca{async run(){const e=await this.parentTask,t=await br(e,this.input,n=>Promise.all(n.map(r=>oe.faceRecognitionNet.computeFaceDescriptor(r))),null,n=>n.landmarks.align(null,{useDlibAlignment:!0}));return t.map((n,r)=>mo(e[r],n))}withFaceExpressions(){return new ao(this,this.input)}withAgeAndGender(){return new io(this,this.input)}}class un extends ca{async run(){const e=await this.parentTask;if(!e)return;const t=await oo(e,this.input,n=>oe.faceRecognitionNet.computeFaceDescriptor(n),null,n=>n.landmarks.align(null,{useDlibAlignment:!0}));return mo(e,t)}withFaceExpressions(){return new co(this,this.input)}withAgeAndGender(){return new so(this,this.input)}}class ia extends xt{constructor(e,t,n){super();this.parentTask=e,this.input=t,this.useTinyLandmarkNet=n}get landmarkNet(){return this.useTinyLandmarkNet?oe.faceLandmark68TinyNet:oe.faceLandmark68Net}}class sa extends ia{async run(){const e=await this.parentTask,t=e.map(o=>o.detection),n=this.input instanceof ee?await Cn(this.input,t):await _n(this.input,t),r=await Promise.all(n.map(o=>this.landmarkNet.detectLandmarks(o)));return n.forEach(o=>o instanceof ee&&o.dispose()),e.map((o,i)=>Rn(o,r[i]))}withFaceExpressions(){return new ao(this,this.input)}withAgeAndGender(){return new io(this,this.input)}withFaceDescriptors(){return new hn(this,this.input)}}class aa extends ia{async run(){const e=await this.parentTask;if(!e)return;const{detection:t}=e,n=this.input instanceof ee?await Cn(this.input,[t]):await _n(this.input,[t]),r=await this.landmarkNet.detectLandmarks(n[0]);return n.forEach(o=>o instanceof ee&&o.dispose()),Rn(e,r)}withFaceExpressions(){return new co(this,this.input)}withAgeAndGender(){return new so(this,this.input)}withFaceDescriptor(){return new un(this,this.input)}}class ra extends xt{constructor(e,t=new bt()){super();this.input=e,this.options=t}}class lo extends ra{async run(){const{input:e,options:t}=this,n=t instanceof Zs?r=>oe.tinyFaceDetector.locateFaces(r,t):t instanceof bt?r=>oe.ssdMobilenetv1.locateFaces(r,t):t instanceof Wt?r=>oe.tinyYolov2.locateFaces(r,t):null;if(!n)throw new Error("detectFaces - expected options to be instance of TinyFaceDetectorOptions | SsdMobilenetv1Options | MtcnnOptions | TinyYolov2Options");return n(e)}runAndExtendWithFaceDetections(){return new Promise(async e=>{const t=await this.run();return e(t.map(n=>mn({},n)))})}withFaceLandmarks(e=!1){return new sa(this.runAndExtendWithFaceDetections(),this.input,e)}withFaceExpressions(){return new Ps(this.runAndExtendWithFaceDetections(),this.input)}withAgeAndGender(){return new js(this.runAndExtendWithFaceDetections(),this.input)}}class oa extends ra{async run(){const e=await new lo(this.input,this.options);let t=e[0];return e.forEach(n=>{n.score>t.score&&(t=n)}),t}runAndExtendWithFaceDetection(){return new Promise(async e=>{const t=await this.run();return e(t?mn({},t):void 0)})}withFaceLandmarks(e=!1){return new aa(this.runAndExtendWithFaceDetection(),this.input,e)}withFaceExpressions(){return new qs(this.runAndExtendWithFaceDetection(),this.input)}withAgeAndGender(){return new Gs(this.runAndExtendWithFaceDetection(),this.input)}}function td(e,t=new bt()){return new oa(e,t)}function po(e,t=new bt()){return new lo(e,t)}async function Ic(e,t){return console.warn("allFacesSsdMobilenetv1 is deprecated and will be removed soon, use the high level api instead"),await po(e,new bt(t?{minConfidence:t}:{})).withFaceLandmarks().withFaceDescriptors()}async function nd(e,t={}){return console.warn("allFacesTinyYolov2 is deprecated and will be removed soon, use the high level api instead"),await po(e,new Wt(t)).withFaceLandmarks().withFaceDescriptors()}const rd=Ic;function da(e,t){if(e.length!==t.length)throw new Error("euclideanDistance: arr1.length !== arr2.length");const n=Array.from(e),r=Array.from(t);return Math.sqrt(n.map((o,i)=>o-r[i]).reduce((o,i)=>o+Math.pow(i,2),0))}class Tc{constructor(e,t=.6){this._distanceThreshold=t;const n=Array.isArray(e)?e:[e];if(!n.length)throw new Error("FaceRecognizer.constructor - expected atleast one input");let r=1;const o=()=>`person ${r++}`;this._labeledDescriptors=n.map(i=>{if(i instanceof xn)return i;if(i instanceof Float32Array)return new xn(o(),[i]);if(i.descriptor&&i.descriptor instanceof Float32Array)return new xn(o(),[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(e,t){return t.map(n=>da(n,e)).reduce((n,r)=>n+r,0)/(t.length||1)}matchDescriptor(e){return this.labeledDescriptors.map(({descriptors:t,label:n})=>new wo(n,this.computeMeanDistance(e,t))).reduce((t,n)=>t.distancee.toJSON())}}static fromJSON(e){const t=e.labeledDescriptors.map(n=>xn.fromJSON(n));return new Tc(t,e.distanceThreshold)}}function Du(e){const t=new yr();return t.extractWeights(e),t}function yc(e,t){const{width:n,height:r}=new Qe(t.width,t.height);if(n<=0||r<=0)throw new Error(`resizeResults - invalid dimensions: ${JSON.stringify({width:n,height:r})}`);if(Array.isArray(e))return e.map(o=>yc(o,{width:n,height:r}));if(dn(e)){const o=e.detection.forSize(n,r),i=e.unshiftedLandmarks.forSize(o.box.width,o.box.height);return Rn(mn(e,o),i)}return Nt(e)?mn(e,e.detection.forSize(n,r)):e instanceof st||e instanceof fe?e.forSize(n,r):e}return dd();})(); +Expected: ${i}.`)}}function jL(e,t){e().then(()=>t.fail(),()=>t())}function GL(e,t){const n=typeof t=="string"||typeof t=="number"||typeof t=="boolean"?[t]:t;return Rt(e)||Rt(e[0])||Rt(t)||Rt(t[0])?lh(e,n,(r,o)=>r==o):lh(e,t,(r,o)=>hh(r,o,0))}function PL(e,t,n){if(n==null&&(n=ph()),!hh(e,t,n))throw new Error(`Numbers differ: actual === ${e}, expected === ${t}`)}function hh(e,t,n){return!isFinite(e)&&!isFinite(t)?!0:!(isNaN(e)||isNaN(t)||Math.abs(e-t)>n)}function qL(e,t,n){for(let r=0;rn)throw new Error(`Value out of range:${e[r]} low: ${t}, high: ${n}`)}function HL(e,t){expect(new Float32Array(e)).toEqual(new Float32Array(t))}const Ma=mu(Cu());class As{constructor(e,t,n,r,o){this.mean=e,this.stdDev=t,this.dtype=n,this.nextVal=NaN,this.truncated=r,this.truncated&&(this.upper=this.mean+this.stdDev*2,this.lower=this.mean-this.stdDev*2);const i=o||Math.random();this.random=Ma.alea(i.toString())}nextValue(){if(!isNaN(this.nextVal)){const r=this.nextVal;return this.nextVal=NaN,r}let e,t,n=!1;for(;!n;){let r,o,i;do r=2*this.random()-1,o=2*this.random()-1,i=r*r+o*o;while(i>=1||i===0);const a=Math.sqrt(-2*Math.log(i)/i);e=this.mean+this.stdDev*r*a,t=this.mean+this.stdDev*o*a,(!this.truncated||this.isValidTruncated(e))&&(n=!0)}return(!this.truncated||this.isValidTruncated(t))&&(this.nextVal=this.convertValue(t)),this.convertValue(e)}convertValue(e){return this.dtype==null||this.dtype==="float32"?e:Math.round(e)}isValidTruncated(e){return e<=this.upper&&e>=this.lower}}class zd{constructor(e,t,n,r){this.alpha=e,this.beta=1/t,this.dtype=n;const o=r||Math.random();this.randu=Ma.alea(o.toString()),this.randn=new As(0,1,n,!1,this.randu()),e<1?this.d=e+2/3:this.d=e-1/3,this.c=1/Math.sqrt(9*this.d)}nextValue(){let e,t,n,r,o,i;for(;;){do r=this.randn.nextValue(),i=1+this.c*r;while(i<=0);if(i*=i*i,e=r*r,t=1-.331*e*e,n=.5*e+this.d*(1-i+Math.log(i)),o=this.randu(),othis.dtype==null||this.dtype==="float32",this.min=e,this.range=t-e,this.dtype=n,r==null&&(r=Math.random()),typeof r=="number"&&(r=r.toString()),!this.canReturnFloat()&&this.range<=1)throw new Error(`The difference between ${e} - ${t} <= 1 and dtype is not float`);this.random=Ma.alea(r)}convertValue(e){return this.canReturnFloat()?e:Math.round(e)}nextValue(){return this.convertValue(this.min+this.range*this.random())}}function zL(e,t,n=1,r="float32",o){if(n==null&&(n=1),r==null&&(r="float32"),r!=="float32"&&r!=="int32")throw new Error(`Unsupported data type ${r}`);const i=new zd(t,n,r,o),a=Be(e,r);for(let s=0;s{const a=e===t,s=e1;if(a||s||c)return Ce([0],r);const p=Math.abs(Math.ceil((t-e)/n)),l=Pt(p,r);t{const i=r.reciprocal(t);return o([t]),i},n,null,Ii)}const mh=m({reciprocal_:KL});function JL(e){const t=u(e,"x","relu"),n=(o,i)=>(i([t]),t.dtype==="bool"?C(t,"int32"):o.relu(t)),r={x:t};return g.runKernelFunc(n,r,null,Ti)}const ie=m({relu_:JL});function XL(e){const t=u(e,"x","relu6"),n=(o,i)=>(i([t]),t.dtype==="bool"?C(t,"int32"):o.relu6(t)),r={x:t};return g.runKernelFunc(n,r,null,_i)}const Rs=m({relu6_:XL});function ZL(e){const t=u(e,"x","reverse");return f(t.rank===1,()=>`Error in reverse1D: x must be rank 1 but got rank ${t.rank}.`),Ve(t,0)}const fh=m({reverse1d_:ZL});function QL(e,t){const n=u(e,"x","reverse");return f(n.rank===2,()=>`Error in reverse2D: x must be rank 2 but got rank ${n.rank}.`),Ve(n,t)}const gh=m({reverse2d_:QL});function ev(e,t){const n=u(e,"x","reverse");return f(n.rank===3,()=>`Error in reverse3D: x must be rank 3 but got rank ${n.rank}.`),Ve(n,t)}const bh=m({reverse3d_:ev});function tv(e,t){const n=u(e,"x","reverse");return f(n.rank===4,()=>`Error in reverse4D: x must be rank 4 but got rank ${n.rank}.`),Ve(n,t)}const wh=m({reverse4d_:tv});function xh(e,t,n=0){let r=[];if(typeof t=="number")f(e.shape[n]%t===0,()=>"Number of splits must evenly divide the axis."),r=new Array(t).fill(e.shape[n]/t);else{const o=t.reduce((a,s)=>(s===-1&&(a+=1),a),0);f(o<=1,()=>"There should be only one negative value in split array.");const i=t.indexOf(-1);if(i!==-1){const a=t.reduce((s,c)=>c>0?s+c:s);t[i]=e.shape[n]-a}f(e.shape[n]===t.reduce((a,s)=>a+s),()=>"The sum of sizes must match the size of the axis dimension."),r=t}return r}function nv(e,t,n=0){const r=u(e,"x","split"),o=(s,c)=>{const p=z(n,r.shape)[0],l=xh(r,t,p);return s.split(r,l,p)},i={x:r},a={numOrSizeSplits:t,axis:n};return g.runKernelFunc(o,i,null,qi,a)}const Yt=m({split_:nv});function rv(e,t){f(e.dtype==="float32",()=>`The dtype for rfft() must be real value but got ${e.dtype}`);let n=e.shape[e.shape.length-1];const r=e.size/n;let o;if(t!=null&&t0),w=e.shape.map(L=>L);w[e.shape.length-1]=t,o=G(e,x,w),n=t}else if(t!=null&&t>n){const x=e.shape.map(w=>w);x[e.shape.length-1]=t-n,o=Z([e,Ce(x)],e.shape.length-1),n=t}else o=e;const i=W(o),a=y(Ye(o,i),[r,n]),s=Gn(a),c=Math.floor(n/2)+1,p=zt(s),l=nn(s),h=Yt(p,[c,n-c],p.shape.length-1),d=Yt(l,[c,n-c],l.shape.length-1),b=o.shape.slice();return b[o.shape.length-1]=c,y(Ye(h[0],d[0]),b)}const Jn=m({rfft_:rv});function ov(e){const t=u(e,"x","round"),n={x:t};return g.runKernelFunc(r=>r.round(t),n,null,Ei)}const yh=m({round_:ov});function iv(e){const t=u(e,"x","rsqrt"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.rsqrt(t);return o([t]),i},n,null,Oi)}const _s=m({rsqrt_:iv});function sv(e){const t=u(e,"x","selu"),n=(o,i)=>{const a=o.selu(t);return i([t]),a},r={x:t};return g.runKernelFunc(n,r,null,Di)}const Lh=m({selu_:sv});function av(e,t,n,r,o,i=[1,1],a="NHWC"){const s=u(e,"x","separableConv2d"),c=u(t,"depthwiseFilter","separableConv2d"),p=u(n,"pointwiseFilter","separableConv2d");let l=s,h=!1;if(s.rank===3&&(h=!0,l=y(s,[1,s.shape[0],s.shape[1],s.shape[2]])),a==="NCHW")throw new Error("separableConv2d currently does not support dataFormat NCHW; only NHWC is supported");f(l.rank===4,()=>`Error in separableConv2d: input must be rank 4, but got rank ${l.rank}.`),f(c.rank===4,()=>`Error in separableConv2d: depthwise filter must be rank 4, but got rank ${c.rank}.`),f(p.rank===4,()=>`Error in separableConv2d: pointwise filter must be rank 4, but got rank ${c.rank}.`),f(p.shape[0]===1,()=>`Error in separableConv2d: the first dimension of pointwise filter must be 1, but got ${p.shape[0]}.`),f(p.shape[1]===1,()=>`Error in separableConv2d: the second dimension of pointwise filter must be 1, but got ${p.shape[1]}.`);const d=c.shape[2],b=c.shape[3];f(p.shape[2]===d*b,()=>`Error in separableConv2d: the third dimension of pointwise filter must be ${d*b}, but got ${p.shape[2]}.`);const x=en(l,c,r,o,a,i),w=1,L=xe(x,p,w,"valid",a);return h?y(L,[L.shape[1],L.shape[2],L.shape[3]]):L}const Xn=m({separableConv2d_:av});async function cv(e,t){const n=u(e,"x","setdiff1d"),r=u(t,"y","setdiff1d");f(n.dtype===r.dtype,()=>`x and y should have the same dtype, but got x (${n.dtype}) and y (${r.dtype}).`),f(n.rank===1,()=>`x should be 1D tensor, but got x (${n.shape}).`),f(r.rank===1,()=>`y should be 1D tensor, but got y (${r.shape}).`);const o=await n.data(),i=await r.data(),a=new Set(i);let s=0;for(let l=0;lr.sign(t),n,null,Wi)}const Sh=m({sign_:pv});function lv(e){const t=u(e,"x","sin"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.sin(t);return o([t]),i},n,null,Mi)}const Cs=m({sin_:lv});function hv(e){const t=u(e,"x","sinh"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.sinh(t);return o([t]),i},n,null,Ui)}const Es=m({sinh_:hv});function uv(e,t,n){const r=u(e,"x","slice1d");return f(r.rank===1,()=>`slice1d expects a rank-1 tensor, but got a rank-${r.rank} tensor`),G(r,[t],[n])}const Ih=m({slice1d_:uv});function dv(e,t,n){const r=u(e,"x","slice2d");return f(r.rank===2,()=>`slice2d expects a rank-2 tensor, but got a rank-${r.rank} tensor`),G(r,t,n)}const Th=m({slice2d_:dv});function mv(e,t,n){const r=u(e,"x","slice3d");return f(r.rank===3,()=>`slice3d expects a rank-3 tensor, but got a rank-${r.rank} tensor`),G(r,t,n)}const Os=m({slice3d_:mv});function fv(e,t,n){const r=u(e,"x","slice4d");return f(r.rank===4,()=>`slice4d expects a rank-4 tensor, but got a rank-${r.rank} tensor`),G(r,t,n)}const Ah=m({slice4d_:fv});function gv(e,t=-1){const n=u(e,"logits","softmax","float32");if(t===-1&&(t=n.rank-1),t!==n.rank-1)throw Error(`Softmax along a non-last dimension is not yet supported. Logits was rank ${n.rank} and dim was ${t}`);const r={logits:n},o={dim:t};return g.runKernelFunc((i,a)=>{const s=i.softmax(n,t);return a([s]),s},r,null,Hi,o)}const rn=m({softmax_:gv});function bv(e){const t=u(e,"x","sqrt"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.sqrt(t);return o([t]),i},n,null,ji)}const me=m({sqrt_:bv});function wv(e,t){let n=u(e,"a","squaredDifference"),r=u(t,"b","squaredDifference");[n,r]=V(n,r),q(n.shape,r.shape);const o=(s,c)=>{const p=s.squaredDifference(n,r);return c([n,r]),p},i={a:n,b:r},a={};return g.runKernelFunc(o,i,null,zi,a)}const Zn=m({squaredDifference_:wv});function xv(e,t){const n=u(e,"x","squeeze");return y(n,_p(n.shape,t).newShape)}const Qn=m({squeeze_:xv});function yv(e,t=0){const n=Zt(e,"tensors","stack");if(f(n.length>=1,()=>"Pass at least one tensor to tf.stack"),n.length===1)return et(n[0],t);const r=n[0].rank,o=n[0].shape,i=n[0].dtype;f(t<=r,()=>"Axis must be <= rank of the tensor"),n.forEach(s=>{P(o,s.shape,"All tensors passed to stack must have matching shapes"),f(i===s.dtype,()=>"All tensors passed to stack must have matching dtypes")});const a=n.map(s=>et(s,t));return Z(a,t)}const ke=m({stack_:yv});function Lv(e,t=0){const n=u(e,"x","step"),r={x:n},o={alpha:t};return g.runKernelFunc(i=>i.step(n,t),r,null,ts,o)}const Dt=m({step_:Lv});function vv(e,t,n,r,o=0,i=0,a=0,s=0,c=0){r==null&&(r=new Array(t.length));let p=u(e,"x","stridedSlice");const l=b=>{const x=us(a);if(x.length>1)throw new Error("Multiple ellipses in slice is not allowed.");if(a!==0&&s!==0)throw new Error("Using both ellipsisMask and newAxisMask is not yet supported.");if(a!==0&&c!==0)throw new Error("Using both ellipsisMask and shrinkAxisMask is not yet supported.");const w=p.rank-t.length,L=us(s),S=p.shape.slice();if(L.forEach(D=>{t[D]=0,n[D]=1,S.splice(D,0,1)}),p=y(p,S),x.length&&w>0){const D=x[0],$=w+1;t=dl(o,D,$,t,p.shape),n=ml(i,D,$,n,p.shape),r=ul(r,D,$,p.shape)}else for(let D=0;D{n[D]=t[D]+1,r[D]=1});const N=hl(t,n,r),A=N.filter((D,$)=>I.indexOf($)===-1),E=r.every(D=>D===1);if(E)return y(G(p,t,N),A);const M=b.stridedSlice(p,t,n,r);return y(M,A)},h={x:p},d={begin:t,end:n,strides:r,beginMask:o,endMask:i,ellipsisMask:a,newAxisMask:s,shrinkAxisMask:c};return g.runKernelFunc(l,h,null,Sp,d)}const Nh=m({stridedSlice_:vv});function Sv(e){const t=u(e,"x","tan"),n={x:t};return g.runKernelFunc((r,o)=>{const i=r.tan(t);return o([t]),i},n,null,Vi)}const Rh=m({tan_:Sv});function mt(e,t,n){if(at(e),t!=null&&t.length!==2)throw new Error("tensor2d() requires shape to have two numbers");const r=We(e,n);if(r.length!==2&&r.length!==1)throw new Error("tensor2d() requires values to be number[][] or flat/TypedArray");if(r.length===1&&t==null)throw new Error("tensor2d() requires shape to be provided when `values` are a flat/TypedArray");return He(e,t,r,n)}function er(e,t,n){if(at(e),t!=null&&t.length!==3)throw new Error("tensor3d() requires shape to have three numbers");const r=We(e,n);if(r.length!==3&&r.length!==1)throw new Error("tensor3d() requires values to be number[][][] or flat/TypedArray");if(r.length===1&&t==null)throw new Error("tensor3d() requires shape to be provided when `values` are a flat array");return He(e,t,r,n)}function ft(e,t,n){if(at(e),t!=null&&t.length!==4)throw new Error("tensor4d() requires shape to have four numbers");const r=We(e,n);if(r.length!==4&&r.length!==1)throw new Error("tensor4d() requires values to be number[][][][] or flat/TypedArray");if(r.length===1&&t==null)throw new Error("tensor4d() requires shape to be provided when `values` are a flat array");return He(e,t,r,n)}function _h(e,t,n){if(at(e),t!=null&&t.length!==5)throw new Error("tensor5d() requires shape to have five numbers");const r=We(e,n);if(r.length!==5&&r.length!==1)throw new Error("tensor5d() requires values to be number[][][][][] or flat/TypedArray");if(r.length===1&&t==null)throw new Error("tensor5d() requires shape to be provided when `values` are a flat array");return He(e,t,r,n)}function Ch(e,t,n){if(at(e),t!=null&&t.length!==6)throw new Error("tensor6d() requires shape to have six numbers");const r=We(e,n);if(r.length!==6&&r.length!==1)throw new Error("tensor6d() requires values to be number[][][][][][] or flat/TypedArray");if(r.length===1&&t==null)throw new Error("tensor6d() requires shape to be provided when `values` are a flat array");return t=t||r,He(e,t,r,n)}function Iv(e,t=1,n=!0){const r=u(e,"x","topk");if(r.rank===0)throw new Error("topk() expects the input to be of rank 1 or higher");const o=r.shape[r.shape.length-1];if(t>o)throw new Error(`'k' passed to topk() must be <= the last dimension (${o}) but got ${t}`);const i={x:r},a={k:t,sorted:n},[s,c]=g.runKernelFunc(p=>p.topk(r,t,n),i,null,Ip,a);return{values:s,indices:c}}const Eh=m({topk_:Iv});function Tv(e,t=0,n=1,r,o){if(r!=null&&r==="bool")throw new Error("Unsupported data type $ { dtype }");const i=new As(t,n,r,!0,o),a=Be(e,r);for(let s=0;s"numSegments must be of dtype int");const i={x:r,segmentIds:o},a={numSegments:n},s=(c,p)=>{const l=c.unsortedSegmentSum(r,o,n);return p([o]),l};return g.runKernelFunc(s,i,null,Qi,a)}const ks=m({unsortedSegmentSum_:Av});function Nv(e,t=0){const n=u(e,"x","unstack");f(t>=-n.shape.length&&t`Axis = ${t} is not in [-${n.shape.length}, ${n.shape.length})`),t<0&&(t+=n.shape.length);const r={value:n},o={axis:t},i=a=>a.unstack(n,t);return g.runKernelFunc(i,r,null,Zi,o)}const Ie=m({unstack_:Nv});function kh(e,t=!0,n,r){return g.makeVariable(e,t,n,r)}function Ua(e,t){const n=[];for(let i=0;i0,()=>"mask cannot be scalar"),P(s.slice(i,i+a),o.shape,"mask's shape must match the first K dimensions of tensor's shape,");let c=1;for(let w=i;w"Shape mismatch in v and x");const c=_(1),p=O(c,s);let l=v(O(a,i),p);if(o){f(r!=null,()=>"When using zeroDebias: true, step is required.");const h=u(r,"step","movingAverage");l=F(l,O(c,Je(s,h)))}return R(i,l)}const hm=m({movingAverage_:zv});const um={};Re(um,{calculateShapes:()=>dm,validateInput:()=>Wa,validateUpdateShape:()=>Dh});function Dh(e,t,n){const r=t.rank>1?t.shape[t.rank-1]:1,o=t.rank>1?t.rank-1:1,i=`Must have updates.shape = indices.shape[:batchDim] + shape[sliceDim:], got updates.shape: ${n.shape}, indices.shape: ${t.shape}, shape: ${e}, sliceDim: ${r}, and batchDim: ${o}.`;if(n.rank1?t.shape[r-1]:1,i=n.length;let a=1;for(let h=o;hc.scatterND(r,o,n),a={indices:r,updates:o},s={shape:n};return g.runKernelFunc(i,a,null,yp,s)}const mm=m({scatterND_:Yv});function fm(e,t,n,r){if(e.dtype!=="int32")throw new Error(`tf.sparseToDense() expects the indices to be int32 type, but the dtype was ${e.dtype}.`);if(e.rank>2)throw new Error(`sparseIndices should be a scalar, vector, or matrix, but got shape ${e.shape}.`);const o=e.rank>0?e.shape[0]:1,i=e.rank>1?e.shape[1]:1;if(n.length!==i)throw new Error(`outputShape has incorrect number of elements:, ${n.length}, should be: ${i}.`);const a=t.size;if(!(t.rank===0||t.rank===1&&a===o))throw new Error(`sparseValues has incorrect shape ${t.shape}, should be [] or [${o}]`);if(t.dtype!==r.dtype)throw new Error("sparseValues.dtype must match defaultValues.dtype")}function Vv(e,t,n,r=0){const o=u(e,"sparseIndices","sparseToDense","int32"),i=u(t,"sparseValues","sparseToDense"),a=u(r,"defaultValue","sparseToDense",i.dtype);fm(o,i,n,a);const s={sparseIndices:o,sparseValues:i,defaultValue:a},c={outputShape:n};return g.runKernelFunc(p=>p.sparseToDense(o,i,n,a),s,null,vp,c)}const gm=m({sparseToDense_:Vv});function Kv(e,t){const n=u(t,"indices","gatherND","int32"),r=u(e,"x","gatherND"),o=a=>a.gatherND(r,n),i={params:r,indices:n};return g.runKernelFunc(o,i,null,Xc)}const bm=m({gatherND_:Kv});function wm(e,t){if(t==null)return e.shape.slice();if(Te(e.shape,t))return t;if(e.shape.length===t.length){const n=[];for(let r=0;r`x has to be a floating point tensor since it's going to be scaled, but got a ${o.dtype} tensor instead.`),f(t>=0&&t<1,()=>`rate must be a float in the range [0, 1), but got ${t}.`),t===0)return e instanceof ee?o.clone():o;const i=wm(o,n),a=1-t,s=F(Pn(R(Ns(i,0,1,"float32",r),a)),a);return v(o,s)}const xm=m({dropout_:Jv});function Ba(e){return Math.floor(Math.pow(2,Math.ceil(Math.log(e)/Math.log(2))))}function qr(e,t,n){const r=1-e%2,o=new Float32Array(e);for(let i=0;i1,()=>`inTopK() expects the predictions to be of rank 2 or higher, but got ${r.rank}`),f(r.rank-1===o.rank,()=>`predictions rank should be 1 larger than targets rank, but got predictions rank ${r.rank} and targets rank ${o.rank}`),P(r.shape.slice(0,r.shape.length-1),o.shape,"predictions's shape should be align with the targets' shape, except the last dimension.");const i=r.shape[r.shape.length-1];f(n>0&&n<=i,()=>`'k' passed to inTopK() must be > 0 && <= the predictions last dimension (${i}), but got ${n}`);const a=await r.data(),s=await o.data(),[c,p]=[a.length/i,i],l=Er("bool",c);for(let h=0;hL.value-w.value),l[h]=0;for(let w=0;w`Error in conv2dDerFilter: input must be rank 4, but got shape ${s.shape}.`),f(c.rank===4,()=>`Error in conv2dDerFilter: dy must be rank 4, but got shape ${c.shape}.`),f(n.length===4,()=>`Error in conv2dDerFilter: filterShape must be length 4, but got ${n}.`);const p=i==="NHWC"?s.shape[3]:s.shape[1],l=i==="NHWC"?c.shape[3]:c.shape[1];f(p===n[2],()=>`Error in conv2dDerFilter: depth of input ${p}) must match input depth in filter (${n[2]}.`),f(l===n[3],()=>`Error in conv2dDerFilter: depth of dy (${l}) must match output depth for filter (${n[3]}).`),a!=null&&f(X(o),()=>`Error in conv2dDerFilter: pad must be an integer when using, dimRoundingMode ${a} but got pad ${o}.`);const h=x=>{const w=1,L=yn(i),S=je(s.shape,n,r,w,o,a,!1,L);return x.conv2dDerFilter(s,c,S)},d={x:s,dy:c},b={strides:r,pad:o,dataFormat:i,dimRoundingMode:a};return g.runKernelFunc(h,d,null,Mc,b)}const Hr=m({conv2DBackpropFilter_:Zv});function tr(e,t,n){if(n==null||n==="linear")return e;if(n==="relu")return v(e,Dt(t));throw new Error(`Cannot compute gradient for fused activation ${n}.`)}function nr(e,t){let n=t;const r=ae(e.shape,t.shape);return r.length>0&&(n=U(n,r)),y(n,e.shape)}function rr(e,t,n){if(t==="linear")return e;if(t==="relu")return ie(e);if(t==="elu")return bs(e);if(t==="relu6")return Rs(e);if(t==="prelu")return Ts(e,n);throw new Error(`Unknown fused activation ${t}.`)}const or=(e,t)=>{const n=e>0;return!n||t==="linear"};function Qv({x:e,filter:t,strides:n,pad:r,dataFormat:o="NHWC",dilations:i=[1,1],dimRoundingMode:a,bias:s,activation:c="linear",preluActivationWeights:p}){if(c=c||"linear",or(g.state.gradientDepth,c)===!1){let E=xe(e,t,n,r,o,i,a);return s!=null&&(E=R(E,s)),rr(E,c,p)}const l=u(e,"x","conv2d"),h=u(t,"filter","conv2d");let d=l,b=!1;l.rank===3&&(b=!0,d=y(l,[1,l.shape[0],l.shape[1],l.shape[2]])),f(d.rank===4,()=>`Error in fused conv2d: input must be rank 4, but got rank ${d.rank}.`),f(h.rank===4,()=>`Error in fused conv2d: filter must be rank 4, but got rank ${h.rank}.`),a!=null&&f(X(r),()=>`Error in fused conv2d: pad must be an integer when using, dimRoundingMode ${a} but got pad ${r}.`),f(d.shape[3]===h.shape[2],()=>`Error in conv2d: depth of input (${d.shape[3]}) must match input depth for filter ${h.shape[2]}.`),f(le(n,i),()=>`Error in conv2D: Either strides or dilations must be 1. Got strides ${n} and dilations '${i}'`),f(o==="NHWC",()=>`Error in conv2d: got dataFormat of ${o} but only NHWC is currently supported.`);const x=je(d.shape,h.shape,n,i,r,a);let w;s!=null&&(w=u(s,"bias","fused conv2d"),[w]=V(w,l),q(x.outShape,w.shape));let L;p!=null&&(L=u(p,"prelu weights","fused conv2d"));const S=(E,M)=>{const[D,$,B,j]=M,te=tr(E,B,c);f(ct(i),()=>`Error in gradient of fused conv2D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${i}'`);const re=$r($.shape,te,D,n,r),he=Hr($,te,D.shape,n,r),ye=[re,he];if(j!=null){const Me=nr(j,te);ye.push(Me)}return ye},I=E=>{const M=E.fusedConv2d({input:d,filter:h,convInfo:x,bias:w,activation:c,preluActivationWeights:L});return M},N={x:d,filter:h,bias:w,preluActivationWeights:L},A={strides:n,pad:r,dataFormat:o,dilations:i,dimRoundingMode:a,activation:c};if(s==null){const E=Ke((M,D,$)=>{let B=g.runKernelFunc(I,N,null,Sa,A);return $([D,M,B]),b&&(B=y(B,[B.shape[1],B.shape[2],B.shape[3]])),{value:B,gradFunc:S}});return E(d,h)}else{const E=Ke((M,D,$,B)=>{let j=g.runKernelFunc(I,N,null,Sa,A);return B([D,M,j,$]),b&&(j=y(j,[j.shape[1],j.shape[2],j.shape[3]])),{value:j,gradFunc:S}});return E(d,h,w)}}const eS=m({fusedConv2d_:Qv});function tS(e,t,n,r){let o=e;e.rank===3&&(o=y(e,[1,e.shape[0],e.shape[1],e.shape[2]]));let i=t;i.rank===3&&(i=y(t,[1,t.shape[0],t.shape[1],t.shape[2]]));const a=c=>c.depthwiseConv2DDerFilter(o,i,r),s={x:o,dy:i};return g.runKernelFunc(a,s,null,jc)}const $a=m({depthwiseConv2dNativeBackpropFilter_:tS});function nS(e,t,n,r){let o=t,i=!1;t.rank===3&&(i=!0,o=y(t,[1,t.shape[0],t.shape[1],t.shape[2]]));const a=p=>p.depthwiseConv2DDerInput(o,n,r),s={dy:o},c=g.runKernelFunc(a,s,null,Gc);return i?y(c,[c.shape[1],c.shape[2],c.shape[3]]):c}const ja=m({depthwiseConv2dNativeBackpropInput_:nS});function rS({x:e,filter:t,strides:n,pad:r,dataFormat:o="NHWC",dilations:i=[1,1],dimRoundingMode:a,bias:s,activation:c="linear",preluActivationWeights:p}){if(or(g.state.gradientDepth,c)===!1){let E=en(e,t,n,r,o,i,a);return s!=null&&(E=R(E,s)),rr(E,c,p)}const l=u(e,"x","depthwiseConv2d"),h=u(t,"filter","depthwiseConv2d");let d=l,b=!1;l.rank===3&&(b=!0,d=y(l,[1,l.shape[0],l.shape[1],l.shape[2]])),f(d.rank===4,()=>`Error in fused depthwiseConv2d: input must be rank 4, but got rank ${d.rank}.`),f(h.rank===4,()=>`Error in fused depthwiseConv2d: filter must be rank 4, but got rank ${h.rank}.`),f(d.shape[3]===h.shape[2],()=>`Error in fused depthwiseConv2d: number of input channels (${d.shape[3]}) must match the inChannels dimension in filter ${h.shape[2]}.`),i==null&&(i=[1,1]),f(le(n,i),()=>`Error in fused depthwiseConv2d: Either strides or dilations must be 1. Got strides ${n} and dilations '${i}'`),a!=null&&f(X(r),()=>`Error in fused depthwiseConv2d: pad must be an integer when using dimRoundingMode ${a} but got pad ${r}.`);const x=je(d.shape,h.shape,n,i,r,a,!0);let w;s!=null&&(w=u(s,"bias","fused conv2d"),[w]=V(w,l),q(x.outShape,w.shape));let L;p!=null&&(L=u(p,"prelu weights","fused depthwiseConv2d"));const S=(E,M)=>{f(ct(i),()=>`Error in gradient of fused depthwiseConv2d: dilation rates greater than 1 are not yet supported. Got dilations '${i}'`);const[D,$,B,j]=M,te=tr(E,B,c),re=ja($.shape,te,D,x),he=$a($,te,D.shape,x);if(j!=null){const ye=nr(w,te);return[re,he,ye]}return[re,he]},I=E=>{const M=E.fusedDepthwiseConv2D({input:d,filter:h,convInfo:x,bias:w,activation:c,preluActivationWeights:L});return M},N={x:d,filter:h,bias:w,preluActivationWeights:L},A={strides:n,pad:r,dataFormat:o,dilations:i,dimRoundingMode:a,activation:c};if(s==null){const E=Ke((M,D,$)=>{let B=g.runKernelFunc(I,N,null,Ia,A);return $([D,M,B]),b&&(B=y(B,[B.shape[1],B.shape[2],B.shape[3]])),{value:B,gradFunc:S}});return E(d,h)}else{const E=Ke((M,D,$,B)=>{let j=g.runKernelFunc(I,N,null,Ia,A);return B([D,M,j,$]),b&&(j=y(j,[j.shape[1],j.shape[2],j.shape[3]])),{value:j,gradFunc:S}});return E(d,h,w)}}const oS=m({fusedDepthwiseConv2d_:rS});function iS({a:e,b:t,transposeA:n=!1,transposeB:r=!1,bias:o,activation:i="linear",preluActivationWeights:a}){if(or(g.state.gradientDepth,i)===!1){let j=Y(e,t,n,r);return o!=null&&(j=R(j,o)),rr(j,i,a)}let s=u(e,"a","fused matMul"),c=u(t,"b","fused matMul");[s,c]=V(s,c);const p=n?s.shape[s.rank-2]:s.shape[s.rank-1],l=r?c.shape[c.rank-1]:c.shape[c.rank-2],h=n?s.shape[s.rank-1]:s.shape[s.rank-2],d=r?c.shape[c.rank-2]:c.shape[c.rank-1],b=s.shape.slice(0,-2),x=c.shape.slice(0,-2),w=Q(b),L=Q(x);f(s.rank>=2&&c.rank>=2&&s.rank===c.rank,()=>`Error in fused matMul: inputs must have the same rank of at least 2, got ranks ${s.rank} and ${c.rank}.`),f(Te(b,x),()=>`Error in fused matMul: outer dimensions (${b}) and (${x}) of Tensors with shapes ${s.shape} and ${c.shape} must match.`),f(p===l,()=>`Error in fused matMul: inner shapes (${p}) and (${l}) of Tensors with shapes ${s.shape} and ${c.shape} and transposeA=${n} and transposeB=${r} must match.`);const S=s.shape.slice(0,-2).concat([h,d]),I=n?y(s,[w,p,h]):y(s,[w,h,p]),N=r?y(c,[L,d,l]):y(c,[L,l,d]);let A;o!=null&&(A=u(o,"bias","fused matMul"),[A]=V(A,s),q(S,A.shape));let E;a!=null&&(E=u(a,"prelu weights","fused matMul"));const M=(j,te)=>{const[re,he,ye,Me]=te,Tt=tr(y(j,ye.shape),ye,i);let ln,wr;if(!n&&!r?(ln=Y(Tt,he,!1,!0),wr=Y(re,Tt,!0,!1)):!n&&r?(ln=Y(Tt,he,!1,!1),wr=Y(Tt,re,!0,!1)):n&&!r?(ln=Y(he,Tt,!1,!0),wr=Y(re,Tt,!1,!1)):(ln=Y(he,Tt,!0,!0),wr=Y(Tt,re,!0,!0)),o!=null){const zb=nr(Me,Tt);return[ln,wr,zb]}else return[ln,wr]},D=j=>{const te=j.fusedBatchMatMul({a:I,b:N,transposeA:n,transposeB:r,bias:A,activation:i,preluActivationWeights:E});return te},$={a:I,b:N,bias:A,preluActivationWeights:E},B={transposeA:n,transposeB:r,activation:i};if(o==null){const j=Ke((te,re,he)=>{const ye=g.runKernelFunc(D,$,null,va,B);return he([te,re,ye]),{value:y(ye,S),gradFunc:M}});return j(I,N)}else{const j=Ke((te,re,he,ye)=>{const Me=g.runKernelFunc(D,$,null,va,B);return ye([te,re,Me,he]),{value:y(Me,S),gradFunc:M}});return j(I,N,A)}}const sS=m({fusedMatMul_:iS});const Fh={};Re(Fh,{conv2d:()=>eS,depthwiseConv2d:()=>oS,matMul:()=>sS});function aS(e){return qr(e,.54,.46)}const Lm=m({hammingWindow_:aS});function cS(e){return qr(e,.5,.5)}const Ga=m({hannWindow_:cS});function pS(e,t,n,r=!1,o=0){let i=0;const a=[];for(;i+t<=e.size;)a.push(G(e,i,t)),i+=n;if(r)for(;i`Error in cropAndResize: image must be rank 4,but got rank ${a.rank}.`),f(s.rank===2&&s.shape[1]===4,()=>`Error in cropAndResize: boxes must be have size [${p},4] but had shape ${s.shape}.`),f(c.rank===1&&c.shape[0]===p,()=>`Error in cropAndResize: boxInd must be have size [${p}] but had shape ${s.shape}.`),f(r.length===2,()=>`Error in cropAndResize: cropSize must be of length 2, but got length ${r.length}.`),f(r[0]>=1&&r[1]>=1,()=>`cropSize must be atleast [1,1], but was ${r}`),f(o==="bilinear"||o==="nearest",()=>`method must be bilinear or nearest, but was ${o}`);const l=x=>x.cropAndResize(a,s,c,r,o,i),h={image:a,boxes:s,boxInd:c},d={method:o,extrapolationValue:i,cropSize:r},b=g.runKernelFunc(l,h,null,Bc,d);return b}const Sm=m({cropAndResize_:hS});function uS(e){const t=u(e,"image","flipLeftRight","float32");f(t.rank===4,()=>`Error in flipLeftRight: image must be rank 4,but got rank ${t.rank}.`);const n={image:t},r=g.runKernel(Jc,n,{});return r}const Im=m({flipLeftRight_:uS});function dS(e,t,n=0,r=.5){const o=u(e,"image","rotateWithOffset","float32");f(o.rank===4,()=>`Error in rotateWithOffset: image must be rank 4,but got rank ${o.rank}.`);const i={image:o},a={radians:t,fillValue:n,center:r},s=g.runKernel(Tp,i,a);return s}const Tm=m({rotateWithOffset_:dS});function St(e,t,n,r,o,i){r==null&&(r=.5),o==null&&(o=Number.NEGATIVE_INFINITY),i==null&&(i=0);const a=e.shape[0];return n=Math.min(n,a),f(0<=r&&r<=1,()=>`iouThreshold must be in [0, 1], but was '${r}'`),f(e.rank===2,()=>`boxes must be a 2D tensor, but was of rank '${e.rank}'`),f(e.shape[1]===4,()=>`boxes must have 4 columns, but 2nd dimension was ${e.shape[1]}`),f(t.rank===1,()=>"scores must be a 1D tensor"),f(t.shape[0]===a,()=>`scores has incompatible shape with boxes. Expected ${a}, but was ${t.shape[0]}`),f(0<=i&&i<=1,()=>`softNmsSigma must be in [0, 1], but was '${i}'`),{maxOutputSize:n,iouThreshold:r,scoreThreshold:o,softNmsSigma:i}}function mS(e,t,n,r=.5,o=Number.NEGATIVE_INFINITY){const i=u(e,"boxes","nonMaxSuppression"),a=u(t,"scores","nonMaxSuppression"),s=St(i,a,n,r,o);n=s.maxOutputSize,r=s.iouThreshold,o=s.scoreThreshold;const c={maxOutputSize:n,iouThreshold:r,scoreThreshold:o};return g.runKernelFunc(p=>p.nonMaxSuppression(i,a,n,r,o),{boxes:i,scores:a},null,up,c)}const Am=m({nonMaxSuppression_:mS});function Nm(e,t,n){const r=fS(e,t,n),o=r<0?-(r+1):r;e.splice(o,0,t)}function fS(e,t,n){return bS(e,t,n||gS)}function gS(e,t){return e>t?1:e>>1);const s=n(t,e[i]);s>0?r=i+1:(o=i,a=!s)}return a?r:-r-1}function qa(e,t,n,r,o){return Mh(e,t,n,r,o,0).selectedIndices}function Ha(e,t,n,r,o,i){return Mh(e,t,n,r,o,0,!1,i,!0)}function za(e,t,n,r,o,i){return Mh(e,t,n,r,o,i,!0)}function Mh(e,t,n,r,o,i,a=!1,s=!1,c=!1){const p=[];for(let L=0;Lo&&p.push({score:t[L],boxIndex:L,suppressBeginIndex:0});p.sort(Rm);const l=i>0?-.5/i:0,h=[],d=[];for(;h.length0;){const L=p.pop(),{score:S,boxIndex:I,suppressBeginIndex:N}=L;if(S=N;--E){const M=wS(e,I,h[E]);if(M>=r){A=!0;break}if(L.score=L.score*xS(r,l,M),L.score<=o)break}L.suppressBeginIndex=h.length,A||(L.score===S?(h.push(I),d.push(L.score)):L.score>o&&Nm(p,L,Rm))}const b=h.length,x=n-b;s&&x>0&&(h.push(...new Array(x).fill(0)),d.push(...new Array(x).fill(0)));const w={selectedIndices:ce(h,"int32")};return a&&(w.selectedScores=ce(d,"float32")),c&&(w.validOutputs=_(b,"int32")),w}function wS(e,t,n){const r=e.subarray(t*4,t*4+4),o=e.subarray(n*4,n*4+4),i=Math.min(r[0],r[2]),a=Math.min(r[1],r[3]),s=Math.max(r[0],r[2]),c=Math.max(r[1],r[3]),p=Math.min(o[0],o[2]),l=Math.min(o[1],o[3]),h=Math.max(o[0],o[2]),d=Math.max(o[1],o[3]),b=(s-i)*(c-a),x=(h-p)*(d-l);if(b<=0||x<=0)return 0;const w=Math.max(i,p),L=Math.max(a,l),S=Math.min(s,h),I=Math.min(c,d),N=Math.max(S-w,0)*Math.max(I-L,0);return N/(b+x-N)}function xS(e,t,n){const r=Math.exp(t*n*n);return n<=e?r:0}function Rm(e,t){return e.score-t.score||e.score===t.score&&t.boxIndex-e.boxIndex}async function yS(e,t,n,r=.5,o=Number.NEGATIVE_INFINITY){const i=u(e,"boxes","nonMaxSuppressionAsync"),a=u(t,"scores","nonMaxSuppressionAsync"),s=St(i,a,n,r,o);n=s.maxOutputSize,r=s.iouThreshold,o=s.scoreThreshold;const c=await Promise.all([i.data(),a.data()]),p=c[0],l=c[1],h=qa(p,l,n,r,o);return i!==e&&i.dispose(),a!==t&&a.dispose(),h}const _m=yS;function LS(e,t,n,r=.5,o=Number.NEGATIVE_INFINITY,i=0){const a=u(e,"boxes","nonMaxSuppression"),s=u(t,"scores","nonMaxSuppression"),c=St(a,s,n,r,o,i);n=c.maxOutputSize,r=c.iouThreshold,o=c.scoreThreshold,i=c.softNmsSigma;const p={boxes:a,scores:s},l={maxOutputSize:n,iouThreshold:r,scoreThreshold:o,softNmsSigma:i},h=g.runKernel(mp,p,l);return{selectedIndices:h[0],selectedScores:h[1]}}const Cm=m({nonMaxSuppressionWithScore_:LS});async function vS(e,t,n,r=.5,o=Number.NEGATIVE_INFINITY,i=0){const a=u(e,"boxes","nonMaxSuppressionAsync"),s=u(t,"scores","nonMaxSuppressionAsync"),c=St(a,s,n,r,o,i);n=c.maxOutputSize,r=c.iouThreshold,o=c.scoreThreshold,i=c.softNmsSigma;const p=await Promise.all([a.data(),s.data()]),l=p[0],h=p[1],d=za(l,h,n,r,o,i);return a!==e&&a.dispose(),s!==t&&s.dispose(),d}const Em=vS;function SS(e,t,n,r=.5,o=Number.NEGATIVE_INFINITY,i=!1){const a=u(e,"boxes","nonMaxSuppression"),s=u(t,"scores","nonMaxSuppression"),c=St(a,s,n,r,o,null),p=c.maxOutputSize,l=c.iouThreshold,h=c.scoreThreshold,d={boxes:a,scores:s},b={maxOutputSize:p,iouThreshold:l,scoreThreshold:h,padToMaxOutputSize:i},x=g.runKernel(dp,d,b);return{selectedIndices:x[0],validOutputs:x[1]}}const Om=m({nonMaxSuppressionPadded_:SS});async function IS(e,t,n,r=.5,o=Number.NEGATIVE_INFINITY,i=!1){const a=u(e,"boxes","nonMaxSuppressionAsync"),s=u(t,"scores","nonMaxSuppressionAsync"),c=St(a,s,n,r,o,null),p=c.maxOutputSize,l=c.iouThreshold,h=c.scoreThreshold,[d,b]=await Promise.all([a.data(),s.data()]),x=Ha(d,b,p,l,h,i);return a!==e&&a.dispose(),s!==t&&s.dispose(),x}const km=IS;function TS(e,t,n=!1){const r=u(e,"images","resizeBilinear");f(r.rank===3||r.rank===4,()=>`Error in resizeBilinear: x must be rank 3 or 4, but got rank ${r.rank}.`),f(t.length===2,()=>`Error in resizeBilinear: new shape must 2D, but got shape ${t}.`);let o=r,i=!1;r.rank===3&&(i=!0,o=y(r,[1,r.shape[0],r.shape[1],r.shape[2]]));const[a,s]=t,c=(d,b)=>(b([o]),d.resizeBilinear(o,a,s,n)),p={images:o},l={alignCorners:n,size:t},h=g.runKernelFunc(c,p,null,Ri,l);return i?y(h,[h.shape[1],h.shape[2],h.shape[3]]):h}const Dm=m({resizeBilinear_:TS});function AS(e,t,n=!1){const r=u(e,"images","resizeNearestNeighbor");f(r.rank===3||r.rank===4,()=>`Error in resizeNearestNeighbor: x must be rank 3 or 4, but got rank ${r.rank}.`),f(t.length===2,()=>`Error in resizeNearestNeighbor: new shape must 2D, but got shape ${t}.`),f(r.dtype==="float32"||r.dtype==="int32",()=>"`images` must have `int32` or `float32` as dtype");let o=r,i=!1;r.rank===3&&(i=!0,o=y(r,[1,r.shape[0],r.shape[1],r.shape[2]]));const[a,s]=t,c={images:o},p={alignCorners:n,size:t},l=(d,b)=>(b([o]),d.resizeNearestNeighbor(o,a,s,n)),h=g.runKernelFunc(l,c,null,Ni,p);return i?y(h,[h.shape[1],h.shape[2],h.shape[3]]):h}const Fm=m({resizeNearestNeighbor_:AS});function NS(e,t,n){f(t%1===0,()=>`bandPart(): numLower must be an integer, got ${t}.`),f(n%1===0,()=>`bandPart(): numUpper must be an integer, got ${n}.`);const r=u(e,"a","bandPart");f(r.rank>=2,()=>`bandPart(): Rank must be at least 2, got ${r.rank}.`);const o=r.shape,[i,a]=r.shape.slice(-2);if(!(t<=i))throw new Error(`bandPart(): numLower (${t}) must not be greater than the number of rows (${i}).`);if(!(n<=a))throw new Error(`bandPart(): numUpper (${n}) must not be greater than the number of columns (${a}).`);t<0&&(t=i),n<0&&(n=a);const s=y(Gr(0,i,1,"int32"),[-1,1]),c=Gr(0,a,1,"int32"),p=O(s,c),l=Lt(ut(p,_(+t,"int32")),ht(p,_(-n,"int32"))),h=Ce([i,a],r.dtype);return y(ke(Ie(y(r,[-1,i,a])).map(d=>Oe(l,d,h))),o)}const Mm=m({bandPart_:NS});function RS(e){let t;if(Array.isArray(e)){t=!1,f(e!=null&&e.length>0,()=>"Gram-Schmidt process: input must not be null, undefined, or empty");const o=e[0].shape[0];for(let i=1;i`Gram-Schmidt: Non-unique lengths found in the input vectors: (${e[i].shape[0]} vs. ${o})`)}else t=!0,e=Yt(e,e.shape[0],0).map(o=>Qn(o,[0]));f(e.length<=e[0].shape[0],()=>`Gram-Schmidt: Number of vectors (${e.length}) exceeds number of dimensions (${e[0].shape[0]}).`);const n=[],r=e;for(let o=0;o{let i=r[o];if(o>0)for(let a=0;a=2,()=>`qr() requires input tensor to have a rank >= 2, but got rank ${e.rank}`),e.rank===2)return Wm(e,t);{const n=e.shape.slice(0,e.shape.length-2).reduce((c,p)=>c*p),r=Ie(y(e,[n,e.shape[e.shape.length-2],e.shape[e.shape.length-1]]),0),o=[],i=[];r.forEach(c=>{const[p,l]=Wm(c,t);o.push(p),i.push(l)});const a=y(ke(o,0),e.shape),s=y(ke(i,0),e.shape);return[a,s]}}function Wm(e,t=!1){return g.tidy(()=>{f(e.shape.length===2,()=>`qr2d() requires a 2D Tensor, but got a ${e.shape.length}D Tensor.`);const n=e.shape[0],r=e.shape[1];let o=ws(n),i=Et(e);const a=mt([[1]],[1,1]);let s=Et(a);const c=n>=r?r:n;for(let p=0;p{const b=G(i,[p,p],[n-p,1]),x=Pr(b),w=G(i,[p,p],[1,1]),L=Oe(tt(w,0),mt([[-1]]),mt([[1]])),S=O(w,v(L,x)),I=F(b,S);I.shape[0]===1?s=Et(a):s=Z([a,G(I,[1,0],[I.shape[0]-1,I.shape[1]])],0);const N=ne(F(Y(L,S),x)),A=G(i,[p,0],[n-p,r]),E=v(N,s),M=K(s);if(p===0)i=O(A,Y(E,Y(M,A)));else{const B=O(A,Y(E,Y(M,A)));i=Z([G(i,[0,0],[p,r]),B],0)}const D=K(E),$=G(o,[0,p],[n,o.shape[1]-p]);if(p===0)o=O($,Y(Y($,s),D));else{const B=O($,Y(Y($,s),D));o=Z([G(o,[0,0],[n,p]),B],1)}return[s,i,o]}),ve([l,h,d])}return!t&&n>r&&(o=G(o,[0,0],[n,r]),i=G(i,[0,0],[r,r])),[o,i]})}const Bm=m({qr_:_S});var be;(function(e){e[e.NONE=0]="NONE",e[e.MEAN=1]="MEAN",e[e.SUM=2]="SUM",e[e.SUM_BY_NONZERO_WEIGHTS=3]="SUM_BY_NONZERO_WEIGHTS"})(be||(be={}));function CS(e,t,n=be.SUM_BY_NONZERO_WEIGHTS){const r=u(e,"losses","computeWeightedLoss");let o=null;t!=null&&(o=u(t,"weights","computeWeightedLoss"));const i=o==null?r:v(r,o);if(n===be.NONE)return i;if(n===be.SUM)return U(i);if(n===be.MEAN){if(o==null)return Sn(i);{const a=r.size/o.size,s=F(U(i),U(o));return a>1?F(s,_(a)):s}}if(n===be.SUM_BY_NONZERO_WEIGHTS){if(o==null)return F(U(i),_(r.size));{const a=v(o,vt(r.shape)),s=C(U(Vn(a,_(0))),"float32");return F(U(i),s)}}throw Error(`Unknown reduction: ${n}`)}const $e=m({computeWeightedLoss_:CS});function ES(e,t,n,r=be.SUM_BY_NONZERO_WEIGHTS){const o=u(e,"labels","absoluteDifference"),i=u(t,"predictions","absoluteDifference");let a=null;n!=null&&(a=u(n,"weights","absoluteDifference")),P(o.shape,i.shape,"Error in absoluteDifference: ");const s=Ee(O(o,i));return $e(s,a,r)}const $m=m({absoluteDifference_:ES});function OS(e,t,n,r,o=be.SUM_BY_NONZERO_WEIGHTS){const i=u(e,"labels","cosineDistance"),a=u(t,"predictions","cosineDistance");let s=null;r!=null&&(s=u(r,"weights","cosineDistance")),P(i.shape,a.shape,"Error in cosineDistance: ");const c=_(1),p=O(c,U(v(i,a),n,!0));return $e(p,s,o)}const jm=m({cosineDistance_:OS});function kS(e,t,n,r=be.SUM_BY_NONZERO_WEIGHTS){let o=u(e,"labels","hingeLoss");const i=u(t,"predictions","hingeLoss");let a=null;n!=null&&(a=u(n,"weights","hingeLoss")),P(o.shape,i.shape,"Error in hingeLoss: ");const s=_(1);o=O(v(_(2),o),s);const c=ie(O(s,v(o,i)));return $e(c,a,r)}const Gm=m({hingeLoss_:kS});function DS(e,t,n,r=1,o=be.SUM_BY_NONZERO_WEIGHTS){const i=u(e,"labels","huberLoss"),a=u(t,"predictions","huberLoss");let s=null;n!=null&&(s=u(n,"weights","huberLoss")),P(i.shape,a.shape,"Error in huberLoss: ");const c=_(r),p=Ee(O(a,i)),l=Yn(p,c),h=O(p,l),d=R(v(_(.5),H(l)),v(c,h));return $e(d,s,o)}const Pm=m({huberLoss_:DS});function FS(e,t,n,r=1e-7,o=be.SUM_BY_NONZERO_WEIGHTS){const i=u(e,"labels","logLoss"),a=u(t,"predictions","logLoss");let s=null;n!=null&&(s=u(n,"weights","logLoss")),P(i.shape,a.shape,"Error in logLoss: ");const c=_(1),p=_(r),l=ne(v(i,yt(R(a,p)))),h=v(O(c,i),yt(R(O(c,a),p))),d=O(l,h);return $e(d,s,o)}const qm=m({logLoss_:FS});function MS(e,t,n,r=be.SUM_BY_NONZERO_WEIGHTS){const o=u(e,"labels","meanSquaredError"),i=u(t,"predictions","meanSquaredError");let a=null;n!=null&&(a=u(n,"weights","meanSquaredError")),P(o.shape,i.shape,"Error in meanSquaredError: ");const s=Zn(o,i);return $e(s,a,r)}const Hm=m({meanSquaredError_:MS});function US(e,t){const n=u(e,"labels","sigmoidCrossEntropyWithLogits"),r=u(t,"logits","sigmoidCrossEntropyWithLogits");P(n.shape,r.shape,"Error in sigmoidCrossEntropyWithLogits: ");const o=ie(r),i=v(r,n),a=ys(Se(ne(Ee(r))));return R(O(o,i),a)}function WS(e,t,n,r=0,o=be.SUM_BY_NONZERO_WEIGHTS){let i=u(e,"multiClassLabels","sigmoidCrossEntropy");const a=u(t,"logits","sigmoidCrossEntropy");let s=null;if(n!=null&&(s=u(n,"weights","sigmoidCrossEntropy")),P(i.shape,a.shape,"Error in sigmoidCrossEntropy: "),r>0){const p=_(r),l=_(1),h=_(.5);i=R(v(i,O(l,p)),v(h,p))}const c=US(i,a);return $e(c,s,o)}const zm=m({sigmoidCrossEntropy_:WS});function BS(e,t,n=-1){if(n===-1&&(n=t.rank-1),n!==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 ${n}`);const r=Ke((o,i,a)=>{const s=!0,c=vs(i,[n],s),p=O(C(i,"float32"),c);a([o,p]);const l=ne(v(p,o)),h=U(l,[n]),d=(b,x)=>{const[w,L]=x,S=we(b.shape,[n]);return[v(y(b,S),O(C(w,"float32"),Se(L))),v(y(b,S),O(Se(L),C(w,"float32")))]};return{value:h,gradFunc:d}});return r(e,t)}function $S(e,t,n,r=0,o=be.SUM_BY_NONZERO_WEIGHTS){let i=u(e,"onehotLabels","softmaxCrossEntropy");const a=u(t,"logits","softmaxCrossEntropy");let s=null;if(n!=null&&(s=u(n,"weights","softmaxCrossEntropy")),P(i.shape,a.shape,"Error in softmaxCrossEntropy: "),r>0){const p=_(r),l=_(1),h=_(i.shape[1]);i=R(v(i,O(l,p)),F(p,h))}const c=BS(i,a);return $e(c,s,o)}const Ym=m({softmaxCrossEntropy_:$S});const Uh={};Re(Uh,{abs:()=>Ee,acos:()=>qp,acosh:()=>Hp,add:()=>R,addN:()=>zp,addStrict:()=>tm,all:()=>Kp,any:()=>Jp,argMax:()=>Xp,argMin:()=>Zp,asin:()=>Qp,asinh:()=>el,atan:()=>tl,atan2:()=>nl,atanh:()=>rl,avgPool:()=>pt,avgPool3d:()=>al,basicLSTMCell:()=>wl,batchNorm:()=>Ct,batchNorm2d:()=>xl,batchNorm3d:()=>yl,batchNorm4d:()=>Ll,batchToSpaceND:()=>Bn,booleanMaskAsync:()=>Vd,broadcastTo:()=>Br,buffer:()=>Be,cast:()=>C,ceil:()=>vl,clipByValue:()=>$n,clone:()=>Et,complex:()=>Ye,concat:()=>Z,concat1d:()=>Sl,concat2d:()=>Il,concat3d:()=>Tl,concat4d:()=>Al,conv1d:()=>Nl,conv2d:()=>xe,conv2dTranspose:()=>Rl,conv3d:()=>_l,conv3dTranspose:()=>Cl,cos:()=>jn,cosh:()=>ms,cosineWindow:()=>qr,cumsum:()=>fs,depthToSpace:()=>El,depthwiseConv2d:()=>en,diag:()=>Ol,dilation2d:()=>kl,div:()=>F,divNoNan:()=>Dl,divStrict:()=>nm,dot:()=>Fl,dropout:()=>xm,elu:()=>bs,enclosingPowerOfTwo:()=>Ba,equal:()=>tn,equalStrict:()=>Kd,erf:()=>Ml,exp:()=>Se,expandDims:()=>et,expm1:()=>Ul,eye:()=>ws,fft:()=>Gn,fill:()=>Ge,floor:()=>Pn,floorDiv:()=>gs,fused:()=>Fh,gather:()=>qn,gatherND:()=>bm,greater:()=>tt,greaterEqual:()=>ht,greaterEqualStrict:()=>Jd,greaterStrict:()=>Xd,ifft:()=>vn,imag:()=>nn,image:()=>Ya,inTopKAsync:()=>ym,irfft:()=>xs,isFinite:()=>Bl,isInf:()=>$l,isNaN:()=>jl,leakyRelu:()=>Gl,less:()=>Hn,lessEqual:()=>ut,lessEqualStrict:()=>Zd,lessStrict:()=>Qd,linalg:()=>Jm,linspace:()=>Pl,localResponseNormalization:()=>ql,log:()=>yt,log1p:()=>ys,logSigmoid:()=>zl,logSoftmax:()=>Yl,logSumExp:()=>vs,logicalAnd:()=>Lt,logicalNot:()=>zn,logicalOr:()=>Ss,logicalXor:()=>Vl,losses:()=>Xm,matMul:()=>Y,max:()=>dt,maxPool:()=>Ae,maxPool3d:()=>Kl,maxPoolWithArgmax:()=>Jl,maximum:()=>kt,maximumStrict:()=>rm,mean:()=>Sn,min:()=>In,minimum:()=>Yn,minimumStrict:()=>om,mod:()=>Is,modStrict:()=>im,moments:()=>Xl,movingAverage:()=>hm,mul:()=>v,mulStrict:()=>sm,multiRNNCell:()=>Zl,multinomial:()=>Ql,neg:()=>ne,norm:()=>Pr,notEqual:()=>Vn,notEqualStrict:()=>em,oneHot:()=>jr,ones:()=>vt,onesLike:()=>Fa,op:()=>m,outerProduct:()=>eh,pad:()=>Pe,pad1d:()=>th,pad2d:()=>nh,pad3d:()=>rh,pad4d:()=>oh,pool:()=>ih,pow:()=>Je,powStrict:()=>am,prelu:()=>Ts,print:()=>sh,prod:()=>ah,rand:()=>ch,randomGamma:()=>uh,randomNormal:()=>dh,randomUniform:()=>Ns,range:()=>Gr,real:()=>zt,reciprocal:()=>mh,relu:()=>ie,relu6:()=>Rs,reshape:()=>y,reverse:()=>Ve,reverse1d:()=>fh,reverse2d:()=>gh,reverse3d:()=>bh,reverse4d:()=>wh,rfft:()=>Jn,round:()=>yh,rsqrt:()=>_s,scalar:()=>_,scatterND:()=>mm,selu:()=>Lh,separableConv2d:()=>Xn,setdiff1dAsync:()=>vh,sigmoid:()=>lt,sign:()=>Sh,signal:()=>Km,sin:()=>Cs,sinh:()=>Es,slice:()=>G,slice1d:()=>Ih,slice2d:()=>Th,slice3d:()=>Os,slice4d:()=>Ah,softmax:()=>rn,softplus:()=>Ls,spaceToBatchND:()=>Kn,sparseToDense:()=>gm,spectral:()=>Vm,split:()=>Yt,sqrt:()=>me,square:()=>H,squaredDifference:()=>Zn,squaredDifferenceStrict:()=>cm,squeeze:()=>Qn,stack:()=>ke,step:()=>Dt,stridedSlice:()=>Nh,sub:()=>O,subStrict:()=>pm,sum:()=>U,tan:()=>Rh,tanh:()=>Wr,tensor:()=>ze,tensor1d:()=>ce,tensor2d:()=>mt,tensor3d:()=>er,tensor4d:()=>ft,tensor5d:()=>_h,tensor6d:()=>Ch,tile:()=>Ot,topk:()=>Eh,transpose:()=>K,truncatedNormal:()=>Oh,unsortedSegmentSum:()=>ks,unstack:()=>Ie,variable:()=>kh,where:()=>Oe,whereAsync:()=>Ds,zeros:()=>Ce,zerosLike:()=>W});const Vm={fft:Gn,ifft:vn,rfft:Jn,irfft:xs},Km={hammingWindow:Lm,hannWindow:Ga,frame:Pa,stft:vm},Ya={flipLeftRight:Im,resizeNearestNeighbor:Fm,resizeBilinear:Dm,rotateWithOffset:Tm,cropAndResize:Sm,nonMaxSuppression:Am,nonMaxSuppressionAsync:_m,nonMaxSuppressionWithScore:Cm,nonMaxSuppressionWithScoreAsync:Em,nonMaxSuppressionPadded:Om,nonMaxSuppressionPaddedAsync:km},Jm={bandPart:Mm,gramSchmidt:Um,qr:Bm},Xm={absoluteDifference:$m,computeWeightedLoss:$e,cosineDistance:jm,hingeLoss:Gm,huberLoss:Pm,logLoss:qm,meanSquaredError:Hm,sigmoidCrossEntropy:zm,softmaxCrossEntropy:Ym};Cd(Uh);const Fs={float32:4,float16:2,int32:4,uint16:2,uint8:1,bool:1,complex64:8};const Va=4;async function GS(e,t){const n=[],r=[],o=Array.isArray(e)?e.map(a=>a.name):Object.keys(e);for(let a=0;a{const d=await c.bytes(),b=d.reduce((L,S)=>L+S.length,0)+Va*d.length,x=new Uint8Array(b);let w=0;for(let L=0;L{if(t+=i.byteLength,n.push(i.byteLength===i.buffer.byteLength?i:new i.constructor(i)),!(i instanceof Float32Array||i instanceof Int32Array||i instanceof Uint8Array))throw new Error(`Unsupported TypedArray subtype: ${i.constructor.name}`)});const r=new Uint8Array(t);let o=0;return n.forEach(i=>{r.set(new Uint8Array(i.buffer),o),o+=i.byteLength}),r.buffer}const qS=typeof Buffer!="undefined"&&(typeof Blob=="undefined"||typeof atob=="undefined"||typeof btoa=="undefined");function Zm(e){return qS?Buffer.byteLength(e):new Blob([e]).size}function Ms(e){if(e.length===1)return e[0];let t=0;e.forEach(o=>{t+=o.byteLength});const n=new Uint8Array(t);let r=0;return e.forEach(o=>{n.set(new Uint8Array(o),r),r+=o.byteLength}),n.buffer}function Bh(e){const t="/";for(e=e.trim();e.endsWith(t);)e=e.slice(0,e.length-1);const n=e.split(t);return n[n.length-1]}function Us(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("Expected JSON model topology, received ArrayBuffer.");return{dateSaved:new Date(),modelTopologyType:"JSON",modelTopologyBytes:e.modelTopology==null?0:Zm(JSON.stringify(e.modelTopology)),weightSpecsBytes:e.weightSpecs==null?0:Zm(JSON.stringify(e.weightSpecs)),weightDataBytes:e.weightData==null?0:e.weightData.byteLength}}function HS(){const e=n=>{let r=n<<13,o=0;for(;(r&8388608)===0;)o-=8388608,r<<=1;return r&=~8388608,o+=947912704,r|o},t=new Uint32Array(2048);t[0]=0;for(let n=1;n<1024;n++)t[n]=e(n);for(let n=1024;n<2048;n++)t[n]=939524096+(n-1024<<13);return t}function zS(){const e=new Uint32Array(64);e[0]=0,e[31]=1199570944,e[32]=2147483648,e[63]=3347054592;for(let t=1;t<31;t++)e[t]=t<<23;for(let t=33;t<63;t++)e[t]=2147483648+(t-32<<23);return e}function YS(){const e=new Uint32Array(64);for(let t=0;t<64;t++)e[t]=1024;return e[0]=e[32]=0,e}function PS(){const e=HS(),t=zS(),n=YS();return r=>{const o=new ArrayBuffer(4*r.length),i=new Uint32Array(o);for(let a=0;a>10]+(s&1023)]+t[s>>10];i[a]=c}return new Float32Array(o)}}class Ne{constructor(){this.saveRouters=[],this.loadRouters=[]}static getInstance(){return Ne.instance==null&&(Ne.instance=new Ne()),Ne.instance}static registerSaveRouter(e){Ne.getInstance().saveRouters.push(e)}static registerLoadRouter(e){Ne.getInstance().loadRouters.push(e)}static getSaveHandlers(e){return Ne.getHandlers(e,"save")}static getLoadHandlers(e,t){return Ne.getHandlers(e,"load",t)}static getHandlers(e,t,n){const r=[],o=t==="load"?Ne.getInstance().loadRouters:Ne.getInstance().saveRouters;return o.forEach(i=>{const a=i(e,n);a!==null&&r.push(a)}),r}}const VS=e=>Ne.registerSaveRouter(e),KS=e=>Ne.registerLoadRouter(e),JS=e=>Ne.getSaveHandlers(e),XS=(e,t)=>Ne.getLoadHandlers(e,t);const zr="://";class Ft{constructor(){this.managers={}}static getInstance(){return Ft.instance==null&&(Ft.instance=new Ft()),Ft.instance}static registerManager(e,t){f(e!=null,()=>"scheme must not be undefined or null."),e.endsWith(zr)&&(e=e.slice(0,e.indexOf(zr))),f(e.length>0,()=>"scheme must not be an empty string.");const n=Ft.getInstance();f(n.managers[e]==null,()=>`A model store manager is already registered for scheme '${e}'.`),n.managers[e]=t}static getManager(e){const t=this.getInstance().managers[e];if(t==null)throw new Error(`Cannot find model manager for scheme '${e}'`);return t}static getSchemes(){return Object.keys(this.getInstance().managers)}}function Ka(e){if(e.indexOf(zr)===-1)throw new Error(`The url string provided does not contain a scheme. Supported schemes are: ${Ft.getSchemes().join(",")}`);return{scheme:e.split(zr)[0],path:e.split(zr)[1]}}async function Qm(e,t,n=!1){f(e!==t,()=>`Old path and new path are the same: '${e}'`);const r=Ne.getLoadHandlers(e);f(r.length>0,()=>`Copying failed because no load handler is found for source URL ${e}.`),f(r.length<2,()=>`Copying failed because more than one (${r.length}) load handlers for source URL ${e}.`);const o=r[0],i=Ne.getSaveHandlers(t);f(i.length>0,()=>`Copying failed because no save handler is found for destination URL ${t}.`),f(i.length<2,()=>`Copying failed because more than one (${r.length}) save handlers for destination URL ${t}.`);const a=i[0],s=Ka(e).scheme,c=Ka(e).path,p=s===Ka(e).scheme,l=await o.load();n&&p&&await Ft.getManager(s).removeModel(c);const h=await a.save(l);return n&&!p&&await Ft.getManager(s).removeModel(c),h.modelArtifactsInfo}async function ef(){const e=Ft.getSchemes(),t={};for(const n of e){const r=await Ft.getManager(n).listModels();for(const o in r){const i=n+zr+o;t[i]=r[o]}}return t}async function tf(e){const t=Ka(e),n=Ft.getManager(t.scheme);return n.removeModel(t.path)}async function nf(e,t){const n=!1;return Qm(e,t,n)}async function rf(e,t){const n=!0;return Qm(e,t,n)}const ZS="model",QS=".json",eI=".weights.bin";function of(e){return new Promise(t=>setTimeout(t)).then(e)}class Yr{constructor(e){if(!pe().getBool("IS_BROWSER"))throw new Error("browserDownloads() cannot proceed because the current environment is not a browser.");e.startsWith(Yr.URL_SCHEME)&&(e=e.slice(Yr.URL_SCHEME.length)),(e==null||e.length===0)&&(e=ZS),this.modelTopologyFileName=e+QS,this.weightDataFileName=e+eI}async save(e){if(typeof document=="undefined")throw new Error("Browser downloads are not supported in this environment since `document` is not present");const t=window.URL.createObjectURL(new Blob([e.weightData],{type:"application/octet-stream"}));if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserDownloads.save() does not support saving model topology in binary formats yet.");{const n=[{paths:["./"+this.weightDataFileName],weights:e.weightSpecs}],r={modelTopology:e.modelTopology,format:e.format,generatedBy:e.generatedBy,convertedBy:e.convertedBy,weightsManifest:n},o=window.URL.createObjectURL(new Blob([JSON.stringify(r)],{type:"application/json"})),i=this.jsonAnchor==null?document.createElement("a"):this.jsonAnchor;if(i.download=this.modelTopologyFileName,i.href=o,await of(()=>i.dispatchEvent(new MouseEvent("click"))),e.weightData!=null){const a=this.weightDataAnchor==null?document.createElement("a"):this.weightDataAnchor;a.download=this.weightDataFileName,a.href=t,await of(()=>a.dispatchEvent(new MouseEvent("click")))}return{modelArtifactsInfo:Us(e)}}}}Yr.URL_SCHEME="downloads://";class tI{constructor(e){if(e==null||e.length<1)throw new Error(`When calling browserFiles, at least 1 file is required, but received ${e}`);this.files=e}async load(){const e=this.files[0],t=this.files.slice(1);return new Promise((n,r)=>{const o=new FileReader();o.onload=i=>{const a=JSON.parse(i.target.result),s=a.modelTopology;if(s==null){r(new Error(`modelTopology field is missing from file ${e.name}`));return}t.length===0&&n({modelTopology:s});const c=a.weightsManifest;if(c==null){r(new Error(`weightManifest field is missing from file ${e.name}`));return}let p;try{p=this.checkManifestAndWeightFiles(c,t)}catch(b){r(b);return}const l=[],h=[],d=[];c.forEach(b=>{b.paths.forEach(x=>{h.push(x),d.push(null)}),l.push(...b.weights)}),c.forEach(b=>{b.paths.forEach(x=>{const w=new FileReader();w.onload=L=>{const S=L.target.result,I=h.indexOf(x);d[I]=S,d.indexOf(null)===-1&&n({modelTopology:s,weightSpecs:l,weightData:Ms(d),format:a.format,generatedBy:a.generatedBy,convertedBy:a.convertedBy,userDefinedMetadata:a.userDefinedMetadata})},w.onerror=L=>r(`Failed to weights data from file of path '${x}'.`),w.readAsArrayBuffer(p[x])})})},o.onerror=i=>r(`Failed to read model topology and weights manifest JSON from file '${e.name}'. BrowserFiles supports loading Keras-style tf.Model artifacts only.`),o.readAsText(e)})}checkManifestAndWeightFiles(e,t){const n=[],r=t.map(i=>Bh(i.name)),o={};for(const i of e)i.paths.forEach(a=>{const s=Bh(a);if(n.indexOf(s)!==-1)throw new Error(`Duplicate file basename found in weights manifest: '${s}'`);if(n.push(s),r.indexOf(s)===-1)throw new Error(`Weight file with basename '${s}' is not provided.`);o[a]=t[r.indexOf(s)]});if(n.length!==t.length)throw new Error(`Mismatch in the number of files in weights manifest (${n.length}) and the number of weight files provided (${t.length}).`);return o}}const rI=e=>pe().getBool("IS_BROWSER")&&(!Array.isArray(e)&&e.startsWith(Yr.URL_SCHEME))?nI(e.slice(Yr.URL_SCHEME.length)):null;Ne.registerSaveRouter(rI);function nI(e="model"){return new Yr(e)}function oI(e){return new tI(e)}function $h(e,t,n,r){a(e),n=n==null?0:n,r=r==null?1:r,s(n,r);let o=0;const i=c=>(c.then(p=>{const l=n+ ++o/e.length*(r-n);return t(l),p}),c);function a(c){f(c!=null&&Array.isArray(c)&&c.length>0,()=>"promises must be a none empty array")}function s(c,p){f(c>=0&&c<=1,()=>`Progress fraction must be in range [0, 1], but got startFraction ${c}`),f(p>=0&&p<=1,()=>`Progress fraction must be in range [0, 1], but got endFraction ${p}`),f(p>=c,()=>`startFraction must be no more than endFraction, but got startFraction ${c} and endFraction ${p}`)}return Promise.all(e.map(i))}async function jh(e,t){t==null&&(t={});const n=t.fetchFunc==null?pe().platform.fetch:t.fetchFunc,r=e.map(h=>n(h,t.requestInit,{isBinary:!0})),o=0,i=.5,a=t.onProgress==null?await Promise.all(r):await $h(r,t.onProgress,o,i),s=a.map(h=>h.arrayBuffer()),c=.5,p=1,l=t.onProgress==null?await Promise.all(s):await $h(s,t.onProgress,c,p);return l}async function iI(e,t="",n,r){const o=a=>jh(a,{requestInit:r}),i=sf(o);return i(e,t,n)}function sf(e){return async(t,n="",r)=>{const o=t.map(()=>!1),i={},a=r!=null?r.map(()=>!1):[],s=[];if(t.forEach((b,x)=>{let w=0;b.weights.forEach(L=>{const S="quantization"in L?L.quantization.dtype:L.dtype,I=Fs[S]*Q(L.shape),N=()=>{o[x]=!0,i[x]==null&&(i[x]=[]),i[x].push({manifestEntry:L,groupOffset:w,sizeBytes:I})};r!=null?r.forEach((A,E)=>{A===L.name&&(N(),a[E]=!0)}):N(),s.push(L.name),w+=I})}),!a.every(b=>b)){const b=r.filter((x,w)=>!a[w]);throw new Error(`Could not find weights in manifest with names: ${b.join(", ")}. +Manifest JSON has weights with names: ${s.join(", ")}.`)}const c=o.reduce((b,x,w)=>(x&&b.push(w),b),[]),p=[];c.forEach(b=>{t[b].paths.forEach(x=>{const w=n+(n.endsWith("/")?"":"/")+x;p.push(w)})});const l=await e(p),h={};let d=0;return c.forEach(b=>{const x=t[b].paths.length;let w=0;for(let A=0;A{const E=L.slice(A.groupOffset,A.groupOffset+A.sizeBytes),M=Wh(E,[A.manifestEntry]);for(const D in M)h[D]=M[D]}),d+=x}),h}}const sI="application/octet-stream",aI="application/json";class Gh{constructor(e,t){if(this.DEFAULT_METHOD="POST",t==null&&(t={}),this.weightPathPrefix=t.weightPathPrefix,this.onProgress=t.onProgress,t.fetchFunc!=null?(f(typeof t.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=t.fetchFunc):this.fetch=pe().platform.fetch,f(e!=null&&e.length>0,()=>"URL path for http must not be null, undefined or empty."),Array.isArray(e)&&f(e.length===2,()=>`URL paths for http must have a length of 2, (actual length is ${e.length}).`),this.path=e,t.requestInit!=null&&t.requestInit.body!=null)throw new Error("requestInit is expected to have no pre-existing body, but has one.");this.requestInit=t.requestInit||{}}async save(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserHTTPRequest.save() does not support saving model topology in binary formats yet.");const t=Object.assign({method:this.DEFAULT_METHOD},this.requestInit);t.body=new FormData();const n=[{paths:["./model.weights.bin"],weights:e.weightSpecs}],r={modelTopology:e.modelTopology,format:e.format,generatedBy:e.generatedBy,convertedBy:e.convertedBy,userDefinedMetadata:e.userDefinedMetadata,weightsManifest:n};t.body.append("model.json",new Blob([JSON.stringify(r)],{type:aI}),"model.json"),e.weightData!=null&&t.body.append("model.weights.bin",new Blob([e.weightData],{type:sI}),"model.weights.bin");const o=await this.fetch(this.path,t);if(o.ok)return{modelArtifactsInfo:Us(e),responses:[o]};throw new Error(`BrowserHTTPRequest.save() failed due to HTTP response status ${o.status}.`)}async load(){const e=await this.fetch(this.path,this.requestInit);if(!e.ok)throw new Error(`Request to ${this.path} failed with status code ${e.status}. Please verify this URL points to the model JSON of the model to load.`);let t;try{t=await e.json()}catch(l){let h=`Failed to parse model JSON of response from ${this.path}.`;throw this.path.endsWith(".pb")?h+=" 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.":h+=" Please make sure the server is serving valid JSON for this request.",new Error(h)}const n=t.modelTopology,r=t.weightsManifest,o=t.generatedBy,i=t.convertedBy,a=t.format,s=t.userDefinedMetadata;if(n==null&&r==null)throw new Error(`The JSON from HTTP path ${this.path} contains neither model topology or manifest for weights.`);let c,p;if(r!=null){const l=await this.loadWeights(r);[c,p]=l}return{modelTopology:n,weightSpecs:c,weightData:p,userDefinedMetadata:s,generatedBy:o,convertedBy:i,format:a}}async loadWeights(e){const t=Array.isArray(this.path)?this.path[1]:this.path,[n,r]=cI(t),o=this.weightPathPrefix||n,i=[];for(const c of e)i.push(...c.weights);const a=[];e.forEach(c=>{c.paths.forEach(p=>{a.push(o+p+r)})});const s=await jh(a,{requestInit:this.requestInit,fetchFunc:this.fetch,onProgress:this.onProgress});return[i,Ms(s)]}}Gh.URL_SCHEME_REGEX=/^https?:\/\//;function cI(e){const t=e.lastIndexOf("/"),n=e.lastIndexOf("?"),r=e.substring(0,t),o=n>t?e.substring(n):"";return[r+"/",o]}function Ph(e){return e.match(Gh.URL_SCHEME_REGEX)!=null}const af=(e,t)=>{if(typeof fetch=="undefined"&&(t==null||t.fetchFunc==null))return null;{let n=!0;if(Array.isArray(e)?n=e.every(r=>Ph(r)):n=Ph(e),n)return qh(e,t)}return null};Ne.registerSaveRouter(af);Ne.registerLoadRouter(af);function qh(e,t){return new Gh(e,t)}function pI(e,t){return qh(e,t)}class Hh{constructor(e){this.modelArtifacts=e}async load(){return this.modelArtifacts}}class lI{constructor(e){this.saveHandler=e}async save(e){return this.saveHandler(e)}}function hI(e,t,n,r){if(arguments.length===1){const o=e.modelTopology!=null||e.weightSpecs!=null;return o?new Hh(e):(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 Hh({modelTopology:e}))}else return 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 Hh({modelTopology:e,weightSpecs:t,weightData:n,trainingConfig:r})}function uI(e){return new lI(e)}const Vr={};Re(Vr,{browserFiles:()=>oI,browserHTTPRequest:()=>pI,concatenateArrayBuffers:()=>Ms,copyModel:()=>nf,decodeWeights:()=>Wh,encodeWeights:()=>GS,fromMemory:()=>hI,getLoadHandlers:()=>XS,getModelArtifactsInfoForJSON:()=>Us,getSaveHandlers:()=>JS,http:()=>qh,isHTTPScheme:()=>Ph,listModels:()=>ef,loadWeights:()=>iI,moveModel:()=>rf,registerLoadRouter:()=>KS,registerSaveRouter:()=>VS,removeModel:()=>tf,weightsLoaderFactory:()=>sf,withSaveHandler:()=>uI});function dI(e,t,n){const r=u(e,"labels","confusionMatrix"),o=u(t,"predictions","confusionMatrix");f(n==null||n>0&&Number.isInteger(n),()=>`If provided, numClasses must be a positive integer, but got ${n}`),f(r.rank===1,()=>`Expected the rank of labels to be 1, but got ${r.rank}`),f(o.rank===1,()=>`Expected the rank of predictions to be 1, but got ${o.rank}`),f(r.shape[0]===o.shape[0],()=>`Mismatch in the number of examples: ${r.shape[0]} vs. ${o.shape[0]}. Labels and predictions should have the same number of elements.`),f(n>0&&Number.isInteger(n),()=>`numClasses is required to be a positive integer, but got ${n}`);const i=jr(C(r,"int32"),n),a=jr(C(o,"int32"),n),s=K(i);return C(Y(s,a),"int32")}const mI=m({confusionMatrix_:dI});const cf={};Re(cf,{confusionMatrix:()=>mI});const Kr={};Re(Kr,{fromPixels:()=>bI,toPixels:()=>gI});let Jr;function fI(e,t=3){if(t>4)throw new Error("Cannot construct Tensor with more than 4 channels from pixels.");if(e==null)throw new Error("pixels passed to tf.browser.fromPixels() can not be null");let n=!1,r=!1,o=!1,i=!1,a=!1;if(e.data instanceof Uint8Array)n=!0;else if(typeof ImageData!="undefined"&&e instanceof ImageData)r=!0;else if(typeof HTMLVideoElement!="undefined"&&e instanceof HTMLVideoElement)o=!0;else if(typeof HTMLImageElement!="undefined"&&e instanceof HTMLImageElement)i=!0;else if(e.getContext!=null)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 ${e.constructor.name}`);if(o){const b=2;if(o&&e.readyState element.")}const s=rs(La,g.backendName);if(s!=null){const b={pixels:e},x={numChannels:t};return g.runKernel(La,b,x)}const[c,p]=o?[e.videoWidth,e.videoHeight]:[e.width,e.height];let l;a?l=e.getContext("2d").getImageData(0,0,c,p).data:r||n?l=e.data:(i||o)&&(Jr==null&&(Jr=document.createElement("canvas").getContext("2d")),Jr.canvas.width=c,Jr.canvas.height=p,Jr.drawImage(e,0,0,c,p),l=Jr.getImageData(0,0,c,p).data);let h;if(t===4)h=new Int32Array(l);else{const b=c*p;h=new Int32Array(b*t);for(let x=0;x4||i===2)throw new Error(`toPixels only supports depth of size 1, 3 or 4 but got ${i}`);const a=await n.data(),s=In(n),c=dt(n),p=await Promise.all([s.data(),c.data()]),l=p[0],h=p[1],d=l[0],b=h[0];if(s.dispose(),c.dispose(),n.dtype==="float32"){if(d<0||b>1)throw new Error(`Tensor values for a float32 Tensor must be in the range [0 - 1] but got range [${d} - ${b}].`)}else if(n.dtype==="int32"){if(d<0||b>255)throw new Error(`Tensor values for a int32 Tensor must be in the range [0 - 255] but got range [${d} - ${b}].`)}else throw new Error(`Unsupported type for toPixels: ${n.dtype}. Please use float32 or int32 tensors.`);const x=n.dtype==="float32"?255:1,w=new Uint8ClampedArray(o*r*4);for(let L=0;Llf});function lf(e,t){if(e.rank<1)throw new Error(`tf.gatherND() expects the input to be rank 1 or higher, but the rank was ${e.rank}.`);if(t.rank<1)throw new Error(`tf.gatherND() expects the indices to be rank 1 or higher, but the rank was ${t.rank}.`);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[t.rank-1]>e.rank)throw new Error(`index innermost dimension length must be <= tensor rank; saw: ${t.shape[t.rank-1]} vs. ${e.rank}`);if(e.size===0)throw new Error(`Requested more than 0 entries, but input is empty. Input shape: ${e.shape}.`);const n=t.shape,r=n[n.length-1];let o=1;for(let p=0;pp/s),1].slice(0,r);return[a,o,s,c]}const hf={};Re(hf,{Serializable:()=>zh,SerializationMap:()=>ir,registerClass:()=>nt});class zh{getClassName(){return this.constructor.className}static fromConfig(e,t){return new e(t)}}class ir{constructor(){this.classNameMap={}}static getMap(){return ir.instance==null&&(ir.instance=new ir()),ir.instance}static register(e){ir.getMap().classNameMap[e.className]=[e,e.fromConfig]}}function nt(e){f(e.className!=null,()=>"Class being registered does not have the static className property defined."),f(typeof e.className=="string",()=>"className is required to be a string, but got type "+typeof e.className),f(e.className.length>0,()=>"Class being registered has an empty-string as its className, which is disallowed."),ir.register(e)}const wI="2.3.0";class ot extends zh{minimize(e,t=!1,n){const{value:r,grads:o}=this.computeGradients(e,n);if(n!=null){const i=n.map(a=>({name:a.name,tensor:o[a.name]}));this.applyGradients(i)}else this.applyGradients(o);return ve(o),t?r:(r.dispose(),null)}get iterations(){return this.iterations_==null&&(this.iterations_=0),this.iterations_}incrementIterations(){this.iterations_=this.iterations+1}computeGradients(e,t){return Hl(e,t)}dispose(){this.iterations_!=null&&ve(this.iterations_)}async saveIterations(){return this.iterations_==null&&(this.iterations_=0),{name:"iter",tensor:_(this.iterations_,"int32")}}async getWeights(){throw new Error("getWeights() is not implemented for this optimizer yet.")}async setWeights(e){throw new Error(`setWeights() is not implemented for this optimizer class ${this.getClassName()}`)}async extractIterations(e){return this.iterations_=(await e[0].tensor.data())[0],e.slice(1)}}Object.defineProperty(ot,Symbol.hasInstance,{value:e=>e.minimize!=null&&e.computeGradients!=null&&e.applyGradients!=null});class sr extends ot{constructor(e,t,n=null){super();this.learningRate=e,this.rho=t,this.epsilon=n,this.accumulatedGrads=[],this.accumulatedUpdates=[],n==null&&(this.epsilon=g.backend.epsilon())}applyGradients(e){const t=Array.isArray(e)?e.map(n=>n.name):Object.keys(e);t.forEach((n,r)=>{const o=g.registeredVariables[n],i=!1;this.accumulatedGrads[r]==null&&(this.accumulatedGrads[r]={originalName:`${n}/accum_grad`,variable:k(()=>W(o).variable(i))}),this.accumulatedUpdates[r]==null&&(this.accumulatedUpdates[r]={originalName:`${n}/accum_var`,variable:k(()=>W(o).variable(i))});const a=Array.isArray(e)?e[r].tensor:e[n];if(a==null)return;const s=this.accumulatedGrads[r].variable,c=this.accumulatedUpdates[r].variable;k(()=>{const p=R(v(s,this.rho),v(H(a),1-this.rho)),l=v(F(me(R(c,this.epsilon)),me(R(s,this.epsilon))),a),h=R(v(c,this.rho),v(H(l),1-this.rho));s.assign(p),c.assign(h);const d=R(v(l,-this.learningRate),o);o.assign(d)})}),this.incrementIterations()}dispose(){this.accumulatedUpdates!=null&&(ve(this.accumulatedGrads.map(e=>e.variable)),ve(this.accumulatedUpdates.map(e=>e.variable)))}async getWeights(){const e=[...this.accumulatedGrads,...this.accumulatedUpdates];return[await this.saveIterations()].concat(e.map(t=>({name:t.originalName,tensor:t.variable})))}async setWeights(e){e=await this.extractIterations(e);const t=e.length/2,n=!1;this.accumulatedGrads=e.slice(0,t).map(r=>({originalName:r.name,variable:r.tensor.variable(n)})),this.accumulatedUpdates=e.slice(t,t*2).map(r=>({originalName:r.name,variable:r.tensor.variable(n)}))}getConfig(){return{learningRate:this.learningRate,rho:this.rho,epsilon:this.epsilon}}static fromConfig(e,t){return new e(t.learningRate,t.rho,t.epsilon)}}sr.className="Adadelta";nt(sr);class ar extends ot{constructor(e,t=.1){super();this.learningRate=e,this.initialAccumulatorValue=t,this.accumulatedGrads=[]}applyGradients(e){const t=Array.isArray(e)?e.map(n=>n.name):Object.keys(e);t.forEach((n,r)=>{const o=g.registeredVariables[n];if(this.accumulatedGrads[r]==null){const s=!1;this.accumulatedGrads[r]={originalName:`${n}/accumulator`,variable:k(()=>Ge(o.shape,this.initialAccumulatorValue).variable(s))}}const i=Array.isArray(e)?e[r].tensor:e[n];if(i==null)return;const a=this.accumulatedGrads[r].variable;k(()=>{const s=R(a,H(i));a.assign(s);const c=R(v(F(i,me(R(s,g.backend.epsilon()))),-this.learningRate),o);o.assign(c)})}),this.incrementIterations()}dispose(){this.accumulatedGrads!=null&&ve(this.accumulatedGrads.map(e=>e.variable))}async getWeights(){return[await this.saveIterations()].concat(this.accumulatedGrads.map(e=>({name:e.originalName,tensor:e.variable})))}async setWeights(e){e=await this.extractIterations(e);const t=!1;this.accumulatedGrads=e.map(n=>({originalName:n.name,variable:n.tensor.variable(t)}))}getConfig(){return{learningRate:this.learningRate,initialAccumulatorValue:this.initialAccumulatorValue}}static fromConfig(e,t){return new e(t.learningRate,t.initialAccumulatorValue)}}ar.className="Adagrad";nt(ar);class cr extends ot{constructor(e,t,n,r=null){super();this.learningRate=e,this.beta1=t,this.beta2=n,this.epsilon=r,this.accumulatedFirstMoment=[],this.accumulatedSecondMoment=[],k(()=>{this.accBeta1=_(t).variable(),this.accBeta2=_(n).variable()}),r==null&&(this.epsilon=g.backend.epsilon())}applyGradients(e){const t=Array.isArray(e)?e.map(n=>n.name):Object.keys(e);k(()=>{const n=O(1,this.accBeta1),r=O(1,this.accBeta2);t.forEach((o,i)=>{const a=g.registeredVariables[o],s=!1;this.accumulatedFirstMoment[i]==null&&(this.accumulatedFirstMoment[i]={originalName:`${o}/m`,variable:k(()=>W(a).variable(s))}),this.accumulatedSecondMoment[i]==null&&(this.accumulatedSecondMoment[i]={originalName:`${o}/v`,variable:k(()=>W(a).variable(s))});const c=Array.isArray(e)?e[i].tensor:e[o];if(c==null)return;const p=this.accumulatedFirstMoment[i].variable,l=this.accumulatedSecondMoment[i].variable,h=R(v(p,this.beta1),v(c,1-this.beta1)),d=R(v(l,this.beta2),v(H(c),1-this.beta2)),b=F(h,n),x=F(d,r);p.assign(h),l.assign(d);const w=R(v(F(b,R(me(x),this.epsilon)),-this.learningRate),a);a.assign(w)}),this.accBeta1.assign(v(this.accBeta1,this.beta1)),this.accBeta2.assign(v(this.accBeta2,this.beta2))}),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.accBeta2.dispose(),this.accumulatedFirstMoment!=null&&ve(this.accumulatedFirstMoment.map(e=>e.variable)),this.accumulatedSecondMoment!=null&&ve(this.accumulatedSecondMoment.map(e=>e.variable))}async getWeights(){const e=[...this.accumulatedFirstMoment,...this.accumulatedSecondMoment];return[await this.saveIterations()].concat(e.map(t=>({name:t.originalName,tensor:t.variable})))}async setWeights(e){e=await this.extractIterations(e),k(()=>{this.accBeta1.assign(Je(this.beta1,this.iterations_+1)),this.accBeta2.assign(Je(this.beta2,this.iterations_+1))});const t=e.length/2,n=!1;this.accumulatedFirstMoment=e.slice(0,t).map(r=>({originalName:r.name,variable:r.tensor.variable(n)})),this.accumulatedSecondMoment=e.slice(t,t*2).map(r=>({originalName:r.name,variable:r.tensor.variable(n)}))}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon}}static fromConfig(e,t){return new e(t.learningRate,t.beta1,t.beta2,t.epsilon)}}cr.className="Adam";nt(cr);class pr extends ot{constructor(e,t,n,r=null,o=0){super();this.learningRate=e,this.beta1=t,this.beta2=n,this.epsilon=r,this.decay=o,this.accumulatedFirstMoment=[],this.accumulatedWeightedInfNorm=[],k(()=>{this.iteration=_(0).variable(),this.accBeta1=_(t).variable()}),r==null&&(this.epsilon=g.backend.epsilon())}applyGradients(e){const t=Array.isArray(e)?e.map(n=>n.name):Object.keys(e);k(()=>{const n=O(1,this.accBeta1),r=F(-this.learningRate,R(v(this.iteration,this.decay),1));t.forEach((o,i)=>{const a=g.registeredVariables[o],s=!1;this.accumulatedFirstMoment[i]==null&&(this.accumulatedFirstMoment[i]={originalName:`${o}/m`,variable:W(a).variable(s)}),this.accumulatedWeightedInfNorm[i]==null&&(this.accumulatedWeightedInfNorm[i]={originalName:`${o}/v`,variable:W(a).variable(s)});const c=Array.isArray(e)?e[i].tensor:e[o];if(c==null)return;const p=this.accumulatedFirstMoment[i].variable,l=this.accumulatedWeightedInfNorm[i].variable,h=R(v(p,this.beta1),v(c,1-this.beta1)),d=v(l,this.beta2),b=Ee(c),x=kt(d,b);p.assign(h),l.assign(x);const w=R(v(F(r,n),F(h,R(x,this.epsilon))),a);a.assign(w)}),this.iteration.assign(R(this.iteration,1)),this.accBeta1.assign(v(this.accBeta1,this.beta1))}),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.iteration.dispose(),this.accumulatedFirstMoment!=null&&ve(this.accumulatedFirstMoment.map(e=>e.variable)),this.accumulatedWeightedInfNorm!=null&&ve(this.accumulatedWeightedInfNorm.map(e=>e.variable))}async getWeights(){throw new Error("getWeights() is not implemented for Adamax yet.")}async setWeights(e){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(e,t){return new e(t.learningRate,t.beta1,t.beta2,t.epsilon,t.decay)}}pr.className="Adamax";nt(pr);class on extends ot{constructor(e){super();this.learningRate=e,this.setLearningRate(e)}applyGradients(e){const t=Array.isArray(e)?e.map(n=>n.name):Object.keys(e);t.forEach((n,r)=>{const o=Array.isArray(e)?e[r].tensor:e[n];if(o==null)return;const i=g.registeredVariables[n];k(()=>{const a=R(v(this.c,o),i);i.assign(a)})}),this.incrementIterations()}setLearningRate(e){this.learningRate=e,this.c!=null&&this.c.dispose(),this.c=sl(_(-e))}dispose(){this.c.dispose()}async getWeights(){return[await this.saveIterations()]}async setWeights(e){if(e=await this.extractIterations(e),e.length!==0)throw new Error("SGD optimizer does not have settable weights.")}getConfig(){return{learningRate:this.learningRate}}static fromConfig(e,t){return new e(t.learningRate)}}on.className="SGD";nt(on);class lr extends on{constructor(e,t,n=!1){super(e);this.learningRate=e,this.momentum=t,this.useNesterov=n,this.accumulations=[],this.m=_(this.momentum)}applyGradients(e){const t=Array.isArray(e)?e.map(n=>n.name):Object.keys(e);t.forEach((n,r)=>{const o=g.registeredVariables[n];if(this.accumulations[r]==null){const s=!1;this.accumulations[r]={originalName:`${n}/momentum`,variable:k(()=>W(o).variable(s))}}const i=this.accumulations[r].variable,a=Array.isArray(e)?e[r].tensor:e[n];if(a==null)return;k(()=>{let s;const c=R(v(this.m,i),a);this.useNesterov?s=R(v(this.c,R(a,v(c,this.m))),o):s=R(v(this.c,c),o),i.assign(c),o.assign(s)})}),this.incrementIterations()}dispose(){this.m.dispose(),this.accumulations!=null&&ve(this.accumulations.map(e=>e.variable))}setMomentum(e){this.momentum=e}async getWeights(){return[await this.saveIterations()].concat(this.accumulations.map(e=>({name:e.originalName,tensor:e.variable})))}async setWeights(e){e=await this.extractIterations(e);const t=!1;this.accumulations=e.map(n=>({originalName:n.name,variable:n.tensor.variable(t)}))}getConfig(){return{learningRate:this.learningRate,momentum:this.momentum,useNesterov:this.useNesterov}}static fromConfig(e,t){return new e(t.learningRate,t.momentum,t.useNesterov)}}lr.className="Momentum";nt(lr);class hr extends ot{constructor(e,t=.9,n=0,r=null,o=!1){super();if(this.learningRate=e,this.decay=t,this.momentum=n,this.epsilon=r,this.accumulatedMeanSquares=[],this.accumulatedMoments=[],this.accumulatedMeanGrads=[],this.centered=o,r==null&&(this.epsilon=g.backend.epsilon()),e==null)throw new Error("learningRate for RMSPropOptimizer must be defined.")}applyGradients(e){const t=Array.isArray(e)?e.map(n=>n.name):Object.keys(e);t.forEach((n,r)=>{const o=g.registeredVariables[n],i=!1;this.accumulatedMeanSquares[r]==null&&(this.accumulatedMeanSquares[r]={originalName:`${n}/rms`,variable:k(()=>W(o).variable(i))}),this.accumulatedMoments[r]==null&&(this.accumulatedMoments[r]={originalName:`${n}/momentum`,variable:k(()=>W(o).variable(i))}),this.accumulatedMeanGrads[r]==null&&this.centered&&(this.accumulatedMeanGrads[r]={originalName:`${n}/mg`,variable:k(()=>W(o).variable(i))});const a=Array.isArray(e)?e[r].tensor:e[n];if(a==null)return;const s=this.accumulatedMeanSquares[r].variable,c=this.accumulatedMoments[r].variable;k(()=>{const p=R(v(s,this.decay),v(H(a),1-this.decay));if(this.centered){const l=this.accumulatedMeanGrads[r].variable,h=R(v(l,this.decay),v(a,1-this.decay)),d=F(v(a,this.learningRate),me(O(p,R(H(h),this.epsilon)))),b=R(v(c,this.momentum),d);s.assign(p),l.assign(h),c.assign(b);const x=O(o,b);o.assign(x)}else{const l=R(v(s,this.decay),v(H(a),1-this.decay)),h=R(v(c,this.momentum),F(v(a,this.learningRate),me(R(l,this.epsilon))));s.assign(l),c.assign(h);const d=O(o,h);o.assign(d)}})}),this.incrementIterations()}dispose(){this.accumulatedMeanSquares!=null&&ve(this.accumulatedMeanSquares.map(e=>e.variable)),this.accumulatedMeanGrads!=null&&this.centered&&ve(this.accumulatedMeanGrads.map(e=>e.variable)),this.accumulatedMoments!=null&&ve(this.accumulatedMoments.map(e=>e.variable))}async getWeights(){const e=[...this.accumulatedMeanSquares,...this.accumulatedMoments];return this.centered&&e.push(...this.accumulatedMeanGrads),[await this.saveIterations()].concat(e.map(t=>({name:t.originalName,tensor:t.variable})))}async setWeights(e){e=await this.extractIterations(e);const t=this.centered?e.length/3:e.length/2,n=!1;this.accumulatedMeanSquares=e.slice(0,t).map(r=>({originalName:r.name,variable:r.tensor.variable(n)})),this.accumulatedMoments=e.slice(t,t*2).map(r=>({originalName:r.name,variable:r.tensor.variable(n)})),this.centered&&(this.accumulatedMeanGrads=e.slice(t*2,t*3).map(r=>({originalName:r.name,variable:r.tensor.variable(n)})))}getConfig(){return{learningRate:this.learningRate,decay:this.decay,momentum:this.momentum,epsilon:this.epsilon,centered:this.centered}}static fromConfig(e,t){return new e(t.learningRate,t.decay,t.momentum,t.epsilon,t.centered)}}hr.className="RMSProp";nt(hr);class Tn{static sgd(e){return new on(e)}static momentum(e,t,n=!1){return new lr(e,t,n)}static rmsprop(e,t=.9,n=0,r=null,o=!1){return new hr(e,t,n,r,o)}static adam(e=.001,t=.9,n=.999,r=null){return new cr(e,t,n,r)}static adadelta(e=.001,t=.95,n=null){return new sr(e,t,n)}static adamax(e=.002,t=.9,n=.999,r=null,o=0){return new pr(e,t,n,r,o)}static adagrad(e,t=.1){return new ar(e,t)}}lr,on,sr,ar,hr,pr,cr;const xI={sgd:Tn.sgd,momentum:Tn.momentum,adadelta:Tn.adadelta,adagrad:Tn.adagrad,rmsprop:Tn.rmsprop,adamax:Tn.adamax,adam:Tn.adam};const yI=(()=>typeof requestAnimationFrame!="undefined"?requestAnimationFrame:typeof setImmediate!="undefined"?setImmediate:e=>e())();function LI(){return new Promise(e=>yI(()=>e()))}function vI(e,t,n){const r=n*(typeof e=="number"?e:e[0]),o=t*(typeof e=="number"?e:e[1]);return[r,o]}function SI(e,t,n,r=!0){let o=[];if(r)o=o.concat(t.slice(0)),o.push(e[0]/n),o=o.concat(e.slice(1));else{o=o.concat(e[0]);const i=t.length;for(let a=0;a=t*2+1||a%2===1?i.push(a):o.push(a);r.push(...o),r.push(0),r.push(...i)}return r}function TI(e,t,n,r=!0){const o=[];r?o.push(e[0]/n):o.push(e[0]*n);for(let i=1;i_I,ERF_A2:()=>CI,ERF_A3:()=>EI,ERF_A4:()=>OI,ERF_A5:()=>kI,ERF_P:()=>RI,PARALLELIZE_THRESHOLD:()=>ka,SELU_SCALE:()=>Vh,SELU_SCALEALPHA:()=>Yh,applyActivation:()=>rr,assertAndGetBroadcastShape:()=>q,assertAxesAreInnerMostDims:()=>Hw,assertParamsConsistent:()=>cl,assignToTypedArray:()=>jI,axesAreInnerMostDims:()=>Yp,calculateShapes:()=>dm,castTensor:()=>qI,combineLocations:()=>Wd,complexWithEvenIndex:()=>WI,complexWithOddIndex:()=>BI,computeConv2DInfo:()=>je,computeConv3DInfo:()=>Ln,computeDefaultPad:()=>il,computeDilation2DInfo:()=>ox,computeOptimalWindowSize:()=>Ry,computeOutAndReduceShapes:()=>Vp,computeOutShape:()=>pl,computePool2DInfo:()=>_t,computePool3DInfo:()=>Qt,convertConv2DDataFormat:()=>yn,eitherStridesOrDilationsAreOne:()=>le,expandShapeToKeepDim:()=>we,exponent:()=>PI,exponents:()=>GI,getAxesPermutation:()=>ge,getBroadcastDims:()=>dy,getComplexWithIndex:()=>$I,getFusedBiasGradient:()=>nr,getFusedDyActivation:()=>tr,getImageCenter:()=>vI,getInnerMostAxes:()=>De,getPermuted:()=>II,getReductionAxes:()=>ae,getReshaped:()=>SI,getReshapedPermuted:()=>TI,getSliceBeginCoords:()=>AI,getSliceSize:()=>NI,getUndoAxesPermutation:()=>Un,linspaceImpl:()=>zI,log:()=>FI,mergeRealAndImagArrays:()=>MI,prepareAndValidate:()=>lf,prepareSplitSize:()=>xh,reshapeTensor:()=>HI,segment_util:()=>Pd,shouldFuse:()=>or,splitRealAndImagArrays:()=>UI,tupleValuesAreOne:()=>ct,upcastType:()=>Mr,validateInput:()=>Wa,validateUpdateShape:()=>Dh,warn:()=>DI});function qI(e,t,n){if(t==="complex64"){if(e.dtype==="complex64")return e.clone();const r=Ce(e.shape),o=C(e,"float32"),i=n.complex(o,r);return r.dispose(),o.dispose(),i}if(!Op(e.dtype,t))return g.makeTensorFromDataId(e.dataId,e.shape,t);if(e.dtype==="complex64"){const r=n.real(e),o=C(r,t);return r.dispose(),o}if(t==="int32")return n.int(e);if(t==="bool"){const r=_(0,e.dtype),o=n.notEqual(e,r);return r.dispose(),o}else throw new Error(`Error in Cast: failed to cast ${e.dtype} to ${t}`)}function HI(e,t){return g.makeTensorFromDataId(e.dataId,t,e.dtype)}function zI(e,t,n){const r=(t-e)/(n-1),o=Pt(n,"float32");o[0]=e;for(let i=1;i{const a=[...o];a[n]=i;const s=G(e,r,a);return r[n]+=i,s})}function mf(e,t){const n=new Array(e.rank);for(let o=0;oN.value-I.value);const w=h*r,L=c.subarray(w,w+r),S=p.subarray(w,w+r);for(let I=0;Iqa,nonMaxSuppressionV4Impl:()=>Ha,nonMaxSuppressionV5Impl:()=>za,split:()=>df,tile:()=>mf,topkImpl:()=>ff,whereImpl:()=>Ua});const YI=1e-7,VI=1e-4;class KI{constructor(e,t){this.backend=e,this.dataMover=t,this.data=new WeakMap(),this.dataIdsCount=0}get(e){return this.data.has(e)||this.dataMover.moveData(this.backend,e),this.data.get(e)}set(e,t){this.dataIdsCount++,this.data.set(e,t)}has(e){return this.data.has(e)}delete(e){return this.dataIdsCount--,this.data.delete(e)}numDataIds(){return this.dataIdsCount}}class JI{time(e){return T("time")}read(e){return T("read")}readSync(e){return T("readSync")}numDataIds(){return T("numDataIds")}disposeData(e){return T("disposeData")}write(e,t,n){return T("write")}move(e,t,n,r){return T("move")}memory(){return T("memory")}floatPrecision(){return T("floatPrecision")}epsilon(){return this.floatPrecision()===32?YI:VI}batchMatMul(e,t,n,r){return T("batchMatMul")}fusedBatchMatMul({a:e,b:t,transposeA:n,transposeB:r,bias:o,activation:i,preluActivationWeights:a}){return T("fusedBatchMatMul")}slice(e,t,n){return T("slice")}stridedSlice(e,t,n,r){return T("stridedSlice")}unstack(e,t){return T("unstack")}reverse(e,t){return T("reverse")}concat(e,t){return T("concat")}neg(e){return T("neg")}add(e,t){return T("add")}addN(e){return T("addN")}subtract(e,t){return T("subtract")}multiply(e,t){return T("multiply")}realDivide(e,t){return T("realDivide")}floorDiv(e,t){return T("floorDiv")}sum(e,t){return T("sum")}prod(e,t){return T("prod")}unsortedSegmentSum(e,t,n){return T("unsortedSegmentSum")}argMin(e,t){return T("argMin")}argMax(e,t){return T("argMax")}equal(e,t){return T("equal")}notEqual(e,t){return T("notEqual")}less(e,t){return T("less")}lessEqual(e,t){return T("lessEqual")}greater(e,t){return T("greater")}greaterEqual(e,t){return T("greaterEqual")}logicalNot(e){return T("logicalNot")}logicalAnd(e,t){return T("logicalAnd")}logicalOr(e,t){return T("logicalOr")}where(e){return T("where")}select(e,t,n){return T("select")}topk(e,t,n){return T("topk")}min(e,t){return T("min")}minimum(e,t){return T("minimum")}mod(e,t){return T("mod")}max(e,t){return T("max")}maximum(e,t){return T("maximum")}all(e,t){return T("all")}any(e,t){return T("any")}squaredDifference(e,t){return T("squaredDifference")}ceil(e){return T("ceil")}floor(e){return T("floor")}round(e){return T("round")}sign(e){return T("sign")}isNaN(e){return T("isNaN")}isInf(e){return T("isInf")}isFinite(e){return T("isFinite")}pow(e,t){return T("pow")}exp(e){return T("exp")}expm1(e){return T("expm1")}softmax(e,t){return T("softmax")}log(e){return T("log")}log1p(e){return T("log1p")}sqrt(e){return T("sqrt")}rsqrt(e){return T("rsqrt")}square(e){return T("square")}reciprocal(e){return T("reciprocal")}relu(e){return T("relu")}relu6(e){return T("relu6")}prelu(e,t){return T("prelu")}elu(e){return T("elu")}eluDer(e,t){return T("eluDer")}selu(e){return T("selu")}int(e){return T("int")}clip(e,t,n){return T("clip")}abs(e){return T("abs")}complexAbs(e){return T("complexAbs")}sigmoid(e){return T("sigmoid")}softplus(e){return T("softplus")}sin(e){return T("sin")}cos(e){return T("cos")}tan(e){return T("tan")}asin(e){return T("asin")}acos(e){return T("acos")}atan(e){return T("atan")}atan2(e,t){return T("atan2")}sinh(e){return T("sinh")}cosh(e){return T("cosh")}tanh(e){return T("tanh")}asinh(e){return T("asinh")}acosh(e){return T("acosh")}atanh(e){return T("atanh")}erf(e){return T("erf")}step(e,t){return T("step")}fusedConv2d({input:e,filter:t,convInfo:n,bias:r,activation:o,preluActivationWeights:i}){return T("fusedConv2d")}conv2d(e,t,n){return T("conv2d")}conv2dDerInput(e,t,n){return T("conv2dDerInput")}conv2dDerFilter(e,t,n){return T("conv2dDerFilter")}fusedDepthwiseConv2D({input:e,filter:t,convInfo:n,bias:r,activation:o,preluActivationWeights:i}){return T("fusedDepthwiseConv2D")}depthwiseConv2D(e,t,n){return T("depthwiseConv2D")}depthwiseConv2DDerInput(e,t,n){return T("depthwiseConv2DDerInput")}depthwiseConv2DDerFilter(e,t,n){return T("depthwiseConv2DDerFilter")}conv3d(e,t,n){return T("conv3d")}conv3dDerInput(e,t,n){return T("conv3dDerInput")}conv3dDerFilter(e,t,n){return T("conv3dDerFilter")}maxPool(e,t){return T("maxPool")}maxPoolBackprop(e,t,n,r){return T("maxPoolBackprop")}avgPool(e,t){return T("avgPool")}avgPoolBackprop(e,t,n){return T("avgPoolBackprop")}avgPool3d(e,t){return T("avgPool3d")}avgPool3dBackprop(e,t,n){return T("avgPool3dBackprop")}maxPool3d(e,t){return T("maxPool3d")}maxPool3dBackprop(e,t,n,r){return T("maxPool3dBackprop")}reshape(e,t){return T("reshape")}cast(e,t){return T("cast")}tile(e,t){return T("tile")}pad(e,t,n){return T("pad")}transpose(e,t){return T("transpose")}gather(e,t,n){return T("gather")}gatherND(e,t){return T("gatherND")}scatterND(e,t,n){return T("scatterND")}batchToSpaceND(e,t,n){return T("batchToSpaceND")}spaceToBatchND(e,t,n){return T("spaceToBatchND")}resizeBilinear(e,t,n,r){return T("resizeBilinear")}resizeBilinearBackprop(e,t,n){return T("resizeBilinearBackprop")}resizeNearestNeighbor(e,t,n,r){return T("resizeNearestNeighbor")}resizeNearestNeighborBackprop(e,t,n){return T("resizeNearestNeighborBackprop")}batchNorm(e,t,n,r,o,i){return T("batchNorm")}localResponseNormalization4D(e,t,n,r,o){return T("localResponseNormalization4D")}LRNGrad(e,t,n,r,o,i,a){return T("LRNGrad")}multinomial(e,t,n,r){return T("multinomial")}oneHot(e,t,n,r){return T("oneHot")}cumsum(e,t,n,r){return T("cumsum")}nonMaxSuppression(e,t,n,r,o){return T("nonMaxSuppression")}fft(e){return T("fft")}ifft(e){return T("ifft")}complex(e,t){return T("complex")}real(e){return T("real")}imag(e){return T("imag")}cropAndResize(e,t,n,r,o,i){return T("cropAndResize")}depthToSpace(e,t,n){return T("depthToSpace")}split(e,t,n){return T("split")}sparseToDense(e,t,n,r){return T("sparseToDense")}diag(e){return T("diag")}fill(e,t,n){return T("fill")}onesLike(e){return T("onesLike")}zerosLike(e){return T("zerosLike")}linspace(e,t,n){return T("linspace")}dispose(){return T("dispose")}}function T(e){throw new Error(`'${e}' not yet implemented or not found in the registry. Did you forget to import the kernel?`)}const bf={kernelName:xo,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>v(e,Dt(C(n,"float32"),-1))}}};const wf={kernelName:yo,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const r=H(C(n,"float32")),o=me(O(_(1),r));return ne(F(e,o))}}}};const xf={kernelName:Lo,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const r=me(O(H(C(n,"float32")),1));return F(e,r)}}}};const yf={kernelName:kn,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,o=q(n.shape,r.shape),i=()=>{let s=e;const c=ae(n.shape,o);return c.length>0&&(s=U(s,c)),y(s,n.shape)},a=()=>{let s=e;const c=ae(r.shape,o);return c.length>0&&(s=U(s,c)),y(s,r.shape)};return{a:i,b:a}}};const Lf={kernelName:vo,saveAllInputs:!0,gradFunc:(e,t)=>{const n={};return t.forEach((r,o)=>{n[o]=()=>e.clone()}),n}};const vf={kernelName:So,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>W(n)}}};const Sf={kernelName:Io,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>W(n)}}};const If={kernelName:To,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>F(e,me(O(_(1),H(C(n,"float32")))))}}};const Tf={kernelName:Ao,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const r=me(R(_(1),H(C(n,"float32"))));return F(e,r)}}}};const Af={kernelName:_o,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,o=q(n.shape,r.shape),i=()=>{const s=R(H(n),H(r));let c=v(e,F(r,s));const p=ae(n.shape,o);return p.length>0&&(c=U(c,p)),y(c,n.shape)},a=()=>{const s=R(H(n),H(r));let c=ne(v(e,F(n,s)));const p=ae(r.shape,o);return p.length>0&&(c=U(c,p)),y(c,r.shape)};return{a:i,b:a}}};const Nf={kernelName:No,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>F(e,R(H(C(n,"float32")),1))}}};const Rf={kernelName:Ro,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>F(e,O(_(1),H(C(n,"float32"))))}}};function XI(e,t,n,r,o=[1,1,1],i,a){const s=u(e,"dy","avgPool3dBackprop"),c=u(t,"input","avgPool3dBackprop");let p=s,l=c,h=!1;c.rank===4&&(h=!0,p=y(s,[1,s.shape[0],s.shape[1],s.shape[2],s.shape[3]]),l=y(c,[1,c.shape[0],c.shape[1],c.shape[2],c.shape[3]])),f(p.rank===5,()=>`Error in avgPool3dBackprop: dy must be rank 5 but got rank ${p.rank}.`),f(l.rank===5,()=>`Error in avgPool3dBackprop: input must be rank 5 but got rank ${l.rank}.`),f(le(r,o),()=>`Error in avgPool3dBackprop: Either strides or dilations must be 1. Got strides ${r} and dilations '${o}'`),a!=null&&f(X(i),()=>`Error in maxPool3dBackprop: pad must be an integer when using, dimRoundingMode ${a} but got pad ${i}.`);const d=L=>{const S=Qt(l.shape,n,r,o,i,a);return L.avgPool3dBackprop(p,l,S)},b={dy:p,input:l},x={filterSize:n,strides:r,dilations:o,pad:i,dimRoundingMode:a},w=g.runKernelFunc(d,b,null,Dc,x);return h?y(w,[w.shape[1],w.shape[2],w.shape[3],w.shape[4]]):w}const _f=m({avgPool3dBackprop_:XI});const Cf={kernelName:Eo,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{filterSize:o,strides:i,dilations:a,pad:s,dimRoundingMode:c}=n,p=a==null?[1,1,1]:a;return{x:()=>_f(e,r,o,i,p,s,c)}}};function ZI(e,t,n,r,o){const i=u(e,"dy","avgPoolBackprop"),a=u(t,"input","avgPoolBackprop");f(a.rank===i.rank,()=>`Rank of input (${a.rank}) does not match rank of dy (${i.rank})`);let s=a,c=i,p=!1;a.rank===3&&(p=!0,s=y(a,[1,a.shape[0],a.shape[1],a.shape[2]]),c=y(i,[1,i.shape[0],i.shape[1],i.shape[2]])),f(c.rank===4,()=>`Error in avgPoolBackprop: dy must be rank 4 but got rank ${c.rank}.`),f(s.rank===4,()=>`Error in avgPoolBackprop: input must be rank 4 but got rank ${s.rank}.`);const l=x=>{const w=_t(s.shape,n,r,1,o);return x.avgPoolBackprop(c,s,w)},h={dy:c,input:s},d={filterSize:n,strides:r,pad:o},b=g.runKernelFunc(l,h,null,kc,d);return p?y(b,[b.shape[1],b.shape[2],b.shape[3]]):b}const Ef=m({avgPoolBackprop_:ZI});const Of={kernelName:Co,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{filterSize:o,strides:i,pad:a}=n;return{x:()=>Ef(e,r,o,i,a)}}};const kf={kernelName:Oo,inputsToSave:["a","b"],gradFunc:(e,t,n)=>{const[r,o]=t,{transposeA:i,transposeB:a}=n;return!i&&!a?{a:()=>Y(e,o,!1,!0),b:()=>Y(r,e,!0,!1)}:!i&&a?{a:()=>Y(e,o,!1,!1),b:()=>Y(e,r,!0,!1)}:i&&!a?{a:()=>Y(o,e,!1,!0),b:()=>Y(r,e,!1,!1)}:{a:()=>Y(o,e,!0,!0),b:()=>Y(e,r,!0,!0)}}};const Df={kernelName:ko,gradFunc:(e,t,n)=>{const{blockShape:r,crops:o}=n;return{x:()=>Kn(e,r,o)}}};const Ff={kernelName:Do,gradFunc:(e,t,n)=>{const r=n,o=r.inputShape,i=r.shape,a=Array.from(i);for(let c=o.length-1;c>=0;c--)if(o[c]===i[c])a[c]=1;else if(o[c]!==1)throw new Error(`broadcastTo(): [${o}] cannot be broadcast to [${i}].`);const s=[];for(let c=0;c1&&s.push(c);return{x:()=>U(e,s,!0)}}};const Mf={kernelName:Dn,gradFunc:e=>({x:()=>e.clone()})};const Uf={kernelName:Fo,gradFunc:e=>({x:()=>W(e)})};const Wf={kernelName:Mo,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{clipValueMin:o,clipValueMax:i}=n;return{x:()=>Oe(Lt(ht(r,o),ut(r,i)),e,W(e))}}};const Bf={kernelName:Uo,saveAllInputs:!0,gradFunc:(e,t,n)=>{const r=t.map(c=>c.shape),{axis:o}=n,i=z(o,t[0].shape)[0],a=r.map(c=>c[i]),s=Yt(e,a,i);return s.map(c=>()=>c)}};const $f={kernelName:Wo,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const[r,o]=t,{dilations:i,strides:a,pad:s,dataFormat:c}=n;return f(ct(i),()=>`Error in gradient of conv2D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${i}'`),{x:()=>$r(r.shape,e,o,a,s,c),filter:()=>Hr(r,e,o.shape,a,s,c)}}};const jf={kernelName:Bo,inputsToSave:["dy","filter"],gradFunc:(e,t,n)=>{const[r,o]=t,{strides:i,pad:a,dataFormat:s,dimRoundingMode:c}=n;return{dy:()=>xe(e,o,i,a,s,1,c),filter:()=>Hr(e,r,o.shape,i,a,s,c)}}};function QI(e,t,n,r,o){let i=e;e.rank===4&&(i=y(e,[1,e.shape[0],e.shape[1],e.shape[2],e.shape[3]]));let a=t;a.rank===4&&(a=y(t,[1,t.shape[0],t.shape[1],t.shape[2],t.shape[3]])),f(i.rank===5,()=>`Error in conv3dDerFilter: input must be rank 5, but got shape ${i.shape}.`),f(a.rank===5,()=>`Error in conv3dDerFilter: dy must be rank 5, but got shape ${a.shape}.`),f(n.length===5,()=>`Error in conv3dDerFilter: filterShape must be length 5, but got ${n}.`),f(i.shape[4]===n[3],()=>`Error in conv3dDerFilter: depth of input ${i.shape[4]}) must match input depth in filter (${n[3]}.`),f(a.shape[4]===n[4],()=>`Error in conv3dDerFilter: depth of dy (${a.shape[4]}) must match output depth for filter (${n[4]}).`);const s=l=>{const h=1,d=Ln(i.shape,n,r,h,o);return l.conv3dDerFilter(i,a,d)},c={x:i,y:a},p={strides:r,pad:o};return g.runKernelFunc(s,c,null,Uc,p)}const Gf=m({conv3DBackpropFilter_:QI});const Pf={kernelName:$o,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const{dilations:r,strides:o,pad:i}=n;f(ct(r),()=>`Error in gradient of conv3D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${r}'`);const[a,s]=t;return{x:()=>Oa(a.shape,e,s,o,i),filter:()=>Gf(a,e,s.shape,o,i)}}};const qf={kernelName:jo,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>v(ne(Cs(C(n,"float32"))),e)}}};const Hf={kernelName:Go,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>v(Es(C(n,"float32")),e)}}};const zf={kernelName:Po,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{axis:o,exclusive:i,reverse:a}=n;return{x:()=>{const s=ge([o],r.rank);let c=fs(e,o,i,!a);return s!=null&&(c=K(c,s)),c}}}};const Yf={kernelName:qo,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const{dilations:r,strides:o,pad:i,dimRoundingMode:a}=n,s=r==null?[1,1]:r;f(ct(s),()=>`Error in gradient of depthwiseConv2dNative: dilation rates greater than 1 are not yet supported. Got dilations '${s}'`);const[c,p]=t;f(c.rank===4,()=>`Error in gradient of depthwiseConv2dNative: input must be rank 4, but got rank ${c.rank}.`),f(p.rank===4,()=>`Error in gradient of depthwiseConv2dNative: filter must be rank 4, but got rank ${p.rank}.`),f(c.shape[3]===p.shape[2],()=>`Error in gradient of depthwiseConv2d: number of input channels (${c.shape[3]}) must match the inChannels dimension in filter ${p.shape[2]}.`),f(le(o,s),()=>`Error in gradient of depthwiseConv2d: Either strides or dilations must be 1. Got strides ${o} and dilations '${s}'.`),a!=null&&f(X(i),()=>`Error in depthwiseConv2d: pad must be an integer when using, dimRoundingMode ${a} but got pad ${i}.`);const l=je(c.shape,p.shape,o,s,i,a,!0);return{x:()=>ja(c.shape,e,p,l),filter:()=>$a(c,e,p.shape,l)}}};const Vf={kernelName:Ho,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const[r,o]=t,i={x:r,filter:o,dy:e},a={x:r,filter:o,dy:e};return{x:()=>g.runKernel(qc,i,n),filter:()=>g.runKernel(Hc,a,n)}}};const Kf={kernelName:zo,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,o=q(n.shape,r.shape),i=()=>{const s=F(e,C(r,"float32")),c=ae(n.shape,o);return c.length>0?y(U(s,c),n.shape):s},a=()=>{let s=v(e,C(n,"float32"));const c=ae(r.shape,o);c.length>0&&(s=y(U(s,c),r.shape));const p=H(r);return ne(F(s,C(p,"float32")))};return{a:i,b:a}}};const Jf={kernelName:Yo,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t,r=i=>i.eluDer(e,n),o={dy:e,y:n};return{x:()=>g.runKernelFunc(r,o,null,zc)}}};const Xf={kernelName:Vo,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t,r=v(Se(ne(H(n))),2/Math.sqrt(Math.PI));return{x:()=>v(e,r)}}};const Zf={kernelName:Ko,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t;return{x:()=>v(e,n)}}};const Qf={kernelName:Jo,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>v(e,Se(n))}}};const eg={kernelName:Xo,gradFunc:e=>({x:()=>W(e)})};const tg={kernelName:Zo,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,o=q(n.shape,r.shape),i=()=>{const s=F(e,C(r,"float32")),c=ae(n.shape,o);return c.length>0?y(U(s,c),n.shape):s},a=()=>{let s=v(e,C(n,"float32"));const c=ae(r.shape,o);c.length>0&&(s=y(U(s,c),r.shape));const p=H(r);return ne(F(s,C(p,"float32")))};return{a:i,b:a}}};const ng={kernelName:Qo,inputsToSave:["x","mean","variance","scale"],gradFunc:(e,t,n)=>{const{varianceEpsilon:r}=n,[o,i,a,s]=t,c=s==null?_(1):s,p=ae(i.shape,o.shape),l=[];if(i.rank===1){for(let A=0;Ai.rank===1?y(v(v(e,Ot(y(b,[1,1,1,i.shape[0]]),l)),c),o.shape):y(v(v(e,b),c),o.shape),L=()=>{let A=v(v(b,_(-1)),d);return i.rank===1&&(A=U(A,p)),y(A,i.shape)},S=()=>{let A=v(v(x,h),d);return i.rank===1&&(A=U(A,p)),y(A,i.shape)},I=()=>{const A=v(h,b);let E=v(e,A);return i.rank===1&&(E=U(E,p)),y(E,i.shape)},N=()=>{let A=e;return i.rank===1&&(A=U(A,p)),y(A,i.shape)};return{x:w,mean:L,variance:S,scale:I,offset:N}}};const ig={kernelName:ei,inputsToSave:["x","indices"],gradFunc:(e,t,n)=>{const[r,o]=t,{axis:i}=n,a=z(i,r.shape)[0],s=()=>{const c=r.shape,p=o.size,l=c.slice(0,a),h=l.length,d=c.slice(i,c.length).slice(1),b=d.length,x=rg(0,h),w=rg(h+1,h+1+b),L=og([l,[p],d]),S=y(e,L),I=y(o,[p]),N=og([[h],x,w]),A=K(S,N);let E=ks(A,I,r.shape[a]);const M=Un(N);return E=K(E,M),E};return{x:s,indices:()=>o}}};function rg(e,t){const n=[];for(let r=e;r{const[n,r]=t;return{a:()=>W(n),b:()=>W(r)}}};const ag={kernelName:ni,gradFunc:e=>({x:()=>C(e,"float32")})};const cg={kernelName:ri,gradFunc:e=>({x:()=>W(e)})};const pg={kernelName:oi,gradFunc:e=>({x:()=>W(e)})};const lg={kernelName:ii,gradFunc:e=>({x:()=>W(e)})};const hg={kernelName:ai,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>F(e,R(n,1))}}};const ug={kernelName:si,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>F(e,C(n,"float32"))}}};const dg={kernelName:ci,inputsToSave:[],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[r]=t,{axis:o}=n;return{logits:()=>{const i=!0,a=Se(r);return O(e,v(U(e,o,i),a))}}}};function eT(e,t,n,r=5,o=1,i=1,a=.5){const s=l=>l.LRNGrad(n,e,t,r,o,i,a),c={x:e,y:t,dy:n},p={depthRadius:r,bias:o,alpha:i,beta:a};return g.runKernelFunc(s,c,null,ap,p)}const mg=m({localResponseNormalizationBackprop_:eT});const fg={kernelName:pi,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[r,o]=t,{depthRadius:i,bias:a,alpha:s,beta:c}=n;return{x:()=>mg(r,o,e,i,a,s,c)}}};function Ja(e,t,n,r,o){return t.rank{const i=v(e,C(tn(n,t),e.dtype));return o==null?i:K(i,o)}}}const Kh={kernelName:li,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const r=n,{reductionIndices:o}=r,[i,a]=t,s=z(o,i.shape),c=ge(s,i.rank),p=Ja(e,a,i,s,c);return{x:()=>{let l=p.x();return c!=null&&(l=K(l)),l}}}};const gg={kernelName:hi,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,o=()=>v(e,C(ht(n,r),"float32")),i=()=>v(e,C(Hn(n,r),"float32"));return{a:o,b:i}}};function tT(e,t,n,r,o,i=[1,1,1],a,s){const c=u(e,"dy","maxPool3dBackprop"),p=u(t,"input","maxPool3dBackprop"),l=u(n,"output","maxPool3dBackprop");let h=c,d=p,b=l,x=!1;p.rank===4&&(x=!0,h=y(c,[1,c.shape[0],c.shape[1],c.shape[2],c.shape[3]]),d=y(p,[1,p.shape[0],p.shape[1],p.shape[2],p.shape[3]]),b=y(l,[1,l.shape[0],l.shape[1],l.shape[2],l.shape[3]])),f(h.rank===5,()=>`Error in maxPool3dBackprop: dy must be rank 5 but got rank ${h.rank}.`),f(d.rank===5,()=>`Error in maxPool3dBackprop: input must be rank 5 but got rank ${d.rank}.`),f(b.rank===5,()=>`Error in maxPool3dBackprop: output must be rank 5 but got rank ${b.rank}.`),f(le(o,i),()=>`Error in maxPool3dBackprop: Either strides or dilations must be 1. Got strides ${o} and dilations '${i}'`),s!=null&&f(X(a),()=>`Error in maxPool3dBackprop: pad must be an integer when using, dimRoundingMode ${s} but got pad ${a}.`);const w=N=>{const A=Qt(d.shape,r,o,i,a,s);return N.maxPool3dBackprop(h,d,b,A)},L={dy:h,input:d,output:b},S={filterSize:r,strides:o,dilations:i,pad:a,dimRoundingMode:s},I=g.runKernelFunc(w,L,null,pp,S);return x?y(I,[I.shape[1],I.shape[2],I.shape[3],I.shape[4]]):I}const bg=m({maxPool3dBackprop_:tT});const wg={kernelName:di,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[r,o]=t,{filterSize:i,strides:a,dilations:s,pad:c,dimRoundingMode:p}=n,l=s==null?[1,1,1]:s;return{x:()=>bg(e,r,o,i,a,l,c,p)}}};function nT(e,t,n,r,o,i,a){const s=u(e,"dy","maxPoolBackprop"),c=u(t,"input","maxPoolBackprop"),p=u(n,"output","maxPoolBackprop");f(c.rank===s.rank,()=>`Rank of input (${c.rank}) does not match rank of dy (${s.rank})`),f(s.rank===4,()=>`Error in maxPoolBackprop: dy must be rank 4 but got rank ${s.rank}.`),f(c.rank===4,()=>`Error in maxPoolBackprop: input must be rank 4 but got rank ${c.rank}.`),a!=null&&f(X(i),()=>`Error in maxPoolBackprop: pad must be an integer when using, dimRoundingMode ${a} but got pad ${i}.`);const l=b=>{const x=_t(c.shape,r,o,1,i,a);return b.maxPoolBackprop(s,c,p,x)},h={dy:s,input:c,output:p},d={filterSize:r,strides:o,pad:i,dimRoundingMode:a};return g.runKernelFunc(l,h,null,cp,d)}const xg=m({maxPoolBackprop_:nT});const yg={kernelName:ui,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[r,o]=t,{filterSize:i,strides:a,pad:s}=n;return{x:()=>xg(e,r,o,i,a,s)}}};const Lg={kernelName:mi,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const r=n,{axis:o}=r,[i,a]=t,s=z(o,i.shape),c=ge(s,i.rank),p=Ja(e,a,i,s,c);return{x:()=>{let l=p.x();return c!=null&&(l=K(l)),l}}}};const vg={kernelName:fi,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,o=()=>v(e,C(ut(n,r),"float32")),i=()=>v(e,C(tt(n,r),"float32"));return{a:o,b:i}}};const Sg={kernelName:gi,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,o=q(n.shape,r.shape),i=()=>{const s=ae(n.shape,o);return s.length>0?y(U(e,s),n.shape):e},a=()=>{const s=v(e,ne(Pn(F(n,r)))),c=ae(r.shape,o);return c.length>0?y(U(s,c),r.shape):s};return{a:i,b:a}}};const Ig={kernelName:bi,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,o=q(n.shape,r.shape),i=()=>{const s=v(e,C(r,"float32")),c=ae(n.shape,o);return c.length>0?y(U(s,c),n.shape):s},a=()=>{const s=v(e,C(n,"float32")),c=ae(r.shape,o);return c.length>0?y(U(s,c),r.shape):s};return{a:i,b:a}}};const Tg={kernelName:wi,gradFunc:e=>({x:()=>ne(e)})};const Ag={kernelName:yi,inputsToSave:["indices"],gradFunc:(e,t)=>{const n=t[0];return{indices:()=>Ce(n.shape,"float32")}}};const Ng={kernelName:xi,gradFunc:e=>({x:()=>W(e)})};const Jh={kernelName:Li,inputsToSave:["x"],gradFunc:(e,t,n)=>{const r=t[0],{paddings:o}=n,i=o.map(a=>a[0]);return{x:()=>G(e,i,r.shape)}}};const Rg={kernelName:vi,inputsToSave:["a","b"],outputsToSave:[!0],gradFunc:(e,t)=>{const[n,r,o]=t,i=n,a=r,s=q(i.shape,a.shape),c=()=>{const l=C(a,"float32");let h=v(e,v(l,Je(i,O(l,_(1)))));const d=ae(i.shape,s);return d.length>0&&(h=U(h,d)),y(h,i.shape)},p=()=>{const l=tt(i,0),h=Oe(l,yt(i),W(i));let d=v(e,v(o,h));const b=ae(a.shape,s);return b.length>0&&(d=U(d,b)),y(d,a.shape)};return{a:c,b:p}}};const _g={kernelName:Si,inputsToSave:["x","alpha"],gradFunc:(e,t)=>{const[n,r]=t,o=tt(n,0);return{x:()=>Oe(o,e,v(e,r)),alpha:()=>{let i=Oe(o,W(e),v(e,n));const a=ae(r.shape,e.shape);return a.length>0&&(i=U(i,a)),y(i,r.shape)}}}};const Cg={kernelName:Ii,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>F(e,ne(H(n)))}}};const Eg={kernelName:_i,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t,r=v(ut(n,6),Dt(n));return{x:()=>v(e,C(r,"float32"))}}};const Og={kernelName:Ti,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>v(e,C(Dt(n),"float32"))}}};const kg={kernelName:Ai,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>y(e,n.shape)}}};const Dg={kernelName:Ri,inputsToSave:["images"],gradFunc:(e,t,n)=>{const[r]=t,o=s=>{const{alignCorners:c}=n;return s.resizeBilinearBackprop(e,r,c)},i={images:r},a=()=>g.runKernelFunc(o,i,null,xp,n);return{images:a}}};const Fg={kernelName:Ni,inputsToSave:["images"],gradFunc:(e,t,n)=>{const[r]=t,o=s=>{const{alignCorners:c}=n;return s.resizeNearestNeighborBackprop(e,r,c)},i={images:r},a=()=>g.runKernelFunc(o,i,null,wp,n);return{images:a}}};const Mg={kernelName:Ci,gradFunc:(e,t,n)=>{const{dims:r}=n,o=z(r,e.shape);return{x:()=>Ve(e,o)}}};const Ug={kernelName:Ei,gradFunc:e=>({x:()=>W(e)})};const Wg={kernelName:Oi,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>ne(F(e,v(Je(n,1.5),2)))}}};const Bg={kernelName:ki,inputsToSave:["condition"],gradFunc:(e,t)=>{const[n]=t;return{condition:()=>C(W(n),"float32"),t:()=>v(e,C(n,e.dtype)),e:()=>v(e,C(zn(n),e.dtype))}}};const $g={kernelName:Di,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const r=tt(n,_(0)),o=_(Yh),i=_(Vh),a=v(e,i),s=v(v(e,o),Se(C(n,"float32")));return Oe(r,a,s)}}}};const jg={kernelName:Bi,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t;return{x:()=>v(e,v(n,O(_(1),n)))}}};const Gg={kernelName:Wi,gradFunc:e=>({x:()=>W(e)})};const Pg={kernelName:Mi,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>v(jn(C(n,"float32")),e)}}};const qg={kernelName:Ui,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>v(ms(C(n,"float32")),e)}}};const Hg={kernelName:Fi,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{begin:o,size:i}=n,a=r.shape,[s,c]=ds(r,o,i),p=[];for(let l=0;lPe(e,p)}}};const zg={kernelName:Hi,outputsToSave:[!0],gradFunc:(e,t,n)=>{const[r]=t,{dim:o}=n,i=!0,a=v(e,r);return{logits:()=>O(a,v(U(a,[o],i),r))}}};const Yg={kernelName:$i,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>v(e,lt(n))}}};const Xh={kernelName:Pi,gradFunc:(e,t,n)=>{const{blockShape:r,paddings:o}=n;return{x:()=>Bn(e,r,o)}}};const Zh={kernelName:qi,gradFunc:(e,t,n)=>{const{axis:r}=n;return{x:()=>Z(e,r)}}};const Vg={kernelName:ji,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>F(e,v(me(C(n,"float32")),2))}}};const Kg={kernelName:Lp,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>v(e,v(C(n,"float32"),2))}}};const Jg={kernelName:zi,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,o=_(2),i=()=>v(e,v(o,O(n,r))),a=()=>v(e,v(o,O(r,n)));return{a:i,b:a}}};const Xg={kernelName:ts,gradFunc:e=>({x:()=>W(e)})};const Zg={kernelName:Yi,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,o=q(n.shape,r.shape),i=()=>{let s=e;const c=ae(n.shape,o);return c.length>0&&(s=U(s,c)),y(s,n.shape)},a=()=>{let s=e;const c=ae(r.shape,o);return c.length>0&&(s=U(s,c)),y(ne(s),r.shape)};return{a:i,b:a}}};const Qg={kernelName:Gi,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,o=r.shape.slice(),{axis:i}=n,a=z(i,r.shape);a.forEach(p=>{o[p]=1});const s=y(e,o),c=v(s,vt(r.shape,"float32"));return{x:()=>c}}};const eb={kernelName:Vi,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>F(e,H(jn(n)))}}};const tb={kernelName:Ki,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t;return{x:()=>v(O(_(1),H(n)),e)}}};const nb={kernelName:Ji,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{reps:o}=n,i=()=>{let a=W(r);if(r.rank===1)for(let s=0;s{const r=n,{perm:o}=r,i=Un(o);return{x:()=>K(e,i)}}};const ob={kernelName:Zi,gradFunc:(e,t,n)=>{const r=n,{axis:o}=r;return{value:()=>ke(e,o)}}};const ib={kernelName:Qi,inputsToSave:["segmentIds"],gradFunc:(e,t)=>{const[n]=t,r=()=>rT(e,n);return{x:r}}};function rT(e,t){const n=kt(t,W(t)),r=qn(e,n);let o=ht(t,_(0,"int32"));const i=r.rank-o.rank;for(let s=0;s({x:()=>W(e)})};const oT=[bf,wf,xf,yf,Lf,vf,Sf,If,Tf,Af,Nf,Rf,Cf,Of,kf,Df,Ff,Mf,Uf,Wf,Bf,jf,$f,Pf,qf,Hf,zf,Yf,Vf,Kf,Jf,Xf,Zf,Qf,tg,eg,ng,ig,sg,ag,cg,pg,lg,hg,ug,dg,fg,Kh,Kh,gg,wg,yg,Lg,vg,Sg,Ig,Tg,Ag,Ng,Jh,Jh,Rg,_g,Cg,Eg,Og,kg,Dg,Fg,Mg,Ug,Wg,Bg,$g,jg,Gg,Pg,qg,Hg,zg,Yg,Xh,Xh,Zh,Zh,Vg,Jg,Kg,Xg,Zg,Qg,eb,tb,nb,rb,ob,ib,sb];for(const e of oT)Np(e);const Ys={};Re(Ys,{Abs:()=>xo,Acos:()=>yo,Acosh:()=>Lo,AdadeltaOptimizer:()=>sr,AdagradOptimizer:()=>ar,AdamOptimizer:()=>cr,AdamaxOptimizer:()=>pr,Add:()=>kn,AddN:()=>vo,All:()=>Ec,Any:()=>Oc,ArgMax:()=>So,ArgMin:()=>Io,Asin:()=>To,Asinh:()=>Ao,Atan:()=>No,Atan2:()=>_o,Atanh:()=>Ro,AvgPool:()=>Co,AvgPool3D:()=>Eo,AvgPool3DBackprop:()=>Dc,AvgPoolBackprop:()=>kc,BatchMatMul:()=>Oo,BatchToSpaceND:()=>ko,BroadcastTo:()=>Do,Cast:()=>Dn,Ceil:()=>Fo,ClipByValue:()=>Mo,Complex:()=>Fc,Concat:()=>Uo,Conv2D:()=>Wo,Conv2DBackpropFilter:()=>Mc,Conv2DBackpropInput:()=>Bo,Conv3D:()=>$o,Conv3DBackpropFilterV2:()=>Uc,Conv3DBackpropInputV2:()=>Wc,Cos:()=>jo,Cosh:()=>Go,CropAndResize:()=>Bc,Cumsum:()=>Po,DataStorage:()=>KI,DepthToSpace:()=>$c,DepthwiseConv2dNative:()=>qo,DepthwiseConv2dNativeBackpropFilter:()=>jc,DepthwiseConv2dNativeBackpropInput:()=>Gc,Diag:()=>Pc,Dilation2D:()=>Ho,Dilation2DBackpropFilter:()=>Hc,Dilation2DBackpropInput:()=>qc,Div:()=>zo,ENV:()=>Nc,Elu:()=>Yo,EluGrad:()=>zc,Environment:()=>Ac,Equal:()=>Yc,Erf:()=>Vo,Exp:()=>Ko,Expm1:()=>Jo,FFT:()=>Vc,Fill:()=>Kc,FlipLeftRight:()=>Jc,Floor:()=>Xo,FloorDiv:()=>Zo,FromPixels:()=>La,FusedBatchNorm:()=>Qo,FusedConv2D:()=>Sa,FusedDepthwiseConv2D:()=>Ia,GatherNd:()=>Xc,GatherV2:()=>ei,Greater:()=>Zc,GreaterEqual:()=>ti,IFFT:()=>Qc,Identity:()=>ni,Imag:()=>ep,IsFinite:()=>ri,IsInf:()=>oi,IsNan:()=>ii,KernelBackend:()=>JI,LRN:()=>pi,LRNBackprop:()=>ap,Less:()=>tp,LessEqual:()=>np,LinSpace:()=>rp,Log:()=>si,Log1p:()=>ai,LogSoftmax:()=>ci,LogicalAnd:()=>op,LogicalNot:()=>ip,LogicalOr:()=>sp,Max:()=>li,MaxPool:()=>ui,MaxPool3D:()=>di,MaxPool3DBackprop:()=>pp,MaxPoolBackprop:()=>cp,MaxPoolWithArgmax:()=>lp,Maximum:()=>hi,Mean:()=>cw,Min:()=>mi,Minimum:()=>fi,Mod:()=>gi,MomentumOptimizer:()=>lr,Multiply:()=>bi,Negate:()=>wi,NonMaxSuppressionV3:()=>up,NonMaxSuppressionV4:()=>dp,NonMaxSuppressionV5:()=>mp,NotEqual:()=>hp,OneHot:()=>yi,OnesLike:()=>xi,Optimizer:()=>ot,PadV2:()=>Li,Pool:()=>pw,Pow:()=>vi,Prelu:()=>Si,Prod:()=>fp,RMSPropOptimizer:()=>hr,Range:()=>gp,Rank:()=>Up,Real:()=>bp,Reciprocal:()=>Ii,Reduction:()=>be,Relu:()=>Ti,Relu6:()=>_i,Reshape:()=>Ai,ResizeBilinear:()=>Ri,ResizeBilinearGrad:()=>xp,ResizeNearestNeighbor:()=>Ni,ResizeNearestNeighborGrad:()=>wp,Reverse:()=>Ci,RotateWithOffset:()=>Tp,Round:()=>Ei,Rsqrt:()=>Oi,SGDOptimizer:()=>on,ScatterNd:()=>yp,SelectV2:()=>ki,Selu:()=>Di,Sigmoid:()=>Bi,Sign:()=>Wi,Sin:()=>Mi,Sinh:()=>Ui,Slice:()=>Fi,Softmax:()=>Hi,Softplus:()=>$i,SpaceToBatchND:()=>Pi,SparseToDense:()=>vp,SplitV:()=>qi,Sqrt:()=>ji,Square:()=>Lp,SquaredDifference:()=>zi,Step:()=>ts,StridedSlice:()=>Sp,Sub:()=>Yi,Sum:()=>Gi,Tan:()=>Vi,Tanh:()=>Ki,Tensor:()=>ee,TensorBuffer:()=>Dr,Tile:()=>Ji,TopK:()=>Ip,Transpose:()=>Xi,Unpack:()=>Zi,UnsortedSegmentSum:()=>Qi,Variable:()=>Ht,ZerosLike:()=>es,_FusedMatMul:()=>va,abs:()=>Ee,acos:()=>qp,acosh:()=>Hp,add:()=>R,addN:()=>zp,addStrict:()=>tm,all:()=>Kp,any:()=>Jp,argMax:()=>Xp,argMin:()=>Zp,asin:()=>Qp,asinh:()=>el,atan:()=>tl,atan2:()=>nl,atanh:()=>rl,avgPool:()=>pt,avgPool3d:()=>al,backend:()=>Tx,backend_util:()=>uf,basicLSTMCell:()=>wl,batchNorm:()=>Ct,batchNorm2d:()=>xl,batchNorm3d:()=>yl,batchNorm4d:()=>Ll,batchToSpaceND:()=>Bn,booleanMaskAsync:()=>Vd,broadcastTo:()=>Br,browser:()=>Kr,buffer:()=>Be,cast:()=>C,ceil:()=>vl,clipByValue:()=>$n,clone:()=>Et,complex:()=>Ye,concat:()=>Z,concat1d:()=>Sl,concat2d:()=>Il,concat3d:()=>Tl,concat4d:()=>Al,conv1d:()=>Nl,conv2d:()=>xe,conv2dTranspose:()=>Rl,conv3d:()=>_l,conv3dTranspose:()=>Cl,cos:()=>jn,cosh:()=>ms,cosineWindow:()=>qr,cumsum:()=>fs,customGrad:()=>Ke,deprecationWarn:()=>Le,depthToSpace:()=>El,depthwiseConv2d:()=>en,device_util:()=>Fd,diag:()=>Ol,dilation2d:()=>kl,disableDeprecationWarnings:()=>ux,dispose:()=>ve,disposeVariables:()=>dx,div:()=>F,divNoNan:()=>Dl,divStrict:()=>nm,dot:()=>Fl,dropout:()=>xm,elu:()=>bs,enableDebugMode:()=>hx,enableProdMode:()=>lx,enclosingPowerOfTwo:()=>Ba,engine:()=>mx,env:()=>pe,equal:()=>tn,equalStrict:()=>Kd,erf:()=>Ml,exp:()=>Se,expandDims:()=>et,expm1:()=>Ul,eye:()=>ws,fft:()=>Gn,fill:()=>Ge,findBackend:()=>vx,findBackendFactory:()=>Sx,floor:()=>Pn,floorDiv:()=>gs,fused:()=>Fh,gather:()=>qn,gatherND:()=>bm,gather_util:()=>pf,getBackend:()=>yx,getGradient:()=>Ta,getKernel:()=>rs,getKernelsForBackend:()=>Aa,grad:()=>Ky,grads:()=>Jy,greater:()=>tt,greaterEqual:()=>ht,greaterEqualStrict:()=>Jd,greaterStrict:()=>Xd,ifft:()=>vn,imag:()=>nn,image:()=>Ya,inTopKAsync:()=>ym,io:()=>Vr,irfft:()=>xs,isFinite:()=>Bl,isInf:()=>$l,isNaN:()=>jl,keep:()=>sl,kernel_impls:()=>gf,leakyRelu:()=>Gl,less:()=>Hn,lessEqual:()=>ut,lessEqualStrict:()=>Zd,lessStrict:()=>Qd,linalg:()=>Jm,linspace:()=>Pl,localResponseNormalization:()=>ql,log:()=>yt,log1p:()=>ys,logSigmoid:()=>zl,logSoftmax:()=>Yl,logSumExp:()=>vs,logicalAnd:()=>Lt,logicalNot:()=>zn,logicalOr:()=>Ss,logicalXor:()=>Vl,losses:()=>Xm,matMul:()=>Y,math:()=>cf,max:()=>dt,maxPool:()=>Ae,maxPool3d:()=>Kl,maxPoolWithArgmax:()=>Jl,maximum:()=>kt,maximumStrict:()=>rm,mean:()=>Sn,memory:()=>fx,min:()=>In,minimum:()=>Yn,minimumStrict:()=>om,mod:()=>Is,modStrict:()=>im,moments:()=>Xl,movingAverage:()=>hm,mul:()=>v,mulStrict:()=>sm,multiRNNCell:()=>Zl,multinomial:()=>Ql,neg:()=>ne,nextFrame:()=>LI,norm:()=>Pr,notEqual:()=>Vn,notEqualStrict:()=>em,oneHot:()=>jr,ones:()=>vt,onesLike:()=>Fa,op:()=>m,outerProduct:()=>eh,pad:()=>Pe,pad1d:()=>th,pad2d:()=>nh,pad3d:()=>rh,pad4d:()=>oh,pool:()=>ih,pow:()=>Je,powStrict:()=>am,prelu:()=>Ts,print:()=>sh,prod:()=>ah,profile:()=>gx,rand:()=>ch,randomGamma:()=>uh,randomNormal:()=>dh,randomUniform:()=>Ns,range:()=>Gr,ready:()=>xx,real:()=>zt,reciprocal:()=>mh,registerBackend:()=>Ix,registerGradient:()=>Np,registerKernel:()=>lw,relu:()=>ie,relu6:()=>Rs,removeBackend:()=>Lx,reshape:()=>y,reverse:()=>Ve,reverse1d:()=>fh,reverse2d:()=>gh,reverse3d:()=>bh,reverse4d:()=>wh,rfft:()=>Jn,round:()=>yh,rsqrt:()=>_s,scalar:()=>_,scatterND:()=>mm,scatter_util:()=>um,selu:()=>Lh,separableConv2d:()=>Xn,serialization:()=>hf,setBackend:()=>wx,setPlatform:()=>Ax,setdiff1dAsync:()=>vh,sigmoid:()=>lt,sign:()=>Sh,signal:()=>Km,sin:()=>Cs,sinh:()=>Es,slice:()=>G,slice1d:()=>Ih,slice2d:()=>Th,slice3d:()=>Os,slice4d:()=>Ah,slice_util:()=>Bd,softmax:()=>rn,softplus:()=>Ls,spaceToBatchND:()=>Kn,sparseToDense:()=>gm,spectral:()=>Vm,split:()=>Yt,sqrt:()=>me,square:()=>H,squaredDifference:()=>Zn,squaredDifferenceStrict:()=>cm,squeeze:()=>Qn,stack:()=>ke,step:()=>Dt,stridedSlice:()=>Nh,sub:()=>O,subStrict:()=>pm,sum:()=>U,sumOutType:()=>Ow,tan:()=>Rh,tanh:()=>Wr,tensor:()=>ze,tensor1d:()=>ce,tensor2d:()=>mt,tensor3d:()=>er,tensor4d:()=>ft,tensor5d:()=>_h,tensor6d:()=>Ch,tensor_util:()=>Od,test_util:()=>qd,tidy:()=>k,tile:()=>Ot,time:()=>bx,topk:()=>Eh,train:()=>xI,transpose:()=>K,truncatedNormal:()=>Oh,unregisterGradient:()=>uw,unregisterKernel:()=>hw,unsortedSegmentSum:()=>ks,unstack:()=>Ie,upcastType:()=>Mr,util:()=>bd,valueAndGrad:()=>Xy,valueAndGrads:()=>Zy,variable:()=>kh,variableGrads:()=>Hl,version_core:()=>wI,where:()=>Oe,whereAsync:()=>Ds,zeros:()=>Ce,zerosLike:()=>W});function sn(e,t,n=!1){if(e.beginPath(),t.slice(1).forEach(({x:r,y:o},i)=>{const a=t[i];e.moveTo(a.x,a.y),e.lineTo(r,o)}),n){const r=t[t.length-1],o=t[0];if(!r||!o)return;e.moveTo(r.x,r.y),e.lineTo(o.x,o.y)}e.stroke()}class Qe{constructor(e,t){if(!Mt(e)||!Mt(t))throw new Error(`Dimensions.constructor - expected width and height to be valid numbers, instead have ${JSON.stringify({width:e,height:t})}`);this._width=e,this._height=t}get width(){return this._width}get height(){return this._height}reverse(){return new Qe(1/this.width,1/this.height)}}const Ks={};Re(Ks,{computeReshapedDimensions:()=>tu,getCenterPoint:()=>mr,isDimensions:()=>Za,isEven:()=>Xa,isFloat:()=>eu,isTensor:()=>ur,isTensor1D:()=>iT,isTensor2D:()=>Qh,isTensor3D:()=>an,isTensor4D:()=>gt,isValidNumber:()=>Mt,isValidProbablitiy:()=>Xr,range:()=>Vt,round:()=>dr});function ur(e,t){return e instanceof ee&&e.shape.length===t}function iT(e){return ur(e,1)}function Qh(e){return ur(e,2)}function an(e){return ur(e,3)}function gt(e){return ur(e,4)}function eu(e){return e%1!==0}function Xa(e){return e%2===0}function dr(e,t=2){const n=Math.pow(10,t);return Math.floor(e*n)/n}function Za(e){return e&&e.width&&e.height}function tu({width:e,height:t},n){const r=n/Math.max(t,e);return new Qe(Math.round(e*r),Math.round(t*r))}function mr(e){return e.reduce((t,n)=>t.add(n),new J(0,0)).div(new J(e.length,e.length))}function Vt(e,t,n){return Array(e).fill(0).map((r,o)=>t+o*n)}function Mt(e){return!!e&&e!==Infinity&&e!==-Infinity&&!isNaN(e)||e===0}function Xr(e){return Mt(e)&&0<=e&&e<=1}class J{constructor(e,t){this._x=e,this._y=t}get x(){return this._x}get y(){return this._y}add(e){return new J(this.x+e.x,this.y+e.y)}sub(e){return new J(this.x-e.x,this.y-e.y)}mul(e){return new J(this.x*e.x,this.y*e.y)}div(e){return new J(this.x/e.x,this.y/e.y)}abs(){return new J(Math.abs(this.x),Math.abs(this.y))}magnitude(){return Math.sqrt(Math.pow(this.x,2)+Math.pow(this.y,2))}floor(){return new J(Math.floor(this.x),Math.floor(this.y))}}class de{constructor(e,t=!0){const n=e||{},r=[n.left,n.top,n.right,n.bottom].every(Mt),o=[n.x,n.y,n.width,n.height].every(Mt);if(!o&&!r)throw new Error(`Box.constructor - expected box to be IBoundingBox | IRect, instead have ${JSON.stringify(n)}`);const[i,a,s,c]=o?[n.x,n.y,n.width,n.height]:[n.left,n.top,n.right-n.left,n.bottom-n.top];de.assertIsValidBox({x:i,y:a,width:s,height:c},"Box.constructor",t),this._x=i,this._y=a,this._width=s,this._height=c}static isRect(e){return!!e&&[e.x,e.y,e.width,e.height].every(Mt)}static assertIsValidBox(e,t,n=!1){if(!de.isRect(e))throw new Error(`${t} - invalid box: ${JSON.stringify(e)}, expected object with properties x, y, width, height`);if(!n&&(e.width<0||e.height<0))throw new Error(`${t} - width (${e.width}) and height (${e.height}) must be positive numbers`)}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 J(this.left,this.top)}get topRight(){return new J(this.right,this.top)}get bottomLeft(){return new J(this.left,this.bottom)}get bottomRight(){return new J(this.right,this.bottom)}round(){const[e,t,n,r]=[this.x,this.y,this.width,this.height].map(o=>Math.round(o));return new de({x:e,y:t,width:n,height:r})}floor(){const[e,t,n,r]=[this.x,this.y,this.width,this.height].map(o=>Math.floor(o));return new de({x:e,y:t,width:n,height:r})}toSquare(){let{x:e,y:t,width:n,height:r}=this;const o=Math.abs(n-r);return nt&&(a=-l+t+n,l=t),h>e&&(s=-h+e+r,h=e),c<1&&(s=2-c,c=1),p<1&&(s=2-p,p=1),{dy:i,edy:s,dx:o,edx:a,y:p,ey:h,x:c,ex:l,w:n,h:r}}calibrate(e){return new de({left:this.left+e.left*this.width,top:this.top+e.top*this.height,right:this.right+e.right*this.width,bottom:this.bottom+e.bottom*this.height}).toSquare().round()}}class Rr extends de{constructor(e,t,n,r,o=!1){super({left:e,top:t,right:n,bottom:r},o)}}class On{constructor(e,t,n,r,o){this._imageDims=new Qe(o.width,o.height),this._score=e,this._classScore=t,this._className=n,this._box=new de(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 de(this._box).rescale(this.imageDims.reverse())}forSize(e,t){return new On(this.score,this.classScore,this.className,this.relativeBox,{width:e,height:t})}}class fe extends On{constructor(e,t,n){super(e,e,"",t,n)}forSize(e,t){const{score:n,relativeBox:r,imageDims:o}=super.forSize(e,t);return new fe(n,r,o)}}function na(e,t,n=!0){const r=Math.max(0,Math.min(e.right,t.right)-Math.max(e.left,t.left)),o=Math.max(0,Math.min(e.bottom,t.bottom)-Math.max(e.top,t.top)),i=r*o;return n?i/(e.area+t.area-i):i/Math.min(e.area,t.area)}function ta(e){const t=e.map(s=>s.x),n=e.map(s=>s.y),r=t.reduce((s,c)=>ccss({score:a,boxIndex:s})).sort((a,s)=>a.score-s.score).map(a=>a.boxIndex);const i=[];for(;o.length>0;){const a=o.pop();i.push(a);const s=o,c=[];for(let p=0;pc[l]<=n)}return i}function wt(e,t){return k(()=>{const[n,r,o]=t,i=Ge([...e.shape.slice(0,3),1],n),a=Ge([...e.shape.slice(0,3),1],r),s=Ge([...e.shape.slice(0,3),1],o),c=Z([i,a,s],3);return O(e,c)})}function Qs(e,t=!1){return k(()=>{const[n,r]=e.shape.slice(1);if(n===r)return e;const o=Math.abs(n-r),i=Math.round(o*(t?.5:1)),a=n>r?2:1,s=d=>{const b=e.shape.slice();return b[a]=d,Ge(b,0)},c=s(i),p=o-c.shape[a],l=t&&p?s(p):null,h=[l,e,c].filter(d=>!!d).map(d=>d.toFloat());return Z(h,a)})}function Wu(e){const t=e.slice();for(let n=t.length-1;n>0;n--){const r=Math.floor(Math.random()*(n+1)),o=t[n];t[n]=t[r],t[r]=o}return t}function Lr(e){return 1/(1+Math.exp(-e))}function Bu(e){return Math.log(e/(1-e))}class Ar extends de{constructor(e,t,n,r,o=!1){super({x:e,y:t,width:n,height:r},o)}}const sT=.5,aT=.43,cT=.45;class st{constructor(e,t,n=new J(0,0)){const{width:r,height:o}=t;this._imgDims=new Qe(r,o),this._shift=n,this._positions=e.map(i=>i.mul(new J(r,o)).add(n))}get shift(){return new J(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(e=>e.sub(this._shift).div(new J(this.imageWidth,this.imageHeight)))}forSize(e,t){return new this.constructor(this.relativePositions,{width:e,height:t})}shiftBy(e,t){return new this.constructor(this.relativePositions,this._imgDims,new J(e,t))}shiftByPoint(e){return this.shiftBy(e.x,e.y)}align(e,t={}){if(e){const o=e instanceof fe?e.box.floor():new de(e);return this.shiftBy(o.x,o.y).align(null,t)}const{useDlibAlignment:n,minBoxPadding:r}=Object.assign({},{useDlibAlignment:!1,minBoxPadding:.2},t);return n?this.alignDlib():this.alignMinBbox(r)}alignDlib(){const e=this.getRefPointsForAlignment(),[t,n,r]=e,o=l=>r.sub(l).magnitude(),i=(o(t)+o(n))/2,a=Math.floor(i/cT),s=mr(e),c=Math.floor(Math.max(0,s.x-sT*a)),p=Math.floor(Math.max(0,s.y-aT*a));return new Ar(c,p,Math.min(a,this.imageWidth+c),Math.min(a,this.imageHeight+p))}alignMinBbox(e){const t=ta(this.positions);return t.pad(t.width*e,t.height*e)}getRefPointsForAlignment(){throw new Error("getRefPointsForAlignment not implemented by base class")}}class dd extends st{getRefPointsForAlignment(){const e=this.positions;return[e[0],e[1],mr([e[3],e[4]])]}}class Nr extends st{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(mr)}}class wo{constructor(e,t){this._label=e,this._distance=t}get label(){return this._label}get distance(){return this._distance}toString(e=!0){return`${this.label}${e?` (${dr(this.distance)})`:""}`}}class bo extends de{constructor(e,t){super(e);this._label=t}static assertIsValidLabeledBox(e,t){if(de.assertIsValidBox(e,t),!Mt(e.label))throw new Error(`${t} - expected property label (${e.label}) to be a number`)}get label(){return this._label}}class xn{constructor(e,t){if(!(typeof e=="string"))throw new Error("LabeledFaceDescriptors - constructor expected label to be a string");if(!Array.isArray(t)||t.some(n=>!(n instanceof Float32Array)))throw new Error("LabeledFaceDescriptors - constructor expected descriptors to be an array of Float32Array");this._label=e,this._descriptors=t}get label(){return this._label}get descriptors(){return this._descriptors}toJSON(){return{label:this.label,descriptors:this.descriptors.map(e=>Array.from(e))}}static fromJSON(e){const t=e.descriptors.map(n=>new Float32Array(n));return new xn(e.label,t)}}class ud extends bo{constructor(e,t,n,r){super(e,t);this._score=n,this._classScore=r}static assertIsValidPredictedBox(e,t){if(bo.assertIsValidLabeledBox(e,t),!Xr(e.score)||!Xr(e.classScore))throw new Error(`${t} - expected properties score (${e.score}) and (${e.classScore}) to be a number between [0, 1]`)}get score(){return this._score}get classScore(){return this._classScore}}function Nt(e){return e.detection instanceof fe}function mn(e,t){const n={detection:t};return Object.assign({},e,n)}function nu(){const e=window.fetch||function(){throw new Error("fetch - missing fetch implementation for browser environment")},t=function(){throw new Error("readFile - filesystem not available for browser environment")};return{Canvas:HTMLCanvasElement,CanvasRenderingContext2D,Image:HTMLImageElement,ImageData,Video:HTMLVideoElement,createCanvasElement:()=>document.createElement("canvas"),createImageElement:()=>document.createElement("img"),fetch:e,readFile:t}}function Qa(e){let t="";if(!e)try{e=require("fs")}catch(r){t=r.toString()}const n=e?function(r){return new Promise((o,i)=>{e.readFile(r,function(a,s){return a?i(a):o(s)})})}:function(){throw new Error(`readFile - failed to require fs in nodejs environment with error: ${t}`)};return{readFile:n}}function ru(){const e=global.Canvas||global.HTMLCanvasElement,t=global.Image||global.HTMLImageElement,n=function(){if(e)return new e();throw new Error("createCanvasElement - missing Canvas implementation for nodejs environment")},r=function(){if(t)return new t();throw new Error("createImageElement - missing Image implementation for nodejs environment")},o=global.fetch||function(){throw new Error("fetch - missing fetch implementation for nodejs environment")},i=Qa();return{Canvas:e||class{},CanvasRenderingContext2D:global.CanvasRenderingContext2D||class{},Image:t||class{},ImageData:global.ImageData||class{},Video:global.HTMLVideoElement||class{},createCanvasElement:n,createImageElement:r,fetch:o,...i}}function ou(){return typeof window=="object"&&typeof document!="undefined"&&typeof HTMLImageElement!="undefined"&&typeof HTMLCanvasElement!="undefined"&&typeof HTMLVideoElement!="undefined"&&typeof ImageData!="undefined"&&typeof CanvasRenderingContext2D!="undefined"}const iu=mu(Ou());let Fe;function pT(){if(!Fe)throw new Error("getEnv - environment is not defined, check isNodejs() and isBrowser()");return Fe}function su(e){Fe=e}function au(){if(ou())return su(nu());if(iu.isNodejs())return su(ru())}function lT(e){if(Fe||au(),!Fe)throw new Error("monkeyPatch - environment is not defined, check isNodejs() and isBrowser()");const{Canvas:t=Fe.Canvas,Image:n=Fe.Image}=e;Fe.Canvas=t,Fe.Image=n,Fe.createCanvasElement=e.createCanvasElement||(()=>new t()),Fe.createImageElement=e.createImageElement||(()=>new n()),Fe.ImageData=e.ImageData||Fe.ImageData,Fe.Video=e.Video||Fe.Video,Fe.fetch=e.fetch||Fe.fetch,Fe.readFile=e.readFile||Fe.readFile}const se={getEnv:pT,setEnv:su,initialize:au,createBrowserEnv:nu,createFileSystem:Qa,createNodejsEnv:ru,monkeyPatch:lT,isBrowser:ou,isNodejs:iu.isNodejs};au();function gn(e){return!se.isNodejs()&&typeof e=="string"?document.getElementById(e):e}function qe(e){const{Canvas:t,CanvasRenderingContext2D:n}=se.getEnv();if(e instanceof n)return e;const r=gn(e);if(!(r instanceof t))throw new Error("resolveContext2d - expected canvas to be of instance of Canvas");const o=r.getContext("2d");if(!o)throw new Error("resolveContext2d - canvas 2d context is null");return o}var Kt;(function(e){e.TOP_LEFT="TOP_LEFT",e.TOP_RIGHT="TOP_RIGHT",e.BOTTOM_LEFT="BOTTOM_LEFT",e.BOTTOM_RIGHT="BOTTOM_RIGHT"})(Kt||(Kt={}));class ec{constructor(e={}){const{anchorPosition:t,backgroundColor:n,fontColor:r,fontSize:o,fontStyle:i,padding:a}=e;this.anchorPosition=t||Kt.TOP_LEFT,this.backgroundColor=n||"rgba(0, 0, 0, 0.5)",this.fontColor=r||"rgba(255, 255, 255, 1)",this.fontSize=o||14,this.fontStyle=i||"Georgia",this.padding=a||4}}class Zr{constructor(e,t,n={}){this.text=typeof e=="string"?[e]:e instanceof Zr?e.text:e,this.anchor=t,this.options=new ec(n)}measureWidth(e){const{padding:t}=this.options;return this.text.map(n=>e.measureText(n).width).reduce((n,r)=>n{const b=s+l.x,x=s+l.y+(d+1)*i;n.fillText(h,b,x)})}}class ab{constructor(e={}){const{boxColor:t,lineWidth:n,label:r,drawLabelOptions:o}=e;this.boxColor=t||"rgba(0, 0, 255, 1)",this.lineWidth=n||2,this.label=r;const i={anchorPosition:Kt.BOTTOM_LEFT,backgroundColor:this.boxColor};this.drawLabelOptions=new ec(Object.assign({},i,o))}}class cu{constructor(e,t={}){this.box=new de(e),this.options=new ab(t)}draw(e){const t=qe(e),{boxColor:n,lineWidth:r}=this.options,{x:o,y:i,width:a,height:s}=this.box;t.strokeStyle=n,t.lineWidth=r,t.strokeRect(o,i,a,s);const{label:c}=this.options;c&&new Zr([c],{x:o-r/2,y:i},this.options.drawLabelOptions).draw(e)}}function hT(e,t){const n=Array.isArray(t)?t:[t];n.forEach(r=>{const o=r instanceof fe?r.score:Nt(r)?r.detection.score:void 0,i=r instanceof fe?r.box:Nt(r)?r.detection.box:new de(r),a=o?`${dr(o)}`:void 0;new cu(i,{label:a}).draw(e)})}function Ir(e){const{Image:t,Video:n}=se.getEnv();return e instanceof t&&e.complete||e instanceof n&&e.readyState>=3}function xa(e){return new Promise((t,n)=>{if(e instanceof se.getEnv().Canvas||Ir(e))return t();function r(i){if(!i.currentTarget)return;i.currentTarget.removeEventListener("load",r),i.currentTarget.removeEventListener("error",o),t(i)}function o(i){if(!i.currentTarget)return;i.currentTarget.removeEventListener("load",r),i.currentTarget.removeEventListener("error",o),n(i)}e.addEventListener("load",r),e.addEventListener("error",o)})}function wa(e){return new Promise((t,n)=>{if(!(e instanceof Blob))return n("bufferToImage - expected buf to be of type: Blob");const r=new FileReader();r.onload=()=>{if(typeof r.result!="string")return n("bufferToImage - expected reader.result to be a string, in onload");const o=se.getEnv().createImageElement();o.onload=()=>t(o),o.onerror=n,o.src=r.result},r.onerror=n,r.readAsDataURL(e)})}function bn(e){const{Image:t,Video:n}=se.getEnv();return e instanceof t?new Qe(e.naturalWidth,e.naturalHeight):e instanceof n?new Qe(e.videoWidth,e.videoHeight):new Qe(e.width,e.height)}function En({width:e,height:t}){const{createCanvasElement:n}=se.getEnv(),r=n();return r.width=e,r.height=t,r}function Tr(e,t){const{ImageData:n}=se.getEnv();if(!(e instanceof n)&&!Ir(e))throw new Error("createCanvasFromMedia - media has not finished loading yet");const{width:r,height:o}=t||bn(e),i=En({width:r,height:o});return e instanceof n?qe(i).putImageData(e,0,0):qe(i).drawImage(e,0,0,r,o),i}async function ga(e,t){const n=t||se.getEnv().createCanvasElement(),[r,o,i]=e.shape.slice(gt(e)?1:0),a=k(()=>e.as3D(r,o,i).toInt());return await Kr.toPixels(a,n),a.dispose(),n}function go(e){const{Image:t,Canvas:n,Video:r}=se.getEnv();return e instanceof t||e instanceof n||e instanceof r}function fa(e,t,n=!1){const{Image:r,Canvas:o}=se.getEnv();if(!(e instanceof r||e instanceof o))throw new Error("imageToSquare - expected arg0 to be HTMLImageElement | HTMLCanvasElement");const i=bn(e),a=t/Math.max(i.height,i.width),s=a*i.width,c=a*i.height,p=En({width:t,height:t}),l=e instanceof o?e:Tr(e),h=Math.abs(s-c)/2,d=n&&s{if(an(n)){this._imageTensors[r]=n,this._inputDimensions[r]=n.shape;return}if(gt(n)){const i=n.shape[0];if(i!==1)throw new Error(`NetInput - tf.Tensor4D with batchSize ${i} passed, but not supported in input array`);this._imageTensors[r]=n,this._inputDimensions[r]=n.shape.slice(1);return}const o=n instanceof se.getEnv().Canvas?n:Tr(n);this._canvases[r]=o,this._inputDimensions[r]=[o.height,o.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 Vt(this.batchSize,0,1).map((e,t)=>this.getReshapedInputDimensions(t))}getInput(e){return this.canvases[e]||this.imageTensors[e]}getInputDimensions(e){return this._inputDimensions[e]}getInputHeight(e){return this._inputDimensions[e][0]}getInputWidth(e){return this._inputDimensions[e][1]}getReshapedInputDimensions(e){if(typeof this.inputSize!="number")throw new Error("getReshapedInputDimensions - inputSize not set, toBatchTensor has not been called yet");const t=this.getInputWidth(e),n=this.getInputHeight(e);return tu({width:t,height:n},this.inputSize)}toBatchTensor(e,t=!0){return this._inputSize=e,k(()=>{const n=Vt(this.batchSize,0,1).map(o=>{const i=this.getInput(o);if(i instanceof ee){let a=gt(i)?i:i.expandDims();return a=Qs(a,t),(a.shape[1]!==e||a.shape[2]!==e)&&(a=Ya.resizeBilinear(a,[e,e])),a.as3D(e,e,3)}if(i instanceof se.getEnv().Canvas)return Kr.fromPixels(fa(i,e,t));throw new Error(`toBatchTensor - at batchIdx ${o}, expected input to be instanceof tf.Tensor or instanceof HTMLCanvasElement, instead have ${i}`)}),r=ke(n.map(o=>o.toFloat())).as4D(this.batchSize,e,e,3);return r})}}async function ue(e){if(e instanceof Jt)return e;let t=Array.isArray(e)?e:[e];if(!t.length)throw new Error("toNetInput - empty array passed as input");const n=o=>Array.isArray(e)?` at input index ${o}:`:"",r=t.map(gn);return r.forEach((o,i)=>{if(!go(o)&&!an(o)&&!gt(o))throw typeof t[i]=="string"?new Error(`toNetInput -${n(i)} string passed, but could not resolve HTMLElement for element id ${t[i]}`):new Error(`toNetInput -${n(i)} expected media to be of type HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | tf.Tensor3D, or to be an element id`);if(gt(o)){const a=o.shape[0];if(a!==1)throw new Error(`toNetInput -${n(i)} tf.Tensor4D with batchSize ${a} passed, but not supported in input array`)}}),await Promise.all(r.map(o=>go(o)&&xa(o))),new Jt(r,Array.isArray(e))}async function _n(e,t){const{Canvas:n}=se.getEnv();let r=e;if(!(e instanceof n)){const a=await ue(e);if(a.batchSize>1)throw new Error("extractFaces - batchSize > 1 not supported");const s=a.getInput(0);r=s instanceof n?s:await ga(s)}const o=qe(r),i=t.map(a=>a instanceof fe?a.forSize(r.width,r.height).box.floor():a).map(a=>a.clipAtImageBorders(r.width,r.height));return i.map(({x:a,y:s,width:c,height:p})=>{const l=En({width:c,height:p});return qe(l).putImageData(o.getImageData(a,s,c,p),0,0),l})}async function Cn(e,t){if(!an(e)&&!gt(e))throw new Error("extractFaceTensors - expected image tensor to be 3D or 4D");if(gt(e)&&e.shape[0]>1)throw new Error("extractFaceTensors - batchSize > 1 not supported");return k(()=>{const[n,r,o]=e.shape.slice(gt(e)?1:0),i=t.map(s=>s instanceof fe?s.forSize(r,n).box:s).map(s=>s.clipAtImageBorders(r,n)),a=i.map(({x:s,y:c,width:p,height:l})=>Os(e.as3D(n,r,o),[c,s,0],[l,p,o]));return a})}async function wn(e,t){const n=se.getEnv().fetch,r=await n(e,t);if(!(r.status<400))throw new Error(`failed to fetch: (${r.status}) ${r.statusText}, from url: ${r.url}`);return r}async function hd(e){const t=await wn(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 wa(n)}async function ba(e){return(await wn(e)).json()}async function ld(e){return new Float32Array(await(await wn(e)).arrayBuffer())}function tc(e,t){const n=`${t}-weights_manifest.json`;if(!e)return{modelBaseUri:"",manifestUri:n};if(e==="/")return{modelBaseUri:"/",manifestUri:`/${n}`};const r=e.startsWith("http://")?"http://":e.startsWith("https://")?"https://":"";e=e.replace(r,"");const o=e.split("/").filter(s=>s),i=e.endsWith(".json")?o[o.length-1]:n;let a=r+(e.endsWith(".json")?o.slice(0,o.length-1):o).join("/");return a=e.startsWith("/")?`/${a}`:a,{modelBaseUri:a,manifestUri:a==="/"?`/${i}`:`${a}/${i}`}}async function ma(e,t){const{manifestUri:n,modelBaseUri:r}=tc(e,t);let o=await ba(n);return Vr.loadWeights(o,r)}function pd(e,t,n=!1){const{width:r,height:o}=n?bn(t):t;return e.width=r,e.height=o,{width:r,height:o}}class Ue{constructor(e){this._name=e,this._params=void 0,this._paramMappings=[]}get params(){return this._params}get paramMappings(){return this._paramMappings}get isLoaded(){return!!this.params}getParamFromPath(e){const{obj:t,objProp:n}=this.traversePropertyPath(e);return t[n]}reassignParamFromPath(e,t){const{obj:n,objProp:r}=this.traversePropertyPath(e);n[r].dispose(),n[r]=t}getParamList(){return this._paramMappings.map(({paramPath:e})=>({path:e,tensor:this.getParamFromPath(e)}))}getTrainableParams(){return this.getParamList().filter(e=>e.tensor instanceof Ht)}getFrozenParams(){return this.getParamList().filter(e=>!(e.tensor instanceof Ht))}variable(){this.getFrozenParams().forEach(({path:e,tensor:t})=>{this.reassignParamFromPath(e,t.variable())})}freeze(){this.getTrainableParams().forEach(({path:e,tensor:t})=>{const n=ze(t.dataSync());t.dispose(),this.reassignParamFromPath(e,n)})}dispose(e=!0){this.getParamList().forEach(t=>{if(e&&t.tensor.isDisposed)throw new Error(`param tensor has already been disposed for path ${t.path}`);t.tensor.dispose()}),this._params=void 0}serializeParams(){return new Float32Array(this.getParamList().map(({tensor:e})=>Array.from(e.dataSync())).reduce((e,t)=>e.concat(t)))}async load(e){if(e instanceof Float32Array){this.extractWeights(e);return}await this.loadFromUri(e)}async loadFromUri(e){if(e&&typeof e!="string")throw new Error(`${this._name}.loadFromUri - expected model uri`);const t=await ma(e,this.getDefaultModelName());this.loadFromWeightMap(t)}async loadFromDisk(e){if(e&&typeof e!="string")throw new Error(`${this._name}.loadFromDisk - expected model file path`);const{readFile:t}=se.getEnv(),{manifestUri:n,modelBaseUri:r}=tc(e,this.getDefaultModelName()),o=c=>Promise.all(c.map(p=>t(p).then(l=>l.buffer))),i=Vr.weightsLoaderFactory(o),a=JSON.parse((await t(n)).toString()),s=await i(a,r);this.loadFromWeightMap(s)}loadFromWeightMap(e){const{paramMappings:t,params:n}=this.extractParamsFromWeigthMap(e);this._paramMappings=t,this._params=n}extractWeights(e){const{paramMappings:t,params:n}=this.extractParams(e);this._paramMappings=t,this._params=n}traversePropertyPath(e){if(!this.params)throw new Error("traversePropertyPath - model has no loaded params");const t=e.split("/").reduce((o,i)=>{if(!o.nextObj.hasOwnProperty(i))throw new Error(`traversePropertyPath - object does not have property ${i}, for path ${e}`);return{obj:o.nextObj,objProp:i,nextObj:o.nextObj[i]}},{nextObj:this.params}),{obj:n,objProp:r}=t;if(!n||!r||!(n[r]instanceof ee))throw new Error(`traversePropertyPath - parameter is not a tensor, for path ${e}`);return{obj:n,objProp:r}}}function rt(e,t,n){return k(()=>{let r=Xn(e,t.depthwise_filter,t.pointwise_filter,n,"same");return r=R(r,t.bias),r})}function nc(e,t,n=!1){return k(()=>{const r=ie(n?R(xe(e,t.conv0.filters,[2,2],"same"),t.conv0.bias):rt(e,t.conv0,[2,2])),o=rt(r,t.conv1,[1,1]),i=ie(R(r,o)),a=rt(i,t.conv2,[1,1]);return ie(R(r,R(o,a)))})}function Ws(e,t,n=!1,r=!0){return k(()=>{const o=ie(n?R(xe(e,t.conv0.filters,r?[2,2]:[1,1],"same"),t.conv0.bias):rt(e,t.conv0,r?[2,2]:[1,1])),i=rt(o,t.conv1,[1,1]),a=ie(R(o,i)),s=rt(a,t.conv2,[1,1]),c=ie(R(o,R(i,s))),p=rt(c,t.conv3,[1,1]);return ie(R(o,R(i,R(s,p))))})}function fr(e,t,n="same",r=!1){return k(()=>{const o=R(xe(e,t.filters,[1,1],n),t.bias);return r?ie(o):o})}function Xe(e,t){Object.keys(e).forEach(n=>{t.some(r=>r.originalPath===n)||e[n].dispose()})}function Qr(e,t){return function(n,r,o,i){const a=ft(e(n*r*o*o),[o,o,n,r]),s=ce(e(r));return t.push({paramPath:`${i}/filters`},{paramPath:`${i}/bias`}),{filters:a,bias:s}}}function rc(e,t){return function(n,r,o){const i=mt(e(n*r),[n,r]),a=ce(e(r));return t.push({paramPath:`${o}/weights`},{paramPath:`${o}/bias`}),{weights:i,bias:a}}}class pu{constructor(e,t,n){this.depthwise_filter=e,this.pointwise_filter=t,this.bias=n}}function eo(e,t){return function(n,r,o){const i=ft(e(3*3*n),[3,3,n,1]),a=ft(e(n*r),[1,1,n,r]),s=ce(e(r));return t.push({paramPath:`${o}/depthwise_filter`},{paramPath:`${o}/pointwise_filter`},{paramPath:`${o}/bias`}),new pu(i,a,s)}}function to(e){return function(t){const n=e(`${t}/depthwise_filter`,4),r=e(`${t}/pointwise_filter`,4),o=e(`${t}/bias`,1);return new pu(n,r,o)}}function it(e,t){return function(n,r,o){const i=e[n];if(!ur(i,r))throw new Error(`expected weightMap[${n}] to be a Tensor${r}D, instead have ${i}`);return t.push({originalPath:n,paramPath:o||n}),i}}function Ze(e){let t=e;function n(o){const i=t.slice(0,o);return t=t.slice(o),i}function r(){return t}return{extractWeights:n,getRemainingWeights:r}}function oc(e,t){const n=Qr(e,t),r=eo(e,t);function o(a,s,c,p=!1){const l=p?n(a,s,3,`${c}/conv0`):r(a,s,`${c}/conv0`),h=r(s,s,`${c}/conv1`),d=r(s,s,`${c}/conv2`);return{conv0:l,conv1:h,conv2:d}}function i(a,s,c,p=!1){const{conv0:l,conv1:h,conv2:d}=o(a,s,c,p),b=r(s,s,`${c}/conv3`);return{conv0:l,conv1:h,conv2:d,conv3:b}}return{extractDenseBlock3Params:o,extractDenseBlock4Params:i}}function cb(e){const t=[],{extractWeights:n,getRemainingWeights:r}=Ze(e),{extractDenseBlock4Params:o}=oc(n,t),i=o(3,32,"dense0",!0),a=o(32,64,"dense1"),s=o(64,128,"dense2"),c=o(128,256,"dense3");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:i,dense1:a,dense2:s,dense3:c}}}function ic(e){return function(t){const n=e(`${t}/filters`,4),r=e(`${t}/bias`,1);return{filters:n,bias:r}}}function sc(e,t){const n=it(e,t),r=ic(n),o=to(n);function i(s,c=!1){const p=c?r(`${s}/conv0`):o(`${s}/conv0`),l=o(`${s}/conv1`),h=o(`${s}/conv2`);return{conv0:p,conv1:l,conv2:h}}function a(s,c=!1){const p=c?r(`${s}/conv0`):o(`${s}/conv0`),l=o(`${s}/conv1`),h=o(`${s}/conv2`),d=o(`${s}/conv3`);return{conv0:p,conv1:l,conv2:h,conv3:d}}return{extractDenseBlock3Params:i,extractDenseBlock4Params:a}}function pb(e){const t=[],{extractDenseBlock4Params:n}=sc(e,t),r={dense0:n("dense0",!0),dense1:n("dense1"),dense2:n("dense2"),dense3:n("dense3")};return Xe(e,t),{params:r,paramMappings:t}}class ac extends Ue{constructor(){super("FaceFeatureExtractor")}forwardInput(e){const{params:t}=this;if(!t)throw new Error("FaceFeatureExtractor - load model before inference");return k(()=>{const n=e.toBatchTensor(112,!0),r=[122.782,117.001,104.298],o=wt(n,r).div(_(255));let i=Ws(o,t.dense0,!0);return i=Ws(i,t.dense1),i=Ws(i,t.dense2),i=Ws(i,t.dense3),i=pt(i,[7,7],[2,2],"valid"),i})}async forward(e){return this.forwardInput(await ue(e))}getDefaultModelName(){return"face_feature_extractor_model"}extractParamsFromWeigthMap(e){return pb(e)}extractParams(e){return cb(e)}}function Bs(e,t){return k(()=>R(Y(e,t.weights),t.bias))}function lb(e,t,n){const r=[],{extractWeights:o,getRemainingWeights:i}=Ze(e),a=rc(o,r),s=a(t,n,"fc");if(i().length!==0)throw new Error(`weights remaing after extract: ${i().length}`);return{paramMappings:r,params:{fc:s}}}function hb(e){const t=[],n=it(e,t);function r(i){const a=n(`${i}/weights`,2),s=n(`${i}/bias`,1);return{weights:a,bias:s}}const o={fc:r("fc")};return Xe(e,t),{params:o,paramMappings:t}}function cc(e){const t={},n={};return Object.keys(e).forEach(r=>{const o=r.startsWith("fc")?n:t;o[r]=e[r]}),{featureExtractorMap:t,classifierMap:n}}class pc extends Ue{constructor(e,t){super(e);this._faceFeatureExtractor=t}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(e){const{params:t}=this;if(!t)throw new Error(`${this._name} - load model before inference`);return k(()=>{const n=e instanceof Jt?this.faceFeatureExtractor.forwardInput(e):e;return Bs(n.as2D(n.shape[0],-1),t.fc)})}dispose(e=!0){this.faceFeatureExtractor.dispose(e),super.dispose(e)}loadClassifierParams(e){const{params:t,paramMappings:n}=this.extractClassifierParams(e);this._params=t,this._paramMappings=n}extractClassifierParams(e){return lb(e,this.getClassifierChannelsIn(),this.getClassifierChannelsOut())}extractParamsFromWeigthMap(e){const{featureExtractorMap:t,classifierMap:n}=cc(e);return this.faceFeatureExtractor.loadFromWeightMap(t),hb(n)}extractParams(e){const t=this.getClassifierChannelsIn(),n=this.getClassifierChannelsOut(),r=n*t+n,o=e.slice(0,e.length-r),i=e.slice(e.length-r);return this.faceFeatureExtractor.extractWeights(o),this.extractClassifierParams(i)}}const ha=["neutral","happy","sad","angry","fearful","disgusted","surprised"];class fn{constructor(e){if(e.length!==7)throw new Error(`FaceExpressions.constructor - expected probabilities.length to be 7, have: ${e.length}`);ha.forEach((t,n)=>{this[t]=e[n]})}asSortedArray(){return ha.map(e=>({expression:e,probability:this[e]})).sort((e,t)=>t.probability-e.probability)}}class ua extends pc{constructor(e=new ac()){super("FaceExpressionNet",e)}forwardInput(e){return k(()=>rn(this.runNet(e)))}async forward(e){return this.forwardInput(await ue(e))}async predictExpressions(e){const t=await ue(e),n=await this.forwardInput(t),r=await Promise.all(Ie(n).map(async i=>{const a=await i.data();return i.dispose(),a}));n.dispose();const o=r.map(i=>new fn(i));return t.isBatchInput?o:o[0]}getDefaultModelName(){return"face_expression_model"}getClassifierChannelsIn(){return 256}getClassifierChannelsOut(){return 7}}function pa(e){return e.expressions instanceof fn}function uo(e,t){const n={expressions:t};return Object.assign({},e,n)}function uT(e,t,n=.1,r){const o=Array.isArray(t)?t:[t];o.forEach(i=>{const a=i instanceof fn?i:pa(i)?i.expressions:void 0;if(!a)throw new Error("drawFaceExpressions - expected faceExpressions to be FaceExpressions | WithFaceExpressions<{}> or array thereof");const s=a.asSortedArray(),c=s.filter(h=>h.probability>n),p=Nt(i)?i.detection.box.bottomLeft:r||new J(0,0),l=new Zr(c.map(h=>`${h.expression} (${dr(h.probability)})`),p);l.draw(e)})}function dn(e){return Nt(e)&&e.landmarks instanceof st&&e.unshiftedLandmarks instanceof st&&e.alignedRect instanceof fe}function Rn(e,t){const{box:n}=e.detection,r=t.shiftBy(n.x,n.y),o=r.align(),{imageDims:i}=e.detection,a=new fe(e.detection.score,o.rescale(i.reverse()),i),s={landmarks:r,unshiftedLandmarks:t,alignedRect:a};return Object.assign({},e,s)}class ub{constructor(e={}){const{drawLines:t=!0,drawPoints:n=!0,lineWidth:r,lineColor:o,pointSize:i,pointColor:a}=e;this.drawLines=t,this.drawPoints=n,this.lineWidth=r||1,this.pointSize=i||2,this.lineColor=o||"rgba(0, 255, 255, 1)",this.pointColor=a||"rgba(255, 0, 255, 1)"}}class db{constructor(e,t={}){this.faceLandmarks=e,this.options=new ub(t)}draw(e){const t=qe(e),{drawLines:n,drawPoints:r,lineWidth:o,lineColor:i,pointSize:a,pointColor:s}=this.options;if(n&&this.faceLandmarks instanceof Nr&&(t.strokeStyle=i,t.lineWidth=o,sn(t,this.faceLandmarks.getJawOutline()),sn(t,this.faceLandmarks.getLeftEyeBrow()),sn(t,this.faceLandmarks.getRightEyeBrow()),sn(t,this.faceLandmarks.getNose()),sn(t,this.faceLandmarks.getLeftEye(),!0),sn(t,this.faceLandmarks.getRightEye(),!0),sn(t,this.faceLandmarks.getMouth(),!0)),r){t.strokeStyle=s,t.fillStyle=s;const c=p=>{t.beginPath(),t.arc(p.x,p.y,a,0,2*Math.PI),t.fill()};this.faceLandmarks.positions.forEach(c)}}}function dT(e,t){const n=Array.isArray(t)?t:[t];n.forEach(r=>{const o=r instanceof st?r:dn(r)?r.landmarks:void 0;if(!o)throw new Error("drawFaceLandmarks - expected faceExpressions to be FaceLandmarks | WithFaceLandmarks> or array thereof");new db(o).draw(e)})}const Vs={};Re(Vs,{AnchorPosition:()=>Kt,DrawBox:()=>cu,DrawBoxOptions:()=>ab,DrawFaceLandmarks:()=>db,DrawFaceLandmarksOptions:()=>ub,DrawTextField:()=>Zr,DrawTextFieldOptions:()=>ec,drawContour:()=>sn,drawDetections:()=>hT,drawFaceExpressions:()=>uT,drawFaceLandmarks:()=>dT});function mT(e,t){const n=Qr(e,t),r=eo(e,t);function o(a,s,c){const p=r(a,s,`${c}/separable_conv0`),l=r(s,s,`${c}/separable_conv1`),h=n(a,s,1,`${c}/expansion_conv`);return{separable_conv0:p,separable_conv1:l,expansion_conv:h}}function i(a,s){const c=r(a,a,`${s}/separable_conv0`),p=r(a,a,`${s}/separable_conv1`),l=r(a,a,`${s}/separable_conv2`);return{separable_conv0:c,separable_conv1:p,separable_conv2:l}}return{extractConvParams:n,extractSeparableConvParams:r,extractReductionBlockParams:o,extractMainBlockParams:i}}function mb(e,t){const n=[],{extractWeights:r,getRemainingWeights:o}=Ze(e),{extractConvParams:i,extractSeparableConvParams:a,extractReductionBlockParams:s,extractMainBlockParams:c}=mT(r,n),p=i(3,32,3,"entry_flow/conv_in"),l=s(32,64,"entry_flow/reduction_block_0"),h=s(64,128,"entry_flow/reduction_block_1"),d={conv_in:p,reduction_block_0:l,reduction_block_1:h},b={};Vt(t,0,1).forEach(S=>{b[`main_block_${S}`]=c(128,`middle_flow/main_block_${S}`)});const x=s(128,256,"exit_flow/reduction_block"),w=a(256,512,"exit_flow/separable_conv"),L={reduction_block:x,separable_conv:w};if(o().length!==0)throw new Error(`weights remaing after extract: ${o().length}`);return{paramMappings:n,params:{entry_flow:d,middle_flow:b,exit_flow:L}}}function fT(e,t){const n=it(e,t),r=ic(n),o=to(n);function i(s){const c=o(`${s}/separable_conv0`),p=o(`${s}/separable_conv1`),l=r(`${s}/expansion_conv`);return{separable_conv0:c,separable_conv1:p,expansion_conv:l}}function a(s){const c=o(`${s}/separable_conv0`),p=o(`${s}/separable_conv1`),l=o(`${s}/separable_conv2`);return{separable_conv0:c,separable_conv1:p,separable_conv2:l}}return{extractConvParams:r,extractSeparableConvParams:o,extractReductionBlockParams:i,extractMainBlockParams:a}}function fb(e,t){const n=[],{extractConvParams:r,extractSeparableConvParams:o,extractReductionBlockParams:i,extractMainBlockParams:a}=fT(e,n),s=r("entry_flow/conv_in"),c=i("entry_flow/reduction_block_0"),p=i("entry_flow/reduction_block_1"),l={conv_in:s,reduction_block_0:c,reduction_block_1:p},h={};Vt(t,0,1).forEach(w=>{h[`main_block_${w}`]=a(`middle_flow/main_block_${w}`)});const d=i("exit_flow/reduction_block"),b=o("exit_flow/separable_conv"),x={reduction_block:d,separable_conv:b};return Xe(e,n),{params:{entry_flow:l,middle_flow:h,exit_flow:x},paramMappings:n}}function gb(e,t,n){return R(xe(e,t.filters,n,"same"),t.bias)}function lu(e,t,n=!0){let r=n?ie(e):e;return r=rt(r,t.separable_conv0,[1,1]),r=rt(ie(r),t.separable_conv1,[1,1]),r=Ae(r,[3,3],[2,2],"same"),r=R(r,gb(e,t.expansion_conv,[2,2])),r}function gT(e,t){let n=rt(ie(e),t.separable_conv0,[1,1]);return n=rt(ie(n),t.separable_conv1,[1,1]),n=rt(ie(n),t.separable_conv2,[1,1]),n=R(n,e),n}class bb extends Ue{constructor(e){super("TinyXception");this._numMainBlocks=e}forwardInput(e){const{params:t}=this;if(!t)throw new Error("TinyXception - load model before inference");return k(()=>{const n=e.toBatchTensor(112,!0),r=[122.782,117.001,104.298],o=wt(n,r).div(_(256));let i=ie(gb(o,t.entry_flow.conv_in,[2,2]));return i=lu(i,t.entry_flow.reduction_block_0,!1),i=lu(i,t.entry_flow.reduction_block_1),Vt(this._numMainBlocks,0,1).forEach(a=>{i=gT(i,t.middle_flow[`main_block_${a}`])}),i=lu(i,t.exit_flow.reduction_block),i=ie(rt(i,t.exit_flow.separable_conv,[1,1])),i})}async forward(e){return this.forwardInput(await ue(e))}getDefaultModelName(){return"tiny_xception_model"}extractParamsFromWeigthMap(e){return fb(e,this._numMainBlocks)}extractParams(e){return mb(e,this._numMainBlocks)}}function wb(e){const t=[],{extractWeights:n,getRemainingWeights:r}=Ze(e),o=rc(n,t),i=o(512,1,"fc/age"),a=o(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:a}}}}function xb(e){const t=[],n=it(e,t);function r(i){const a=n(`${i}/weights`,2),s=n(`${i}/bias`,1);return{weights:a,bias:s}}const o={fc:{age:r("fc/age"),gender:r("fc/gender")}};return Xe(e,t),{params:o,paramMappings:t}}var Bt;(function(e){e.FEMALE="female",e.MALE="male"})(Bt||(Bt={}));class ya extends Ue{constructor(e=new bb(2)){super("AgeGenderNet");this._faceFeatureExtractor=e}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(e){const{params:t}=this;if(!t)throw new Error(`${this._name} - load model before inference`);return k(()=>{const n=e instanceof Jt?this.faceFeatureExtractor.forwardInput(e):e,r=pt(n,[7,7],[2,2],"valid").as2D(n.shape[0],-1),o=Bs(r,t.fc.age).as1D(),i=Bs(r,t.fc.gender);return{age:o,gender:i}})}forwardInput(e){return k(()=>{const{age:t,gender:n}=this.runNet(e);return{age:t,gender:rn(n)}})}async forward(e){return this.forwardInput(await ue(e))}async predictAgeAndGender(e){const t=await ue(e),n=await this.forwardInput(t),r=Ie(n.age),o=Ie(n.gender),i=r.map((s,c)=>({ageTensor:s,genderTensor:o[c]})),a=await Promise.all(i.map(async({ageTensor:s,genderTensor:c})=>{const p=(await s.data())[0],l=(await c.data())[0],h=l>.5,d=h?Bt.MALE:Bt.FEMALE,b=h?l:1-l;return s.dispose(),c.dispose(),{age:p,gender:d,genderProbability:b}}));return n.age.dispose(),n.gender.dispose(),t.isBatchInput?a:a[0]}getDefaultModelName(){return"age_gender_model"}dispose(e=!0){this.faceFeatureExtractor.dispose(e),super.dispose(e)}loadClassifierParams(e){const{params:t,paramMappings:n}=this.extractClassifierParams(e);this._params=t,this._paramMappings=n}extractClassifierParams(e){return wb(e)}extractParamsFromWeigthMap(e){const{featureExtractorMap:t,classifierMap:n}=cc(e);return this.faceFeatureExtractor.loadFromWeightMap(t),xb(n)}extractParams(e){const t=512*1+1+(512*2+2),n=e.slice(0,e.length-t),r=e.slice(e.length-t);return this.faceFeatureExtractor.extractWeights(n),this.extractClassifierParams(r)}}class lc extends pc{postProcess(e,t,n){const r=n.map(({width:i,height:a})=>{const s=t/Math.max(a,i);return{width:i*s,height:a*s}}),o=r.length;return k(()=>{const i=(l,h)=>ke([Ge([68],l),Ge([68],h)],1).as2D(1,136).as1D(),a=(l,h)=>{const{width:d,height:b}=r[l];return h(d,b)?Math.abs(d-b)/2:0},s=l=>a(l,(h,d)=>ha(l,(h,d)=>di(s(h),c(h))))).div(ke(Array.from(Array(o),(l,h)=>i(r[h].width,r[h].height))));return p})}forwardInput(e){return k(()=>{const t=this.runNet(e);return this.postProcess(t,e.inputSize,e.inputDimensions.map(([n,r])=>({height:n,width:r})))})}async forward(e){return this.forwardInput(await ue(e))}async detectLandmarks(e){const t=await ue(e),n=k(()=>Ie(this.forwardInput(t))),r=await Promise.all(n.map(async(o,i)=>{const a=Array.from(await o.data()),s=a.filter((p,l)=>Xa(l)),c=a.filter((p,l)=>!Xa(l));return new Nr(Array(68).fill(0).map((p,l)=>new J(s[l],c[l])),{height:t.getInputHeight(i),width:t.getInputWidth(i)})}));return n.forEach(o=>o.dispose()),t.isBatchInput?r:r[0]}getClassifierChannelsOut(){return 136}}class Sr extends lc{constructor(e=new ac()){super("FaceLandmark68Net",e)}getDefaultModelName(){return"face_landmark_68_model"}getClassifierChannelsIn(){return 256}}function yb(e){const t=[],{extractDenseBlock3Params:n}=sc(e,t),r={dense0:n("dense0",!0),dense1:n("dense1"),dense2:n("dense2")};return Xe(e,t),{params:r,paramMappings:t}}function Lb(e){const t=[],{extractWeights:n,getRemainingWeights:r}=Ze(e),{extractDenseBlock3Params:o}=oc(n,t),i=o(3,32,"dense0",!0),a=o(32,64,"dense1"),s=o(64,128,"dense2");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:i,dense1:a,dense2:s}}}class vb extends Ue{constructor(){super("TinyFaceFeatureExtractor")}forwardInput(e){const{params:t}=this;if(!t)throw new Error("TinyFaceFeatureExtractor - load model before inference");return k(()=>{const n=e.toBatchTensor(112,!0),r=[122.782,117.001,104.298],o=wt(n,r).div(_(255));let i=nc(o,t.dense0,!0);return i=nc(i,t.dense1),i=nc(i,t.dense2),i=pt(i,[14,14],[2,2],"valid"),i})}async forward(e){return this.forwardInput(await ue(e))}getDefaultModelName(){return"face_feature_extractor_tiny_model"}extractParamsFromWeigthMap(e){return yb(e)}extractParams(e){return Lb(e)}}class la extends lc{constructor(e=new vb()){super("FaceLandmark68TinyNet",e)}getDefaultModelName(){return"face_landmark_68_tiny_model"}getClassifierChannelsIn(){return 128}}class cd extends Sr{}function Sb(e,t){return R(v(e,t.weights),t.biases)}function hu(e,t,n,r,o="same"){const{filters:i,bias:a}=t.conv;let s=xe(e,i,n,o);return s=R(s,a),s=Sb(s,t.scale),r?ie(s):s}function Ib(e,t){return hu(e,t,[1,1],!0)}function uu(e,t){return hu(e,t,[1,1],!1)}function hc(e,t){return hu(e,t,[2,2],!0,"valid")}function bT(e,t){function n(s,c,p){const l=e(s),h=l.length/(c*p*p);if(eu(h))throw new Error(`depth has to be an integer: ${h}, weights.length: ${l.length}, numFilters: ${c}, filterSize: ${p}`);return k(()=>K(ft(l,[c,h,p,p]),[2,3,1,0]))}function r(s,c,p,l){const h=n(s,c,p),d=ce(e(c));return t.push({paramPath:`${l}/filters`},{paramPath:`${l}/bias`}),{filters:h,bias:d}}function o(s,c){const p=ce(e(s)),l=ce(e(s));return t.push({paramPath:`${c}/weights`},{paramPath:`${c}/biases`}),{weights:p,biases:l}}function i(s,c,p,l){const h=r(s,c,p,`${l}/conv`),d=o(c,`${l}/scale`);return{conv:h,scale:d}}function a(s,c,p,l,h=!1){const d=i((h?.5:1)*s,c,p,`${l}/conv1`),b=i(s,c,p,`${l}/conv2`);return{conv1:d,conv2:b}}return{extractConvLayerParams:i,extractResidualLayerParams:a}}function Tb(e){const{extractWeights:t,getRemainingWeights:n}=Ze(e),r=[],{extractConvLayerParams:o,extractResidualLayerParams:i}=bT(t,r),a=o(4704,32,7,"conv32_down"),s=i(9216,32,3,"conv32_1"),c=i(9216,32,3,"conv32_2"),p=i(9216,32,3,"conv32_3"),l=i(36864,64,3,"conv64_down",!0),h=i(36864,64,3,"conv64_1"),d=i(36864,64,3,"conv64_2"),b=i(36864,64,3,"conv64_3"),x=i(147456,128,3,"conv128_down",!0),w=i(147456,128,3,"conv128_1"),L=i(147456,128,3,"conv128_2"),S=i(589824,256,3,"conv256_down",!0),I=i(589824,256,3,"conv256_1"),N=i(589824,256,3,"conv256_2"),A=i(589824,256,3,"conv256_down_out"),E=k(()=>K(mt(t(256*128),[128,256]),[1,0]));if(r.push({paramPath:"fc"}),n().length!==0)throw new Error(`weights remaing after extract: ${n().length}`);const M={conv32_down:a,conv32_1:s,conv32_2:c,conv32_3:p,conv64_down:l,conv64_1:h,conv64_2:d,conv64_3:b,conv128_down:x,conv128_1:w,conv128_2:L,conv256_down:S,conv256_1:I,conv256_2:N,conv256_down_out:A,fc:E};return{params:M,paramMappings:r}}function wT(e,t){const n=it(e,t);function r(a){const s=n(`${a}/scale/weights`,1),c=n(`${a}/scale/biases`,1);return{weights:s,biases:c}}function o(a){const s=n(`${a}/conv/filters`,4),c=n(`${a}/conv/bias`,1),p=r(a);return{conv:{filters:s,bias:c},scale:p}}function i(a){return{conv1:o(`${a}/conv1`),conv2:o(`${a}/conv2`)}}return{extractConvLayerParams:o,extractResidualLayerParams:i}}function Ab(e){const t=[],{extractConvLayerParams:n,extractResidualLayerParams:r}=wT(e,t),o=n("conv32_down"),i=r("conv32_1"),a=r("conv32_2"),s=r("conv32_3"),c=r("conv64_down"),p=r("conv64_1"),l=r("conv64_2"),h=r("conv64_3"),d=r("conv128_down"),b=r("conv128_1"),x=r("conv128_2"),w=r("conv256_down"),L=r("conv256_1"),S=r("conv256_2"),I=r("conv256_down_out"),N=e.fc;if(t.push({originalPath:"fc",paramPath:"fc"}),!Qh(N))throw new Error(`expected weightMap[fc] to be a Tensor2D, instead have ${N}`);const A={conv32_down:o,conv32_1:i,conv32_2:a,conv32_3:s,conv64_down:c,conv64_1:p,conv64_2:l,conv64_3:h,conv128_down:d,conv128_1:b,conv128_2:x,conv256_down:w,conv256_1:L,conv256_2:S,conv256_down_out:I,fc:N};return Xe(e,t),{params:A,paramMappings:t}}function Ut(e,t){let n=Ib(e,t.conv1);return n=uu(n,t.conv2),n=R(n,e),n=ie(n),n}function $s(e,t){let n=hc(e,t.conv1);n=uu(n,t.conv2);let r=pt(e,2,2,"valid");const o=Ce(r.shape),i=r.shape[3]!==n.shape[3],a=r.shape[1]!==n.shape[1]||r.shape[2]!==n.shape[2];if(a){const s=[...n.shape];s[1]=1;const c=Ce(s);n=Z([n,c],1);const p=[...n.shape];p[2]=1;const l=Ce(p);n=Z([n,l],2)}return r=i?Z([r,o],3):r,n=R(r,n),n=ie(n),n}class vr extends Ue{constructor(){super("FaceRecognitionNet")}forwardInput(e){const{params:t}=this;if(!t)throw new Error("FaceRecognitionNet - load model before inference");return k(()=>{const n=e.toBatchTensor(150,!0).toFloat(),r=[122.782,117.001,104.298],o=wt(n,r).div(_(256));let i=hc(o,t.conv32_down);i=Ae(i,3,2,"valid"),i=Ut(i,t.conv32_1),i=Ut(i,t.conv32_2),i=Ut(i,t.conv32_3),i=$s(i,t.conv64_down),i=Ut(i,t.conv64_1),i=Ut(i,t.conv64_2),i=Ut(i,t.conv64_3),i=$s(i,t.conv128_down),i=Ut(i,t.conv128_1),i=Ut(i,t.conv128_2),i=$s(i,t.conv256_down),i=Ut(i,t.conv256_1),i=Ut(i,t.conv256_2),i=$s(i,t.conv256_down_out);const a=i.mean([1,2]),s=Y(a,t.fc);return s})}async forward(e){return this.forwardInput(await ue(e))}async computeFaceDescriptor(e){const t=await ue(e),n=k(()=>Ie(this.forwardInput(t))),r=await Promise.all(n.map(o=>o.data()));return n.forEach(o=>o.dispose()),t.isBatchInput?r:r[0]}getDefaultModelName(){return"face_recognition_model"}extractParamsFromWeigthMap(e){return Ab(e)}extractParams(e){return Tb(e)}}function ad(e){const t=new vr();return t.extractWeights(e),t}function mo(e,t){const n={descriptor:t};return Object.assign({},e,n)}function sd(e){return typeof e.age=="number"}function fo(e,t){const n={age:t};return Object.assign({},e,n)}function id(e){return(e.gender===Bt.MALE||e.gender===Bt.FEMALE)&&Xr(e.genderProbability)}function ho(e,t,n){const r={gender:t,genderProbability:n};return Object.assign({},e,r)}function xT(e,t){function n(c,p){const l=ft(e(3*3*c),[3,3,c,1]),h=ce(e(c)),d=ce(e(c)),b=ce(e(c)),x=ce(e(c));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:l,batch_norm_scale:h,batch_norm_offset:d,batch_norm_mean:b,batch_norm_variance:x}}function r(c,p,l,h,d){const b=ft(e(c*p*l*l),[l,l,c,p]),x=ce(e(p));return t.push({paramPath:`${h}/filters`},{paramPath:`${h}/${d?"batch_norm_offset":"bias"}`}),{filters:b,bias:x}}function o(c,p,l,h){const{filters:d,bias:b}=r(c,p,l,h,!0);return{filters:d,batch_norm_offset:b}}function i(c,p,l){const h=n(c,`${l}/depthwise_conv`),d=o(c,p,1,`${l}/pointwise_conv`);return{depthwise_conv:h,pointwise_conv:d}}function a(){const c=o(3,32,3,"mobilenetv1/conv_0"),p=i(32,64,"mobilenetv1/conv_1"),l=i(64,128,"mobilenetv1/conv_2"),h=i(128,128,"mobilenetv1/conv_3"),d=i(128,256,"mobilenetv1/conv_4"),b=i(256,256,"mobilenetv1/conv_5"),x=i(256,512,"mobilenetv1/conv_6"),w=i(512,512,"mobilenetv1/conv_7"),L=i(512,512,"mobilenetv1/conv_8"),S=i(512,512,"mobilenetv1/conv_9"),I=i(512,512,"mobilenetv1/conv_10"),N=i(512,512,"mobilenetv1/conv_11"),A=i(512,1024,"mobilenetv1/conv_12"),E=i(1024,1024,"mobilenetv1/conv_13");return{conv_0:c,conv_1:p,conv_2:l,conv_3:h,conv_4:d,conv_5:b,conv_6:x,conv_7:w,conv_8:L,conv_9:S,conv_10:I,conv_11:N,conv_12:A,conv_13:E}}function s(){const c=o(1024,256,1,"prediction_layer/conv_0"),p=o(256,512,3,"prediction_layer/conv_1"),l=o(512,128,1,"prediction_layer/conv_2"),h=o(128,256,3,"prediction_layer/conv_3"),d=o(256,128,1,"prediction_layer/conv_4"),b=o(128,256,3,"prediction_layer/conv_5"),x=o(256,64,1,"prediction_layer/conv_6"),w=o(64,128,3,"prediction_layer/conv_7"),L=r(512,12,1,"prediction_layer/box_predictor_0/box_encoding_predictor"),S=r(512,9,1,"prediction_layer/box_predictor_0/class_predictor"),I=r(1024,24,1,"prediction_layer/box_predictor_1/box_encoding_predictor"),N=r(1024,18,1,"prediction_layer/box_predictor_1/class_predictor"),A=r(512,24,1,"prediction_layer/box_predictor_2/box_encoding_predictor"),E=r(512,18,1,"prediction_layer/box_predictor_2/class_predictor"),M=r(256,24,1,"prediction_layer/box_predictor_3/box_encoding_predictor"),D=r(256,18,1,"prediction_layer/box_predictor_3/class_predictor"),$=r(256,24,1,"prediction_layer/box_predictor_4/box_encoding_predictor"),B=r(256,18,1,"prediction_layer/box_predictor_4/class_predictor"),j=r(128,24,1,"prediction_layer/box_predictor_5/box_encoding_predictor"),te=r(128,18,1,"prediction_layer/box_predictor_5/class_predictor"),re={box_encoding_predictor:L,class_predictor:S},he={box_encoding_predictor:I,class_predictor:N},ye={box_encoding_predictor:A,class_predictor:E},Me={box_encoding_predictor:M,class_predictor:D},Tt={box_encoding_predictor:$,class_predictor:B},ln={box_encoding_predictor:j,class_predictor:te};return{conv_0:c,conv_1:p,conv_2:l,conv_3:h,conv_4:d,conv_5:b,conv_6:x,conv_7:w,box_predictor_0:re,box_predictor_1:he,box_predictor_2:ye,box_predictor_3:Me,box_predictor_4:Tt,box_predictor_5:ln}}return{extractMobilenetV1Params:a,extractPredictionLayerParams:s}}function Nb(e){const t=[],{extractWeights:n,getRemainingWeights:r}=Ze(e),{extractMobilenetV1Params:o,extractPredictionLayerParams:i}=xT(n,t),a=o(),s=i(),c=er(n(5118*4),[1,5118,4]),p={extra_dim:c};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:s,output_layer:p},paramMappings:t}}function yT(e,t){const n=it(e,t);function r(p,l,h){const d=n(`${p}/Conv2d_${l}_pointwise/weights`,4,`${h}/filters`),b=n(`${p}/Conv2d_${l}_pointwise/convolution_bn_offset`,1,`${h}/batch_norm_offset`);return{filters:d,batch_norm_offset:b}}function o(p){const l=`mobilenetv1/conv_${p}`,h=`MobilenetV1/Conv2d_${p}_depthwise`,d=`${l}/depthwise_conv`,b=`${l}/pointwise_conv`,x=n(`${h}/depthwise_weights`,4,`${d}/filters`),w=n(`${h}/BatchNorm/gamma`,1,`${d}/batch_norm_scale`),L=n(`${h}/BatchNorm/beta`,1,`${d}/batch_norm_offset`),S=n(`${h}/BatchNorm/moving_mean`,1,`${d}/batch_norm_mean`),I=n(`${h}/BatchNorm/moving_variance`,1,`${d}/batch_norm_variance`);return{depthwise_conv:{filters:x,batch_norm_scale:w,batch_norm_offset:L,batch_norm_mean:S,batch_norm_variance:I},pointwise_conv:r("MobilenetV1",p,b)}}function i(){return{conv_0:r("MobilenetV1",0,"mobilenetv1/conv_0"),conv_1:o(1),conv_2:o(2),conv_3:o(3),conv_4:o(4),conv_5:o(5),conv_6:o(6),conv_7:o(7),conv_8:o(8),conv_9:o(9),conv_10:o(10),conv_11:o(11),conv_12:o(12),conv_13:o(13)}}function a(p,l){const h=n(`${p}/weights`,4,`${l}/filters`),d=n(`${p}/biases`,1,`${l}/bias`);return{filters:h,bias:d}}function s(p){const l=a(`Prediction/BoxPredictor_${p}/BoxEncodingPredictor`,`prediction_layer/box_predictor_${p}/box_encoding_predictor`),h=a(`Prediction/BoxPredictor_${p}/ClassPredictor`,`prediction_layer/box_predictor_${p}/class_predictor`);return{box_encoding_predictor:l,class_predictor:h}}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:s(0),box_predictor_1:s(1),box_predictor_2:s(2),box_predictor_3:s(3),box_predictor_4:s(4),box_predictor_5:s(5)}}return{extractMobilenetV1Params:i,extractPredictionLayerParams:c}}function Rb(e){const t=[],{extractMobilenetV1Params:n,extractPredictionLayerParams:r}=yT(e,t),o=e["Output/extra_dim"];if(t.push({originalPath:"Output/extra_dim",paramPath:"output_layer/extra_dim"}),!an(o))throw new Error(`expected weightMap['Output/extra_dim'] to be a Tensor3D, instead have ${o}`);const i={mobilenetv1:n(),prediction_layer:r(),output_layer:{extra_dim:o}};return Xe(e,t),{params:i,paramMappings:t}}function It(e,t,n){return k(()=>{let r=xe(e,t.filters,n,"same");return r=R(r,t.batch_norm_offset),$n(r,0,6)})}const LT=.0010000000474974513;function vT(e,t,n){return k(()=>{let r=en(e,t.filters,n,"same");return r=Ct(r,t.batch_norm_mean,t.batch_norm_variance,t.batch_norm_offset,t.batch_norm_scale,LT),$n(r,0,6)})}function ST(e){return[2,4,6,12].some(t=>t===e)?[2,2]:[1,1]}function _b(e,t){return k(()=>{let n=null,r=It(e,t.conv_0,[2,2]);const o=[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];if(o.forEach((i,a)=>{const s=a+1,c=ST(s);r=vT(r,i.depthwise_conv,c),r=It(r,i.pointwise_conv,[1,1]),s===11&&(n=r)}),n===null)throw new Error("mobileNetV1 - output of conv layer 11 is null");return{out:r,conv11:n}})}function Cb(e,t,n,r,o){const i=e.shape[0],a=Math.min(n,i),s=t.map((l,h)=>({score:l,boxIndex:h})).filter(l=>l.score>o).sort((l,h)=>h.score-l.score),c=l=>l<=r?1:0,p=[];return s.forEach(l=>{if(p.length>=a)return;const h=l.score;for(let d=p.length-1;d>=0;--d){const b=IT(e,l.boxIndex,p[d]);if(b===0)continue;if(l.score*=c(b),l.score<=o)break}h===l.score&&p.push(l.boxIndex)}),p}function IT(e,t,n){const r=e.arraySync(),o=Math.min(r[t][0],r[t][2]),i=Math.min(r[t][1],r[t][3]),a=Math.max(r[t][0],r[t][2]),s=Math.max(r[t][1],r[t][3]),c=Math.min(r[n][0],r[n][2]),p=Math.min(r[n][1],r[n][3]),l=Math.max(r[n][0],r[n][2]),h=Math.max(r[n][1],r[n][3]),d=(a-o)*(s-i),b=(l-c)*(h-p);if(d<=0||b<=0)return 0;const x=Math.max(o,c),w=Math.max(i,p),L=Math.min(a,l),S=Math.min(s,h),I=Math.max(L-x,0)*Math.max(S-w,0);return I/(d+b-I)}function TT(e){const t=Ie(K(e,[1,0])),n=[O(t[2],t[0]),O(t[3],t[1])],r=[R(t[0],F(n[0],_(2))),R(t[1],F(n[1],_(2)))];return{sizes:n,centers:r}}function AT(e,t){const{sizes:n,centers:r}=TT(e),o=Ie(K(t,[1,0])),i=F(v(Se(F(o[2],_(5))),n[0]),_(2)),a=R(v(F(o[0],_(10)),n[0]),r[0]),s=F(v(Se(F(o[3],_(5))),n[1]),_(2)),c=R(v(F(o[1],_(10)),n[1]),r[1]);return K(ke([O(a,i),O(c,s),R(a,i),R(c,s)]),[1,0])}function Eb(e,t,n){return k(()=>{const r=e.shape[0];let o=AT(y(Ot(n.extra_dim,[r,1,1]),[-1,4]),y(e,[-1,4]));o=y(o,[r,o.shape[0]/r,4]);const i=lt(G(t,[0,0,1],[-1,-1,-1]));let a=G(i,[0,0,0],[-1,-1,1]);a=y(a,[r,a.shape[1]]);const s=Ie(o),c=Ie(a);return{boxes:s,scores:c}})}function gr(e,t){return k(()=>{const n=e.shape[0],r=y(fr(e,t.box_encoding_predictor),[n,-1,1,4]),o=y(fr(e,t.class_predictor),[n,-1,3]);return{boxPredictionEncoding:r,classPrediction:o}})}function Ob(e,t,n){return k(()=>{const r=It(e,n.conv_0,[1,1]),o=It(r,n.conv_1,[2,2]),i=It(o,n.conv_2,[1,1]),a=It(i,n.conv_3,[2,2]),s=It(a,n.conv_4,[1,1]),c=It(s,n.conv_5,[2,2]),p=It(c,n.conv_6,[1,1]),l=It(p,n.conv_7,[2,2]),h=gr(t,n.box_predictor_0),d=gr(e,n.box_predictor_1),b=gr(o,n.box_predictor_2),x=gr(a,n.box_predictor_3),w=gr(c,n.box_predictor_4),L=gr(l,n.box_predictor_5),S=Z([h.boxPredictionEncoding,d.boxPredictionEncoding,b.boxPredictionEncoding,x.boxPredictionEncoding,w.boxPredictionEncoding,L.boxPredictionEncoding],1),I=Z([h.classPrediction,d.classPrediction,b.classPrediction,x.classPrediction,w.classPrediction,L.classPrediction],1);return{boxPredictions:S,classPredictions:I}})}class bt{constructor({minConfidence:e,maxResults:t}={}){if(this._name="SsdMobilenetv1Options",this._minConfidence=e||.5,this._maxResults=t||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}}class Nn extends Ue{constructor(){super("SsdMobilenetv1")}forwardInput(e){const{params:t}=this;if(!t)throw new Error("SsdMobilenetv1 - load model before inference");return k(()=>{const n=e.toBatchTensor(512,!1).toFloat(),r=O(v(n,_(.007843137718737125)),_(1)),o=_b(r,t.mobilenetv1),{boxPredictions:i,classPredictions:a}=Ob(o.out,o.conv11,t.prediction_layer);return Eb(i,a,t.output_layer)})}async forward(e){return this.forwardInput(await ue(e))}async locateFaces(e,t={}){const{maxResults:n,minConfidence:r}=new bt(t),o=await ue(e),{boxes:i,scores:a}=this.forwardInput(o),s=i[0],c=a[0];for(let I=1;I{const[N,A]=[Math.max(0,L[I][0]),Math.min(1,L[I][2])].map(D=>D*w),[E,M]=[Math.max(0,L[I][1]),Math.min(1,L[I][3])].map(D=>D*x);return new fe(p[I],new Ar(E,N,M-E,A-N),{height:o.getInputHeight(0),width:o.getInputWidth(0)})});return s.dispose(),c.dispose(),S}getDefaultModelName(){return"ssd_mobilenetv1_model"}extractParamsFromWeigthMap(e){return Rb(e)}extractParams(e){return Nb(e)}}function xc(e){const t=new Nn();return t.extractWeights(e),t}function Mu(e){return xc(e)}class Uu extends Nn{}const kb=.4,Db=[new J(.738768,.874946),new J(2.42204,2.65704),new J(4.30971,7.04493),new J(10.246,4.59428),new J(12.6868,11.8741)],Fb=[new J(1.603231,2.094468),new J(6.041143,7.080126),new J(2.882459,3.518061),new J(4.266906,5.178857),new J(9.041765,10.66308)],Mb=[117.001,114.697,97.404],Ub="tiny_yolov2_model",Wb="tiny_yolov2_separable_conv_model";const uc=e=>typeof e=="number";function Js(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(!uc(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=>uc(t.x)&&uc(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(uc)))throw new Error(`config.meanRgb has to be an array of shape [number, number, number], have: ${JSON.stringify(e.meanRgb)}`)}function no(e){return k(()=>{const t=v(e,_(.10000000149011612));return R(ie(O(e,t)),t)})}function cn(e,t){return k(()=>{let n=Pe(e,[[0,0],[1,1],[1,1],[0,0]]);return n=xe(n,t.conv.filters,[1,1],"valid"),n=O(n,t.bn.sub),n=v(n,t.bn.truediv),n=R(n,t.conv.bias),no(n)})}function pn(e,t){return k(()=>{let n=Pe(e,[[0,0],[1,1],[1,1],[0,0]]);return n=Xn(n,t.depthwise_filter,t.pointwise_filter,[1,1],"valid"),n=R(n,t.bias),no(n)})}function NT(e,t){const n=Qr(e,t);function r(a,s){const c=ce(e(a)),p=ce(e(a));return t.push({paramPath:`${s}/sub`},{paramPath:`${s}/truediv`}),{sub:c,truediv:p}}function o(a,s,c){const p=n(a,s,3,`${c}/conv`),l=r(s,`${c}/bn`);return{conv:p,bn:l}}const i=eo(e,t);return{extractConvParams:n,extractConvWithBatchNormParams:o,extractSeparableConvParams:i}}function Bb(e,t,n,r){const{extractWeights:o,getRemainingWeights:i}=Ze(e),a=[],{extractConvParams:s,extractConvWithBatchNormParams:c,extractSeparableConvParams:p}=NT(o,a);let l;if(t.withSeparableConvs){const[h,d,b,x,w,L,S,I,N]=r,A=t.isFirstLayerConv2d?s(h,d,3,"conv0"):p(h,d,"conv0"),E=p(d,b,"conv1"),M=p(b,x,"conv2"),D=p(x,w,"conv3"),$=p(w,L,"conv4"),B=p(L,S,"conv5"),j=I?p(S,I,"conv6"):void 0,te=N?p(I,N,"conv7"):void 0,re=s(N||I||S,5*n,1,"conv8");l={conv0:A,conv1:E,conv2:M,conv3:D,conv4:$,conv5:B,conv6:j,conv7:te,conv8:re}}else{const[h,d,b,x,w,L,S,I,N]=r,A=c(h,d,"conv0"),E=c(d,b,"conv1"),M=c(b,x,"conv2"),D=c(x,w,"conv3"),$=c(w,L,"conv4"),B=c(L,S,"conv5"),j=c(S,I,"conv6"),te=c(I,N,"conv7"),re=s(N,5*n,1,"conv8");l={conv0:A,conv1:E,conv2:M,conv3:D,conv4:$,conv5:B,conv6:j,conv7:te,conv8:re}}if(i().length!==0)throw new Error(`weights remaing after extract: ${i().length}`);return{params:l,paramMappings:a}}function RT(e,t){const n=it(e,t);function r(s){const c=n(`${s}/sub`,1),p=n(`${s}/truediv`,1);return{sub:c,truediv:p}}function o(s){const c=n(`${s}/filters`,4),p=n(`${s}/bias`,1);return{filters:c,bias:p}}function i(s){const c=o(`${s}/conv`),p=r(`${s}/bn`);return{conv:c,bn:p}}const a=to(n);return{extractConvParams:o,extractConvWithBatchNormParams:i,extractSeparableConvParams:a}}function $b(e,t){const n=[],{extractConvParams:r,extractConvWithBatchNormParams:o,extractSeparableConvParams:i}=RT(e,n);let a;if(t.withSeparableConvs){const s=t.filterSizes&&t.filterSizes.length||9;a={conv0:t.isFirstLayerConv2d?r("conv0"):i("conv0"),conv1:i("conv1"),conv2:i("conv2"),conv3:i("conv3"),conv4:i("conv4"),conv5:i("conv5"),conv6:s>7?i("conv6"):void 0,conv7:s>8?i("conv7"):void 0,conv8:r("conv8")}}else a={conv0:o("conv0"),conv1:o("conv1"),conv2:o("conv2"),conv3:o("conv3"),conv4:o("conv4"),conv5:o("conv5"),conv6:o("conv6"),conv7:o("conv7"),conv8:r("conv8")};return Xe(e,n),{params:a,paramMappings:n}}var Xs;(function(e){e[e.XS=224]="XS",e[e.SM=320]="SM",e[e.MD=416]="MD",e[e.LG=608]="LG"})(Xs||(Xs={}));class Wt{constructor({inputSize:e,scoreThreshold:t}={}){if(this._name="TinyYolov2Options",this._inputSize=e||416,this._scoreThreshold=t||.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}}class ro extends Ue{constructor(e){super("TinyYolov2");Js(e),this._config=e}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(e,t){let n=cn(e,t.conv0);return n=Ae(n,[2,2],[2,2],"same"),n=cn(n,t.conv1),n=Ae(n,[2,2],[2,2],"same"),n=cn(n,t.conv2),n=Ae(n,[2,2],[2,2],"same"),n=cn(n,t.conv3),n=Ae(n,[2,2],[2,2],"same"),n=cn(n,t.conv4),n=Ae(n,[2,2],[2,2],"same"),n=cn(n,t.conv5),n=Ae(n,[2,2],[1,1],"same"),n=cn(n,t.conv6),n=cn(n,t.conv7),fr(n,t.conv8,"valid",!1)}runMobilenet(e,t){let n=this.config.isFirstLayerConv2d?no(fr(e,t.conv0,"valid",!1)):pn(e,t.conv0);return n=Ae(n,[2,2],[2,2],"same"),n=pn(n,t.conv1),n=Ae(n,[2,2],[2,2],"same"),n=pn(n,t.conv2),n=Ae(n,[2,2],[2,2],"same"),n=pn(n,t.conv3),n=Ae(n,[2,2],[2,2],"same"),n=pn(n,t.conv4),n=Ae(n,[2,2],[2,2],"same"),n=pn(n,t.conv5),n=Ae(n,[2,2],[1,1],"same"),n=t.conv6?pn(n,t.conv6):n,n=t.conv7?pn(n,t.conv7):n,fr(n,t.conv8,"valid",!1)}forwardInput(e,t){const{params:n}=this;if(!n)throw new Error("TinyYolov2 - load model before inference");return k(()=>{let r=e.toBatchTensor(t,!1).toFloat();return r=this.config.meanRgb?wt(r,this.config.meanRgb):r,r=r.div(_(256)),this.config.withSeparableConvs?this.runMobilenet(r,n):this.runTinyYolov2(r,n)})}async forward(e,t){return await this.forwardInput(await ue(e),t)}async detect(e,t={}){const{inputSize:n,scoreThreshold:r}=new Wt(t),o=await ue(e),i=await this.forwardInput(o,n),a=k(()=>Ie(i)[0].expandDims()),s={width:o.getInputWidth(0),height:o.getInputHeight(0)},c=await this.extractBoxes(a,o.getReshapedInputDimensions(0),r);i.dispose(),a.dispose();const p=c.map(w=>w.box),l=c.map(w=>w.score),h=c.map(w=>w.classScore),d=c.map(w=>this.config.classes[w.label]),b=ea(p.map(w=>w.rescale(n)),l,this.config.iouThreshold,!0),x=b.map(w=>new On(l[w],h[w],d[w],p[w],s));return x}getDefaultModelName(){return""}extractParamsFromWeigthMap(e){return $b(e,this.config)}extractParams(e){const t=this.config.filterSizes||ro.DEFAULT_FILTER_SIZES,n=t?t.length:void 0;if(n!==7&&n!==8&&n!==9)throw new Error(`TinyYolov2 - expected 7 | 8 | 9 convolutional filters, but found ${n} filterSizes in config`);return Bb(e,this.config,this.boxEncodingSize,t)}async extractBoxes(e,t,n){const{width:r,height:o}=t,i=Math.max(r,o),a=i/r,s=i/o,c=e.shape[1],p=this.config.anchors.length,[l,h,d]=k(()=>{const L=e.reshape([c,c,p,this.boxEncodingSize]),S=L.slice([0,0,0,0],[c,c,p,4]),I=L.slice([0,0,0,4],[c,c,p,1]),N=this.withClassScores?rn(L.slice([0,0,0,5],[c,c,p,this.config.classes.length]),3):_(0);return[S,I,N]}),b=[],x=await h.array(),w=await l.array();for(let L=0;Ln){const A=(S+Lr(w[L][S][I][0]))/c*a,E=(L+Lr(w[L][S][I][1]))/c*s,M=Math.exp(w[L][S][I][2])*this.config.anchors[I].x/c*a,D=Math.exp(w[L][S][I][3])*this.config.anchors[I].y/c*s,$=A-M/2,B=E-D/2,j={row:L,col:S,anchor:I},{classScore:te,label:re}=this.withClassScores?await this.extractPredictedClass(d,j):{classScore:1,label:0};b.push({box:new Rr($,B,$+M,B+D),score:N,classScore:N*te,label:re,...j})}}return l.dispose(),h.dispose(),d.dispose(),b}async extractPredictedClass(e,t){const{row:n,col:r,anchor:o}=t,i=await e.array();return Array(this.config.classes.length).fill(0).map((a,s)=>i[n][r][o][s]).map((a,s)=>({classScore:a,label:s})).reduce((a,s)=>a.classScore>s.classScore?a:s)}}ro.DEFAULT_FILTER_SIZES=[3,16,32,64,128,256,512,1024,1024];class xr extends ro{constructor(e=!0){const t=Object.assign({},{withSeparableConvs:e,iouThreshold:kb,classes:["face"]},e?{anchors:Fb,meanRgb:Mb}:{anchors:Db,withClassScores:!0});super(t)}get withSeparableConvs(){return this.config.withSeparableConvs}get anchors(){return this.config.anchors}async locateFaces(e,t){const n=await this.detect(e,t);return n.map(r=>new fe(r.score,r.relativeBox,{width:r.imageWidth,height:r.imageHeight}))}getDefaultModelName(){return this.withSeparableConvs?Wb:Ub}extractParamsFromWeigthMap(e){return super.extractParamsFromWeigthMap(e)}}function Du(e,t=!0){const n=new xr(t);return n.extractWeights(e),n}class Zs extends Wt{constructor(){super(...arguments);this._name="TinyFaceDetectorOptions"}}class xt{async then(e){return e(await this.run())}async run(){throw new Error("ComposableTask - run is not implemented")}}async function br(e,t,n,r,o=({alignedRect:i})=>i){const i=e.map(c=>dn(c)?o(c):c.detection),a=r||(t instanceof ee?await Cn(t,i):await _n(t,i)),s=await n(a);return a.forEach(c=>c instanceof ee&&c.dispose()),s}async function oo(e,t,n,r,o){return br([e],t,async i=>n(i[0]),r,o)}const jb=.4,Gb=[new J(1.603231,2.094468),new J(6.041143,7.080126),new J(2.882459,3.518061),new J(4.266906,5.178857),new J(9.041765,10.66308)],Pb=[117.001,114.697,97.404];class yr extends ro{constructor(){const e={withSeparableConvs:!0,iouThreshold:jb,classes:["face"],anchors:Gb,meanRgb:Pb,isFirstLayerConv2d:!0,filterSizes:[3,16,32,64,128,256,512]};super(e)}get anchors(){return this.config.anchors}async locateFaces(e,t){const n=await this.detect(e,t);return n.map(r=>new fe(r.score,r.relativeBox,{width:r.imageWidth,height:r.imageHeight}))}getDefaultModelName(){return"tiny_face_detector_model"}extractParamsFromWeigthMap(e){return super.extractParamsFromWeigthMap(e)}}const oe={ssdMobilenetv1:new Nn(),tinyFaceDetector:new yr(),tinyYolov2:new xr(),faceLandmark68Net:new Sr(),faceLandmark68TinyNet:new la(),faceRecognitionNet:new vr(),faceExpressionNet:new ua(),ageGenderNet:new ya()},Lc=(e,t)=>oe.ssdMobilenetv1.locateFaces(e,t),$u=(e,t)=>oe.tinyFaceDetector.locateFaces(e,t),ju=(e,t)=>oe.tinyYolov2.locateFaces(e,t),vc=e=>oe.faceLandmark68Net.detectLandmarks(e),Gu=e=>oe.faceLandmark68TinyNet.detectLandmarks(e),Pu=e=>oe.faceRecognitionNet.computeFaceDescriptor(e),qu=e=>oe.faceExpressionNet.predictExpressions(e),Hu=e=>oe.ageGenderNet.predictAgeAndGender(e),Sc=e=>oe.ssdMobilenetv1.load(e),zu=e=>oe.tinyFaceDetector.load(e),Yu=e=>oe.tinyYolov2.load(e),Vu=e=>oe.faceLandmark68Net.load(e),Ku=e=>oe.faceLandmark68TinyNet.load(e),Ju=e=>oe.faceRecognitionNet.load(e),Xu=e=>oe.faceExpressionNet.load(e),Zu=e=>oe.ageGenderNet.load(e),Qu=Sc,ed=Lc,td=vc;class qb extends xt{constructor(e,t,n){super();this.parentTask=e,this.input=t,this.extractedFaces=n}}class Ps extends qb{async run(){const e=await this.parentTask,t=await br(e,this.input,async n=>await Promise.all(n.map(r=>oe.faceExpressionNet.predictExpressions(r))),this.extractedFaces);return e.map((n,r)=>uo(n,t[r]))}withAgeAndGender(){return new js(this,this.input)}}class qs extends qb{async run(){const e=await this.parentTask;if(!e)return;const t=await oo(e,this.input,n=>oe.faceExpressionNet.predictExpressions(n),this.extractedFaces);return uo(e,t)}withAgeAndGender(){return new Gs(this,this.input)}}class ao extends Ps{withAgeAndGender(){return new io(this,this.input)}withFaceDescriptors(){return new hn(this,this.input)}}class co extends qs{withAgeAndGender(){return new so(this,this.input)}withFaceDescriptor(){return new un(this,this.input)}}class Hb extends xt{constructor(e,t,n){super();this.parentTask=e,this.input=t,this.extractedFaces=n}}class js extends Hb{async run(){const e=await this.parentTask,t=await br(e,this.input,async n=>await Promise.all(n.map(r=>oe.ageGenderNet.predictAgeAndGender(r))),this.extractedFaces);return e.map((n,r)=>{const{age:o,gender:i,genderProbability:a}=t[r];return fo(ho(n,i,a),o)})}withFaceExpressions(){return new Ps(this,this.input)}}class Gs extends Hb{async run(){const e=await this.parentTask;if(!e)return;const{age:t,gender:n,genderProbability:r}=await oo(e,this.input,o=>oe.ageGenderNet.predictAgeAndGender(o),this.extractedFaces);return fo(ho(e,n,r),t)}withFaceExpressions(){return new qs(this,this.input)}}class io extends js{withFaceExpressions(){return new ao(this,this.input)}withFaceDescriptors(){return new hn(this,this.input)}}class so extends Gs{withFaceExpressions(){return new co(this,this.input)}withFaceDescriptor(){return new un(this,this.input)}}class ca extends xt{constructor(e,t){super();this.parentTask=e,this.input=t}}class hn extends ca{async run(){const e=await this.parentTask,t=await br(e,this.input,n=>Promise.all(n.map(r=>oe.faceRecognitionNet.computeFaceDescriptor(r))),null,n=>n.landmarks.align(null,{useDlibAlignment:!0}));return t.map((n,r)=>mo(e[r],n))}withFaceExpressions(){return new ao(this,this.input)}withAgeAndGender(){return new io(this,this.input)}}class un extends ca{async run(){const e=await this.parentTask;if(!e)return;const t=await oo(e,this.input,n=>oe.faceRecognitionNet.computeFaceDescriptor(n),null,n=>n.landmarks.align(null,{useDlibAlignment:!0}));return mo(e,t)}withFaceExpressions(){return new co(this,this.input)}withAgeAndGender(){return new so(this,this.input)}}class ia extends xt{constructor(e,t,n){super();this.parentTask=e,this.input=t,this.useTinyLandmarkNet=n}get landmarkNet(){return this.useTinyLandmarkNet?oe.faceLandmark68TinyNet:oe.faceLandmark68Net}}class sa extends ia{async run(){const e=await this.parentTask,t=e.map(o=>o.detection),n=this.input instanceof ee?await Cn(this.input,t):await _n(this.input,t),r=await Promise.all(n.map(o=>this.landmarkNet.detectLandmarks(o)));return n.forEach(o=>o instanceof ee&&o.dispose()),e.map((o,i)=>Rn(o,r[i]))}withFaceExpressions(){return new ao(this,this.input)}withAgeAndGender(){return new io(this,this.input)}withFaceDescriptors(){return new hn(this,this.input)}}class aa extends ia{async run(){const e=await this.parentTask;if(!e)return;const{detection:t}=e,n=this.input instanceof ee?await Cn(this.input,[t]):await _n(this.input,[t]),r=await this.landmarkNet.detectLandmarks(n[0]);return n.forEach(o=>o instanceof ee&&o.dispose()),Rn(e,r)}withFaceExpressions(){return new co(this,this.input)}withAgeAndGender(){return new so(this,this.input)}withFaceDescriptor(){return new un(this,this.input)}}class ra extends xt{constructor(e,t=new bt()){super();this.input=e,this.options=t}}class lo extends ra{async run(){const{input:e,options:t}=this,n=t instanceof Zs?r=>oe.tinyFaceDetector.locateFaces(r,t):t instanceof bt?r=>oe.ssdMobilenetv1.locateFaces(r,t):t instanceof Wt?r=>oe.tinyYolov2.locateFaces(r,t):null;if(!n)throw new Error("detectFaces - expected options to be instance of TinyFaceDetectorOptions | SsdMobilenetv1Options | MtcnnOptions | TinyYolov2Options");return n(e)}runAndExtendWithFaceDetections(){return new Promise(async e=>{const t=await this.run();return e(t.map(n=>mn({},n)))})}withFaceLandmarks(e=!1){return new sa(this.runAndExtendWithFaceDetections(),this.input,e)}withFaceExpressions(){return new Ps(this.runAndExtendWithFaceDetections(),this.input)}withAgeAndGender(){return new js(this.runAndExtendWithFaceDetections(),this.input)}}class oa extends ra{async run(){const e=await new lo(this.input,this.options);let t=e[0];return e.forEach(n=>{n.score>t.score&&(t=n)}),t}runAndExtendWithFaceDetection(){return new Promise(async e=>{const t=await this.run();return e(t?mn({},t):void 0)})}withFaceLandmarks(e=!1){return new aa(this.runAndExtendWithFaceDetection(),this.input,e)}withFaceExpressions(){return new qs(this.runAndExtendWithFaceDetection(),this.input)}withAgeAndGender(){return new Gs(this.runAndExtendWithFaceDetection(),this.input)}}function nd(e,t=new bt()){return new oa(e,t)}function po(e,t=new bt()){return new lo(e,t)}async function Ic(e,t){return console.warn("allFacesSsdMobilenetv1 is deprecated and will be removed soon, use the high level api instead"),await po(e,new bt(t?{minConfidence:t}:{})).withFaceLandmarks().withFaceDescriptors()}async function rd(e,t={}){return console.warn("allFacesTinyYolov2 is deprecated and will be removed soon, use the high level api instead"),await po(e,new Wt(t)).withFaceLandmarks().withFaceDescriptors()}const od=Ic;function da(e,t){if(e.length!==t.length)throw new Error("euclideanDistance: arr1.length !== arr2.length");const n=Array.from(e),r=Array.from(t);return Math.sqrt(n.map((o,i)=>o-r[i]).reduce((o,i)=>o+Math.pow(i,2),0))}class Tc{constructor(e,t=.6){this._distanceThreshold=t;const n=Array.isArray(e)?e:[e];if(!n.length)throw new Error("FaceRecognizer.constructor - expected atleast one input");let r=1;const o=()=>`person ${r++}`;this._labeledDescriptors=n.map(i=>{if(i instanceof xn)return i;if(i instanceof Float32Array)return new xn(o(),[i]);if(i.descriptor&&i.descriptor instanceof Float32Array)return new xn(o(),[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(e,t){return t.map(n=>da(n,e)).reduce((n,r)=>n+r,0)/(t.length||1)}matchDescriptor(e){return this.labeledDescriptors.map(({descriptors:t,label:n})=>new wo(n,this.computeMeanDistance(e,t))).reduce((t,n)=>t.distancee.toJSON())}}static fromJSON(e){const t=e.labeledDescriptors.map(n=>xn.fromJSON(n));return new Tc(t,e.distanceThreshold)}}function Fu(e){const t=new yr();return t.extractWeights(e),t}function yc(e,t){const{width:n,height:r}=new Qe(t.width,t.height);if(n<=0||r<=0)throw new Error(`resizeResults - invalid dimensions: ${JSON.stringify({width:n,height:r})}`);if(Array.isArray(e))return e.map(o=>yc(o,{width:n,height:r}));if(dn(e)){const o=e.detection.forSize(n,r),i=e.unshiftedLandmarks.forSize(o.box.width,o.box.height);return Rn(mn(e,o),i)}return Nt(e)?mn(e,e.detection.forSize(n,r)):e instanceof st||e instanceof fe?e.forSize(n,r):e}return md();})(); /** * @license * Copyright 2017 Google LLC. All Rights Reserved. diff --git a/dist/face-api.min.js.map b/dist/face-api.min.js.map index fe2be8b..2520dfd 100644 --- a/dist/face-api.min.js.map +++ b/dist/face-api.min.js.map @@ -2,6 +2,6 @@ "version": 3, "sources": ["node_modules/seedrandom/lib/alea.js", "node_modules/seedrandom/lib/xor128.js", "node_modules/seedrandom/lib/xorwow.js", "node_modules/seedrandom/lib/xorshift7.js", "node_modules/seedrandom/lib/xor4096.js", "node_modules/seedrandom/lib/tychei.js", "disabled:crypto", "node_modules/seedrandom/seedrandom.js", "node_modules/seedrandom/index.js", "build/env/../../src/env/isNodejs.ts", "build/../src/index.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/environment.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/global_util.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/kernel_names.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/kernel_registry.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/util.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/profiler.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/tape.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/tensor_format.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/tensor.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/types.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/tensor_util.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/engine.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/device_util.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/flags.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/tensor_util_env.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/operation.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/abs.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/acos.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/acosh.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/add.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/add_n.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/axis_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reshape.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/transpose.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/all.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/any.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/arg_max.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/arg_min.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/asin.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/asinh.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/atan.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/atan2.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/atanh.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/cast.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/avg_pool.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/globals.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/avg_pool_3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/concat_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor_ops_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/concat.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/mat_mul.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/mul.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sigmoid.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/slice_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/slice.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tanh.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/basic_lstm_cell.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/batch_to_space_nd.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/batchnorm_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/batchnorm.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/batchnorm2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/batchnorm3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/batchnorm4d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/clone.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/broadcast_to.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/buffer.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/ceil.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/clip_by_value.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/complex.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/concat_1d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/concat_2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/concat_3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/concat_4d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv1d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv2d_backprop_input.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv2d_transpose.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv3d_backprop_input.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv3d_transpose.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/cos.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/cosh.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/cumsum.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/depth_to_space.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/depthwise_conv2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/diag.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/dilation2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/floorDiv.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/div.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/broadcast_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/equal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/where.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/zeros_like.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/div_no_nan.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/dot.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/elu.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/erf.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/exp.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/expand_dims.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/expm1.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tile.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/eye.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fft.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fill.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/floor.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reduce_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/segment_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/gather.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/greater.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/greater_equal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/ifft.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/imag.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/real.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reverse.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/scalar.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/irfft.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/is_finite.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/is_inf.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/is_nan.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/maximum.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/leaky_relu.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/less.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/less_equal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/linspace.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/local_response_normalization.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/log.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/log1p.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/gradients.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/neg.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/softplus.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/log_sigmoid.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/max.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sub.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sum.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/log_softmax.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/log_sum_exp.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/logical_and.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/logical_not.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/logical_or.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/logical_xor.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/max_pool.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/max_pool_3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/max_pool_with_argmax.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/zeros.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/ones.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/mean.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/min.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/minimum.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/mod.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/square.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/moments.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/multi_rnn_cell.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/multinomial.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/not_equal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/one_hot.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/ones_like.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/outer_product.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pad1d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pad2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pad3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pad4d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/space_to_batch_nd.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pool.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/pow.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/prelu.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/print.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/prod.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/rand.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/test_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/rand_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/random_gamma.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/random_normal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/random_uniform.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor1d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/range.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reciprocal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/relu.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/relu6.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reverse_1d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reverse_2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reverse_3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/reverse_4d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/split_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/split.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/rfft.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/round.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/rsqrt.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/selu.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/separable_conv2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/setdiff1d_async.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sign.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sin.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sinh.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/slice1d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/slice2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/slice3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/slice4d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/softmax.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sqrt.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/squared_difference.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/squeeze.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/stack.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/step.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/strided_slice.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tan.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor3d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor4d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor5d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/tensor6d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/topk.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/truncated_normal.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/unsorted_segment_sum.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/unstack.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/variable.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/where_impl.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/where_async.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/boolean_mask.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/compare.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/binary_ops.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/norm.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/moving_average.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/scatter_nd_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/scatter_nd.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sparse_to_dense_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sparse_to_dense.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/gather_nd.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/dropout_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/dropout.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/signal_ops_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/in_top_k.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv2d_backprop_filter.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fused_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fused_conv2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/depthwise_conv2d_native_backprop_filter.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/depthwise_conv2d_native_backprop_input.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fused_depthwise_conv2d.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fused_mat_mul.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/fused_ops.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/hamming_window.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/hann_window.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/frame.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/stft.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/crop_and_resize.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/flip_left_right.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/rotate_with_offset.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/nonmax_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/non_max_suppression.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/array_util.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/non_max_suppression_impl.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/non_max_suppression_async.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/non_max_suppression_with_score.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/non_max_suppression_with_score_async.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/non_max_suppression_padded.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/non_max_suppression_padded_async.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/resize_bilinear.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/resize_nearest_neighbor.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/band_part.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/gram_schmidt.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/qr.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/loss_ops_utils.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/compute_weighted_loss.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/absolute_difference.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/cosine_distance.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/hinge_loss.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/huber_loss.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/log_loss.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/mean_squared_error.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/sigmoid_cross_entropy.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/softmax_cross_entropy.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/ops.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/base_side_effects.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/types.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/io_utils.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/router_registry.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/model_management.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/browser_files.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/progress.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/weights_loader.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/http.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/passthrough.ts", "node_modules/@tensorflow/tfjs-core/dist/io/../../src/io/io.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/confusion_matrix.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/math.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/browser.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/gather_nd_util.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/serialization.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/version.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/adadelta_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/adagrad_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/adam_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/adamax_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/sgd_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/momentum_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/rmsprop_optimizer.ts", "node_modules/@tensorflow/tfjs-core/dist/optimizers/../../src/optimizers/optimizer_constructors.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/train.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/browser_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/rotate_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/array_ops_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/selu_util.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/erf_util.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/log.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/complex_util.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/backend_util.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/split_shared.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/tile_impl.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/topk_impl.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/kernel_impls.ts", "node_modules/@tensorflow/tfjs-core/dist/backends/../../src/backends/backend.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Abs_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Acos_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Acosh_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Add_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/AddN_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/ArgMax_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/ArgMin_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Asin_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Asinh_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Atan2_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Atan_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Atanh_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/avg_pool_3d_backprop.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/AvgPool3D_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/avg_pool_backprop.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/AvgPool_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/BatchMatMul_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/BatchToSpaceND_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/BroadcastTo_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Cast_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Ceil_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/ClipByValue_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Concat_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Conv2D_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Conv2DBackpropInput_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/conv3d_backprop_filter.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Conv3D_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Cos_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Cosh_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Cumsum_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/DepthwiseConv2dNative_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Dilation2D_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Div_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Elu_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Erf_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Exp_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Expm1_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Floor_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/FloorDiv_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/FusedBatchNorm_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/GatherV2_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/GreaterEqual_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Identity_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/IsFinite_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/IsInf_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/IsNan_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Log1p_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Log_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/LogSoftmax_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/local_response_normalization_backprop.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/LRN_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/min_max_grad_util.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Max_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Maximum_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/max_pool_3d_backprop.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/MaxPool3D_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/ops/../../src/ops/max_pool_backprop.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/MaxPool_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Min_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Minimum_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Mod_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Multiply_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Negate_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/OneHot_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/OnesLike_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/PadV2_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Pow_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Prelu_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Reciprocal_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Relu6_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Relu_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Reshape_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/ResizeBilinear_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/ResizeNearestNeighbor_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Reverse_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Round_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Rsqrt_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/SelectV2_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Selu_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sigmoid_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sign_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sin_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sinh_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Slice_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Softmax_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Softplus_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/SpaceToBatchND_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/SplitV_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sqrt_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Square_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/SquaredDifference_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Step_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sub_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Sum_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Tan_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Tanh_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Tile_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Transpose_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/Unpack_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/UnsortedSegmentSum_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/gradients/../../src/gradients/ZerosLike_grad.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/register_all_gradients.ts", "node_modules/@tensorflow/tfjs-core/dist/../src/index.ts", "build/draw/../../src/draw/drawContour.ts", "build/classes/../../src/classes/Dimensions.ts", "build/utils/../../src/utils/index.ts", "build/classes/../../src/classes/Point.ts", "build/classes/../../src/classes/Box.ts", "build/classes/../../src/classes/BoundingBox.ts", "build/classes/../../src/classes/ObjectDetection.ts", "build/classes/../../src/classes/FaceDetection.ts", "build/ops/../../src/ops/iou.ts", "build/ops/../../src/ops/minBbox.ts", "build/ops/../../src/ops/nonMaxSuppression.ts", "build/ops/../../src/ops/normalize.ts", "build/ops/../../src/ops/padToSquare.ts", "build/ops/../../src/ops/shuffleArray.ts", "build/ops/../../src/ops/index.ts", "build/classes/../../src/classes/Rect.ts", "build/classes/../../src/classes/FaceLandmarks.ts", "build/classes/../../src/classes/FaceLandmarks5.ts", "build/classes/../../src/classes/FaceLandmarks68.ts", "build/classes/../../src/classes/FaceMatch.ts", "build/classes/../../src/classes/LabeledBox.ts", "build/classes/../../src/classes/LabeledFaceDescriptors.ts", "build/classes/../../src/classes/PredictedBox.ts", "build/factories/../../src/factories/WithFaceDetection.ts", "build/env/../../src/env/createBrowserEnv.ts", "build/env/../../src/env/createFileSystem.ts", "build/env/../../src/env/createNodejsEnv.ts", "build/env/../../src/env/isBrowser.ts", "build/env/../../src/env/index.ts", "build/dom/../../src/dom/resolveInput.ts", "build/dom/../../src/dom/getContext2dOrThrow.ts", "build/draw/../../src/draw/DrawTextField.ts", "build/draw/../../src/draw/DrawBox.ts", "build/draw/../../src/draw/drawDetections.ts", "build/dom/../../src/dom/isMediaLoaded.ts", "build/dom/../../src/dom/awaitMediaLoaded.ts", "build/dom/../../src/dom/bufferToImage.ts", "build/dom/../../src/dom/getMediaDimensions.ts", "build/dom/../../src/dom/createCanvas.ts", "build/dom/../../src/dom/imageTensorToCanvas.ts", "build/dom/../../src/dom/isMediaElement.ts", "build/dom/../../src/dom/imageToSquare.ts", "build/dom/../../src/dom/NetInput.ts", "build/dom/../../src/dom/toNetInput.ts", "build/dom/../../src/dom/extractFaces.ts", "build/dom/../../src/dom/extractFaceTensors.ts", "build/dom/../../src/dom/fetchOrThrow.ts", "build/dom/../../src/dom/fetchImage.ts", "build/dom/../../src/dom/fetchJson.ts", "build/dom/../../src/dom/fetchNetWeights.ts", "build/common/../../src/common/getModelUris.ts", "build/dom/../../src/dom/loadWeightMap.ts", "build/dom/../../src/dom/matchDimensions.ts", "build/../src/NeuralNetwork.ts", "build/common/../../src/common/depthwiseSeparableConv.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/denseBlock.ts", "build/common/../../src/common/convLayer.ts", "build/common/../../src/common/disposeUnusedWeightTensors.ts", "build/common/../../src/common/extractConvParamsFactory.ts", "build/common/../../src/common/extractFCParamsFactory.ts", "build/common/../../src/common/types.ts", "build/common/../../src/common/extractSeparableConvParamsFactory.ts", "build/common/../../src/common/extractWeightEntryFactory.ts", "build/common/../../src/common/extractWeightsFactory.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/extractorsFactory.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/extractParams.ts", "build/common/../../src/common/loadConvParamsFactory.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/loadParamsFactory.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/extractParamsFromWeigthMap.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/FaceFeatureExtractor.ts", "build/common/../../src/common/fullyConnectedLayer.ts", "build/faceProcessor/../../src/faceProcessor/extractParams.ts", "build/faceProcessor/../../src/faceProcessor/extractParamsFromWeigthMap.ts", "build/faceProcessor/../../src/faceProcessor/util.ts", "build/faceProcessor/../../src/faceProcessor/FaceProcessor.ts", "build/faceExpressionNet/../../src/faceExpressionNet/FaceExpressions.ts", "build/faceExpressionNet/../../src/faceExpressionNet/FaceExpressionNet.ts", "build/factories/../../src/factories/WithFaceExpressions.ts", "build/draw/../../src/draw/drawFaceExpressions.ts", "build/factories/../../src/factories/WithFaceLandmarks.ts", "build/draw/../../src/draw/DrawFaceLandmarks.ts", "build/draw/../../src/draw/index.ts", "build/xception/../../src/xception/extractParams.ts", "build/xception/../../src/xception/extractParamsFromWeigthMap.ts", "build/xception/../../src/xception/TinyXception.ts", "build/ageGenderNet/../../src/ageGenderNet/extractParams.ts", "build/ageGenderNet/../../src/ageGenderNet/extractParamsFromWeigthMap.ts", "build/ageGenderNet/../../src/ageGenderNet/types.ts", "build/ageGenderNet/../../src/ageGenderNet/AgeGenderNet.ts", "build/faceLandmarkNet/../../src/faceLandmarkNet/FaceLandmark68NetBase.ts", "build/faceLandmarkNet/../../src/faceLandmarkNet/FaceLandmark68Net.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/extractParamsFromWeigthMapTiny.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/extractParamsTiny.ts", "build/faceFeatureExtractor/../../src/faceFeatureExtractor/TinyFaceFeatureExtractor.ts", "build/faceLandmarkNet/../../src/faceLandmarkNet/FaceLandmark68TinyNet.ts", "build/faceLandmarkNet/../../src/faceLandmarkNet/index.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/scaleLayer.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/convLayer.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/extractParams.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/extractParamsFromWeigthMap.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/residualLayer.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/FaceRecognitionNet.ts", "build/faceRecognitionNet/../../src/faceRecognitionNet/index.ts", "build/factories/../../src/factories/WithFaceDescriptor.ts", "build/factories/../../src/factories/WithAge.ts", "build/factories/../../src/factories/WithGender.ts", "build/ssdMobilenetv1/../../src/ssdMobilenetv1/extractParams.ts", "build/ssdMobilenetv1/../../src/ssdMobilenetv1/extractParamsFromWeigthMap.ts", "build/ssdMobilenetv1/../../src/ssdMobilenetv1/pointwiseConvLayer.ts", "build/ssdMobilenetv1/../../src/ssdMobilenetv1/mobileNetV1.ts", "build/ssdMobilenetv1/../../src/ssdMobilenetv1/nonMaxSuppression.ts", "build/ssdMobilenetv1/../../src/ssdMobilenetv1/outputLayer.ts", "build/ssdMobilenetv1/../../src/ssdMobilenetv1/boxPredictionLayer.ts", "build/ssdMobilenetv1/../../src/ssdMobilenetv1/predictionLayer.ts", "build/ssdMobilenetv1/../../src/ssdMobilenetv1/SsdMobilenetv1Options.ts", "build/ssdMobilenetv1/../../src/ssdMobilenetv1/SsdMobilenetv1.ts", "build/ssdMobilenetv1/../../src/ssdMobilenetv1/index.ts", "build/tinyYolov2/../../src/tinyYolov2/const.ts", "build/tinyYolov2/../../src/tinyYolov2/config.ts", "build/tinyYolov2/../../src/tinyYolov2/leaky.ts", "build/tinyYolov2/../../src/tinyYolov2/convWithBatchNorm.ts", "build/tinyYolov2/../../src/tinyYolov2/depthwiseSeparableConv.ts", "build/tinyYolov2/../../src/tinyYolov2/extractParams.ts", "build/tinyYolov2/../../src/tinyYolov2/extractParamsFromWeigthMap.ts", "build/tinyYolov2/../../src/tinyYolov2/TinyYolov2Options.ts", "build/tinyYolov2/../../src/tinyYolov2/TinyYolov2Base.ts", "build/tinyYolov2/../../src/tinyYolov2/TinyYolov2.ts", "build/tinyYolov2/../../src/tinyYolov2/index.ts", "build/tinyFaceDetector/../../src/tinyFaceDetector/TinyFaceDetectorOptions.ts", "build/globalApi/../../src/globalApi/ComposableTask.ts", "build/globalApi/../../src/globalApi/extractFacesAndComputeResults.ts", "build/tinyFaceDetector/../../src/tinyFaceDetector/const.ts", "build/tinyFaceDetector/../../src/tinyFaceDetector/TinyFaceDetector.ts", "build/globalApi/../../src/globalApi/nets.ts", "build/globalApi/../../src/globalApi/PredictFaceExpressionsTask.ts", "build/globalApi/../../src/globalApi/PredictAgeAndGenderTask.ts", "build/globalApi/../../src/globalApi/ComputeFaceDescriptorsTasks.ts", "build/globalApi/../../src/globalApi/DetectFaceLandmarksTasks.ts", "build/globalApi/../../src/globalApi/DetectFacesTasks.ts", "build/globalApi/../../src/globalApi/detectFaces.ts", "build/globalApi/../../src/globalApi/allFaces.ts", "build/../src/euclideanDistance.ts", "build/globalApi/../../src/globalApi/FaceMatcher.ts", "build/tinyFaceDetector/../../src/tinyFaceDetector/index.ts", "build/../src/resizeResults.ts"], "sourcesContent": ["// A port of an algorithm by Johannes Baag\u00F8e , 2010\n// http://baagoe.com/en/RandomMusings/javascript/\n// https://github.com/nquinlan/better-random-numbers-for-javascript-mirror\n// Original work is under MIT license -\n\n// Copyright (C) 2010 by Johannes Baag\u00F8e \n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n// \n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n// \n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n\n\n(function(global, module, define) {\n\nfunction Alea(seed) {\n var me = this, mash = Mash();\n\n me.next = function() {\n var t = 2091639 * me.s0 + me.c * 2.3283064365386963e-10; // 2^-32\n me.s0 = me.s1;\n me.s1 = me.s2;\n return me.s2 = t - (me.c = t | 0);\n };\n\n // Apply the seeding algorithm from Baagoe.\n me.c = 1;\n me.s0 = mash(' ');\n me.s1 = mash(' ');\n me.s2 = mash(' ');\n me.s0 -= mash(seed);\n if (me.s0 < 0) { me.s0 += 1; }\n me.s1 -= mash(seed);\n if (me.s1 < 0) { me.s1 += 1; }\n me.s2 -= mash(seed);\n if (me.s2 < 0) { me.s2 += 1; }\n mash = null;\n}\n\nfunction copy(f, t) {\n t.c = f.c;\n t.s0 = f.s0;\n t.s1 = f.s1;\n t.s2 = f.s2;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new Alea(seed),\n state = opts && opts.state,\n prng = xg.next;\n prng.int32 = function() { return (xg.next() * 0x100000000) | 0; }\n prng.double = function() {\n return prng() + (prng() * 0x200000 | 0) * 1.1102230246251565e-16; // 2^-53\n };\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nfunction Mash() {\n var n = 0xefc8249d;\n\n var mash = function(data) {\n data = data.toString();\n for (var i = 0; i < data.length; i++) {\n n += data.charCodeAt(i);\n var h = 0.02519603282416938 * n;\n n = h >>> 0;\n h -= n;\n h *= n;\n n = h >>> 0;\n h -= n;\n n += h * 0x100000000; // 2^32\n }\n return (n >>> 0) * 2.3283064365386963e-10; // 2^-32\n };\n\n return mash;\n}\n\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.alea = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n", "// A Javascript implementaion of the \"xor128\" prng algorithm by\n// George Marsaglia. See http://www.jstatsoft.org/v08/i14/paper\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n me.x = 0;\n me.y = 0;\n me.z = 0;\n me.w = 0;\n\n // Set up generator function.\n me.next = function() {\n var t = me.x ^ (me.x << 11);\n me.x = me.y;\n me.y = me.z;\n me.z = me.w;\n return me.w ^= (me.w >>> 19) ^ t ^ (t >>> 8);\n };\n\n if (seed === (seed | 0)) {\n // Integer seed.\n me.x = seed;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 64; k++) {\n me.x ^= strseed.charCodeAt(k) | 0;\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.x = f.x;\n t.y = f.y;\n t.z = f.z;\n t.w = f.w;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xor128 = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n", "// A Javascript implementaion of the \"xorwow\" prng algorithm by\n// George Marsaglia. See http://www.jstatsoft.org/v08/i14/paper\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n // Set up generator function.\n me.next = function() {\n var t = (me.x ^ (me.x >>> 2));\n me.x = me.y; me.y = me.z; me.z = me.w; me.w = me.v;\n return (me.d = (me.d + 362437 | 0)) +\n (me.v = (me.v ^ (me.v << 4)) ^ (t ^ (t << 1))) | 0;\n };\n\n me.x = 0;\n me.y = 0;\n me.z = 0;\n me.w = 0;\n me.v = 0;\n\n if (seed === (seed | 0)) {\n // Integer seed.\n me.x = seed;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 64; k++) {\n me.x ^= strseed.charCodeAt(k) | 0;\n if (k == strseed.length) {\n me.d = me.x << 10 ^ me.x >>> 4;\n }\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.x = f.x;\n t.y = f.y;\n t.z = f.z;\n t.w = f.w;\n t.v = f.v;\n t.d = f.d;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xorwow = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n", "// A Javascript implementaion of the \"xorshift7\" algorithm by\n// Fran\u00E7ois Panneton and Pierre L'ecuyer:\n// \"On the Xorgshift Random Number Generators\"\n// http://saluc.engr.uconn.edu/refs/crypto/rng/panneton05onthexorshift.pdf\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this;\n\n // Set up generator function.\n me.next = function() {\n // Update xor generator.\n var X = me.x, i = me.i, t, v, w;\n t = X[i]; t ^= (t >>> 7); v = t ^ (t << 24);\n t = X[(i + 1) & 7]; v ^= t ^ (t >>> 10);\n t = X[(i + 3) & 7]; v ^= t ^ (t >>> 3);\n t = X[(i + 4) & 7]; v ^= t ^ (t << 7);\n t = X[(i + 7) & 7]; t = t ^ (t << 13); v ^= t ^ (t << 9);\n X[i] = v;\n me.i = (i + 1) & 7;\n return v;\n };\n\n function init(me, seed) {\n var j, w, X = [];\n\n if (seed === (seed | 0)) {\n // Seed state array using a 32-bit integer.\n w = X[0] = seed;\n } else {\n // Seed state using a string.\n seed = '' + seed;\n for (j = 0; j < seed.length; ++j) {\n X[j & 7] = (X[j & 7] << 15) ^\n (seed.charCodeAt(j) + X[(j + 1) & 7] << 13);\n }\n }\n // Enforce an array length of 8, not all zeroes.\n while (X.length < 8) X.push(0);\n for (j = 0; j < 8 && X[j] === 0; ++j);\n if (j == 8) w = X[7] = -1; else w = X[j];\n\n me.x = X;\n me.i = 0;\n\n // Discard an initial 256 values.\n for (j = 256; j > 0; --j) {\n me.next();\n }\n }\n\n init(me, seed);\n}\n\nfunction copy(f, t) {\n t.x = f.x.slice();\n t.i = f.i;\n return t;\n}\n\nfunction impl(seed, opts) {\n if (seed == null) seed = +(new Date);\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (state.x) copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xorshift7 = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n", "// A Javascript implementaion of Richard Brent's Xorgens xor4096 algorithm.\n//\n// This fast non-cryptographic random number generator is designed for\n// use in Monte-Carlo algorithms. It combines a long-period xorshift\n// generator with a Weyl generator, and it passes all common batteries\n// of stasticial tests for randomness while consuming only a few nanoseconds\n// for each prng generated. For background on the generator, see Brent's\n// paper: \"Some long-period random number generators using shifts and xors.\"\n// http://arxiv.org/pdf/1004.3115v1.pdf\n//\n// Usage:\n//\n// var xor4096 = require('xor4096');\n// random = xor4096(1); // Seed with int32 or string.\n// assert.equal(random(), 0.1520436450538547); // (0, 1) range, 53 bits.\n// assert.equal(random.int32(), 1806534897); // signed int32, 32 bits.\n//\n// For nonzero numeric keys, this impelementation provides a sequence\n// identical to that by Brent's xorgens 3 implementaion in C. This\n// implementation also provides for initalizing the generator with\n// string seeds, or for saving and restoring the state of the generator.\n//\n// On Chrome, this prng benchmarks about 2.1 times slower than\n// Javascript's built-in Math.random().\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this;\n\n // Set up generator function.\n me.next = function() {\n var w = me.w,\n X = me.X, i = me.i, t, v;\n // Update Weyl generator.\n me.w = w = (w + 0x61c88647) | 0;\n // Update xor generator.\n v = X[(i + 34) & 127];\n t = X[i = ((i + 1) & 127)];\n v ^= v << 13;\n t ^= t << 17;\n v ^= v >>> 15;\n t ^= t >>> 12;\n // Update Xor generator array state.\n v = X[i] = v ^ t;\n me.i = i;\n // Result is the combination.\n return (v + (w ^ (w >>> 16))) | 0;\n };\n\n function init(me, seed) {\n var t, v, i, j, w, X = [], limit = 128;\n if (seed === (seed | 0)) {\n // Numeric seeds initialize v, which is used to generates X.\n v = seed;\n seed = null;\n } else {\n // String seeds are mixed into v and X one character at a time.\n seed = seed + '\\0';\n v = 0;\n limit = Math.max(limit, seed.length);\n }\n // Initialize circular array and weyl value.\n for (i = 0, j = -32; j < limit; ++j) {\n // Put the unicode characters into the array, and shuffle them.\n if (seed) v ^= seed.charCodeAt((j + 32) % seed.length);\n // After 32 shuffles, take v as the starting w value.\n if (j === 0) w = v;\n v ^= v << 10;\n v ^= v >>> 15;\n v ^= v << 4;\n v ^= v >>> 13;\n if (j >= 0) {\n w = (w + 0x61c88647) | 0; // Weyl.\n t = (X[j & 127] ^= (v + w)); // Combine xor and weyl to init array.\n i = (0 == t) ? i + 1 : 0; // Count zeroes.\n }\n }\n // We have detected all zeroes; make the key nonzero.\n if (i >= 128) {\n X[(seed && seed.length || 0) & 127] = -1;\n }\n // Run the generator 512 times to further mix the state before using it.\n // Factoring this as a function slows the main generator, so it is just\n // unrolled here. The weyl generator is not advanced while warming up.\n i = 127;\n for (j = 4 * 128; j > 0; --j) {\n v = X[(i + 34) & 127];\n t = X[i = ((i + 1) & 127)];\n v ^= v << 13;\n t ^= t << 17;\n v ^= v >>> 15;\n t ^= t >>> 12;\n X[i] = v ^ t;\n }\n // Storing state as object members is faster than using closure variables.\n me.w = w;\n me.X = X;\n me.i = i;\n }\n\n init(me, seed);\n}\n\nfunction copy(f, t) {\n t.i = f.i;\n t.w = f.w;\n t.X = f.X.slice();\n return t;\n};\n\nfunction impl(seed, opts) {\n if (seed == null) seed = +(new Date);\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (state.X) copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xor4096 = impl;\n}\n\n})(\n this, // window object or global\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n", "// A Javascript implementaion of the \"Tyche-i\" prng algorithm by\n// Samuel Neves and Filipe Araujo.\n// See https://eden.dei.uc.pt/~sneves/pubs/2011-snfa2.pdf\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n // Set up generator function.\n me.next = function() {\n var b = me.b, c = me.c, d = me.d, a = me.a;\n b = (b << 25) ^ (b >>> 7) ^ c;\n c = (c - d) | 0;\n d = (d << 24) ^ (d >>> 8) ^ a;\n a = (a - b) | 0;\n me.b = b = (b << 20) ^ (b >>> 12) ^ c;\n me.c = c = (c - d) | 0;\n me.d = (d << 16) ^ (c >>> 16) ^ a;\n return me.a = (a - b) | 0;\n };\n\n /* The following is non-inverted tyche, which has better internal\n * bit diffusion, but which is about 25% slower than tyche-i in JS.\n me.next = function() {\n var a = me.a, b = me.b, c = me.c, d = me.d;\n a = (me.a + me.b | 0) >>> 0;\n d = me.d ^ a; d = d << 16 ^ d >>> 16;\n c = me.c + d | 0;\n b = me.b ^ c; b = b << 12 ^ d >>> 20;\n me.a = a = a + b | 0;\n d = d ^ a; me.d = d = d << 8 ^ d >>> 24;\n me.c = c = c + d | 0;\n b = b ^ c;\n return me.b = (b << 7 ^ b >>> 25);\n }\n */\n\n me.a = 0;\n me.b = 0;\n me.c = 2654435769 | 0;\n me.d = 1367130551;\n\n if (seed === Math.floor(seed)) {\n // Integer seed.\n me.a = (seed / 0x100000000) | 0;\n me.b = seed | 0;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 20; k++) {\n me.b ^= strseed.charCodeAt(k) | 0;\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.a = f.a;\n t.b = f.b;\n t.c = f.c;\n t.d = f.d;\n return t;\n};\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.tychei = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n", "", "/*\nCopyright 2014 David Bau.\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n*/\n\n(function (pool, math) {\n//\n// The following constants are related to IEEE 754 limits.\n//\nvar global = this,\n width = 256, // each RC4 output is 0 <= x < 256\n chunks = 6, // at least six RC4 outputs for each double\n digits = 52, // there are 52 significant digits in a double\n rngname = 'random', // rngname: name for Math.random and Math.seedrandom\n startdenom = math.pow(width, chunks),\n significance = math.pow(2, digits),\n overflow = significance * 2,\n mask = width - 1,\n nodecrypto; // node.js crypto module, initialized at the bottom.\n\n//\n// seedrandom()\n// This is the seedrandom function described above.\n//\nfunction seedrandom(seed, options, callback) {\n var key = [];\n options = (options == true) ? { entropy: true } : (options || {});\n\n // Flatten the seed string or build one from local entropy if needed.\n var shortseed = mixkey(flatten(\n options.entropy ? [seed, tostring(pool)] :\n (seed == null) ? autoseed() : seed, 3), key);\n\n // Use the seed to initialize an ARC4 generator.\n var arc4 = new ARC4(key);\n\n // This function returns a random double in [0, 1) that contains\n // randomness in every bit of the mantissa of the IEEE 754 value.\n var prng = function() {\n var n = arc4.g(chunks), // Start with a numerator n < 2 ^ 48\n d = startdenom, // and denominator d = 2 ^ 48.\n x = 0; // and no 'extra last byte'.\n while (n < significance) { // Fill up all significant digits by\n n = (n + x) * width; // shifting numerator and\n d *= width; // denominator and generating a\n x = arc4.g(1); // new least-significant-byte.\n }\n while (n >= overflow) { // To avoid rounding up, before adding\n n /= 2; // last byte, shift everything\n d /= 2; // right using integer math until\n x >>>= 1; // we have exactly the desired bits.\n }\n return (n + x) / d; // Form the number within [0, 1).\n };\n\n prng.int32 = function() { return arc4.g(4) | 0; }\n prng.quick = function() { return arc4.g(4) / 0x100000000; }\n prng.double = prng;\n\n // Mix the randomness into accumulated entropy.\n mixkey(tostring(arc4.S), pool);\n\n // Calling convention: what to return as a function of prng, seed, is_math.\n return (options.pass || callback ||\n function(prng, seed, is_math_call, state) {\n if (state) {\n // Load the arc4 state from the given state if it has an S array.\n if (state.S) { copy(state, arc4); }\n // Only provide the .state method if requested via options.state.\n prng.state = function() { return copy(arc4, {}); }\n }\n\n // If called as a method of Math (Math.seedrandom()), mutate\n // Math.random because that is how seedrandom.js has worked since v1.0.\n if (is_math_call) { math[rngname] = prng; return seed; }\n\n // Otherwise, it is a newer calling convention, so return the\n // prng directly.\n else return prng;\n })(\n prng,\n shortseed,\n 'global' in options ? options.global : (this == math),\n options.state);\n}\nmath['seed' + rngname] = seedrandom;\n\n//\n// ARC4\n//\n// An ARC4 implementation. The constructor takes a key in the form of\n// an array of at most (width) integers that should be 0 <= x < (width).\n//\n// The g(count) method returns a pseudorandom integer that concatenates\n// the next (count) outputs from ARC4. Its return value is a number x\n// that is in the range 0 <= x < (width ^ count).\n//\nfunction ARC4(key) {\n var t, keylen = key.length,\n me = this, i = 0, j = me.i = me.j = 0, s = me.S = [];\n\n // The empty key [] is treated as [0].\n if (!keylen) { key = [keylen++]; }\n\n // Set up S using the standard key scheduling algorithm.\n while (i < width) {\n s[i] = i++;\n }\n for (i = 0; i < width; i++) {\n s[i] = s[j = mask & (j + key[i % keylen] + (t = s[i]))];\n s[j] = t;\n }\n\n // The \"g\" method returns the next (count) outputs as one number.\n (me.g = function(count) {\n // Using instance members instead of closure state nearly doubles speed.\n var t, r = 0,\n i = me.i, j = me.j, s = me.S;\n while (count--) {\n t = s[i = mask & (i + 1)];\n r = r * width + s[mask & ((s[i] = s[j = mask & (j + t)]) + (s[j] = t))];\n }\n me.i = i; me.j = j;\n return r;\n // For robust unpredictability, the function call below automatically\n // discards an initial batch of values. This is called RC4-drop[256].\n // See http://google.com/search?q=rsa+fluhrer+response&btnI\n })(width);\n}\n\n//\n// copy()\n// Copies internal state of ARC4 to or from a plain object.\n//\nfunction copy(f, t) {\n t.i = f.i;\n t.j = f.j;\n t.S = f.S.slice();\n return t;\n};\n\n//\n// flatten()\n// Converts an object tree to nested arrays of strings.\n//\nfunction flatten(obj, depth) {\n var result = [], typ = (typeof obj), prop;\n if (depth && typ == 'object') {\n for (prop in obj) {\n try { result.push(flatten(obj[prop], depth - 1)); } catch (e) {}\n }\n }\n return (result.length ? result : typ == 'string' ? obj : obj + '\\0');\n}\n\n//\n// mixkey()\n// Mixes a string seed into a key that is an array of integers, and\n// returns a shortened string seed that is equivalent to the result key.\n//\nfunction mixkey(seed, key) {\n var stringseed = seed + '', smear, j = 0;\n while (j < stringseed.length) {\n key[mask & j] =\n mask & ((smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++));\n }\n return tostring(key);\n}\n\n//\n// autoseed()\n// Returns an object for autoseeding, using window.crypto and Node crypto\n// module if available.\n//\nfunction autoseed() {\n try {\n var out;\n if (nodecrypto && (out = nodecrypto.randomBytes)) {\n // The use of 'out' to remember randomBytes makes tight minified code.\n out = out(width);\n } else {\n out = new Uint8Array(width);\n (global.crypto || global.msCrypto).getRandomValues(out);\n }\n return tostring(out);\n } catch (e) {\n var browser = global.navigator,\n plugins = browser && browser.plugins;\n return [+new Date, global, plugins, global.screen, tostring(pool)];\n }\n}\n\n//\n// tostring()\n// Converts an array of charcodes to a string\n//\nfunction tostring(a) {\n return String.fromCharCode.apply(0, a);\n}\n\n//\n// When seedrandom.js is loaded, we immediately mix a few bits\n// from the built-in RNG into the entropy pool. Because we do\n// not want to interfere with deterministic PRNG state later,\n// seedrandom will not call math.random on its own again after\n// initialization.\n//\nmixkey(math.random(), pool);\n\n//\n// Nodejs and AMD support: export the implementation as a module using\n// either convention.\n//\nif ((typeof module) == 'object' && module.exports) {\n module.exports = seedrandom;\n // When in node.js, try using crypto package for autoseeding.\n try {\n nodecrypto = require('crypto');\n } catch (ex) {}\n} else if ((typeof define) == 'function' && define.amd) {\n define(function() { return seedrandom; });\n}\n\n// End anonymous scope, and pass initial values.\n})(\n [], // pool: entropy pool starts empty\n Math // math: package containing random, pow, and seedrandom\n);\n", "// A library of seedable RNGs implemented in Javascript.\n//\n// Usage:\n//\n// var seedrandom = require('seedrandom');\n// var random = seedrandom(1); // or any seed.\n// var x = random(); // 0 <= x < 1. Every bit is random.\n// var x = random.quick(); // 0 <= x < 1. 32 bits of randomness.\n\n// alea, a 53-bit multiply-with-carry generator by Johannes Baag\u00F8e.\n// Period: ~2^116\n// Reported to pass all BigCrush tests.\nvar alea = require('./lib/alea');\n\n// xor128, a pure xor-shift generator by George Marsaglia.\n// Period: 2^128-1.\n// Reported to fail: MatrixRank and LinearComp.\nvar xor128 = require('./lib/xor128');\n\n// xorwow, George Marsaglia's 160-bit xor-shift combined plus weyl.\n// Period: 2^192-2^32\n// Reported to fail: CollisionOver, SimpPoker, and LinearComp.\nvar xorwow = require('./lib/xorwow');\n\n// xorshift7, by Fran\u00E7ois Panneton and Pierre L'ecuyer, takes\n// a different approach: it adds robustness by allowing more shifts\n// than Marsaglia's original three. It is a 7-shift generator\n// with 256 bits, that passes BigCrush with no systmatic failures.\n// Period 2^256-1.\n// No systematic BigCrush failures reported.\nvar xorshift7 = require('./lib/xorshift7');\n\n// xor4096, by Richard Brent, is a 4096-bit xor-shift with a\n// very long period that also adds a Weyl generator. It also passes\n// BigCrush with no systematic failures. Its long period may\n// be useful if you have many generators and need to avoid\n// collisions.\n// Period: 2^4128-2^32.\n// No systematic BigCrush failures reported.\nvar xor4096 = require('./lib/xor4096');\n\n// Tyche-i, by Samuel Neves and Filipe Araujo, is a bit-shifting random\n// number generator derived from ChaCha, a modern stream cipher.\n// https://eden.dei.uc.pt/~sneves/pubs/2011-snfa2.pdf\n// Period: ~2^127\n// No systematic BigCrush failures reported.\nvar tychei = require('./lib/tychei');\n\n// The original ARC4-based prng included in this library.\n// Period: ~2^1600\nvar sr = require('./seedrandom');\n\nsr.alea = alea;\nsr.xor128 = xor128;\nsr.xorwow = xorwow;\nsr.xorshift7 = xorshift7;\nsr.xor4096 = xor4096;\nsr.tychei = tychei;\n\nmodule.exports = sr;\n", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null], - "mappings": "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", + "mappings": "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", "names": [] } diff --git a/dist/face-api.node.js b/dist/face-api.node.js new file mode 100644 index 0000000..cafbded --- /dev/null +++ b/dist/face-api.node.js @@ -0,0 +1,24376 @@ +var __defineProperty = Object.defineProperty; +var __hasOwnProperty = Object.prototype.hasOwnProperty; +var __commonJS = (callback, module) => () => { + if (!module) { + module = {exports: {}}; + callback(module.exports, module); + } + return module.exports; +}; +var __markAsModule = (target) => { + return __defineProperty(target, "__esModule", {value: true}); +}; +var __export = (target, all3) => { + __markAsModule(target); + for (var name in all3) + __defineProperty(target, name, {get: all3[name], enumerable: true}); +}; +var __exportStar = (target, module) => { + __markAsModule(target); + if (typeof module === "object" || typeof module === "function") { + for (let key in module) + if (!__hasOwnProperty.call(target, key) && key !== "default") + __defineProperty(target, key, {get: () => module[key], enumerable: true}); + } + return target; +}; +var __toModule = (module) => { + if (module && module.__esModule) + return module; + return __exportStar(__defineProperty({}, "default", {value: module, enumerable: true}), module); +}; + +// node_modules/seedrandom/lib/alea.js +var require_alea = __commonJS((exports, module) => { + (function(global2, module2, define2) { + function Alea(seed) { + var me = this, mash = Mash(); + me.next = function() { + var t = 2091639 * me.s0 + me.c * 23283064365386963e-26; + me.s0 = me.s1; + me.s1 = me.s2; + return me.s2 = t - (me.c = t | 0); + }; + me.c = 1; + me.s0 = mash(" "); + me.s1 = mash(" "); + me.s2 = mash(" "); + me.s0 -= mash(seed); + if (me.s0 < 0) { + me.s0 += 1; + } + me.s1 -= mash(seed); + if (me.s1 < 0) { + me.s1 += 1; + } + me.s2 -= mash(seed); + if (me.s2 < 0) { + me.s2 += 1; + } + mash = null; + } + function copy(f, t) { + t.c = f.c; + t.s0 = f.s0; + t.s1 = f.s1; + t.s2 = f.s2; + return t; + } + function impl(seed, opts) { + var xg = new Alea(seed), state = opts && opts.state, prng = xg.next; + prng.int32 = function() { + return xg.next() * 4294967296 | 0; + }; + prng.double = function() { + return prng() + (prng() * 2097152 | 0) * 11102230246251565e-32; + }; + prng.quick = prng; + if (state) { + if (typeof state == "object") + copy(state, xg); + prng.state = function() { + return copy(xg, {}); + }; + } + return prng; + } + function Mash() { + var n = 4022871197; + var mash = function(data) { + data = data.toString(); + for (var i = 0; i < data.length; i++) { + n += data.charCodeAt(i); + var h = 0.02519603282416938 * n; + n = h >>> 0; + h -= n; + h *= n; + n = h >>> 0; + h -= n; + n += h * 4294967296; + } + return (n >>> 0) * 23283064365386963e-26; + }; + return mash; + } + if (module2 && module2.exports) { + module2.exports = impl; + } else if (define2 && define2.amd) { + define2(function() { + return impl; + }); + } else { + this.alea = impl; + } + })(exports, typeof module == "object" && module, typeof define == "function" && define); +}); + +// node_modules/seedrandom/lib/xor128.js +var require_xor128 = __commonJS((exports, module) => { + (function(global2, module2, define2) { + function XorGen(seed) { + var me = this, strseed = ""; + me.x = 0; + me.y = 0; + me.z = 0; + me.w = 0; + me.next = function() { + var t = me.x ^ me.x << 11; + me.x = me.y; + me.y = me.z; + me.z = me.w; + return me.w ^= me.w >>> 19 ^ t ^ t >>> 8; + }; + if (seed === (seed | 0)) { + me.x = seed; + } else { + strseed += seed; + } + for (var k = 0; k < strseed.length + 64; k++) { + me.x ^= strseed.charCodeAt(k) | 0; + me.next(); + } + } + function copy(f, t) { + t.x = f.x; + t.y = f.y; + t.z = f.z; + t.w = f.w; + return t; + } + function impl(seed, opts) { + var xg = new XorGen(seed), state = opts && opts.state, prng = function() { + return (xg.next() >>> 0) / 4294967296; + }; + prng.double = function() { + do { + var top = xg.next() >>> 11, bot = (xg.next() >>> 0) / 4294967296, result = (top + bot) / (1 << 21); + } while (result === 0); + return result; + }; + prng.int32 = xg.next; + prng.quick = prng; + if (state) { + if (typeof state == "object") + copy(state, xg); + prng.state = function() { + return copy(xg, {}); + }; + } + return prng; + } + if (module2 && module2.exports) { + module2.exports = impl; + } else if (define2 && define2.amd) { + define2(function() { + return impl; + }); + } else { + this.xor128 = impl; + } + })(exports, typeof module == "object" && module, typeof define == "function" && define); +}); + +// node_modules/seedrandom/lib/xorwow.js +var require_xorwow = __commonJS((exports, module) => { + (function(global2, module2, define2) { + function XorGen(seed) { + var me = this, strseed = ""; + me.next = function() { + var t = me.x ^ me.x >>> 2; + me.x = me.y; + me.y = me.z; + me.z = me.w; + me.w = me.v; + return (me.d = me.d + 362437 | 0) + (me.v = me.v ^ me.v << 4 ^ (t ^ t << 1)) | 0; + }; + me.x = 0; + me.y = 0; + me.z = 0; + me.w = 0; + me.v = 0; + if (seed === (seed | 0)) { + me.x = seed; + } else { + strseed += seed; + } + for (var k = 0; k < strseed.length + 64; k++) { + me.x ^= strseed.charCodeAt(k) | 0; + if (k == strseed.length) { + me.d = me.x << 10 ^ me.x >>> 4; + } + me.next(); + } + } + function copy(f, t) { + t.x = f.x; + t.y = f.y; + t.z = f.z; + t.w = f.w; + t.v = f.v; + t.d = f.d; + return t; + } + function impl(seed, opts) { + var xg = new XorGen(seed), state = opts && opts.state, prng = function() { + return (xg.next() >>> 0) / 4294967296; + }; + prng.double = function() { + do { + var top = xg.next() >>> 11, bot = (xg.next() >>> 0) / 4294967296, result = (top + bot) / (1 << 21); + } while (result === 0); + return result; + }; + prng.int32 = xg.next; + prng.quick = prng; + if (state) { + if (typeof state == "object") + copy(state, xg); + prng.state = function() { + return copy(xg, {}); + }; + } + return prng; + } + if (module2 && module2.exports) { + module2.exports = impl; + } else if (define2 && define2.amd) { + define2(function() { + return impl; + }); + } else { + this.xorwow = impl; + } + })(exports, typeof module == "object" && module, typeof define == "function" && define); +}); + +// node_modules/seedrandom/lib/xorshift7.js +var require_xorshift7 = __commonJS((exports, module) => { + (function(global2, module2, define2) { + function XorGen(seed) { + var me = this; + me.next = function() { + var X = me.x, i = me.i, t, v, w; + t = X[i]; + t ^= t >>> 7; + v = t ^ t << 24; + t = X[i + 1 & 7]; + v ^= t ^ t >>> 10; + t = X[i + 3 & 7]; + v ^= t ^ t >>> 3; + t = X[i + 4 & 7]; + v ^= t ^ t << 7; + t = X[i + 7 & 7]; + t = t ^ t << 13; + v ^= t ^ t << 9; + X[i] = v; + me.i = i + 1 & 7; + return v; + }; + function init(me2, seed2) { + var j, w, X = []; + if (seed2 === (seed2 | 0)) { + w = X[0] = seed2; + } else { + seed2 = "" + seed2; + for (j = 0; j < seed2.length; ++j) { + X[j & 7] = X[j & 7] << 15 ^ seed2.charCodeAt(j) + X[j + 1 & 7] << 13; + } + } + while (X.length < 8) + X.push(0); + for (j = 0; j < 8 && X[j] === 0; ++j) + ; + if (j == 8) + w = X[7] = -1; + else + w = X[j]; + me2.x = X; + me2.i = 0; + for (j = 256; j > 0; --j) { + me2.next(); + } + } + init(me, seed); + } + function copy(f, t) { + t.x = f.x.slice(); + t.i = f.i; + return t; + } + function impl(seed, opts) { + if (seed == null) + seed = +new Date(); + var xg = new XorGen(seed), state = opts && opts.state, prng = function() { + return (xg.next() >>> 0) / 4294967296; + }; + prng.double = function() { + do { + var top = xg.next() >>> 11, bot = (xg.next() >>> 0) / 4294967296, result = (top + bot) / (1 << 21); + } while (result === 0); + return result; + }; + prng.int32 = xg.next; + prng.quick = prng; + if (state) { + if (state.x) + copy(state, xg); + prng.state = function() { + return copy(xg, {}); + }; + } + return prng; + } + if (module2 && module2.exports) { + module2.exports = impl; + } else if (define2 && define2.amd) { + define2(function() { + return impl; + }); + } else { + this.xorshift7 = impl; + } + })(exports, typeof module == "object" && module, typeof define == "function" && define); +}); + +// node_modules/seedrandom/lib/xor4096.js +var require_xor4096 = __commonJS((exports, module) => { + (function(global2, module2, define2) { + function XorGen(seed) { + var me = this; + me.next = function() { + var w = me.w, X = me.X, i = me.i, t, v; + me.w = w = w + 1640531527 | 0; + v = X[i + 34 & 127]; + t = X[i = i + 1 & 127]; + v ^= v << 13; + t ^= t << 17; + v ^= v >>> 15; + t ^= t >>> 12; + v = X[i] = v ^ t; + me.i = i; + return v + (w ^ w >>> 16) | 0; + }; + function init(me2, seed2) { + var t, v, i, j, w, X = [], limit = 128; + if (seed2 === (seed2 | 0)) { + v = seed2; + seed2 = null; + } else { + seed2 = seed2 + "\0"; + v = 0; + limit = Math.max(limit, seed2.length); + } + for (i = 0, j = -32; j < limit; ++j) { + if (seed2) + v ^= seed2.charCodeAt((j + 32) % seed2.length); + if (j === 0) + w = v; + v ^= v << 10; + v ^= v >>> 15; + v ^= v << 4; + v ^= v >>> 13; + if (j >= 0) { + w = w + 1640531527 | 0; + t = X[j & 127] ^= v + w; + i = t == 0 ? i + 1 : 0; + } + } + if (i >= 128) { + X[(seed2 && seed2.length || 0) & 127] = -1; + } + i = 127; + for (j = 4 * 128; j > 0; --j) { + v = X[i + 34 & 127]; + t = X[i = i + 1 & 127]; + v ^= v << 13; + t ^= t << 17; + v ^= v >>> 15; + t ^= t >>> 12; + X[i] = v ^ t; + } + me2.w = w; + me2.X = X; + me2.i = i; + } + init(me, seed); + } + function copy(f, t) { + t.i = f.i; + t.w = f.w; + t.X = f.X.slice(); + return t; + } + ; + function impl(seed, opts) { + if (seed == null) + seed = +new Date(); + var xg = new XorGen(seed), state = opts && opts.state, prng = function() { + return (xg.next() >>> 0) / 4294967296; + }; + prng.double = function() { + do { + var top = xg.next() >>> 11, bot = (xg.next() >>> 0) / 4294967296, result = (top + bot) / (1 << 21); + } while (result === 0); + return result; + }; + prng.int32 = xg.next; + prng.quick = prng; + if (state) { + if (state.X) + copy(state, xg); + prng.state = function() { + return copy(xg, {}); + }; + } + return prng; + } + if (module2 && module2.exports) { + module2.exports = impl; + } else if (define2 && define2.amd) { + define2(function() { + return impl; + }); + } else { + this.xor4096 = impl; + } + })(exports, typeof module == "object" && module, typeof define == "function" && define); +}); + +// node_modules/seedrandom/lib/tychei.js +var require_tychei = __commonJS((exports, module) => { + (function(global2, module2, define2) { + function XorGen(seed) { + var me = this, strseed = ""; + me.next = function() { + var b = me.b, c = me.c, d = me.d, a = me.a; + b = b << 25 ^ b >>> 7 ^ c; + c = c - d | 0; + d = d << 24 ^ d >>> 8 ^ a; + a = a - b | 0; + me.b = b = b << 20 ^ b >>> 12 ^ c; + me.c = c = c - d | 0; + me.d = d << 16 ^ c >>> 16 ^ a; + return me.a = a - b | 0; + }; + me.a = 0; + me.b = 0; + me.c = 2654435769 | 0; + me.d = 1367130551; + if (seed === Math.floor(seed)) { + me.a = seed / 4294967296 | 0; + me.b = seed | 0; + } else { + strseed += seed; + } + for (var k = 0; k < strseed.length + 20; k++) { + me.b ^= strseed.charCodeAt(k) | 0; + me.next(); + } + } + function copy(f, t) { + t.a = f.a; + t.b = f.b; + t.c = f.c; + t.d = f.d; + return t; + } + ; + function impl(seed, opts) { + var xg = new XorGen(seed), state = opts && opts.state, prng = function() { + return (xg.next() >>> 0) / 4294967296; + }; + prng.double = function() { + do { + var top = xg.next() >>> 11, bot = (xg.next() >>> 0) / 4294967296, result = (top + bot) / (1 << 21); + } while (result === 0); + return result; + }; + prng.int32 = xg.next; + prng.quick = prng; + if (state) { + if (typeof state == "object") + copy(state, xg); + prng.state = function() { + return copy(xg, {}); + }; + } + return prng; + } + if (module2 && module2.exports) { + module2.exports = impl; + } else if (define2 && define2.amd) { + define2(function() { + return impl; + }); + } else { + this.tychei = impl; + } + })(exports, typeof module == "object" && module, typeof define == "function" && define); +}); + +// node_modules/seedrandom/seedrandom.js +var require_seedrandom = __commonJS((exports, module) => { + (function(pool3, math) { + var global2 = this, width = 256, chunks = 6, digits = 52, rngname = "random", startdenom = math.pow(width, chunks), significance = math.pow(2, digits), overflow = significance * 2, mask = width - 1, nodecrypto; + function seedrandom2(seed, options, callback) { + var key = []; + options = options == true ? {entropy: true} : options || {}; + var shortseed = mixkey(flatten2(options.entropy ? [seed, tostring(pool3)] : seed == null ? autoseed() : seed, 3), key); + var arc4 = new ARC4(key); + var prng = function() { + var n = arc4.g(chunks), d = startdenom, x = 0; + while (n < significance) { + n = (n + x) * width; + d *= width; + x = arc4.g(1); + } + while (n >= overflow) { + n /= 2; + d /= 2; + x >>>= 1; + } + return (n + x) / d; + }; + prng.int32 = function() { + return arc4.g(4) | 0; + }; + prng.quick = function() { + return arc4.g(4) / 4294967296; + }; + prng.double = prng; + mixkey(tostring(arc4.S), pool3); + return (options.pass || callback || function(prng2, seed2, is_math_call, state) { + if (state) { + if (state.S) { + copy(state, arc4); + } + prng2.state = function() { + return copy(arc4, {}); + }; + } + if (is_math_call) { + math[rngname] = prng2; + return seed2; + } else + return prng2; + })(prng, shortseed, "global" in options ? options.global : this == math, options.state); + } + math["seed" + rngname] = seedrandom2; + function ARC4(key) { + var t, keylen = key.length, me = this, i = 0, j = me.i = me.j = 0, s = me.S = []; + if (!keylen) { + key = [keylen++]; + } + while (i < width) { + s[i] = i++; + } + for (i = 0; i < width; i++) { + s[i] = s[j = mask & j + key[i % keylen] + (t = s[i])]; + s[j] = t; + } + (me.g = function(count) { + var t2, r = 0, i2 = me.i, j2 = me.j, s2 = me.S; + while (count--) { + t2 = s2[i2 = mask & i2 + 1]; + r = r * width + s2[mask & (s2[i2] = s2[j2 = mask & j2 + t2]) + (s2[j2] = t2)]; + } + me.i = i2; + me.j = j2; + return r; + })(width); + } + function copy(f, t) { + t.i = f.i; + t.j = f.j; + t.S = f.S.slice(); + return t; + } + ; + function flatten2(obj, depth) { + var result = [], typ = typeof obj, prop; + if (depth && typ == "object") { + for (prop in obj) { + try { + result.push(flatten2(obj[prop], depth - 1)); + } catch (e) { + } + } + } + return result.length ? result : typ == "string" ? obj : obj + "\0"; + } + function mixkey(seed, key) { + var stringseed = seed + "", smear, j = 0; + while (j < stringseed.length) { + key[mask & j] = mask & (smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++); + } + return tostring(key); + } + function autoseed() { + try { + var out; + if (nodecrypto && (out = nodecrypto.randomBytes)) { + out = out(width); + } else { + out = new Uint8Array(width); + (global2.crypto || global2.msCrypto).getRandomValues(out); + } + return tostring(out); + } catch (e) { + var browser = global2.navigator, plugins = browser && browser.plugins; + return [+new Date(), global2, plugins, global2.screen, tostring(pool3)]; + } + } + function tostring(a) { + return String.fromCharCode.apply(0, a); + } + mixkey(math.random(), pool3); + if (typeof module == "object" && module.exports) { + module.exports = seedrandom2; + try { + nodecrypto = require("crypto"); + } catch (ex) { + } + } else if (typeof define == "function" && define.amd) { + define(function() { + return seedrandom2; + }); + } + })([], Math); +}); + +// node_modules/seedrandom/index.js +var require_seedrandom2 = __commonJS((exports, module) => { + var alea2 = require_alea(); + var xor128 = require_xor128(); + var xorwow = require_xorwow(); + var xorshift7 = require_xorshift7(); + var xor4096 = require_xor4096(); + var tychei = require_tychei(); + var sr = require_seedrandom(); + sr.alea = alea2; + sr.xor128 = xor128; + sr.xorwow = xorwow; + sr.xorshift7 = xorshift7; + sr.xor4096 = xor4096; + sr.tychei = tychei; + module.exports = sr; +}); + +// build/env/isNodejs.js +var require_isNodejs = __commonJS((exports, module) => { + __export(exports, { + isNodejs: () => isNodejs3 + }); + function isNodejs3() { + return typeof global === "object" && true && typeof module !== "undefined" && typeof process !== "undefined" && !!process.version; + } +}); + +// node_modules/@tensorflow/tfjs-core/dist/environment.js +/** + * @license + * Copyright 2017 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +const TENSORFLOWJS_FLAGS_PREFIX = "tfjsflags"; +class Environment { + constructor(global2) { + this.global = global2; + this.flags = {}; + this.flagRegistry = {}; + this.urlFlags = {}; + this.populateURLFlags(); + } + setPlatform(platformName, platform) { + if (this.platform != null) { + console.warn(`Platform ${this.platformName} has already been set. Overwriting the platform with ${platform}.`); + } + this.platformName = platformName; + this.platform = platform; + } + registerFlag(flagName, evaluationFn, setHook) { + this.flagRegistry[flagName] = {evaluationFn, setHook}; + if (this.urlFlags[flagName] != null) { + const flagValue = this.urlFlags[flagName]; + console.warn(`Setting feature override from URL ${flagName}: ${flagValue}.`); + this.set(flagName, flagValue); + } + } + async getAsync(flagName) { + if (flagName in this.flags) { + return this.flags[flagName]; + } + this.flags[flagName] = await this.evaluateFlag(flagName); + return this.flags[flagName]; + } + get(flagName) { + if (flagName in this.flags) { + return this.flags[flagName]; + } + const flagValue = this.evaluateFlag(flagName); + if (flagValue instanceof Promise) { + throw new Error(`Flag ${flagName} cannot be synchronously evaluated. Please use getAsync() instead.`); + } + this.flags[flagName] = flagValue; + return this.flags[flagName]; + } + getNumber(flagName) { + return this.get(flagName); + } + getBool(flagName) { + return this.get(flagName); + } + getFlags() { + return this.flags; + } + get features() { + return this.flags; + } + set(flagName, value) { + if (this.flagRegistry[flagName] == null) { + throw new Error(`Cannot set flag ${flagName} as it has not been registered.`); + } + this.flags[flagName] = value; + if (this.flagRegistry[flagName].setHook != null) { + this.flagRegistry[flagName].setHook(value); + } + } + evaluateFlag(flagName) { + if (this.flagRegistry[flagName] == null) { + throw new Error(`Cannot evaluate flag '${flagName}': no evaluation function found.`); + } + return this.flagRegistry[flagName].evaluationFn(); + } + setFlags(flags2) { + this.flags = Object.assign({}, flags2); + } + reset() { + this.flags = {}; + this.urlFlags = {}; + this.populateURLFlags(); + } + populateURLFlags() { + if (typeof this.global === "undefined" || typeof this.global.location === "undefined" || typeof this.global.location.search === "undefined") { + return; + } + const urlParams = getQueryParams(this.global.location.search); + if (TENSORFLOWJS_FLAGS_PREFIX in urlParams) { + const keyValues = urlParams[TENSORFLOWJS_FLAGS_PREFIX].split(","); + keyValues.forEach((keyValue) => { + const [key, value] = keyValue.split(":"); + this.urlFlags[key] = parseValue(key, value); + }); + } + } +} +function getQueryParams(queryString) { + const params = {}; + queryString.replace(/[?&]([^=?&]+)(?:=([^&]*))?/g, (s, ...t) => { + decodeParam(params, t[0], t[1]); + return t.join("="); + }); + return params; +} +function decodeParam(params, name, value) { + params[decodeURIComponent(name)] = decodeURIComponent(value || ""); +} +function parseValue(flagName, value) { + value = value.toLowerCase(); + if (value === "true" || value === "false") { + return value === "true"; + } else if (`${+value}` === value) { + return +value; + } + throw new Error(`Could not parse value flag value ${value} for flag ${flagName}.`); +} +function env() { + return ENV; +} +let ENV = null; +function setEnvironmentGlobal(environment12) { + ENV = environment12; +} + +// node_modules/@tensorflow/tfjs-core/dist/global_util.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +let globalNameSpace; +function getGlobalNamespace() { + if (globalNameSpace == null) { + let ns; + if (typeof window !== "undefined") { + ns = window; + } else if (typeof global !== "undefined") { + ns = global; + } else if (typeof process !== "undefined") { + ns = process; + } else if (typeof self !== "undefined") { + ns = self; + } else { + throw new Error("Could not find a global object"); + } + globalNameSpace = ns; + } + return globalNameSpace; +} +function getGlobalMap() { + const ns = getGlobalNamespace(); + if (ns._tfGlobals == null) { + ns._tfGlobals = new Map(); + } + return ns._tfGlobals; +} +function getGlobal(key, init) { + const globalMap = getGlobalMap(); + if (globalMap.has(key)) { + return globalMap.get(key); + } else { + const singleton = init(); + globalMap.set(key, singleton); + return globalMap.get(key); + } +} + +// node_modules/@tensorflow/tfjs-core/dist/kernel_names.js +const Abs = "Abs"; +const Acos = "Acos"; +const Acosh = "Acosh"; +const Add = "Add"; +const AddN = "AddN"; +const All = "All"; +const Any = "Any"; +const ArgMax = "ArgMax"; +const ArgMin = "ArgMin"; +const Asin = "Asin"; +const Asinh = "Asinh"; +const Atan = "Atan"; +const Atanh = "Atanh"; +const Atan2 = "Atan2"; +const AvgPool = "AvgPool"; +const AvgPoolBackprop = "AvgPoolBackprop"; +const AvgPool3D = "AvgPool3D"; +const AvgPool3DBackprop = "AvgPool3DBackprop"; +const BatchMatMul = "BatchMatMul"; +const BatchToSpaceND = "BatchToSpaceND"; +const BroadcastTo = "BroadcastTo"; +const Cast = "Cast"; +const Ceil = "Ceil"; +const ClipByValue = "ClipByValue"; +const Complex = "Complex"; +const Concat = "Concat"; +const Conv2D = "Conv2D"; +const Conv2DBackpropFilter = "Conv2DBackpropFilter"; +const Conv2DBackpropInput = "Conv2DBackpropInput"; +const Conv3D = "Conv3D"; +const Conv3DBackpropFilterV2 = "Conv3DBackpropFilterV2"; +const Conv3DBackpropInputV2 = "Conv3DBackpropInputV2"; +const Cos = "Cos"; +const Cosh = "Cosh"; +const Cumsum = "Cumsum"; +const CropAndResize = "CropAndResize"; +const DepthToSpace = "DepthToSpace"; +const DepthwiseConv2dNative = "DepthwiseConv2dNative"; +const DepthwiseConv2dNativeBackpropFilter = "DepthwiseConv2dNativeBackpropFilter"; +const DepthwiseConv2dNativeBackpropInput = "DepthwiseConv2dNativeBackpropInput"; +const Diag = "Diag"; +const Dilation2D = "Dilation2D"; +const Dilation2DBackpropInput = "Dilation2DBackpropInput"; +const Dilation2DBackpropFilter = "Dilation2DBackpropFilter"; +const Div = "Div"; +const Elu = "Elu"; +const EluGrad = "EluGrad"; +const Erf = "Erf"; +const Equal = "Equal"; +const Exp = "Exp"; +const Expm1 = "Expm1"; +const FFT = "FFT"; +const Fill = "Fill"; +const FlipLeftRight = "FlipLeftRight"; +const Floor = "Floor"; +const FloorDiv = "FloorDiv"; +const FusedBatchNorm = "FusedBatchNorm"; +const GatherV2 = "GatherV2"; +const GatherNd = "GatherNd"; +const Greater = "Greater"; +const GreaterEqual = "GreaterEqual"; +const Identity = "Identity"; +const IFFT = "IFFT"; +const Imag = "Imag"; +const IsFinite = "IsFinite"; +const IsInf = "IsInf"; +const IsNan = "IsNan"; +const Less = "Less"; +const LessEqual = "LessEqual"; +const LinSpace = "LinSpace"; +const Log = "Log"; +const Log1p = "Log1p"; +const LogicalAnd = "LogicalAnd"; +const LogicalNot = "LogicalNot"; +const LogicalOr = "LogicalOr"; +const LogSoftmax = "LogSoftmax"; +const LRN = "LRN"; +const LRNBackprop = "LRNBackprop"; +const Max = "Max"; +const Maximum = "Maximum"; +const MaxPool = "MaxPool"; +const MaxPoolBackprop = "MaxPoolBackprop"; +const MaxPool3D = "MaxPool3D"; +const MaxPool3DBackprop = "MaxPool3DBackprop"; +const MaxPoolWithArgmax = "MaxPoolWithArgmax"; +const Mean = "Mean"; +const Min = "Min"; +const Minimum = "Minimum"; +const Mod = "Mod"; +const Multiply = "Multiply"; +const Negate = "Negate"; +const NotEqual = "NotEqual"; +const NonMaxSuppressionV3 = "NonMaxSuppressionV3"; +const NonMaxSuppressionV4 = "NonMaxSuppressionV4"; +const NonMaxSuppressionV5 = "NonMaxSuppressionV5"; +const OnesLike = "OnesLike"; +const OneHot = "OneHot"; +const PadV2 = "PadV2"; +const Pool = "Pool"; +const Pow = "Pow"; +const Prelu = "Prelu"; +const Prod = "Prod"; +const Range = "Range"; +const Real = "Real"; +const Reciprocal = "Reciprocal"; +const Relu = "Relu"; +const Reshape = "Reshape"; +const ResizeNearestNeighbor = "ResizeNearestNeighbor"; +const ResizeNearestNeighborGrad = "ResizeNearestNeighborGrad"; +const ResizeBilinear = "ResizeBilinear"; +const ResizeBilinearGrad = "ResizeBilinearGrad"; +const Relu6 = "Relu6"; +const Reverse = "Reverse"; +const Round = "Round"; +const Rsqrt = "Rsqrt"; +const ScatterNd = "ScatterNd"; +const SelectV2 = "SelectV2"; +const Selu = "Selu"; +const Slice = "Slice"; +const Sin = "Sin"; +const Sinh = "Sinh"; +const Sign = "Sign"; +const Sigmoid = "Sigmoid"; +const Softplus = "Softplus"; +const Sqrt = "Sqrt"; +const Sum = "Sum"; +const SpaceToBatchND = "SpaceToBatchND"; +const SplitV = "SplitV"; +const Softmax = "Softmax"; +const SquaredDifference = "SquaredDifference"; +const Square = "Square"; +const Sub = "Sub"; +const SparseToDense = "SparseToDense"; +const StridedSlice = "StridedSlice"; +const Tan = "Tan"; +const Tanh = "Tanh"; +const Tile = "Tile"; +const TopK = "TopK"; +const Transpose = "Transpose"; +const Unpack = "Unpack"; +const UnsortedSegmentSum = "UnsortedSegmentSum"; +const ZerosLike = "ZerosLike"; +const Step = "Step"; +const FromPixels = "FromPixels"; +const RotateWithOffset = "RotateWithOffset"; +const _FusedMatMul = "_FusedMatMul"; +const FusedConv2D = "FusedConv2D"; +const FusedDepthwiseConv2D = "FusedDepthwiseConv2D"; + +// node_modules/@tensorflow/tfjs-core/dist/kernel_registry.js +/** + * @license + * Copyright 2019 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +const kernelRegistry = getGlobal("kernelRegistry", () => new Map()); +const gradRegistry = getGlobal("gradRegistry", () => new Map()); +function getKernel(kernelName, backendName) { + const key = makeKey(kernelName, backendName); + return kernelRegistry.get(key); +} +function getGradient(kernelName) { + return gradRegistry.get(kernelName); +} +function getKernelsForBackend(backendName) { + const it = kernelRegistry.entries(); + const result = []; + while (true) { + const {done, value} = it.next(); + if (done) { + break; + } + const [key, config2] = value; + const [backend2] = key.split("_"); + if (backend2 === backendName) { + result.push(config2); + } + } + return result; +} +function registerKernel(config2) { + const {kernelName, backendName} = config2; + const key = makeKey(kernelName, backendName); + if (kernelRegistry.has(key)) { + console.warn(`The kernel '${kernelName}' for backend '${backendName}' is already registered`); + } + kernelRegistry.set(key, config2); +} +function registerGradient(config2) { + const {kernelName} = config2; + if (gradRegistry.has(kernelName)) { + if (env().getBool("DEBUG")) { + console.warn(`Overriding the gradient for '${kernelName}'`); + } + } + gradRegistry.set(kernelName, config2); +} +function unregisterKernel(kernelName, backendName) { + const key = makeKey(kernelName, backendName); + if (!kernelRegistry.has(key)) { + throw new Error(`The kernel '${kernelName}' for backend '${backendName}' is not registered`); + } + kernelRegistry.delete(key); +} +function unregisterGradient(kernelName) { + if (!gradRegistry.has(kernelName)) { + throw new Error(`The gradient '${kernelName}' for backend is not registered`); + } + gradRegistry.delete(kernelName); +} +function makeKey(kernelName, backendName) { + return `${backendName}_${kernelName}`; +} + +// node_modules/@tensorflow/tfjs-core/dist/util.js +const util_exports = {}; +__export(util_exports, { + arraysEqual: () => arraysEqual, + assert: () => assert, + assertNonNegativeIntegerDimensions: () => assertNonNegativeIntegerDimensions, + assertNonNull: () => assertNonNull, + assertShapesMatch: () => assertShapesMatch, + bytesFromStringArray: () => bytesFromStringArray, + bytesPerElement: () => bytesPerElement, + checkConversionForErrors: () => checkConversionForErrors, + clamp: () => clamp, + computeStrides: () => computeStrides, + createShuffledIndices: () => createShuffledIndices, + decodeString: () => decodeString, + distSquared: () => distSquared, + encodeString: () => encodeString, + fetch: () => fetch2, + flatten: () => flatten, + getArrayFromDType: () => getArrayFromDType, + getTypedArrayFromDType: () => getTypedArrayFromDType, + hasEncodingLoss: () => hasEncodingLoss, + indexToLoc: () => indexToLoc, + inferDtype: () => inferDtype, + inferFromImplicitShape: () => inferFromImplicitShape, + isBoolean: () => isBoolean, + isFunction: () => isFunction, + isInt: () => isInt, + isNumber: () => isNumber, + isScalarShape: () => isScalarShape, + isString: () => isString, + isTypedArray: () => isTypedArray, + isValidDtype: () => isValidDtype, + locToIndex: () => locToIndex, + makeOnesTypedArray: () => makeOnesTypedArray, + makeZerosNestedTypedArray: () => makeZerosNestedTypedArray, + makeZerosTypedArray: () => makeZerosTypedArray, + nearestDivisor: () => nearestDivisor, + nearestLargerEven: () => nearestLargerEven, + now: () => now, + parseAxisParam: () => parseAxisParam, + randUniform: () => randUniform, + repeatedTry: () => repeatedTry, + rightPad: () => rightPad, + shuffle: () => shuffle, + sizeFromShape: () => sizeFromShape, + sizeToSquarishShape: () => sizeToSquarishShape, + squeezeShape: () => squeezeShape, + sum: () => sum, + tanh: () => tanh, + toNestedArray: () => toNestedArray, + toTypedArray: () => toTypedArray +}); +/** + * @license + * Copyright 2017 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function shuffle(array) { + let counter = array.length; + let temp = 0; + let index = 0; + while (counter > 0) { + index = Math.random() * counter | 0; + counter--; + temp = array[counter]; + array[counter] = array[index]; + array[index] = temp; + } +} +function clamp(min5, x, max7) { + return Math.max(min5, Math.min(x, max7)); +} +function nearestLargerEven(val) { + return val % 2 === 0 ? val : val + 1; +} +function sum(arr) { + let sum26 = 0; + for (let i = 0; i < arr.length; i++) { + sum26 += arr[i]; + } + return sum26; +} +function randUniform(a, b) { + const r = Math.random(); + return b * r + (1 - r) * a; +} +function distSquared(a, b) { + let result = 0; + for (let i = 0; i < a.length; i++) { + const diff = Number(a[i]) - Number(b[i]); + result += diff * diff; + } + return result; +} +function assert(expr, msg) { + if (!expr) { + throw new Error(typeof msg === "string" ? msg : msg()); + } +} +function assertShapesMatch(shapeA, shapeB, errorMessagePrefix = "") { + assert(arraysEqual(shapeA, shapeB), () => errorMessagePrefix + ` Shapes ${shapeA} and ${shapeB} must match`); +} +function assertNonNull(a) { + assert(a != null, () => `The input to the tensor constructor must be a non-null value.`); +} +function flatten(arr, result = [], skipTypedArray = false) { + if (result == null) { + result = []; + } + if (Array.isArray(arr) || isTypedArray(arr) && !skipTypedArray) { + for (let i = 0; i < arr.length; ++i) { + flatten(arr[i], result, skipTypedArray); + } + } else { + result.push(arr); + } + return result; +} +function sizeFromShape(shape) { + if (shape.length === 0) { + return 1; + } + let size = shape[0]; + for (let i = 1; i < shape.length; i++) { + size *= shape[i]; + } + return size; +} +function isScalarShape(shape) { + return shape.length === 0; +} +function arraysEqual(n1, n2) { + if (n1 === n2) { + return true; + } + if (n1 == null || n2 == null) { + return false; + } + if (n1.length !== n2.length) { + return false; + } + for (let i = 0; i < n1.length; i++) { + if (n1[i] !== n2[i]) { + return false; + } + } + return true; +} +function isInt(a) { + return a % 1 === 0; +} +function tanh(x) { + if (Math.tanh != null) { + return Math.tanh(x); + } + if (x === Infinity) { + return 1; + } else if (x === -Infinity) { + return -1; + } else { + const e2x = Math.exp(2 * x); + return (e2x - 1) / (e2x + 1); + } +} +function sizeToSquarishShape(size) { + const width = Math.ceil(Math.sqrt(size)); + return [width, Math.ceil(size / width)]; +} +function createShuffledIndices(n) { + const shuffledIndices = new Uint32Array(n); + for (let i = 0; i < n; ++i) { + shuffledIndices[i] = i; + } + shuffle(shuffledIndices); + return shuffledIndices; +} +function rightPad(a, size) { + if (size <= a.length) { + return a; + } + return a + " ".repeat(size - a.length); +} +function repeatedTry(checkFn, delayFn = (counter) => 0, maxCounter) { + return new Promise((resolve, reject) => { + let tryCount = 0; + const tryFn = () => { + if (checkFn()) { + resolve(); + return; + } + tryCount++; + const nextBackoff = delayFn(tryCount); + if (maxCounter != null && tryCount >= maxCounter) { + reject(); + return; + } + setTimeout(tryFn, nextBackoff); + }; + tryFn(); + }); +} +function inferFromImplicitShape(shape, size) { + let shapeProd = 1; + let implicitIdx = -1; + for (let i = 0; i < shape.length; ++i) { + if (shape[i] >= 0) { + shapeProd *= shape[i]; + } else if (shape[i] === -1) { + if (implicitIdx !== -1) { + throw Error(`Shapes can only have 1 implicit size. Found -1 at dim ${implicitIdx} and dim ${i}`); + } + implicitIdx = i; + } else if (shape[i] < 0) { + throw Error(`Shapes can not be < 0. Found ${shape[i]} at dim ${i}`); + } + } + if (implicitIdx === -1) { + if (size > 0 && size !== shapeProd) { + throw Error(`Size(${size}) must match the product of shape ${shape}`); + } + return shape; + } + if (shapeProd === 0) { + throw Error(`Cannot infer the missing size in [${shape}] when there are 0 elements`); + } + if (size % shapeProd !== 0) { + throw Error(`The implicit shape can't be a fractional number. Got ${size} / ${shapeProd}`); + } + const newShape = shape.slice(); + newShape[implicitIdx] = size / shapeProd; + return newShape; +} +function parseAxisParam(axis, shape) { + const rank = shape.length; + axis = axis == null ? shape.map((s, i) => i) : [].concat(axis); + assert(axis.every((ax) => ax >= -rank && ax < rank), () => `All values in axis param must be in range [-${rank}, ${rank}) but got axis ${axis}`); + assert(axis.every((ax) => isInt(ax)), () => `All values in axis param must be integers but got axis ${axis}`); + return axis.map((a) => a < 0 ? rank + a : a); +} +function squeezeShape(shape, axis) { + const newShape = []; + const keptDims = []; + const isEmptyArray = axis != null && Array.isArray(axis) && axis.length === 0; + const axes = axis == null || isEmptyArray ? null : parseAxisParam(axis, shape).sort(); + let j = 0; + for (let i = 0; i < shape.length; ++i) { + if (axes != null) { + if (axes[j] === i && shape[i] !== 1) { + throw new Error(`Can't squeeze axis ${i} since its dim '${shape[i]}' is not 1`); + } + if ((axes[j] == null || axes[j] > i) && shape[i] === 1) { + newShape.push(shape[i]); + keptDims.push(i); + } + if (axes[j] <= i) { + j++; + } + } + if (shape[i] !== 1) { + newShape.push(shape[i]); + keptDims.push(i); + } + } + return {newShape, keptDims}; +} +function getTypedArrayFromDType(dtype, size) { + let values = null; + if (dtype == null || dtype === "float32") { + values = new Float32Array(size); + } else if (dtype === "int32") { + values = new Int32Array(size); + } else if (dtype === "bool") { + values = new Uint8Array(size); + } else { + throw new Error(`Unknown data type ${dtype}`); + } + return values; +} +function getArrayFromDType(dtype, size) { + let values = null; + if (dtype == null || dtype === "float32") { + values = new Float32Array(size); + } else if (dtype === "int32") { + values = new Int32Array(size); + } else if (dtype === "bool") { + values = new Uint8Array(size); + } else if (dtype === "string") { + values = new Array(size); + } else { + throw new Error(`Unknown data type ${dtype}`); + } + return values; +} +function checkConversionForErrors(vals, dtype) { + for (let i = 0; i < vals.length; i++) { + const num = vals[i]; + if (isNaN(num) || !isFinite(num)) { + throw Error(`A tensor of type ${dtype} being uploaded contains ${num}.`); + } + } +} +function isValidDtype(dtype) { + return dtype === "bool" || dtype === "complex64" || dtype === "float32" || dtype === "int32" || dtype === "string"; +} +function hasEncodingLoss(oldType, newType) { + if (newType === "complex64") { + return false; + } + if (newType === "float32" && oldType !== "complex64") { + return false; + } + if (newType === "int32" && oldType !== "float32" && oldType !== "complex64") { + return false; + } + if (newType === "bool" && oldType === "bool") { + return false; + } + return true; +} +function isTypedArray(a) { + return a instanceof Float32Array || a instanceof Int32Array || a instanceof Uint8Array; +} +function bytesPerElement(dtype) { + if (dtype === "float32" || dtype === "int32") { + return 4; + } else if (dtype === "complex64") { + return 8; + } else if (dtype === "bool") { + return 1; + } else { + throw new Error(`Unknown dtype ${dtype}`); + } +} +function bytesFromStringArray(arr) { + if (arr == null) { + return 0; + } + let bytes = 0; + arr.forEach((x) => bytes += x.length); + return bytes; +} +function isString(value) { + return typeof value === "string" || value instanceof String; +} +function isBoolean(value) { + return typeof value === "boolean"; +} +function isNumber(value) { + return typeof value === "number"; +} +function inferDtype(values) { + if (Array.isArray(values)) { + return inferDtype(values[0]); + } + if (values instanceof Float32Array) { + return "float32"; + } else if (values instanceof Int32Array || values instanceof Uint8Array) { + return "int32"; + } else if (isNumber(values)) { + return "float32"; + } else if (isString(values)) { + return "string"; + } else if (isBoolean(values)) { + return "bool"; + } + return "float32"; +} +function isFunction(f) { + return !!(f && f.constructor && f.call && f.apply); +} +function nearestDivisor(size, start) { + for (let i = start; i < size; ++i) { + if (size % i === 0) { + return i; + } + } + return size; +} +function computeStrides(shape) { + const rank = shape.length; + if (rank < 2) { + return []; + } + const strides = new Array(rank - 1); + strides[rank - 2] = shape[rank - 1]; + for (let i = rank - 3; i >= 0; --i) { + strides[i] = strides[i + 1] * shape[i + 1]; + } + return strides; +} +function toTypedArray(a, dtype) { + if (dtype === "string") { + throw new Error("Cannot convert a string[] to a TypedArray"); + } + if (Array.isArray(a)) { + a = flatten(a); + } + if (env().getBool("DEBUG")) { + checkConversionForErrors(a, dtype); + } + if (noConversionNeeded(a, dtype)) { + return a; + } + if (dtype == null || dtype === "float32" || dtype === "complex64") { + return new Float32Array(a); + } else if (dtype === "int32") { + return new Int32Array(a); + } else if (dtype === "bool") { + const bool = new Uint8Array(a.length); + for (let i = 0; i < bool.length; ++i) { + if (Math.round(a[i]) !== 0) { + bool[i] = 1; + } + } + return bool; + } else { + throw new Error(`Unknown data type ${dtype}`); + } +} +function createNestedArray(offset, shape, a) { + const ret = new Array(); + if (shape.length === 1) { + const d = shape[0]; + for (let i = 0; i < d; i++) { + ret[i] = a[offset + i]; + } + } else { + const d = shape[0]; + const rest = shape.slice(1); + const len = rest.reduce((acc, c) => acc * c); + for (let i = 0; i < d; i++) { + ret[i] = createNestedArray(offset + i * len, rest, a); + } + } + return ret; +} +function toNestedArray(shape, a) { + if (shape.length === 0) { + return a[0]; + } + const size = shape.reduce((acc, c) => acc * c); + if (size === 0) { + return []; + } + if (size !== a.length) { + throw new Error(`[${shape}] does not match the input size ${a.length}.`); + } + return createNestedArray(0, shape, a); +} +function noConversionNeeded(a, dtype) { + return a instanceof Float32Array && dtype === "float32" || a instanceof Int32Array && dtype === "int32" || a instanceof Uint8Array && dtype === "bool"; +} +function makeOnesTypedArray(size, dtype) { + const array = makeZerosTypedArray(size, dtype); + for (let i = 0; i < array.length; i++) { + array[i] = 1; + } + return array; +} +function makeZerosTypedArray(size, dtype) { + if (dtype == null || dtype === "float32" || dtype === "complex64") { + return new Float32Array(size); + } else if (dtype === "int32") { + return new Int32Array(size); + } else if (dtype === "bool") { + return new Uint8Array(size); + } else { + throw new Error(`Unknown data type ${dtype}`); + } +} +function makeZerosNestedTypedArray(shape, dtype) { + const size = shape.reduce((prev, curr) => prev * curr, 1); + if (dtype == null || dtype === "float32") { + return toNestedArray(shape, new Float32Array(size)); + } else if (dtype === "int32") { + return toNestedArray(shape, new Int32Array(size)); + } else if (dtype === "bool") { + return toNestedArray(shape, new Uint8Array(size)); + } else { + throw new Error(`Unknown data type ${dtype}`); + } +} +function now() { + return env().platform.now(); +} +function assertNonNegativeIntegerDimensions(shape) { + shape.forEach((dimSize) => { + assert(Number.isInteger(dimSize) && dimSize >= 0, () => `Tensor must have a shape comprised of positive integers but got shape [${shape}].`); + }); +} +function fetch2(path, requestInits) { + return env().platform.fetch(path, requestInits); +} +function encodeString(s, encoding = "utf-8") { + encoding = encoding || "utf-8"; + return env().platform.encode(s, encoding); +} +function decodeString(bytes, encoding = "utf-8") { + encoding = encoding || "utf-8"; + return env().platform.decode(bytes, encoding); +} +function locToIndex(locs, rank, strides) { + if (rank === 0) { + return 0; + } else if (rank === 1) { + return locs[0]; + } + let index = locs[locs.length - 1]; + for (let i = 0; i < locs.length - 1; ++i) { + index += strides[i] * locs[i]; + } + return index; +} +function indexToLoc(index, rank, strides) { + if (rank === 0) { + return []; + } else if (rank === 1) { + return [index]; + } + const locs = new Array(rank); + for (let i = 0; i < locs.length - 1; ++i) { + locs[i] = Math.floor(index / strides[i]); + index -= locs[i] * strides[i]; + } + locs[locs.length - 1] = index; + return locs; +} + +// node_modules/@tensorflow/tfjs-core/dist/profiler.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +class Profiler { + constructor(backendTimer, logger) { + this.backendTimer = backendTimer; + this.logger = logger; + if (logger == null) { + this.logger = new Logger(); + } + } + profileKernel(kernelName, inputs, f) { + let outputs; + const holdResultWrapperFn = () => { + outputs = f(); + }; + const timer = this.backendTimer.time(holdResultWrapperFn); + outputs.map((r) => { + r.data().then((tensorVals) => { + checkComputationForErrors(tensorVals, r.dtype, kernelName); + }); + }); + const kernelProfile = { + kernelName, + outputs, + inputs, + timeMs: timer.then((timing) => timing.kernelMs), + extraInfo: timer.then((timing) => timing.getExtraProfileInfo != null ? timing.getExtraProfileInfo() : "") + }; + return kernelProfile; + } + logKernelProfile(kernelProfile) { + const {kernelName, outputs, timeMs, inputs, extraInfo} = kernelProfile; + outputs.forEach((result) => { + Promise.all([result.data(), timeMs, extraInfo]).then((valueContainer) => { + this.logger.logKernelProfile(kernelName, result, valueContainer[0], valueContainer[1], inputs, valueContainer[2]); + }); + }); + } +} +function checkComputationForErrors(vals, dtype, kernelName) { + if (dtype !== "float32") { + return false; + } + for (let i = 0; i < vals.length; i++) { + const num = vals[i]; + if (isNaN(num) || !isFinite(num)) { + console.warn(`Found ${num} in the result of '${kernelName}'`); + return true; + } + } + return false; +} +class Logger { + logKernelProfile(name, result, vals, timeMs, inputs, extraInfo) { + const time2 = typeof timeMs === "number" ? rightPad(`${timeMs}ms`, 9) : timeMs["error"]; + const paddedName = rightPad(name, 25); + const rank = result.rank; + const size = result.size; + const shape = rightPad(result.shape.toString(), 14); + let inputShapesDescription = ""; + for (const name2 in inputs) { + const input = inputs[name2]; + if (input != null) { + const inputShape = input.shape || result.shape; + const inputRank = inputShape.length; + inputShapesDescription += `${name2}: ${inputRank}D ${inputRank > 0 ? inputShape : ""} `; + } + } + console.log(`%c${paddedName} %c${time2} %c${rank}D ${shape} %c${size} %c${inputShapesDescription} %c${extraInfo}`, "font-weight:bold", "color:red", "color:blue", "color: orange", "color: green", "color: steelblue"); + } +} + +// node_modules/@tensorflow/tfjs-core/dist/tape.js +/** + * @license + * Copyright 2017 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function getFilteredNodesXToY(tape2, xs, y) { + const tensorsFromX = {}; + const nodesFromX = {}; + for (let i = 0; i < xs.length; i++) { + tensorsFromX[xs[i].id] = true; + } + for (let i = 0; i < tape2.length; i++) { + const node = tape2[i]; + const nodeInputs = node.inputs; + for (const inputName in nodeInputs) { + const input = nodeInputs[inputName]; + let anyInputFromX = false; + for (let j = 0; j < xs.length; j++) { + if (tensorsFromX[input.id]) { + node.outputs.forEach((output) => tensorsFromX[output.id] = true); + anyInputFromX = true; + nodesFromX[node.id] = true; + break; + } + } + if (anyInputFromX) { + break; + } + } + } + const tensorsLeadToY = {}; + tensorsLeadToY[y.id] = true; + const nodesToY = {}; + for (let i = tape2.length - 1; i >= 0; i--) { + const node = tape2[i]; + const nodeInputs = node.inputs; + for (let j = 0; j < node.outputs.length; j++) { + if (tensorsLeadToY[node.outputs[j].id]) { + for (const inputName in nodeInputs) { + tensorsLeadToY[nodeInputs[inputName].id] = true; + nodesToY[node.id] = true; + } + break; + } + } + } + const filteredTape = []; + for (let i = 0; i < tape2.length; i++) { + const node = tape2[i]; + if (nodesFromX[node.id] && nodesToY[node.id]) { + const prunedInputs = {}; + for (const inputName in node.inputs) { + const nodeInput = node.inputs[inputName]; + if (tensorsFromX[nodeInput.id]) { + prunedInputs[inputName] = nodeInput; + } + } + const prunedNode = Object.assign({}, node); + prunedNode.inputs = prunedInputs; + prunedNode.outputs = node.outputs; + filteredTape.push(prunedNode); + } + } + return filteredTape; +} +function backpropagateGradients(tensorAccumulatedGradientMap, filteredTape, tidy2, add29) { + for (let i = filteredTape.length - 1; i >= 0; i--) { + const node = filteredTape[i]; + const dys = []; + node.outputs.forEach((o) => { + const gradTensor = tensorAccumulatedGradientMap[o.id]; + if (gradTensor != null) { + dys.push(gradTensor); + } else { + dys.push(null); + } + }); + if (node.gradient == null) { + throw new Error(`Cannot compute gradient: gradient function not found for ${node.kernelName}.`); + } + const inputGradients = node.gradient(dys); + for (const inputName in node.inputs) { + if (!(inputName in inputGradients)) { + throw new Error(`Cannot backprop through input ${inputName}. Available gradients found: ${Object.keys(inputGradients)}.`); + } + const dx = tidy2(() => inputGradients[inputName]()); + if (dx.dtype !== "float32") { + throw new Error(`Error in gradient for op ${node.kernelName}. The gradient of input ${inputName} must have 'float32' dtype, but has '${dx.dtype}'`); + } + const x = node.inputs[inputName]; + if (!arraysEqual(dx.shape, x.shape)) { + throw new Error(`Error in gradient for op ${node.kernelName}. The gradient of input '${inputName}' has shape '${dx.shape}', which does not match the shape of the input '${x.shape}'`); + } + if (tensorAccumulatedGradientMap[x.id] == null) { + tensorAccumulatedGradientMap[x.id] = dx; + } else { + const curGradient = tensorAccumulatedGradientMap[x.id]; + tensorAccumulatedGradientMap[x.id] = add29(curGradient, dx); + curGradient.dispose(); + } + } + } +} + +// node_modules/@tensorflow/tfjs-core/dist/tensor_format.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +const FORMAT_LIMIT_NUM_VALS = 20; +const FORMAT_NUM_FIRST_LAST_VALS = 3; +const FORMAT_NUM_SIG_DIGITS = 7; +function tensorToString(vals, shape, dtype, verbose) { + const strides = computeStrides(shape); + const padPerCol = computeMaxSizePerColumn(vals, shape, dtype, strides); + const rank = shape.length; + const valsLines = subTensorToString(vals, shape, dtype, strides, padPerCol); + const lines = ["Tensor"]; + if (verbose) { + lines.push(` dtype: ${dtype}`); + lines.push(` rank: ${rank}`); + lines.push(` shape: [${shape}]`); + lines.push(` values:`); + } + lines.push(valsLines.map((l) => " " + l).join("\n")); + return lines.join("\n"); +} +function computeMaxSizePerColumn(vals, shape, dtype, strides) { + const n = sizeFromShape(shape); + const numCols = strides[strides.length - 1]; + const padPerCol = new Array(numCols).fill(0); + const rank = shape.length; + const valuesOrTuples = dtype === "complex64" ? createComplexTuples(vals) : vals; + if (rank > 1) { + for (let row = 0; row < n / numCols; row++) { + const offset = row * numCols; + for (let j = 0; j < numCols; j++) { + padPerCol[j] = Math.max(padPerCol[j], valToString(valuesOrTuples[offset + j], 0, dtype).length); + } + } + } + return padPerCol; +} +function valToString(val, pad8, dtype) { + let valStr; + if (Array.isArray(val)) { + valStr = `${parseFloat(val[0].toFixed(FORMAT_NUM_SIG_DIGITS))} + ${parseFloat(val[1].toFixed(FORMAT_NUM_SIG_DIGITS))}j`; + } else if (isString(val)) { + valStr = `'${val}'`; + } else if (dtype === "bool") { + valStr = boolNumToString(val); + } else { + valStr = parseFloat(val.toFixed(FORMAT_NUM_SIG_DIGITS)).toString(); + } + return rightPad(valStr, pad8); +} +function boolNumToString(v) { + return v === 0 ? "false" : "true"; +} +function subTensorToString(vals, shape, dtype, strides, padPerCol, isLast = true) { + const storagePerElement = dtype === "complex64" ? 2 : 1; + const size = shape[0]; + const rank = shape.length; + if (rank === 0) { + if (dtype === "complex64") { + const complexTuple = createComplexTuples(vals); + return [valToString(complexTuple[0], 0, dtype)]; + } + if (dtype === "bool") { + return [boolNumToString(vals[0])]; + } + return [vals[0].toString()]; + } + if (rank === 1) { + if (size > FORMAT_LIMIT_NUM_VALS) { + const firstValsSize = FORMAT_NUM_FIRST_LAST_VALS * storagePerElement; + let firstVals = Array.from(vals.slice(0, firstValsSize)); + let lastVals = Array.from(vals.slice((size - FORMAT_NUM_FIRST_LAST_VALS) * storagePerElement, size * storagePerElement)); + if (dtype === "complex64") { + firstVals = createComplexTuples(firstVals); + lastVals = createComplexTuples(lastVals); + } + return [ + "[" + firstVals.map((x, i) => valToString(x, padPerCol[i], dtype)).join(", ") + ", ..., " + lastVals.map((x, i) => valToString(x, padPerCol[size - FORMAT_NUM_FIRST_LAST_VALS + i], dtype)).join(", ") + "]" + ]; + } + const displayVals = dtype === "complex64" ? createComplexTuples(vals) : Array.from(vals); + return [ + "[" + displayVals.map((x, i) => valToString(x, padPerCol[i], dtype)).join(", ") + "]" + ]; + } + const subshape = shape.slice(1); + const substrides = strides.slice(1); + const stride = strides[0] * storagePerElement; + const lines = []; + if (size > FORMAT_LIMIT_NUM_VALS) { + for (let i = 0; i < FORMAT_NUM_FIRST_LAST_VALS; i++) { + const start = i * stride; + const end = start + stride; + lines.push(...subTensorToString(vals.slice(start, end), subshape, dtype, substrides, padPerCol, false)); + } + lines.push("..."); + for (let i = size - FORMAT_NUM_FIRST_LAST_VALS; i < size; i++) { + const start = i * stride; + const end = start + stride; + lines.push(...subTensorToString(vals.slice(start, end), subshape, dtype, substrides, padPerCol, i === size - 1)); + } + } else { + for (let i = 0; i < size; i++) { + const start = i * stride; + const end = start + stride; + lines.push(...subTensorToString(vals.slice(start, end), subshape, dtype, substrides, padPerCol, i === size - 1)); + } + } + const sep = rank === 2 ? "," : ""; + lines[0] = "[" + lines[0] + sep; + for (let i = 1; i < lines.length - 1; i++) { + lines[i] = " " + lines[i] + sep; + } + let newLineSep = ",\n"; + for (let i = 2; i < rank; i++) { + newLineSep += "\n"; + } + lines[lines.length - 1] = " " + lines[lines.length - 1] + "]" + (isLast ? "" : newLineSep); + return lines; +} +function createComplexTuples(vals) { + const complexTuples = []; + for (let i = 0; i < vals.length; i += 2) { + complexTuples.push([vals[i], vals[i + 1]]); + } + return complexTuples; +} + +// node_modules/@tensorflow/tfjs-core/dist/tensor.js +/** + * @license + * Copyright 2017 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +class TensorBuffer { + constructor(shape, dtype, values) { + this.dtype = dtype; + this.shape = shape.slice(); + this.size = sizeFromShape(shape); + if (values != null) { + const n = values.length; + assert(n === this.size, () => `Length of values '${n}' does not match the size inferred by the shape '${this.size}'.`); + } + if (dtype === "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 = values || getArrayFromDType(dtype, this.size); + this.strides = computeStrides(shape); + } + set(value, ...locs) { + if (locs.length === 0) { + locs = [0]; + } + assert(locs.length === this.rank, () => `The number of provided coordinates (${locs.length}) must match the rank (${this.rank})`); + const index = this.locToIndex(locs); + this.values[index] = value; + } + get(...locs) { + if (locs.length === 0) { + locs = [0]; + } + let i = 0; + for (const loc of locs) { + if (loc < 0 || loc >= this.shape[i]) { + const msg = `Requested out of range element at ${locs}. Buffer shape=${this.shape}`; + throw new Error(msg); + } + i++; + } + let index = locs[locs.length - 1]; + for (let i2 = 0; i2 < locs.length - 1; ++i2) { + index += this.strides[i2] * locs[i2]; + } + return this.values[index]; + } + locToIndex(locs) { + if (this.rank === 0) { + return 0; + } else if (this.rank === 1) { + return locs[0]; + } + let index = locs[locs.length - 1]; + for (let i = 0; i < locs.length - 1; ++i) { + index += this.strides[i] * locs[i]; + } + return index; + } + indexToLoc(index) { + if (this.rank === 0) { + return []; + } else if (this.rank === 1) { + return [index]; + } + const locs = new Array(this.shape.length); + for (let i = 0; i < locs.length - 1; ++i) { + locs[i] = Math.floor(index / this.strides[i]); + index -= locs[i] * this.strides[i]; + } + locs[locs.length - 1] = index; + return locs; + } + get rank() { + return this.shape.length; + } + toTensor() { + return trackerFn().makeTensor(this.values, this.shape, this.dtype); + } +} +let trackerFn = null; +let opHandler = null; +let deprecationWarningFn = null; +function setTensorTracker(fn) { + trackerFn = fn; +} +function setOpHandler(handler) { + opHandler = handler; +} +function setDeprecationWarningFn(fn) { + deprecationWarningFn = fn; +} +class Tensor { + constructor(shape, dtype, dataId, id) { + this.kept = false; + this.isDisposedInternal = false; + this.shape = shape.slice(); + this.dtype = dtype || "float32"; + this.size = sizeFromShape(shape); + this.strides = computeStrides(shape); + this.dataId = dataId; + this.id = id; + this.rankType = this.rank < 5 ? this.rank.toString() : "higher"; + } + get rank() { + return this.shape.length; + } + async buffer() { + const vals = await this.data(); + return opHandler.buffer(this.shape, this.dtype, vals); + } + bufferSync() { + return opHandler.buffer(this.shape, this.dtype, this.dataSync()); + } + async array() { + const vals = await this.data(); + return toNestedArray(this.shape, vals); + } + arraySync() { + return toNestedArray(this.shape, this.dataSync()); + } + async data() { + this.throwIfDisposed(); + const data = trackerFn().read(this.dataId); + if (this.dtype === "string") { + const bytes = await data; + try { + return bytes.map((b) => decodeString(b)); + } catch (_a) { + throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes()."); + } + } + return data; + } + dataSync() { + this.throwIfDisposed(); + const data = trackerFn().readSync(this.dataId); + if (this.dtype === "string") { + try { + return data.map((b) => decodeString(b)); + } catch (_a) { + throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes()."); + } + } + return data; + } + async bytes() { + this.throwIfDisposed(); + const data = await trackerFn().read(this.dataId); + if (this.dtype === "string") { + return data; + } else { + return new Uint8Array(data.buffer); + } + } + dispose() { + if (this.isDisposed) { + return; + } + trackerFn().disposeTensor(this); + this.isDisposedInternal = true; + } + get isDisposed() { + return this.isDisposedInternal; + } + throwIfDisposed() { + if (this.isDisposed) { + throw new Error(`Tensor is disposed.`); + } + } + print(verbose = false) { + return opHandler.print(this, verbose); + } + clone() { + this.throwIfDisposed(); + return opHandler.clone(this); + } + toString(verbose = false) { + const vals = this.dataSync(); + return tensorToString(vals, this.shape, this.dtype, verbose); + } + cast(dtype) { + this.throwIfDisposed(); + return opHandler.cast(this, dtype); + } + variable(trainable = true, name, dtype) { + this.throwIfDisposed(); + return trackerFn().makeVariable(this, trainable, name, dtype); + } +} +Object.defineProperty(Tensor, Symbol.hasInstance, { + value: (instance) => { + return !!instance && instance.dataId != null && instance.shape != null && instance.dtype != null; + } +}); +class Variable extends Tensor { + constructor(initialValue, trainable, name, tensorId) { + super(initialValue.shape, initialValue.dtype, initialValue.dataId, tensorId); + this.trainable = trainable; + this.name = name; + } + assign(newValue) { + if (newValue.dtype !== this.dtype) { + throw new Error(`dtype of the new value (${newValue.dtype}) and previous value (${this.dtype}) must match`); + } + if (!arraysEqual(newValue.shape, this.shape)) { + throw new Error(`shape of the new value (${newValue.shape}) and previous value (${this.shape}) must match`); + } + trackerFn().disposeTensor(this); + this.dataId = newValue.dataId; + trackerFn().incRef(this, null); + } + dispose() { + trackerFn().disposeVariable(this); + this.isDisposedInternal = true; + } +} +Object.defineProperty(Variable, Symbol.hasInstance, { + value: (instance) => { + return instance instanceof Tensor && instance.assign != null && instance.assign instanceof Function; + } +}); + +// node_modules/@tensorflow/tfjs-core/dist/types.js +/** + * @license + * Copyright 2017 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +var Rank; +(function(Rank2) { + Rank2["R0"] = "R0"; + Rank2["R1"] = "R1"; + Rank2["R2"] = "R2"; + Rank2["R3"] = "R3"; + Rank2["R4"] = "R4"; + Rank2["R5"] = "R5"; + Rank2["R6"] = "R6"; +})(Rank || (Rank = {})); +var UpcastInt32AndMap; +(function(UpcastInt32AndMap2) { + UpcastInt32AndMap2["float32"] = "float32"; + UpcastInt32AndMap2["int32"] = "int32"; + UpcastInt32AndMap2["bool"] = "int32"; + UpcastInt32AndMap2["complex64"] = "complex64"; +})(UpcastInt32AndMap || (UpcastInt32AndMap = {})); +var UpcastBoolAndMap; +(function(UpcastBoolAndMap2) { + UpcastBoolAndMap2["float32"] = "float32"; + UpcastBoolAndMap2["int32"] = "int32"; + UpcastBoolAndMap2["bool"] = "bool"; + UpcastBoolAndMap2["complex64"] = "complex64"; +})(UpcastBoolAndMap || (UpcastBoolAndMap = {})); +var UpcastFloat32AndMap; +(function(UpcastFloat32AndMap2) { + UpcastFloat32AndMap2["float32"] = "float32"; + UpcastFloat32AndMap2["int32"] = "float32"; + UpcastFloat32AndMap2["bool"] = "float32"; + UpcastFloat32AndMap2["complex64"] = "complex64"; +})(UpcastFloat32AndMap || (UpcastFloat32AndMap = {})); +var UpcastComplex64AndMap; +(function(UpcastComplex64AndMap2) { + UpcastComplex64AndMap2["float32"] = "complex64"; + UpcastComplex64AndMap2["int32"] = "complex64"; + UpcastComplex64AndMap2["bool"] = "complex64"; + UpcastComplex64AndMap2["complex64"] = "complex64"; +})(UpcastComplex64AndMap || (UpcastComplex64AndMap = {})); +const upcastTypeMap = { + float32: UpcastFloat32AndMap, + int32: UpcastInt32AndMap, + bool: UpcastBoolAndMap, + complex64: UpcastComplex64AndMap +}; +function upcastType(typeA, typeB) { + if (typeA === "string" || typeB === "string") { + if (typeA === "string" && typeB === "string") { + return "string"; + } + throw new Error(`Can not upcast ${typeA} with ${typeB}`); + } + return upcastTypeMap[typeA][typeB]; +} +function sumOutType(type) { + return upcastType(type, "int32"); +} + +// node_modules/@tensorflow/tfjs-core/dist/tensor_util.js +const tensor_util_exports = {}; +__export(tensor_util_exports, { + assertTypesMatch: () => assertTypesMatch, + getTensorsInContainer: () => getTensorsInContainer, + isTensorInList: () => isTensorInList, + makeTypesMatch: () => makeTypesMatch +}); +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function makeTypesMatch(a, b) { + if (a.dtype === b.dtype) { + return [a, b]; + } + const dtype = upcastType(a.dtype, b.dtype); + return [a.cast(dtype), b.cast(dtype)]; +} +function assertTypesMatch(a, b) { + assert(a.dtype === b.dtype, () => `The dtypes of the first(${a.dtype}) and second(${b.dtype}) input must match`); +} +function isTensorInList(tensor17, tensorList) { + return tensorList.some((x) => x.id === tensor17.id); +} +function getTensorsInContainer(result) { + const list = []; + const seen = new Set(); + walkTensorContainer(result, list, seen); + return list; +} +function walkTensorContainer(container, list, seen) { + if (container == null) { + return; + } + if (container instanceof Tensor) { + list.push(container); + return; + } + if (!isIterable(container)) { + return; + } + const iterable = container; + for (const k in iterable) { + const val = iterable[k]; + if (!seen.has(val)) { + seen.add(val); + walkTensorContainer(val, list, seen); + } + } +} +function isIterable(obj) { + return Array.isArray(obj) || typeof obj === "object"; +} + +// node_modules/@tensorflow/tfjs-core/dist/engine.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +class EngineState { + 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 = false; + this.activeProfile = {newBytes: 0, newTensors: 0, peakBytes: 0, kernels: [], result: null}; + } + dispose() { + for (const variableName in this.registeredVariables) { + this.registeredVariables[variableName].dispose(); + } + } +} +class Engine { + constructor(ENV3) { + this.ENV = ENV3; + this.registry = {}; + this.registryFactory = {}; + this.pendingBackendInitId = 0; + this.state = new EngineState(); + } + async ready() { + if (this.pendingBackendInit != null) { + return this.pendingBackendInit.then(() => { + }); + } + if (this.backendInstance != null) { + return; + } + const sortedBackends = this.getSortedBackends(); + for (let i = 0; i < sortedBackends.length; i++) { + const backendName = sortedBackends[i]; + const success = await this.initializeBackend(backendName).success; + if (success) { + await this.setBackend(backendName); + return; + } + } + throw new Error(`Could not initialize any backends, all backend initializations failed.`); + } + get backend() { + if (this.pendingBackendInit != null) { + throw new Error(`Backend '${this.backendName}' has not yet been initialized. Make sure to await tf.ready() or await tf.setBackend() before calling other methods`); + } + if (this.backendInstance == null) { + const {name, asyncInit} = this.initializeBackendsAndReturnBest(); + if (asyncInit) { + throw new Error(`The highest priority backend '${name}' has not yet been initialized. Make sure to await tf.ready() or await tf.setBackend() before calling other methods`); + } + this.setBackend(name); + } + return this.backendInstance; + } + backendNames() { + return Object.keys(this.registryFactory); + } + findBackend(backendName) { + if (!(backendName in this.registry)) { + if (backendName in this.registryFactory) { + const {asyncInit} = this.initializeBackend(backendName); + if (asyncInit) { + return null; + } + } else { + return null; + } + } + return this.registry[backendName]; + } + findBackendFactory(backendName) { + if (!(backendName in this.registryFactory)) { + return null; + } + return this.registryFactory[backendName].factory; + } + registerBackend(backendName, factory, priority = 1) { + if (backendName in this.registryFactory) { + console.warn(`${backendName} backend was already registered. Reusing existing backend factory.`); + return false; + } + this.registryFactory[backendName] = {factory, priority}; + return true; + } + async setBackend(backendName) { + if (this.registryFactory[backendName] == null) { + throw new Error(`Backend name '${backendName}' not found in registry`); + } + this.backendName = backendName; + if (this.registry[backendName] == null) { + this.backendInstance = null; + const {success, asyncInit} = this.initializeBackend(backendName); + const result = asyncInit ? await success : success; + if (!result) { + return false; + } + } + this.backendInstance = this.registry[backendName]; + this.setupRegisteredKernels(); + this.profiler = new Profiler(this.backendInstance); + return true; + } + setupRegisteredKernels() { + const kernels = getKernelsForBackend(this.backendName); + kernels.forEach((kernel) => { + if (kernel.setupFunc != null) { + kernel.setupFunc(this.backendInstance); + } + }); + } + disposeRegisteredKernels(backendName) { + const kernels = getKernelsForBackend(backendName); + kernels.forEach((kernel) => { + if (kernel.disposeFunc != null) { + kernel.disposeFunc(this.registry[backendName]); + } + }); + } + initializeBackend(backendName) { + const registryFactoryEntry = this.registryFactory[backendName]; + if (registryFactoryEntry == null) { + throw new Error(`Cannot initialize backend ${backendName}, no registration found.`); + } + try { + const backend2 = registryFactoryEntry.factory(); + if (Promise.resolve(backend2) === backend2) { + const promiseId = ++this.pendingBackendInitId; + const success = backend2.then((backendInstance) => { + if (promiseId < this.pendingBackendInitId) { + return false; + } + this.registry[backendName] = backendInstance; + this.pendingBackendInit = null; + return true; + }).catch((err) => { + if (promiseId < this.pendingBackendInitId) { + return false; + } + this.pendingBackendInit = null; + console.warn(`Initialization of backend ${backendName} failed`); + console.warn(err.stack || err.message); + return false; + }); + this.pendingBackendInit = success; + return {success, asyncInit: true}; + } else { + this.registry[backendName] = backend2; + return {success: true, asyncInit: false}; + } + } catch (err) { + console.warn(`Initialization of backend ${backendName} failed`); + console.warn(err.stack || err.message); + return {success: false, asyncInit: false}; + } + } + removeBackend(backendName) { + if (!(backendName in this.registryFactory)) { + throw new Error(`${backendName} backend not found in registry`); + } + if (this.backendName === backendName && this.pendingBackendInit != null) { + this.pendingBackendInitId++; + } + if (backendName in this.registry) { + this.disposeRegisteredKernels(backendName); + this.registry[backendName].dispose(); + delete this.registry[backendName]; + } + delete this.registryFactory[backendName]; + if (this.backendName === backendName) { + this.pendingBackendInit = null; + this.backendName = null; + this.backendInstance = null; + } + } + getSortedBackends() { + if (Object.keys(this.registryFactory).length === 0) { + throw new Error("No backend found in registry."); + } + return Object.keys(this.registryFactory).sort((a, b) => { + return this.registryFactory[b].priority - this.registryFactory[a].priority; + }); + } + initializeBackendsAndReturnBest() { + const sortedBackends = this.getSortedBackends(); + for (let i = 0; i < sortedBackends.length; i++) { + const backendName = sortedBackends[i]; + const {success, asyncInit} = this.initializeBackend(backendName); + if (asyncInit || success) { + return {name: backendName, asyncInit}; + } + } + throw new Error(`Could not initialize any backends, all backend initializations failed.`); + } + moveData(backend2, dataId) { + const info = this.state.tensorInfo.get(dataId); + const srcBackend = info.backend; + const values = this.readSync(dataId); + srcBackend.disposeData(dataId); + info.backend = backend2; + backend2.move(dataId, values, info.shape, info.dtype); + if (this.shouldCheckForMemLeaks()) { + this.state.numDataMovesStack[this.state.numDataMovesStack.length - 1]++; + } + } + tidy(nameOrFn, fn) { + let name = null; + if (fn == null) { + if (typeof nameOrFn !== "function") { + throw new Error("Please provide a function to tidy()"); + } + fn = nameOrFn; + } else { + if (typeof nameOrFn !== "string" && !(nameOrFn instanceof String)) { + throw new Error("When calling with two arguments, the first argument to tidy() must be a string"); + } + if (typeof fn !== "function") { + throw new Error("When calling with two arguments, the 2nd argument to tidy() must be a function"); + } + name = nameOrFn; + } + let result; + return this.scopedRun(() => this.startScope(name), () => this.endScope(result), () => { + result = fn(); + if (result instanceof Promise) { + console.error("Cannot return a Promise inside of tidy."); + } + return result; + }); + } + scopedRun(start, end, f) { + start(); + try { + const res = f(); + end(); + return res; + } catch (ex) { + end(); + throw ex; + } + } + nextTensorId() { + return Engine.nextTensorId++; + } + nextVariableId() { + return Engine.nextVariableId++; + } + clone(x) { + const y = this.makeTensorFromDataId(x.dataId, x.shape, x.dtype); + const inputs = {x}; + const grad2 = (dy) => ({ + x: () => { + const dtype = "float32"; + const gradInputs = {x: dy}; + const attrs = {dtype}; + return ENGINE.runKernelFunc((backend2) => backend2.cast(dy, dtype), gradInputs, null, Cast, attrs); + } + }); + const saved = []; + this.addTapeNode(this.state.activeScope.name, inputs, [y], grad2, saved, {}); + return y; + } + runKernel(kernelName, inputs, attrs, inputsToSave, outputsToSave) { + const forwardFunc = null; + const backwardsFunc = null; + return this.runKernelFunc(forwardFunc, inputs, backwardsFunc, kernelName, attrs, inputsToSave, outputsToSave); + } + shouldCheckForMemLeaks() { + return this.ENV.getBool("IS_TEST"); + } + checkKernelForMemLeak(kernelName, numDataIdsBefore, outInfos) { + const numDataIdsAfter = this.backend.numDataIds(); + let numOutputDataIds = 0; + outInfos.forEach((info) => { + numOutputDataIds += info.dtype === "complex64" ? 3 : 1; + }); + const numMoves = this.state.numDataMovesStack[this.state.numDataMovesStack.length - 1]; + const dataIdsLeaked = numDataIdsAfter - numDataIdsBefore - numOutputDataIds - numMoves; + if (dataIdsLeaked > 0) { + throw new Error(`Backend '${this.backendName}' has an internal memory leak (${dataIdsLeaked} data ids) after running '${kernelName}'`); + } + } + runKernelFunc(forwardFunc, inputs, backwardsFunc, kernelName, attrs, inputsToSave, outputsToSave) { + let outputs; + let saved = []; + const isTapeOn = this.isTapeOn(); + if (kernelName == null) { + kernelName = this.state.activeScope != null ? this.state.activeScope.name : ""; + } + const startingBytecount = this.state.numBytes; + const startingNumTensors = this.state.numTensors; + if (this.shouldCheckForMemLeaks()) { + this.state.numDataMovesStack.push(0); + } + let kernelFunc; + const kernel = getKernel(kernelName, this.backendName); + let out; + if (kernel != null) { + kernelFunc = () => { + const numDataIdsBefore = this.backend.numDataIds(); + out = kernel.kernelFunc({inputs, attrs, backend: this.backend}); + const outInfos = Array.isArray(out) ? out : [out]; + if (this.shouldCheckForMemLeaks()) { + this.checkKernelForMemLeak(kernelName, numDataIdsBefore, outInfos); + } + const outTensors = outInfos.map(({dataId, shape, dtype}) => this.makeTensorFromDataId(dataId, shape, dtype)); + if (isTapeOn) { + let tensorsToSave = this.getTensorsForGradient(kernelName, inputs, outTensors); + if (tensorsToSave == null) { + if (outputsToSave == null) { + outputsToSave = []; + } + const outsToSave = outTensors.filter((_, i) => outputsToSave[i]); + tensorsToSave = (inputsToSave || []).slice().concat(outsToSave); + } + saved = this.saveTensorsForBackwardMode(tensorsToSave); + } + return outTensors; + }; + } else { + const saveFunc = (tensors) => { + if (!isTapeOn) { + return; + } + saved = tensors.map((tensor17) => this.keep(this.clone(tensor17))); + }; + kernelFunc = () => { + const numDataIdsBefore = this.backend.numDataIds(); + out = this.tidy(() => forwardFunc(this.backend, saveFunc)); + const outs = Array.isArray(out) ? out : [out]; + if (this.shouldCheckForMemLeaks()) { + this.checkKernelForMemLeak(kernelName, numDataIdsBefore, outs); + } + return outs; + }; + } + let kernelProfile; + this.scopedRun(() => this.state.kernelDepth++, () => this.state.kernelDepth--, () => { + if (!this.ENV.getBool("DEBUG") && !this.state.profiling) { + outputs = kernelFunc(); + } else { + kernelProfile = this.profiler.profileKernel(kernelName, inputs, () => kernelFunc()); + if (this.ENV.getBool("DEBUG")) { + this.profiler.logKernelProfile(kernelProfile); + } + outputs = kernelProfile.outputs; + } + }); + if (isTapeOn) { + this.addTapeNode(kernelName, inputs, outputs, backwardsFunc, saved, attrs); + } + if (this.state.profiling) { + this.state.activeProfile.kernels.push({ + name: kernelName, + bytesAdded: this.state.numBytes - startingBytecount, + totalBytesSnapshot: this.state.numBytes, + tensorsAdded: this.state.numTensors - startingNumTensors, + totalTensorsSnapshot: this.state.numTensors, + inputShapes: Object.keys(inputs).map((key) => inputs[key] != null ? inputs[key].shape : null), + outputShapes: outputs.map((item) => item.shape), + kernelTimeMs: kernelProfile.timeMs, + extraInfo: kernelProfile.extraInfo + }); + } + return Array.isArray(out) ? outputs : outputs[0]; + } + saveTensorsForBackwardMode(tensors) { + const saved = tensors.map((tensor17) => this.keep(this.clone(tensor17))); + return saved; + } + getTensorsForGradient(kernelName, inputs, outputs) { + const gradConfig = getGradient(kernelName); + if (gradConfig != null) { + const inputsToSave = gradConfig.inputsToSave || []; + const outputsToSave = gradConfig.outputsToSave || []; + let inputTensorsToSave; + if (gradConfig.saveAllInputs) { + assert(Array.isArray(inputs), () => "saveAllInputs is true, expected inputs to be an array."); + inputTensorsToSave = Object.keys(inputs).map((key) => inputs[key]); + } else { + inputTensorsToSave = inputsToSave.map((inputName) => inputs[inputName]); + } + const outputTensorsToSave = outputs.filter((_, i) => outputsToSave[i]); + return inputTensorsToSave.concat(outputTensorsToSave); + } + return null; + } + makeTensor(values, shape, dtype, backend2) { + if (values == null) { + throw new Error("Values passed to engine.makeTensor() are null"); + } + dtype = dtype || "float32"; + backend2 = backend2 || this.backend; + let backendVals = values; + if (dtype === "string" && isString(values[0])) { + backendVals = values.map((d) => encodeString(d)); + } + const dataId = backend2.write(backendVals, shape, dtype); + const t = new Tensor(shape, dtype, dataId, this.nextTensorId()); + this.incRef(t, backend2); + if (dtype === "string") { + const info = this.state.tensorInfo.get(dataId); + const newBytes = bytesFromStringArray(backendVals); + this.state.numBytes += newBytes - info.bytes; + info.bytes = newBytes; + } + return t; + } + makeTensorFromDataId(dataId, shape, dtype, backend2) { + dtype = dtype || "float32"; + const t = new Tensor(shape, dtype, dataId, this.nextTensorId()); + this.incRef(t, backend2); + return t; + } + makeVariable(initialValue, trainable = true, name, dtype) { + name = name || this.nextVariableId().toString(); + if (dtype != null && dtype !== initialValue.dtype) { + initialValue = initialValue.cast(dtype); + } + const v = new Variable(initialValue, trainable, name, this.nextTensorId()); + if (this.state.registeredVariables[v.name] != null) { + throw new Error(`Variable with name ${v.name} was already registered`); + } + this.state.registeredVariables[v.name] = v; + this.incRef(v, this.backend); + return v; + } + incRef(a, backend2) { + const refCount = this.state.tensorInfo.has(a.dataId) ? this.state.tensorInfo.get(a.dataId).refCount : 0; + this.state.numTensors++; + if (a.dtype === "string") { + this.state.numStringTensors++; + } + if (refCount === 0) { + this.state.numDataBuffers++; + let bytes = 0; + if (a.dtype !== "complex64" && a.dtype !== "string") { + bytes = a.size * bytesPerElement(a.dtype); + } + this.state.tensorInfo.set(a.dataId, { + backend: backend2 || this.backend, + dtype: a.dtype, + shape: a.shape, + bytes, + refCount: 0 + }); + this.state.numBytes += bytes; + } + this.state.tensorInfo.get(a.dataId).refCount++; + if (!(a instanceof Variable)) { + this.track(a); + } + } + disposeTensor(a) { + if (!this.state.tensorInfo.has(a.dataId)) { + return; + } + this.state.numTensors--; + if (a.dtype === "string") { + this.state.numStringTensors--; + } + const info = this.state.tensorInfo.get(a.dataId); + const refCount = info.refCount; + if (refCount <= 1) { + if (a.dtype !== "complex64") { + this.state.numBytes -= info.bytes; + } + this.state.numDataBuffers--; + info.backend.disposeData(a.dataId); + this.state.tensorInfo.delete(a.dataId); + } else { + this.state.tensorInfo.get(a.dataId).refCount--; + } + } + disposeVariables() { + for (const varName in this.state.registeredVariables) { + const v = this.state.registeredVariables[varName]; + this.disposeVariable(v); + } + } + disposeVariable(v) { + this.disposeTensor(v); + if (this.state.registeredVariables[v.name] != null) { + delete this.state.registeredVariables[v.name]; + } + } + memory() { + const info = this.backend.memory(); + info.numTensors = this.state.numTensors; + info.numDataBuffers = this.state.numDataBuffers; + info.numBytes = this.state.numBytes; + if (this.state.numStringTensors > 0) { + info.unreliable = true; + if (info.reasons == null) { + info.reasons = []; + } + info.reasons.push("Memory usage by string tensors is approximate (2 bytes per character)"); + } + return info; + } + async profile(query) { + this.state.profiling = true; + const startBytes = this.state.numBytes; + const startNumTensors = this.state.numTensors; + this.state.activeProfile.kernels = []; + this.state.activeProfile.result = await query(); + this.state.profiling = false; + this.state.activeProfile.peakBytes = Math.max(...this.state.activeProfile.kernels.map((d) => d.totalBytesSnapshot)); + this.state.activeProfile.newBytes = this.state.numBytes - startBytes; + this.state.activeProfile.newTensors = this.state.numTensors - startNumTensors; + for (const kernel of this.state.activeProfile.kernels) { + kernel.kernelTimeMs = await kernel.kernelTimeMs; + kernel.extraInfo = await kernel.extraInfo; + } + return this.state.activeProfile; + } + isTapeOn() { + return this.state.gradientDepth > 0 && this.state.kernelDepth === 0; + } + addTapeNode(kernelName, inputs, outputs, gradientsFunc, saved, attrs) { + const tapeNode = {id: this.state.nextTapeNodeId++, kernelName, inputs, outputs, saved}; + const gradConfig = getGradient(kernelName); + if (gradConfig != null) { + gradientsFunc = gradConfig.gradFunc; + } + if (gradientsFunc != null) { + tapeNode.gradient = (dys) => { + dys = dys.map((dy, i) => { + if (dy == null) { + const output = outputs[i]; + const vals = makeZerosTypedArray(output.size, output.dtype); + return this.makeTensor(vals, output.shape, output.dtype); + } + return dy; + }); + return gradientsFunc(dys.length > 1 ? dys : dys[0], saved, attrs); + }; + } + this.state.activeTape.push(tapeNode); + } + keep(result) { + result.kept = true; + return result; + } + startTape() { + if (this.state.gradientDepth === 0) { + this.state.activeTape = []; + } + this.state.gradientDepth++; + } + endTape() { + this.state.gradientDepth--; + } + startScope(name) { + const scopeInfo = { + track: [], + name: "unnamed scope", + id: this.state.nextScopeId++ + }; + if (name) { + scopeInfo.name = name; + } + this.state.scopeStack.push(scopeInfo); + this.state.activeScope = scopeInfo; + } + endScope(result) { + const tensorsToTrackInParent = getTensorsInContainer(result); + const tensorsToTrackInParentSet = new Set(tensorsToTrackInParent.map((t) => t.id)); + for (let i = 0; i < this.state.activeScope.track.length; i++) { + const tensor17 = this.state.activeScope.track[i]; + if (!tensor17.kept && !tensorsToTrackInParentSet.has(tensor17.id)) { + tensor17.dispose(); + } + } + const oldScope = this.state.scopeStack.pop(); + this.state.activeScope = this.state.scopeStack.length === 0 ? null : this.state.scopeStack[this.state.scopeStack.length - 1]; + tensorsToTrackInParent.forEach((tensor17) => { + if (!tensor17.kept && tensor17.scopeId === oldScope.id) { + this.track(tensor17); + } + }); + } + gradients(f, xs, dy, allowNoGradients = false) { + assert(xs.length > 0, () => "gradients() received an empty list of xs."); + if (dy != null && dy.dtype !== "float32") { + throw new Error(`dy must have 'float32' dtype, but has '${dy.dtype}'`); + } + const y = this.scopedRun(() => this.startTape(), () => this.endTape(), () => this.tidy("forward", f)); + assert(y instanceof Tensor, () => "The result y returned by f() must be a tensor."); + const filteredTape = getFilteredNodesXToY(this.state.activeTape, xs, y); + if (!allowNoGradients && filteredTape.length === 0 && xs.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", () => { + const accumulatedGradientMap = {}; + accumulatedGradientMap[y.id] = dy == null ? ones(y.shape) : dy; + backpropagateGradients(accumulatedGradientMap, filteredTape, (f2) => this.tidy(f2), add); + const grads2 = xs.map((x) => accumulatedGradientMap[x.id]); + if (this.state.gradientDepth === 0) { + this.state.activeTape.forEach((node) => { + for (const tensor17 of node.saved) { + tensor17.dispose(); + } + }); + this.state.activeTape = null; + } + return {value: y, grads: grads2}; + }); + } + customGrad(f) { + assert(isFunction(f), () => "The f passed in customGrad(f) must be a function."); + return (...inputs) => { + assert(inputs.every((t) => t instanceof Tensor), () => "The args passed in customGrad(f)(x1, x2,...) must all be tensors"); + let res; + const inputMap = {}; + inputs.forEach((input, i) => { + inputMap[i] = input; + }); + return this.runKernelFunc((_, save) => { + res = f(...[...inputs, save]); + assert(res.value instanceof Tensor, () => "The function f passed in customGrad(f) must return an object where `obj.value` is a tensor"); + assert(isFunction(res.gradFunc), () => "The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function."); + return res.value; + }, inputMap, (dy, saved) => { + const gradRes = res.gradFunc(dy, saved); + const grads2 = Array.isArray(gradRes) ? gradRes : [gradRes]; + assert(grads2.length === inputs.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(...)."); + assert(grads2.every((t) => t instanceof Tensor), () => "The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns a list of only tensors."); + const gradMap = {}; + grads2.forEach((grad2, i) => { + gradMap[i] = () => grad2; + }); + return gradMap; + }); + }; + } + readSync(dataId) { + const info = this.state.tensorInfo.get(dataId); + return info.backend.readSync(dataId); + } + read(dataId) { + const info = this.state.tensorInfo.get(dataId); + return info.backend.read(dataId); + } + async time(query) { + const start = now(); + const timingInfo = await this.backend.time(query); + timingInfo.wallMs = now() - start; + return timingInfo; + } + track(result) { + if (this.state.activeScope != null) { + result.scopeId = this.state.activeScope.id; + this.state.activeScope.track.push(result); + } + return result; + } + get registeredVariables() { + return this.state.registeredVariables; + } + reset() { + this.pendingBackendInitId++; + this.state.dispose(); + this.ENV.reset(); + this.state = new EngineState(); + for (const backendName in this.registry) { + this.disposeRegisteredKernels(backendName); + this.registry[backendName].dispose(); + delete this.registry[backendName]; + } + this.backendName = null; + this.backendInstance = null; + this.pendingBackendInit = null; + } +} +Engine.nextTensorId = 0; +Engine.nextVariableId = 0; +function ones(shape) { + const values = makeOnesTypedArray(sizeFromShape(shape), "float32"); + return ENGINE.makeTensor(values, shape, "float32"); +} +function getOrMakeEngine() { + const ns = getGlobalNamespace(); + if (ns._tfengine == null) { + const environment12 = new Environment(ns); + ns._tfengine = new Engine(environment12); + } + setEnvironmentGlobal(ns._tfengine.ENV); + setTensorTracker(() => ns._tfengine); + return ns._tfengine; +} +const ENGINE = getOrMakeEngine(); +function add(a, b) { + const inputs = {a, b}; + return ENGINE.runKernelFunc((backend2, save) => { + const res = backend2.add(a, b); + save([a, b]); + return res; + }, inputs, null, Add); +} + +// node_modules/@tensorflow/tfjs-core/dist/device_util.js +const device_util_exports = {}; +__export(device_util_exports, { + isBrowser: () => isBrowser, + isMobile: () => isMobile +}); +/** + * @license + * Copyright 2017 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function _isNavigatorDefined() { + return typeof navigator !== "undefined" && navigator != null; +} +function isMobile() { + if (_isNavigatorDefined()) { + const a = navigator.userAgent || navigator.vendor || window.opera; + 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(a) || /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(a.substr(0, 4)); + } + return false; +} +function isBrowser() { + return typeof window !== "undefined" && window.document != null || typeof WorkerGlobalScope !== "undefined"; +} + +// node_modules/@tensorflow/tfjs-core/dist/flags.js +/** + * @license + * Copyright 2019 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +const ENV2 = env(); +ENV2.registerFlag("DEBUG", () => false, (debugValue) => { + if (debugValue) { + 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."); + } +}); +ENV2.registerFlag("IS_BROWSER", () => isBrowser()); +ENV2.registerFlag("IS_NODE", () => typeof process !== "undefined" && typeof process.versions !== "undefined" && typeof process.versions.node !== "undefined"); +ENV2.registerFlag("IS_CHROME", () => typeof navigator !== "undefined" && navigator != null && navigator.userAgent != null && /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor)); +ENV2.registerFlag("PROD", () => false); +ENV2.registerFlag("TENSORLIKE_CHECK_SHAPE_CONSISTENCY", () => ENV2.getBool("DEBUG")); +ENV2.registerFlag("DEPRECATION_WARNINGS_ENABLED", () => true); +ENV2.registerFlag("IS_TEST", () => false); + +// node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function inferShape(val, dtype) { + let firstElem = val; + if (isTypedArray(val)) { + return dtype === "string" ? [] : [val.length]; + } + if (!Array.isArray(val)) { + return []; + } + const shape = []; + while (Array.isArray(firstElem) || isTypedArray(firstElem) && dtype !== "string") { + shape.push(firstElem.length); + firstElem = firstElem[0]; + } + if (Array.isArray(val) && env().getBool("TENSORLIKE_CHECK_SHAPE_CONSISTENCY")) { + deepAssertShapeConsistency(val, shape, []); + } + return shape; +} +function deepAssertShapeConsistency(val, shape, indices) { + indices = indices || []; + if (!Array.isArray(val) && !isTypedArray(val)) { + assert(shape.length === 0, () => `Element arr[${indices.join("][")}] is a primitive, but should be an array/TypedArray of ${shape[0]} elements`); + return; + } + assert(shape.length > 0, () => `Element arr[${indices.join("][")}] should be a primitive, but is an array of ${val.length} elements`); + assert(val.length === shape[0], () => `Element arr[${indices.join("][")}] should have ${shape[0]} elements, but has ${val.length} elements`); + const subShape = shape.slice(1); + for (let i = 0; i < val.length; ++i) { + deepAssertShapeConsistency(val[i], subShape, indices.concat(i)); + } +} +function assertDtype(expectedDtype, actualDType, argName, functionName) { + if (expectedDtype == null) { + return; + } + if (expectedDtype !== "numeric" && expectedDtype !== actualDType || expectedDtype === "numeric" && actualDType === "string") { + throw new Error(`Argument '${argName}' passed to '${functionName}' must be ${expectedDtype} tensor, but got ${actualDType} tensor`); + } +} +function convertToTensor(x, argName, functionName, parseAsDtype = "numeric") { + if (x instanceof Tensor) { + assertDtype(parseAsDtype, x.dtype, argName, functionName); + return x; + } + let inferredDtype = inferDtype(x); + if (inferredDtype !== "string" && ["bool", "int32", "float32"].indexOf(parseAsDtype) >= 0) { + inferredDtype = parseAsDtype; + } + assertDtype(parseAsDtype, inferredDtype, argName, functionName); + if (x == null || !isTypedArray(x) && !Array.isArray(x) && typeof x !== "number" && typeof x !== "boolean" && typeof x !== "string") { + const type = x == null ? "null" : x.constructor.name; + throw new Error(`Argument '${argName}' passed to '${functionName}' must be a Tensor or TensorLike, but got '${type}'`); + } + const inferredShape = inferShape(x, inferredDtype); + if (!isTypedArray(x) && !Array.isArray(x)) { + x = [x]; + } + const skipTypedArray = true; + const values = inferredDtype !== "string" ? toTypedArray(x, inferredDtype) : flatten(x, [], skipTypedArray); + return ENGINE.makeTensor(values, inferredShape, inferredDtype); +} +function convertToTensorArray(arg, argName, functionName, parseAsDtype = "numeric") { + if (!Array.isArray(arg)) { + throw new Error(`Argument ${argName} passed to ${functionName} must be a \`Tensor[]\` or \`TensorLike[]\``); + } + const tensors = arg; + return tensors.map((t, i) => convertToTensor(t, `${argName}[${i}]`, functionName), parseAsDtype); +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/operation.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function op(f) { + const keys = Object.keys(f); + if (keys.length !== 1) { + throw new Error(`Please provide an object with a single key (operation name) mapping to a function. Got an object with ${keys.length} keys.`); + } + let opName = keys[0]; + const fn = f[opName]; + if (opName.endsWith("_")) { + opName = opName.substring(0, opName.length - 1); + } + const f2 = (...args) => { + ENGINE.startScope(opName); + try { + const result = fn(...args); + if (result instanceof Promise) { + console.error("Cannot return a Promise inside of tidy."); + } + ENGINE.endScope(result); + return result; + } catch (ex) { + ENGINE.endScope(null); + throw ex; + } + }; + Object.defineProperty(f2, "name", {value: opName, configurable: true}); + return f2; +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/abs.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function abs_(x) { + const $x = convertToTensor(x, "x", "abs"); + const inputs = {x: $x}; + return ENGINE.runKernelFunc((backend2, save) => { + save([$x]); + if ($x.dtype === "complex64") { + return backend2.complexAbs($x); + } + return backend2.abs($x); + }, inputs, null, Abs); +} +const abs = op({abs_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/acos.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function acos_(x) { + const $x = convertToTensor(x, "x", "acos"); + const inputs = {x: $x}; + return ENGINE.runKernelFunc((backend2, save) => { + const res = backend2.acos($x); + save([$x]); + return res; + }, inputs, null, Acos); +} +const acos = op({acos_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/acosh.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function acosh_(x) { + const $x = convertToTensor(x, "x", "acosh"); + const inputs = {x: $x}; + return ENGINE.runKernelFunc((backend2, save) => { + const res = backend2.acosh($x); + save([$x]); + return res; + }, inputs, null, Acosh); +} +const acosh = op({acosh_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/add.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function add_(a, b) { + let $a = convertToTensor(a, "a", "add"); + let $b = convertToTensor(b, "b", "add"); + [$a, $b] = makeTypesMatch($a, $b); + const forward = (backend2, save) => { + const res = backend2.add($a, $b); + save([$a, $b]); + return res; + }; + const inputs = {a: $a, b: $b}; + return ENGINE.runKernelFunc(forward, inputs, null, Add); +} +const add2 = op({add_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/add_n.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function addN_(tensors) { + assert(Array.isArray(tensors), () => "The argument passed to tf.addN() must be a list of tensors"); + assert(tensors.length >= 1, () => `Must pass at least one tensor to tf.addN(), but got ${tensors.length}`); + const $tensors = tensors.map((t, i) => convertToTensor(t, `tensors${i}`, "addN")); + const firstTensor = $tensors[0]; + $tensors.forEach((t) => { + if (t.dtype !== firstTensor.dtype) { + throw new Error("All tensors passed to tf.addN() must have the same dtype"); + } + }); + $tensors.forEach((t) => { + if (!arraysEqual(t.shape, firstTensor.shape)) { + throw new Error("All tensors passed to tf.addN() must have the same shape"); + } + }); + const forward = (backend2, save) => { + const res = backend2.addN($tensors); + save($tensors); + return res; + }; + const inputs = $tensors; + return ENGINE.runKernelFunc(forward, inputs, null, AddN); +} +const addN = op({addN_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/axis_util.js +/** + * @license + * Copyright 2017 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function axesAreInnerMostDims(axes, rank) { + for (let i = 0; i < axes.length; ++i) { + if (axes[axes.length - i - 1] !== rank - 1 - i) { + return false; + } + } + return true; +} +function combineLocations(outputLoc, reduceLoc, axes) { + const rank = outputLoc.length + reduceLoc.length; + const loc = []; + let outIdx = 0; + let reduceIdx = 0; + for (let dim = 0; dim < rank; dim++) { + if (axes.indexOf(dim) === -1) { + loc.push(outputLoc[outIdx++]); + } else { + loc.push(reduceLoc[reduceIdx++]); + } + } + return loc; +} +function computeOutAndReduceShapes(aShape, axes) { + const outShape = []; + const rank = aShape.length; + for (let dim = 0; dim < rank; dim++) { + if (axes.indexOf(dim) === -1) { + outShape.push(aShape[dim]); + } + } + const reduceShape = axes.map((dim) => aShape[dim]); + return [outShape, reduceShape]; +} +function expandShapeToKeepDim(shape, axes) { + const reduceSubShape = axes.map((x) => 1); + return combineLocations(shape, reduceSubShape, axes); +} +function assertAxesAreInnerMostDims(msg, axes, rank) { + assert(axesAreInnerMostDims(axes, rank), () => `${msg} supports only inner-most axes for now. Got axes ${axes} and rank-${rank} input.`); +} +function getAxesPermutation(axes, rank) { + if (axesAreInnerMostDims(axes, rank)) { + return null; + } + const result = []; + for (let i = 0; i < rank; ++i) { + if (axes.indexOf(i) === -1) { + result.push(i); + } + } + axes.forEach((axis) => result.push(axis)); + return result; +} +function getUndoAxesPermutation(axes) { + return axes.map((axis, i) => [i, axis]).sort((a, b) => a[1] - b[1]).map((x) => x[0]); +} +function getInnerMostAxes(numAxes, rank) { + const res = []; + for (let i = rank - numAxes; i < rank; ++i) { + res.push(i); + } + return res; +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function reshape_(x, shape) { + const $x = convertToTensor(x, "x", "reshape", null); + shape = inferFromImplicitShape(shape, $x.size); + assert($x.size === sizeFromShape(shape), () => "new shape and old shape must have the same number of elements."); + const inputs = {x: $x}; + const attrs = {shape}; + const forward = (backend2, save) => { + save([$x]); + return backend2.reshape($x, shape); + }; + return ENGINE.runKernelFunc(forward, inputs, null, Reshape, attrs); +} +const reshape = op({reshape_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/transpose.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function transpose_(x, perm) { + const $x = convertToTensor(x, "x", "transpose"); + if (perm == null) { + perm = $x.shape.map((s, i) => i).reverse(); + } + assert($x.rank === perm.length, () => `Error in transpose: rank of input ${$x.rank} must match length of perm ${perm}.`); + perm.forEach((axis) => { + assert(axis >= 0 && axis < $x.rank, () => `All entries in 'perm' must be between 0 and ${$x.rank - 1} but got ${perm}`); + }); + if ($x.rank <= 1) { + return $x.clone(); + } + const inputs = {x: $x}; + const attrs = {perm}; + return ENGINE.runKernelFunc((backend2) => backend2.transpose($x, perm), inputs, null, Transpose, attrs); +} +const transpose = op({transpose_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/all.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function all_(x, axis = null, keepDims = false) { + let $x = convertToTensor(x, "x", "all", "bool"); + const forward = (backend2) => { + const origAxes = parseAxisParam(axis, $x.shape); + let axes = origAxes; + const permutedAxes = getAxesPermutation(axes, $x.rank); + if (permutedAxes != null) { + $x = transpose($x, permutedAxes); + axes = getInnerMostAxes(axes.length, $x.rank); + } + const res = backend2.all($x, axes); + if (keepDims) { + const newShape = expandShapeToKeepDim(res.shape, origAxes); + return reshape(res, newShape); + } + return res; + }; + const inputs = {x: $x}; + const attrs = {axis, keepDims}; + return ENGINE.runKernelFunc(forward, inputs, null, All, attrs); +} +const all = op({all_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/any.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function any_(x, axis = null, keepDims = false) { + let $x = convertToTensor(x, "x", "any", "bool"); + const forward = (backend2) => { + const origAxes = parseAxisParam(axis, $x.shape); + let axes = origAxes; + const permutedAxes = getAxesPermutation(axes, $x.rank); + if (permutedAxes != null) { + $x = transpose($x, permutedAxes); + axes = getInnerMostAxes(axes.length, $x.rank); + } + const res = backend2.any($x, axes); + if (keepDims) { + const newShape = expandShapeToKeepDim(res.shape, origAxes); + return reshape(res, newShape); + } + return res; + }; + const inputs = {x: $x}; + const attrs = {axis, keepDims}; + return ENGINE.runKernelFunc(forward, inputs, null, Any, attrs); +} +const any = op({any_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/arg_max.js +/** + * @license + * Copyright 2020 Google Inc. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function argMax_(x, axis = 0) { + let $x = convertToTensor(x, "x", "argMax"); + const forward = (backend2, save) => { + save([$x]); + let axes = parseAxisParam(axis, $x.shape); + const permutedAxes = getAxesPermutation(axes, $x.rank); + if (permutedAxes != null) { + $x = transpose($x, permutedAxes); + axes = getInnerMostAxes(axes.length, $x.rank); + } + return backend2.argMax($x, axes[0]); + }; + const inputs = {x: $x}; + const attrs = {axis}; + return ENGINE.runKernelFunc(forward, inputs, null, ArgMax, attrs); +} +const argMax = op({argMax_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/arg_min.js +/** + * @license + * Copyright 2020 Google Inc. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function argMin_(x, axis = 0) { + let $x = convertToTensor(x, "x", "argMin"); + const forward = (backend2, save) => { + save([$x]); + if (axis == null) { + axis = 0; + } + let axes = parseAxisParam(axis, $x.shape); + const permutedAxes = getAxesPermutation(axes, $x.rank); + if (permutedAxes != null) { + $x = transpose($x, permutedAxes); + axes = getInnerMostAxes(axes.length, $x.rank); + } + return backend2.argMin($x, axes[0]); + }; + const inputs = {x: $x}; + const attrs = {axis}; + return ENGINE.runKernelFunc(forward, inputs, null, ArgMin, attrs); +} +const argMin = op({argMin_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/asin.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function asin_(x) { + const $x = convertToTensor(x, "x", "asin"); + const inputs = {x: $x}; + return ENGINE.runKernelFunc((backend2, save) => { + const res = backend2.asin($x); + save([$x]); + return res; + }, inputs, null, Asin); +} +const asin = op({asin_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/asinh.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function asinh_(x) { + const $x = convertToTensor(x, "x", "asinh"); + const inputs = {x: $x}; + return ENGINE.runKernelFunc((backend2, save) => { + const res = backend2.asinh($x); + save([$x]); + return res; + }, inputs, null, Asinh); +} +const asinh = op({asinh_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/atan.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function atan_(x) { + const $x = convertToTensor(x, "x", "atan"); + const inputs = {x: $x}; + return ENGINE.runKernelFunc((backend2, save) => { + const res = backend2.atan($x); + save([$x]); + return res; + }, inputs, null, Atan); +} +const atan = op({atan_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/atan2.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function atan2_(a, b) { + let $a = convertToTensor(a, "a", "atan2"); + let $b = convertToTensor(b, "b", "atan2"); + [$a, $b] = makeTypesMatch($a, $b); + const forward = (backend2, save) => { + const res = backend2.atan2($a, $b); + save([$a, $b]); + return res; + }; + const inputs = {a: $a, b: $b}; + return ENGINE.runKernelFunc(forward, inputs, null, Atan2); +} +const atan2 = op({atan2_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/atanh.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function atanh_(x) { + const $x = convertToTensor(x, "x", "atanh"); + const inputs = {x: $x}; + return ENGINE.runKernelFunc((backend2, save) => { + const res = backend2.atanh($x); + save([$x]); + return res; + }, inputs, null, Atanh); +} +const atanh = op({atanh_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/cast.js +/** + * @license + * Copyright 2020 Google Inc. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function cast_(x, dtype) { + const $x = convertToTensor(x, "x", "cast"); + if (!isValidDtype(dtype)) { + throw new Error(`Failed to cast to unknown dtype ${dtype}`); + } + if (dtype === "string" && $x.dtype !== "string" || dtype !== "string" && $x.dtype === "string") { + throw new Error("Only strings can be casted to strings"); + } + const inputs = {x: $x}; + const attrs = {dtype}; + return ENGINE.runKernelFunc((backend2) => backend2.cast($x, dtype), inputs, null, Cast, attrs); +} +const cast = op({cast_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/conv_util.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function computeDilation2DInfo(inputShape, filterShape, strides, pad8, dataFormat = "NHWC", dilations) { + const inputChannels = inputShape[3]; + const $filterShape = [...filterShape, inputChannels]; + const $dataFormat = convertConv2DDataFormat(dataFormat); + return computeConv2DInfo(inputShape, $filterShape, strides, dilations, pad8, null, null, $dataFormat); +} +function computePool2DInfo(inShape, filterSize, strides, dilations, pad8, roundingMode, dataFormat = "channelsLast") { + const [filterHeight, filterWidth] = parseTupleParam(filterSize); + let filterShape; + if (dataFormat === "channelsLast") { + filterShape = [filterHeight, filterWidth, inShape[3], inShape[3]]; + } else if (dataFormat === "channelsFirst") { + filterShape = [filterHeight, filterWidth, inShape[1], inShape[1]]; + } else { + throw new Error(`Unknown dataFormat ${dataFormat}`); + } + return computeConv2DInfo(inShape, filterShape, strides, dilations, pad8, roundingMode, false, dataFormat); +} +function computePool3DInfo(inShape, filterSize, strides, dilations, pad8, roundingMode, dataFormat = "NDHWC") { + const [filterDepth, filterHeight, filterWidth] = parse3TupleParam(filterSize); + let filterShape; + let $dataFormat; + if (dataFormat === "NDHWC") { + $dataFormat = "channelsLast"; + filterShape = [filterDepth, filterHeight, filterWidth, inShape[4], inShape[4]]; + } else if (dataFormat === "NCDHW") { + $dataFormat = "channelsFirst"; + filterShape = [filterDepth, filterHeight, filterWidth, inShape[1], inShape[1]]; + } else { + throw new Error(`Unknown dataFormat ${dataFormat}`); + } + return computeConv3DInfo(inShape, filterShape, strides, dilations, pad8, false, $dataFormat, roundingMode); +} +function computeConv2DInfo(inShape, filterShape, strides, dilations, pad8, roundingMode, depthwise = false, dataFormat = "channelsLast") { + let [batchSize, inHeight, inWidth, inChannels] = [-1, -1, -1, -1]; + if (dataFormat === "channelsLast") { + [batchSize, inHeight, inWidth, inChannels] = inShape; + } else if (dataFormat === "channelsFirst") { + [batchSize, inChannels, inHeight, inWidth] = inShape; + } else { + throw new Error(`Unknown dataFormat ${dataFormat}`); + } + const [filterHeight, filterWidth, , filterChannels] = filterShape; + const [strideHeight, strideWidth] = parseTupleParam(strides); + const [dilationHeight, dilationWidth] = parseTupleParam(dilations); + const effectiveFilterHeight = getEffectiveFilterSize(filterHeight, dilationHeight); + const effectiveFilterWidth = getEffectiveFilterSize(filterWidth, dilationWidth); + const {padInfo, outHeight, outWidth} = getPadAndOutInfo(pad8, inHeight, inWidth, strideHeight, strideWidth, effectiveFilterHeight, effectiveFilterWidth, roundingMode, dataFormat); + const outChannels = depthwise ? filterChannels * inChannels : filterChannels; + let outShape; + if (dataFormat === "channelsFirst") { + outShape = [batchSize, outChannels, outHeight, outWidth]; + } else if (dataFormat === "channelsLast") { + outShape = [batchSize, outHeight, outWidth, outChannels]; + } + return { + batchSize, + dataFormat, + inHeight, + inWidth, + inChannels, + outHeight, + outWidth, + outChannels, + padInfo, + strideHeight, + strideWidth, + filterHeight, + filterWidth, + effectiveFilterHeight, + effectiveFilterWidth, + dilationHeight, + dilationWidth, + inShape, + outShape, + filterShape + }; +} +function computeConv3DInfo(inShape, filterShape, strides, dilations, pad8, depthwise = false, dataFormat = "channelsLast", roundingMode) { + let [batchSize, inDepth, inHeight, inWidth, inChannels] = [-1, -1, -1, -1, -1]; + if (dataFormat === "channelsLast") { + [batchSize, inDepth, inHeight, inWidth, inChannels] = inShape; + } else if (dataFormat === "channelsFirst") { + [batchSize, inChannels, inDepth, inHeight, inWidth] = inShape; + } else { + throw new Error(`Unknown dataFormat ${dataFormat}`); + } + const [filterDepth, filterHeight, filterWidth, , filterChannels] = filterShape; + const [strideDepth, strideHeight, strideWidth] = parse3TupleParam(strides); + const [dilationDepth, dilationHeight, dilationWidth] = parse3TupleParam(dilations); + const effectiveFilterDepth = getEffectiveFilterSize(filterDepth, dilationDepth); + const effectiveFilterHeight = getEffectiveFilterSize(filterHeight, dilationHeight); + const effectiveFilterWidth = getEffectiveFilterSize(filterWidth, dilationWidth); + const {padInfo, outDepth, outHeight, outWidth} = get3DPadAndOutInfo(pad8, inDepth, inHeight, inWidth, strideDepth, strideHeight, strideWidth, effectiveFilterDepth, effectiveFilterHeight, effectiveFilterWidth, roundingMode); + const outChannels = depthwise ? filterChannels * inChannels : filterChannels; + let outShape; + if (dataFormat === "channelsFirst") { + outShape = [batchSize, outChannels, outDepth, outHeight, outWidth]; + } else if (dataFormat === "channelsLast") { + outShape = [batchSize, outDepth, outHeight, outWidth, outChannels]; + } + return { + batchSize, + dataFormat, + inDepth, + inHeight, + inWidth, + inChannels, + outDepth, + outHeight, + outWidth, + outChannels, + padInfo, + strideDepth, + strideHeight, + strideWidth, + filterDepth, + filterHeight, + filterWidth, + effectiveFilterDepth, + effectiveFilterHeight, + effectiveFilterWidth, + dilationDepth, + dilationHeight, + dilationWidth, + inShape, + outShape, + filterShape + }; +} +function computeOutputShape2D(inShape, fieldSize, stride, zeroPad, roundingMode) { + if (zeroPad == null) { + zeroPad = computeDefaultPad(inShape, fieldSize, stride); + } + const inputRows = inShape[0]; + const inputCols = inShape[1]; + const outputRows = conditionalRound((inputRows - fieldSize + 2 * zeroPad) / stride + 1, roundingMode); + assert(isInt(outputRows), () => `The output # of rows (${outputRows}) must be an integer. Change the stride and/or zero pad parameters`); + const outputCols = conditionalRound((inputCols - fieldSize + 2 * zeroPad) / stride + 1, roundingMode); + assert(isInt(outputCols), () => `The output # of columns (${outputCols}) must be an integer. Change the stride and/or zero pad parameters`); + return [outputRows, outputCols]; +} +function computeOutputShape4D(inShape, fieldSize, outChannels, stride, zeroPad, roundingMode) { + if (zeroPad == null) { + zeroPad = computeDefaultPad(inShape, fieldSize, stride); + } + const inputDepth = inShape[0]; + const inputRows = inShape[1]; + const inputCols = inShape[2]; + const outputDepths = conditionalRound((inputDepth - fieldSize + 2 * zeroPad) / stride + 1, roundingMode); + assert(isInt(outputDepths), () => `The output # of depths (${outputDepths}) must be an integer. Change the stride and/or zero pad parameters`); + const outputRows = conditionalRound((inputRows - fieldSize + 2 * zeroPad) / stride + 1, roundingMode); + assert(isInt(outputRows), () => `The output # of rows (${outputRows}) must be an integer. Change the stride and/or zero pad parameters`); + const outputCols = conditionalRound((inputCols - fieldSize + 2 * zeroPad) / stride + 1, roundingMode); + assert(isInt(outputCols), () => `The output # of columns (${outputCols}) must be an integer. Change the stride and/or zero pad parameters`); + return [outputDepths, outputRows, outputCols, outChannels]; +} +function computeDefaultPad(inputShape, fieldSize, stride, dilation = 1) { + const effectiveFieldSize = getEffectiveFilterSize(fieldSize, dilation); + return Math.floor((inputShape[0] * (stride - 1) - stride + effectiveFieldSize) / 2); +} +function parseTupleParam(param) { + if (typeof param === "number") { + return [param, param, param]; + } + if (param.length === 2) { + return [param[0], param[1], 1]; + } + return param; +} +function parse3TupleParam(param) { + return typeof param === "number" ? [param, param, param] : param; +} +function getEffectiveFilterSize(filterSize, dilation) { + if (dilation <= 1) { + return filterSize; + } + return filterSize + (filterSize - 1) * (dilation - 1); +} +function getPadAndOutInfo(pad8, inHeight, inWidth, strideHeight, strideWidth, filterHeight, filterWidth, roundingMode, dataFormat) { + let padInfo; + let outHeight; + let outWidth; + if (typeof pad8 === "number") { + const padType = pad8 === 0 ? "VALID" : "NUMBER"; + padInfo = {top: pad8, bottom: pad8, left: pad8, right: pad8, type: padType}; + const outShape = computeOutputShape2D([inHeight, inWidth], filterHeight, strideHeight, pad8, roundingMode); + outHeight = outShape[0]; + outWidth = outShape[1]; + } else if (pad8 === "same") { + outHeight = Math.ceil(inHeight / strideHeight); + outWidth = Math.ceil(inWidth / strideWidth); + const padAlongHeight = Math.max(0, (outHeight - 1) * strideHeight + filterHeight - inHeight); + const padAlongWidth = Math.max(0, (outWidth - 1) * strideWidth + filterWidth - inWidth); + const top = Math.floor(padAlongHeight / 2); + const bottom = padAlongHeight - top; + const left = Math.floor(padAlongWidth / 2); + const right = padAlongWidth - left; + padInfo = {top, bottom, left, right, type: "SAME"}; + } else if (pad8 === "valid") { + padInfo = {top: 0, bottom: 0, left: 0, right: 0, type: "VALID"}; + outHeight = Math.ceil((inHeight - filterHeight + 1) / strideHeight); + outWidth = Math.ceil((inWidth - filterWidth + 1) / strideWidth); + } else if (typeof pad8 === "object") { + const top = dataFormat === "channelsLast" ? pad8[1][0] : pad8[2][0]; + const bottom = dataFormat === "channelsLast" ? pad8[1][1] : pad8[2][1]; + const left = dataFormat === "channelsLast" ? pad8[2][0] : pad8[3][0]; + const right = dataFormat === "channelsLast" ? pad8[2][1] : pad8[3][1]; + const padType = top === 0 && bottom === 0 && left === 0 && right === 0 ? "VALID" : "EXPLICIT"; + padInfo = {top, bottom, left, right, type: padType}; + outHeight = conditionalRound((inHeight - filterHeight + top + bottom) / strideHeight + 1, roundingMode); + outWidth = conditionalRound((inWidth - filterWidth + left + right) / strideWidth + 1, roundingMode); + } else { + throw Error(`Unknown padding parameter: ${pad8}`); + } + return {padInfo, outHeight, outWidth}; +} +function get3DPadAndOutInfo(pad8, inDepth, inHeight, inWidth, strideDepth, strideHeight, strideWidth, filterDepth, filterHeight, filterWidth, roundingMode) { + let padInfo; + let outDepth; + let outHeight; + let outWidth; + if (typeof pad8 === "number") { + const padType = pad8 === 0 ? "VALID" : "NUMBER"; + padInfo = { + top: pad8, + bottom: pad8, + left: pad8, + right: pad8, + front: pad8, + back: pad8, + type: padType + }; + const outShape = computeOutputShape4D([inDepth, inHeight, inWidth, 1], filterDepth, 1, strideDepth, pad8, roundingMode); + outDepth = outShape[0]; + outHeight = outShape[1]; + outWidth = outShape[2]; + } else if (pad8 === "same") { + outDepth = Math.ceil(inDepth / strideDepth); + outHeight = Math.ceil(inHeight / strideHeight); + outWidth = Math.ceil(inWidth / strideWidth); + const padAlongDepth = (outDepth - 1) * strideDepth + filterDepth - inDepth; + const padAlongHeight = (outHeight - 1) * strideHeight + filterHeight - inHeight; + const padAlongWidth = (outWidth - 1) * strideWidth + filterWidth - inWidth; + const front = Math.floor(padAlongDepth / 2); + const back = padAlongDepth - front; + const top = Math.floor(padAlongHeight / 2); + const bottom = padAlongHeight - top; + const left = Math.floor(padAlongWidth / 2); + const right = padAlongWidth - left; + padInfo = {top, bottom, left, right, front, back, type: "SAME"}; + } else if (pad8 === "valid") { + padInfo = { + top: 0, + bottom: 0, + left: 0, + right: 0, + front: 0, + back: 0, + type: "VALID" + }; + outDepth = Math.ceil((inDepth - filterDepth + 1) / strideDepth); + outHeight = Math.ceil((inHeight - filterHeight + 1) / strideHeight); + outWidth = Math.ceil((inWidth - filterWidth + 1) / strideWidth); + } else { + throw Error(`Unknown padding parameter: ${pad8}`); + } + return {padInfo, outDepth, outHeight, outWidth}; +} +function conditionalRound(value, roundingMode) { + if (!roundingMode) { + return value; + } + switch (roundingMode) { + case "round": + return Math.round(value); + case "ceil": + return Math.ceil(value); + case "floor": + return Math.floor(value); + default: + throw new Error(`Unknown roundingMode ${roundingMode}`); + } +} +function tupleValuesAreOne(param) { + const [dimA, dimB, dimC] = parseTupleParam(param); + return dimA === 1 && dimB === 1 && dimC === 1; +} +function eitherStridesOrDilationsAreOne(strides, dilations) { + return tupleValuesAreOne(strides) || tupleValuesAreOne(dilations); +} +function convertConv2DDataFormat(dataFormat) { + if (dataFormat === "NHWC") { + return "channelsLast"; + } else if (dataFormat === "NCHW") { + return "channelsFirst"; + } else { + throw new Error(`Unknown dataFormat ${dataFormat}`); + } +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/avg_pool.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function avgPool_(x, filterSize, strides, pad8, dimRoundingMode) { + const $x = convertToTensor(x, "x", "avgPool", "float32"); + const dilations = 1; + assert(eitherStridesOrDilationsAreOne(strides, dilations), () => `Error in avgPool: Either strides or dilations must be 1. Got strides ${strides} and dilations '${dilations}'`); + let x4D = $x; + let reshapedTo4D = false; + if ($x.rank === 3) { + reshapedTo4D = true; + x4D = reshape($x, [1, $x.shape[0], $x.shape[1], $x.shape[2]]); + } + assert(x4D.rank === 4, () => `Error in avgPool: x must be rank 4 but got rank ${x4D.rank}.`); + if (dimRoundingMode != null) { + assert(isInt(pad8), () => `Error in avgPool: pad must be an integer when using, dimRoundingMode ${dimRoundingMode} but got pad ${pad8}.`); + } + const forward = (backend2, save) => { + const convInfo = computePool2DInfo(x4D.shape, filterSize, strides, 1, pad8, dimRoundingMode); + save([x4D]); + if (convInfo.filterWidth === 1 && convInfo.filterHeight === 1 && arraysEqual(convInfo.inShape, convInfo.outShape)) { + return x4D.clone(); + } + return backend2.avgPool(x4D, convInfo); + }; + const inputs = {x: x4D}; + const attrs = {filterSize, strides, pad: pad8, dimRoundingMode}; + let res = ENGINE.runKernelFunc(forward, inputs, null, AvgPool, attrs); + res = cast(res, $x.dtype); + if (reshapedTo4D) { + return reshape(res, [res.shape[1], res.shape[2], res.shape[3]]); + } + return res; +} +const avgPool = op({avgPool_}); + +// node_modules/@tensorflow/tfjs-core/dist/globals.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function enableProdMode() { + env().set("PROD", true); +} +function enableDebugMode() { + env().set("DEBUG", true); +} +function disableDeprecationWarnings() { + env().set("DEPRECATION_WARNINGS_ENABLED", false); + console.warn(`TensorFlow.js deprecation warnings have been disabled.`); +} +function deprecationWarn(msg) { + if (env().getBool("DEPRECATION_WARNINGS_ENABLED")) { + console.warn(msg + " You can disable deprecation warnings with tf.disableDeprecationWarnings()."); + } +} +setDeprecationWarningFn(deprecationWarn); +function disposeVariables() { + ENGINE.disposeVariables(); +} +function engine22() { + return ENGINE; +} +function memory() { + return ENGINE.memory(); +} +function profile(f) { + return ENGINE.profile(f); +} +function tidy(nameOrFn, fn) { + return ENGINE.tidy(nameOrFn, fn); +} +function dispose(container) { + const tensors = getTensorsInContainer(container); + tensors.forEach((tensor17) => tensor17.dispose()); +} +function keep(result) { + return ENGINE.keep(result); +} +function time(f) { + return ENGINE.time(f); +} +function setBackend(backendName) { + return ENGINE.setBackend(backendName); +} +function ready() { + return ENGINE.ready(); +} +function getBackend() { + return ENGINE.backendName; +} +function removeBackend(name) { + ENGINE.removeBackend(name); +} +function findBackend(name) { + return ENGINE.findBackend(name); +} +function findBackendFactory(name) { + return ENGINE.findBackendFactory(name); +} +function registerBackend(name, factory, priority = 1) { + return ENGINE.registerBackend(name, factory, priority); +} +function backend() { + return ENGINE.backend; +} +function setPlatform(platformName, platform) { + env().setPlatform(platformName, platform); +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/avg_pool_3d.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function avgPool3d_(x, filterSize, strides, pad8, dimRoundingMode, dataFormat = "NDHWC", dilations) { + if (dilations == null) { + dilations = [1, 1, 1]; + } else { + deprecationWarn("dilations is deprecated, this field will be gone in v3.0.0."); + } + const $x = convertToTensor(x, "x", "avgPool3d", "float32"); + let x5D = $x; + let reshapedTo5D = false; + if ($x.rank === 4) { + reshapedTo5D = true; + x5D = reshape($x, [1, $x.shape[0], $x.shape[1], $x.shape[2], $x.shape[3]]); + } + assert(x5D.rank === 5, () => `Error in avgPool3d: x must be rank 5 but got rank ${x5D.rank}.`); + assert(dataFormat === "NDHWC", () => `Error in avgPool3d: Only NDHWC is currently supported, but got dataFormat of ${dataFormat}`); + assert(eitherStridesOrDilationsAreOne(strides, dilations), () => `Error in avgPool3d: Either strides or dilations must be 1. Got strides ${strides} and dilations '${dilations}'`); + if (dimRoundingMode != null) { + assert(isInt(pad8), () => `Error in avgPool3d: pad must be an integer when using, dimRoundingMode ${dimRoundingMode} but got pad ${pad8}.`); + } + const forward = (backend2, save) => { + if (dilations == null) { + dilations = [1, 1, 1]; + } + const convInfo = computePool3DInfo(x5D.shape, filterSize, strides, dilations, pad8, dimRoundingMode, dataFormat); + save([x5D]); + return backend2.avgPool3d(x5D, convInfo); + }; + const inputs = {x: x5D}; + const attrs = {filterSize, strides, pad: pad8, dimRoundingMode, dataFormat, dilations}; + let res = ENGINE.runKernelFunc(forward, inputs, null, AvgPool3D, attrs); + res = cast(res, x5D.dtype); + if (reshapedTo5D) { + return reshape(res, [res.shape[1], res.shape[2], res.shape[3], res.shape[4]]); + } + return res; +} +const avgPool3d = op({avgPool3d_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/concat_util.js +/** + * @license + * Copyright 2017 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function assertParamsConsistent(shapes, axis) { + const rank = shapes[0].length; + shapes.forEach((shape, i) => { + assert(shape.length === rank, () => `Error in concat${rank}D: rank of tensors[${i}] must be the same as the rank of the rest (${rank})`); + }); + assert(axis >= 0 && axis < rank, () => `Error in concat${rank}D: axis must be between 0 and ${rank - 1}.`); + const firstShape = shapes[0]; + shapes.forEach((shape, i) => { + for (let r = 0; r < rank; r++) { + assert(r === axis || shape[r] === firstShape[r], () => `Error in concat${rank}D: Shape of tensors[${i}] (${shape}) does not match the shape of the rest (${firstShape}) along the non-concatenated axis ${i}.`); + } + }); +} +function computeOutShape(shapes, axis) { + const outputShape = shapes[0].slice(); + for (let i = 1; i < shapes.length; i++) { + outputShape[axis] += shapes[i][axis]; + } + return outputShape; +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/tensor_ops_util.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function makeTensor(values, shape, inferredShape, dtype) { + if (dtype == null) { + dtype = inferDtype(values); + } + if (dtype === "complex64") { + throw new Error(`Cannot construct a complex64 tensor directly. Please use tf.complex(real, imag).`); + } + if (!isTypedArray(values) && !Array.isArray(values) && typeof values !== "number" && typeof values !== "boolean" && typeof values !== "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 (shape != null) { + assertNonNegativeIntegerDimensions(shape); + const providedSize = sizeFromShape(shape); + const inferredSize = sizeFromShape(inferredShape); + assert(providedSize === inferredSize, () => `Based on the provided shape, [${shape}], the tensor should have ${providedSize} values but has ${inferredSize}`); + for (let i = 0; i < inferredShape.length; ++i) { + const inferred = inferredShape[i]; + const flatDimsDontMatch = i === inferredShape.length - 1 ? inferred !== sizeFromShape(shape.slice(i)) : true; + assert(inferredShape[i] === shape[i] || !flatDimsDontMatch, () => `Error creating a new Tensor. Inferred shape (${inferredShape}) does not match the provided shape (${shape}). `); + } + } + if (!isTypedArray(values) && !Array.isArray(values)) { + values = [values]; + } + shape = shape || inferredShape; + values = dtype !== "string" ? toTypedArray(values, dtype) : flatten(values, [], true); + return ENGINE.makeTensor(values, shape, dtype); +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/tensor.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function tensor5(values, shape, dtype) { + const inferredShape = inferShape(values, dtype); + return makeTensor(values, shape, inferredShape, dtype); +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/concat.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function concat_(tensors, axis = 0) { + assert(tensors.length >= 1, () => "Pass at least one tensor to concat"); + let $tensors = convertToTensorArray(tensors, "tensors", "concat"); + if ($tensors[0].dtype === "complex64") { + $tensors.forEach((tensor17) => { + if (tensor17.dtype !== "complex64") { + throw new Error(`Cannot concatenate complex64 tensors with a tensor + with dtype ${tensor17.dtype}. `); + } + }); + } + const $axis = parseAxisParam(axis, $tensors[0].shape)[0]; + const outShape = computeOutShape($tensors.map((t) => t.shape), $axis); + if (sizeFromShape(outShape) === 0) { + return tensor5([], outShape); + } + $tensors = $tensors.filter((t) => t.size > 0); + if ($tensors.length === 1) { + return $tensors[0]; + } + const shapes = $tensors.map((t) => t.shape); + assertParamsConsistent(shapes, $axis); + const forward = (backend2, save) => { + const res = backend2.concat($tensors, $axis); + save($tensors); + return res; + }; + const inputs = $tensors; + const attr = {axis}; + return ENGINE.runKernelFunc(forward, inputs, null, Concat, attr); +} +const concat = op({concat_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/mat_mul.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function matMul_(a, b, transposeA = false, transposeB = false) { + let $a = convertToTensor(a, "a", "matMul"); + let $b = convertToTensor(b, "b", "matMul"); + [$a, $b] = makeTypesMatch($a, $b); + assert($a.rank >= 2 && $b.rank >= 2 && $a.rank === $b.rank, () => `Error in matMul: inputs must have the same rank of at least 2, got ranks ${$a.rank} and ${$b.rank}.`); + const innerShapeA = transposeA ? $a.shape[$a.rank - 2] : $a.shape[$a.rank - 1]; + const innerShapeB = transposeB ? $b.shape[$b.rank - 1] : $b.shape[$b.rank - 2]; + const outerShapeA = transposeA ? $a.shape[$a.rank - 1] : $a.shape[$a.rank - 2]; + const outerShapeB = transposeB ? $b.shape[$b.rank - 2] : $b.shape[$b.rank - 1]; + const outerDimsA = $a.shape.slice(0, -2); + const outerDimsB = $b.shape.slice(0, -2); + const batchDimA = sizeFromShape(outerDimsA); + const batchDimB = sizeFromShape(outerDimsB); + assert(arraysEqual(outerDimsA, outerDimsB), () => `Error in matMul: outer dimensions (${outerDimsA}) and (${outerDimsB}) of Tensors with shapes ${$a.shape} and ${$b.shape} must match.`); + assert(innerShapeA === innerShapeB, () => `Error in matMul: inner shapes (${innerShapeA}) and (${innerShapeB}) of Tensors with shapes ${$a.shape} and ${$b.shape} and transposeA=${transposeA} and transposeB=${transposeB} must match.`); + const outShape = $a.shape.slice(0, -2).concat([outerShapeA, outerShapeB]); + const a3D = transposeA ? reshape($a, [batchDimA, innerShapeA, outerShapeA]) : reshape($a, [batchDimA, outerShapeA, innerShapeA]); + const b3D = transposeB ? reshape($b, [batchDimB, outerShapeB, innerShapeB]) : reshape($b, [batchDimB, innerShapeB, outerShapeB]); + const forward = (backend2, save) => { + save([a3D, b3D]); + return backend2.batchMatMul(a3D, b3D, transposeA, transposeB); + }; + const inputs = {a: a3D, b: b3D}; + const attrs = {transposeA, transposeB}; + const res = ENGINE.runKernelFunc(forward, inputs, null, BatchMatMul, attrs); + return reshape(res, outShape); +} +const matMul = op({matMul_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/mul.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function mul_(a, b) { + let $a = convertToTensor(a, "a", "mul"); + let $b = convertToTensor(b, "b", "mul"); + [$a, $b] = makeTypesMatch($a, $b); + const forward = (backend2, save) => { + const res = backend2.multiply($a, $b); + save([$a, $b]); + return res; + }; + const inputs = {a: $a, b: $b}; + return ENGINE.runKernelFunc(forward, inputs, null, Multiply); +} +const mul = op({mul_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/sigmoid.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function sigmoid_(x) { + const $x = convertToTensor(x, "x", "sigmoid"); + const inputs = {x: $x}; + return ENGINE.runKernelFunc((backend2, save) => { + const res = backend2.sigmoid($x); + save([res]); + return res; + }, inputs, null, Sigmoid); +} +const sigmoid = op({sigmoid_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/slice_util.js +const slice_util_exports = {}; +__export(slice_util_exports, { + assertParamsValid: () => assertParamsValid, + computeFlatOffset: () => computeFlatOffset, + computeOutShape: () => computeOutShape2, + isSliceContinous: () => isSliceContinous, + maskToAxes: () => maskToAxes, + parseSliceParams: () => parseSliceParams, + startForAxis: () => startForAxis, + startIndicesWithElidedDims: () => startIndicesWithElidedDims, + stopForAxis: () => stopForAxis, + stopIndicesWithElidedDims: () => stopIndicesWithElidedDims, + stridesForAxis: () => stridesForAxis, + stridesWithElidedDims: () => stridesWithElidedDims +}); +/** + * @license + * Copyright 2017 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function assertParamsValid(input, begin, size) { + assert(input.rank === begin.length, () => `Error in slice${input.rank}D: Length of begin ${begin} must match the rank of the array (${input.rank}).`); + assert(input.rank === size.length, () => `Error in slice${input.rank}D: Length of size ${size} must match the rank of the array (${input.rank}).`); + for (let i = 0; i < input.rank; ++i) { + assert(begin[i] + size[i] <= input.shape[i], () => `Error in slice${input.rank}D: begin[${i}] + size[${i}] (${begin[i] + size[i]}) would overflow input.shape[${i}] (${input.shape[i]})`); + } +} +function maskToAxes(mask) { + const axes = []; + let axis = 0; + while (mask > 0) { + if (mask & 1) { + axes.push(axis); + } + mask /= 2; + axis++; + } + return axes; +} +function computeOutShape2(begin, end, strides) { + const size = []; + for (let axis = 0; axis < begin.length; axis++) { + size[axis] = Math.ceil((end[axis] - begin[axis]) / strides[axis]); + } + return size; +} +function stridesWithElidedDims(strides, ellipsisInsertionIndex, numElidedAxes, inputShape) { + const newStrides = [...strides]; + for (let i = newStrides.length; i < inputShape.length; i++) { + newStrides.push(1); + } + for (let i = 0; i < numElidedAxes; i++) { + if (i === 0) { + newStrides[ellipsisInsertionIndex] = 1; + } else { + newStrides.splice(ellipsisInsertionIndex, 0, 1); + newStrides.pop(); + } + } + return newStrides; +} +function unnormalizeAxis(ellipsisInsertionIndex, numElidedAxes, normalizedAxis) { + if (normalizedAxis <= ellipsisInsertionIndex) { + return normalizedAxis; + } + return normalizedAxis - (numElidedAxes - 1); +} +function getElidedAxes(numElidedAxes, ellipsisInsertionIndex) { + const elidedAxes = []; + for (let i = 0; i < numElidedAxes; i++) { + elidedAxes.push(ellipsisInsertionIndex + i); + } + return elidedAxes; +} +function startIndicesWithElidedDims(beginMask, ellipsisInsertionIndex, numElidedAxes, originalBegin, inputShape) { + const newIndices = [...inputShape]; + const elidedAxes = getElidedAxes(numElidedAxes, ellipsisInsertionIndex); + for (let axis = 0; axis < newIndices.length; axis++) { + if (elidedAxes.indexOf(axis) > -1) { + newIndices[axis] = 0; + } else { + const originalAxis = unnormalizeAxis(ellipsisInsertionIndex, numElidedAxes, axis); + let originalValue = originalBegin[originalAxis]; + if (beginMask & 1 << originalAxis) { + originalValue = 0; + } + newIndices[axis] = originalValue; + } + } + return newIndices; +} +function stopIndicesWithElidedDims(endMask, ellipsisInsertionIndex, numElidedAxes, originalEnd, inputShape) { + const newIndices = [...inputShape]; + const elidedAxes = getElidedAxes(numElidedAxes, ellipsisInsertionIndex); + for (let axis = 0; axis < newIndices.length; axis++) { + if (elidedAxes.indexOf(axis) > -1) { + newIndices[axis] = Number.MAX_SAFE_INTEGER; + } else { + const originalAxis = unnormalizeAxis(ellipsisInsertionIndex, numElidedAxes, axis); + let originalValue = originalEnd[originalAxis]; + if (endMask & 1 << originalAxis) { + originalValue = Number.MAX_SAFE_INTEGER; + } + newIndices[axis] = originalValue; + } + } + for (let i = 0; i < newIndices.length; i++) { + const axisSize = inputShape[i]; + if (newIndices[i] < 0) { + newIndices[i] += axisSize; + } + newIndices[i] = clamp(0, newIndices[i], inputShape[i]); + } + return newIndices; +} +function stridesForAxis(strides, axis, ellipsisMask) { + let stride = strides[axis]; + if (ellipsisMask & 1 << axis || stride == null) { + stride = 1; + } + return stride; +} +function startForAxis(beginMask, startIndices, strides, inputShape, axis, ellipsisMask) { + let start = startIndices[axis]; + const stride = strides[axis] || 1; + if (beginMask & 1 << axis || ellipsisMask & 1 << axis || start == null) { + if (stride > 0) { + start = Number.MIN_SAFE_INTEGER; + } else { + start = Number.MAX_SAFE_INTEGER; + } + } + const axisSize = inputShape[axis]; + if (start < 0) { + start += axisSize; + } + start = clamp(0, start, axisSize - 1); + return start; +} +function stopForAxis(endMask, stopIndices, strides, inputShape, axis, ellipsisMask) { + let stop = stopIndices[axis]; + const stride = strides[axis] || 1; + if (endMask & 1 << axis || ellipsisMask & 1 << axis || stop == null) { + if (stride > 0) { + stop = Number.MAX_SAFE_INTEGER; + } else { + stop = Number.MIN_SAFE_INTEGER; + } + } + const axisSize = inputShape[axis]; + if (stop < 0) { + stop += axisSize; + } + if (stride > 0) { + stop = clamp(0, stop, axisSize); + } else { + stop = clamp(-1, stop, axisSize - 1); + } + return stop; +} +function isSliceContinous(shape, begin, size) { + let firstNonOneAxis = size.length; + for (let i = 0; i < size.length; i++) { + if (size[i] > 1) { + firstNonOneAxis = i; + break; + } + } + for (let i = firstNonOneAxis + 1; i < size.length; i++) { + if (begin[i] > 0 || size[i] !== shape[i]) { + return false; + } + } + return true; +} +function computeFlatOffset(begin, strides) { + let flatOffset = begin.length > 0 ? begin[begin.length - 1] : 1; + for (let i = 0; i < begin.length - 1; i++) { + flatOffset += begin[i] * strides[i]; + } + return flatOffset; +} +function parseSliceParams(x, begin, size) { + let begin_; + if (typeof begin === "number") { + begin_ = [begin, ...new Array(x.rank - 1).fill(0)]; + } else if (begin.length < x.rank) { + begin_ = begin.concat(new Array(x.rank - begin.length).fill(0)); + } else { + begin_ = begin.slice(); + } + begin_.forEach((d) => { + assert(d !== -1, () => "slice() does not support negative begin indexing."); + }); + let size_; + if (size == null) { + size_ = new Array(x.rank).fill(-1); + } else if (typeof size === "number") { + size_ = [size, ...new Array(x.rank - 1).fill(-1)]; + } else if (size.length < x.rank) { + size_ = size.concat(new Array(x.rank - size.length).fill(-1)); + } else { + size_ = size; + } + size_ = size_.map((d, i) => { + if (d >= 0) { + return d; + } else { + assert(d === -1, () => `Negative size values should be exactly -1 but got ${d} for the slice() size at index ${i}.`); + return x.shape[i] - begin_[i]; + } + }); + return [begin_, size_]; +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/slice.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function slice_(x, begin, size) { + const $x = convertToTensor(x, "x", "slice"); + if ($x.rank === 0) { + throw new Error("Slicing scalar is not possible"); + } + const [begin_, size_] = parseSliceParams($x, begin, size); + assertParamsValid($x, begin_, size_); + const forward = (backend2, save) => { + save([$x]); + return backend2.slice($x, begin_, size_); + }; + const inputs = {x: $x}; + const attrs = {begin, size}; + return ENGINE.runKernelFunc(forward, inputs, null, Slice, attrs); +} +const slice = op({slice_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/tanh.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function tanh_(x) { + const $x = convertToTensor(x, "x", "tanh"); + const inputs = {x: $x}; + return ENGINE.runKernelFunc((backend2, save) => { + const y = backend2.tanh($x); + save([y]); + return y; + }, inputs, null, Tanh); +} +const tanh2 = op({tanh_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/basic_lstm_cell.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function basicLSTMCell_(forgetBias, lstmKernel, lstmBias, data, c, h) { + const $forgetBias = convertToTensor(forgetBias, "forgetBias", "basicLSTMCell"); + const $lstmKernel = convertToTensor(lstmKernel, "lstmKernel", "basicLSTMCell"); + const $lstmBias = convertToTensor(lstmBias, "lstmBias", "basicLSTMCell"); + const $data = convertToTensor(data, "data", "basicLSTMCell"); + const $c = convertToTensor(c, "c", "basicLSTMCell"); + const $h = convertToTensor(h, "h", "basicLSTMCell"); + const combined = concat([$data, $h], 1); + const weighted = matMul(combined, $lstmKernel); + const res = add2(weighted, $lstmBias); + const batchSize = res.shape[0]; + const sliceCols = res.shape[1] / 4; + const sliceSize = [batchSize, sliceCols]; + const i = slice(res, [0, 0], sliceSize); + const j = slice(res, [0, sliceCols], sliceSize); + const f = slice(res, [0, sliceCols * 2], sliceSize); + const o = slice(res, [0, sliceCols * 3], sliceSize); + const newC = add2(mul(sigmoid(i), tanh2(j)), mul($c, sigmoid(add2($forgetBias, f)))); + const newH = mul(tanh2(newC), sigmoid(o)); + return [newC, newH]; +} +const basicLSTMCell = op({basicLSTMCell_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/batch_to_space_nd.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function batchToSpaceND_(x, blockShape, crops) { + const $x = convertToTensor(x, "x", "batchToSpaceND"); + const prod3 = blockShape.reduce((a, b) => a * b); + assert($x.rank >= 1 + blockShape.length, () => `input rank is ${$x.rank} but should be > than blockShape.length ${blockShape.length}`); + assert(crops.length === blockShape.length, () => `crops.length is ${crops.length} but should be equal to blockShape.length ${blockShape.length}`); + assert($x.shape[0] % prod3 === 0, () => `input tensor batch is ${$x.shape[0]} but is not divisible by the product of the elements of blockShape ${blockShape.join(" * ")} === ${prod3}`); + const forward = (backend2) => { + return backend2.batchToSpaceND($x, blockShape, crops); + }; + const inputs = {x: $x}; + const attrs = {blockShape, crops}; + return ENGINE.runKernelFunc(forward, inputs, null, BatchToSpaceND, attrs); +} +const batchToSpaceND = op({batchToSpaceND_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/batchnorm_util.js +function xAs4D(x) { + let x4D; + if (x.rank === 0 || x.rank === 1) { + x4D = reshape(x, [1, 1, 1, x.size]); + } else if (x.rank === 2) { + x4D = reshape(x, [1, 1, x.shape[0], x.shape[1]]); + } else if (x.rank === 3) { + x4D = reshape(x, [1, x.shape[0], x.shape[1], x.shape[2]]); + } else { + x4D = x; + } + return x4D; +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/batchnorm.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function batchNorm_(x, mean5, variance, offset, scale2, varianceEpsilon) { + if (varianceEpsilon == null) { + varianceEpsilon = 1e-3; + } + const $x = convertToTensor(x, "x", "batchNorm"); + const $mean = convertToTensor(mean5, "mean", "batchNorm"); + const $variance = convertToTensor(variance, "variance", "batchNorm"); + let $scale; + if (scale2 != null) { + $scale = convertToTensor(scale2, "scale", "batchNorm"); + } + let $offset; + if (offset != null) { + $offset = convertToTensor(offset, "offset", "batchNorm"); + } + assert($mean.rank === $variance.rank, () => "Batch normalization gradient requires mean and variance to have equal ranks."); + assert($offset == null || $mean.rank === $offset.rank, () => "Batch normalization gradient requires mean and offset to have equal ranks."); + assert($scale == null || $mean.rank === $scale.rank, () => "Batch normalization gradient requires mean and scale to have equal ranks."); + const x4D = xAs4D($x); + const forward = (backend2, save) => { + save([x4D, $mean, $variance, $scale]); + return backend2.batchNorm(x4D, as1DOr4D($mean), as1DOr4D($variance), as1DOr4D($offset), as1DOr4D($scale), varianceEpsilon); + }; + const inputs = { + x: x4D, + scale: $scale, + offset: $offset, + mean: $mean, + variance: $variance + }; + const attrs = {varianceEpsilon}; + const res = ENGINE.runKernelFunc(forward, inputs, null, FusedBatchNorm, attrs); + return reshape(res, $x.shape); +} +function as1DOr4D(x) { + if (x == null) { + return null; + } + if (x.rank === 0) { + return reshape(x, [x.size]); + } else if (x.rank === 1) { + return x; + } else if (x.rank === 2) { + return reshape(x, [1, 1, x.shape[0], x.shape[1]]); + } else if (x.rank === 3) { + return reshape(x, [1, x.shape[0], x.shape[1], x.shape[2]]); + } + return x; +} +const batchNorm = op({batchNorm_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/batchnorm2d.js +function batchNorm2d_(x, mean5, variance, offset, scale2, varianceEpsilon) { + const $x = convertToTensor(x, "x", "batchNorm"); + const $mean = convertToTensor(mean5, "mean", "batchNorm"); + const $variance = convertToTensor(variance, "variance", "batchNorm"); + let $scale; + if (scale2 != null) { + $scale = convertToTensor(scale2, "scale", "batchNorm"); + } + let $offset; + if (offset != null) { + $offset = convertToTensor(offset, "offset", "batchNorm"); + } + assert($x.rank === 2, () => `Error in batchNorm2D: x must be rank 2 but got rank ${$x.rank}.`); + assert($mean.rank === 2 || $mean.rank === 1, () => `Error in batchNorm2D: mean must be rank 2 or rank 1 but got rank ${$mean.rank}.`); + assert($variance.rank === 2 || $variance.rank === 1, () => `Error in batchNorm2D: variance must be rank 2 or rank 1 but got rank ${$variance.rank}.`); + if ($scale != null) { + assert($scale.rank === 2 || $scale.rank === 1, () => `Error in batchNorm2D: scale must be rank 2 or rank 1 but got rank ${$scale.rank}.`); + } + if ($offset != null) { + assert($offset.rank === 2 || $offset.rank === 1, () => `Error in batchNorm2D: offset must be rank 2 or rank 1 but got rank ${$offset.rank}.`); + } + return batchNorm($x, $mean, $variance, $offset, $scale, varianceEpsilon); +} +const batchNorm2d = op({batchNorm2d_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/batchnorm3d.js +function batchNorm3d_(x, mean5, variance, offset, scale2, varianceEpsilon) { + const $x = convertToTensor(x, "x", "batchNorm"); + const $mean = convertToTensor(mean5, "mean", "batchNorm"); + const $variance = convertToTensor(variance, "variance", "batchNorm"); + let $scale; + if (scale2 != null) { + $scale = convertToTensor(scale2, "scale", "batchNorm"); + } + let $offset; + if (offset != null) { + $offset = convertToTensor(offset, "offset", "batchNorm"); + } + assert($x.rank === 3, () => `Error in batchNorm3D: x must be rank 3 but got rank ${$x.rank}.`); + assert($mean.rank === 3 || $mean.rank === 1, () => `Error in batchNorm3D: mean must be rank 3 or rank 1 but got rank ${$mean.rank}.`); + assert($variance.rank === 3 || $variance.rank === 1, () => `Error in batchNorm3D: variance must be rank 3 or rank 1 but got rank ${$variance.rank}.`); + if ($scale != null) { + assert($scale.rank === 3 || $scale.rank === 1, () => `Error in batchNorm3D: scale must be rank 3 or rank 1 but got rank ${$scale.rank}.`); + } + if ($offset != null) { + assert($offset.rank === 3 || $offset.rank === 1, () => `Error in batchNorm3D: offset must be rank 3 or rank 1 but got rank ${$offset.rank}.`); + } + return batchNorm($x, $mean, $variance, $offset, $scale, varianceEpsilon); +} +const batchNorm3d = op({batchNorm3d_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/batchnorm4d.js +function batchNorm4d_(x, mean5, variance, offset, scale2, varianceEpsilon) { + const $x = convertToTensor(x, "x", "batchNorm"); + const $mean = convertToTensor(mean5, "mean", "batchNorm"); + const $variance = convertToTensor(variance, "variance", "batchNorm"); + let $scale; + if (scale2 != null) { + $scale = convertToTensor(scale2, "scale", "batchNorm"); + } + let $offset; + if (offset != null) { + $offset = convertToTensor(offset, "offset", "batchNorm"); + } + assert($x.rank === 4, () => `Error in batchNorm4D: x must be rank 4 but got rank ${$x.rank}.`); + assert($mean.rank === 4 || $mean.rank === 1, () => `Error in batchNorm4D: mean must be rank 4 or rank 1 but got rank ${$mean.rank}.`); + assert($variance.rank === 4 || $variance.rank === 1, () => `Error in batchNorm4D: variance must be rank 4 or rank 1 but got rank ${$variance.rank}.`); + if ($scale != null) { + assert($scale.rank === 4 || $scale.rank === 1, () => `Error in batchNorm4D: scale must be rank 4 or rank 1 but got rank ${$scale.rank}.`); + } + if ($offset != null) { + assert($offset.rank === 4 || $offset.rank === 1, () => `Error in batchNorm4D: offset must be rank 4 or rank 1 but got rank ${$offset.rank}.`); + } + return batchNorm($x, $mean, $variance, $offset, $scale, varianceEpsilon); +} +const batchNorm4d = op({batchNorm4d_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/clone.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function clone_(x) { + const $x = convertToTensor(x, "x", "clone", null); + const forward = () => ENGINE.makeTensorFromDataId($x.dataId, $x.shape, $x.dtype); + const inputs = {x: $x}; + return ENGINE.runKernelFunc(forward, inputs, null, Identity); +} +const clone = op({clone_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_to.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function broadcastTo_(x, shape) { + let input = convertToTensor(x, "broadcastTo", "x"); + const xShape = input.shape; + if (shape.some((d) => !(d > 0) || d % 1 !== 0)) { + throw new Error(`broadcastTo(): Invalid broadcast shape [${shape}].`); + } + if (shape.length < input.rank) { + throw new Error(`broadcastTo(): shape.length=${shape.length} < input.rank=${input.rank}.`); + } + if (shape.length > input.rank) { + const newShape = input.shape.slice(); + while (newShape.length < shape.length) { + newShape.unshift(1); + } + input = reshape(input, newShape); + } + const inputShape = input.shape; + const reps = Array.from(shape); + for (let i = shape.length - 1; i >= 0; i--) { + if (inputShape[i] === shape[i]) { + reps[i] = 1; + } else if (input.shape[i] !== 1) { + throw new Error(`broadcastTo(): [${xShape}] cannot be broadcast to [${shape}].`); + } + } + const axes = reps.map((n, i) => n > 1 ? i : -1).filter((i) => i >= 0); + if (axes.length === 0) { + return clone(input); + } + const forward = (backend2) => backend2.tile(input, reps); + const inputs = {x: input}; + const attrs = {shape, inputShape}; + return ENGINE.runKernelFunc(forward, inputs, null, BroadcastTo, attrs); +} +const broadcastTo = op({broadcastTo_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/buffer.js +/** + * @license + * Copyright 2020 Google Inc. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function buffer(shape, dtype = "float32", values) { + dtype = dtype || "float32"; + assertNonNegativeIntegerDimensions(shape); + return new TensorBuffer(shape, dtype, values); +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/ceil.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function ceil_(x) { + const $x = convertToTensor(x, "x", "ceil"); + const inputs = {x: $x}; + return ENGINE.runKernelFunc((backend2) => backend2.ceil($x), inputs, null, Ceil); +} +const ceil = op({ceil_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/clip_by_value.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function clipByValue_(x, clipValueMin, clipValueMax) { + const $x = convertToTensor(x, "x", "clipByValue"); + assert(clipValueMin <= clipValueMax, () => `Error in clip: min (${clipValueMin}) must be less than or equal to max (${clipValueMax}).`); + const inputs = {x: $x}; + const attrs = {clipValueMin, clipValueMax}; + return ENGINE.runKernelFunc((backend2, save) => { + const res = backend2.clip($x, clipValueMin, clipValueMax); + save([$x]); + return res; + }, inputs, null, ClipByValue, attrs); +} +const clipByValue = op({clipByValue_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/complex.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function complex_(real6, imag6) { + const $real = convertToTensor(real6, "real", "complex"); + const $imag = convertToTensor(imag6, "imag", "complex"); + assertShapesMatch($real.shape, $imag.shape, `real and imag shapes, ${$real.shape} and ${$imag.shape}, must match in call to tf.complex().`); + const forward = (backend2) => { + return backend2.complex($real, $imag); + }; + const inputs = {real: $real, imag: $imag}; + return ENGINE.runKernelFunc(forward, inputs, null, Complex); +} +const complex = op({complex_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/concat_1d.js +function concat1d_(tensors) { + return concat(tensors, 0); +} +const concat1d = op({concat1d_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/concat_2d.js +function concat2d_(tensors, axis) { + return concat(tensors, axis); +} +const concat2d = op({concat2d_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/concat_3d.js +function concat3d_(tensors, axis) { + return concat(tensors, axis); +} +const concat3d = op({concat3d_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/concat_4d.js +function concat4d_(tensors, axis) { + return concat(tensors, axis); +} +const concat4d = op({concat4d_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/conv2d.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function conv2d_(x, filter, strides, pad8, dataFormat = "NHWC", dilations = [1, 1], dimRoundingMode) { + const $x = convertToTensor(x, "x", "conv2d"); + const $filter = convertToTensor(filter, "filter", "conv2d"); + let x4D = $x; + let reshapedTo4D = false; + if ($x.rank === 3) { + reshapedTo4D = true; + x4D = reshape($x, [1, $x.shape[0], $x.shape[1], $x.shape[2]]); + } + assert(x4D.rank === 4, () => `Error in conv2d: input must be rank 4, but got rank ${x4D.rank}.`); + assert($filter.rank === 4, () => `Error in conv2d: filter must be rank 4, but got rank ${$filter.rank}.`); + if (dimRoundingMode != null) { + assert(isInt(pad8), () => `Error in conv2d: pad must be an integer when using, dimRoundingMode ${dimRoundingMode} but got pad ${pad8}.`); + } + const inDepth = dataFormat === "NHWC" ? x4D.shape[3] : x4D.shape[1]; + assert(inDepth === $filter.shape[2], () => `Error in conv2d: depth of input (${inDepth}) must match input depth for filter ${$filter.shape[2]}.`); + assert(eitherStridesOrDilationsAreOne(strides, dilations), () => `Error in conv2D: Either strides or dilations must be 1. Got strides ${strides} and dilations '${dilations}'`); + const forward = (backend2, save) => { + const $dataFormat = convertConv2DDataFormat(dataFormat); + const convInfo = computeConv2DInfo(x4D.shape, $filter.shape, strides, dilations, pad8, dimRoundingMode, false, $dataFormat); + const res2 = backend2.conv2d(x4D, $filter, convInfo); + save([x4D, $filter]); + return res2; + }; + const inputs = {x: x4D, filter: $filter}; + const attrs = {strides, pad: pad8, dataFormat, dilations, dimRoundingMode}; + const res = ENGINE.runKernelFunc(forward, inputs, null, Conv2D, attrs); + if (reshapedTo4D) { + return reshape(res, [res.shape[1], res.shape[2], res.shape[3]]); + } + return res; +} +const conv2d = op({conv2d_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/conv1d.js +function conv1d_(x, filter, stride, pad8, dataFormat = "NWC", dilation = 1, dimRoundingMode) { + const $x = convertToTensor(x, "x", "conv1d"); + const $filter = convertToTensor(filter, "filter", "conv1d"); + let x3D = $x; + let reshapedTo3D = false; + if ($x.rank === 2) { + reshapedTo3D = true; + x3D = reshape($x, [1, $x.shape[0], $x.shape[1]]); + } + assert(x3D.rank === 3, () => `Error in conv1d: input must be rank 3, but got rank ${x3D.rank}.`); + assert($filter.rank === 3, () => `Error in conv1d: filter must be rank 3, but got rank ${$filter.rank}.`); + if (dimRoundingMode != null) { + assert(isInt(pad8), () => `Error in conv1d: pad must be an integer when using, dimRoundingMode ${dimRoundingMode} but got pad ${pad8}.`); + } + assert(x3D.shape[2] === $filter.shape[1], () => `Error in conv1d: depth of input (${x3D.shape[2]}) must match input depth for filter ${$filter.shape[1]}.`); + assert(eitherStridesOrDilationsAreOne(stride, dilation), () => `Error in conv1D: Either stride or dilation must be 1. Got stride ${stride} and dilation '${dilation}'`); + assert(dataFormat === "NWC", () => `Error in conv1d: got dataFormat of ${dataFormat} but only NWC is currently supported.`); + const filter4D = reshape($filter, [1, $filter.shape[0], $filter.shape[1], $filter.shape[2]]); + const input4D = reshape(x3D, [x3D.shape[0], 1, x3D.shape[1], x3D.shape[2]]); + const strides = [1, stride]; + const dilations = [1, dilation]; + const conv2dDataFormat = "NHWC"; + const res = conv2d(input4D, filter4D, strides, pad8, conv2dDataFormat, dilations, dimRoundingMode); + if (reshapedTo3D) { + return reshape(res, [res.shape[2], res.shape[3]]); + } + return reshape(res, [res.shape[0], res.shape[2], res.shape[3]]); +} +const conv1d = op({conv1d_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/conv2d_backprop_input.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function conv2DBackpropInput_(xShape, dy, filter, strides, pad8, dataFormat = "NHWC", dimRoundingMode) { + assert(xShape.length === dy.rank, () => `Length of inShape (${xShape.length}) and rank of dy (${dy.rank}) must match`); + let xShape4D = xShape; + let dy4D = dy; + let reshapedTo4D = false; + if (dy.rank === 3) { + reshapedTo4D = true; + dy4D = reshape(dy, [1, dy.shape[0], dy.shape[1], dy.shape[2]]); + xShape4D = [1, xShape[0], xShape[1], xShape[2]]; + } + assert(xShape4D.length === 4, () => `Error in conv2dDerInput: inShape must be length 4, but got length ${xShape4D.length}.`); + assert(dy4D.rank === 4, () => `Error in conv2dDerInput: dy must be rank 4, but got rank ${dy4D.rank}`); + assert(filter.rank === 4, () => `Error in conv2dDerInput: filter must be rank 4, but got rank ${filter.rank}`); + const inDepth = dataFormat === "NHWC" ? xShape4D[3] : xShape4D[1]; + const outDepth = dataFormat === "NHWC" ? dy4D.shape[3] : dy4D.shape[1]; + assert(inDepth === filter.shape[2], () => `Error in conv2dDerInput: depth of input (${inDepth}) must match input depth for filter ${filter.shape[2]}.`); + assert(outDepth === filter.shape[3], () => `Error in conv2dDerInput: depth of output (${outDepth}) must match output depth for filter ${filter.shape[3]}.`); + if (dimRoundingMode != null) { + assert(isInt(pad8), () => `Error in conv2dDerInput: pad must be an integer when using, dimRoundingMode ${dimRoundingMode} but got pad ${pad8}.`); + } + const forward = (backend2, save) => { + const dilations = 1; + const $dataFormat = convertConv2DDataFormat(dataFormat); + const convInfo = computeConv2DInfo(xShape4D, filter.shape, strides, dilations, pad8, dimRoundingMode, false, $dataFormat); + const res2 = backend2.conv2dDerInput(dy4D, filter, convInfo); + save([dy4D, filter]); + return res2; + }; + const inputs = {dy: dy4D, filter}; + const attrs = {strides, pad: pad8, dataFormat, dimRoundingMode, inputShape: xShape4D}; + const res = ENGINE.runKernelFunc(forward, inputs, null, Conv2DBackpropInput, attrs); + if (reshapedTo4D) { + return reshape(res, [res.shape[1], res.shape[2], res.shape[3]]); + } + return res; +} +const conv2DBackpropInput = op({conv2DBackpropInput_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/conv2d_transpose.js +function conv2dTranspose_(x, filter, outputShape, strides, pad8, dimRoundingMode) { + const $x = convertToTensor(x, "x", "conv2dTranspose"); + const $filter = convertToTensor(filter, "filter", "conv2dTranspose"); + return conv2DBackpropInput(outputShape, $x, $filter, strides, pad8, "NHWC", dimRoundingMode); +} +const conv2dTranspose = op({conv2dTranspose_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/conv3d.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function conv3d_(x, filter, strides, pad8, dataFormat = "NDHWC", dilations = [1, 1, 1]) { + const $x = convertToTensor(x, "x", "conv3d"); + const $filter = convertToTensor(filter, "filter", "conv3d"); + let x5D = $x; + let reshapedTo5D = false; + if ($x.rank === 4) { + reshapedTo5D = true; + x5D = reshape($x, [1, $x.shape[0], $x.shape[1], $x.shape[2], $x.shape[3]]); + } + assert(x5D.rank === 5, () => `Error in conv3d: input must be rank 5, but got rank ${x5D.rank}.`); + assert($filter.rank === 5, () => `Error in conv3d: filter must be rank 5, but got rank ${$filter.rank}.`); + assert(x5D.shape[4] === $filter.shape[3], () => `Error in conv3d: depth of input (${x5D.shape[4]}) must match input depth for filter ${$filter.shape[3]}.`); + assert(eitherStridesOrDilationsAreOne(strides, dilations), () => `Error in conv3D: Either strides or dilations must be 1. Got strides ${strides} and dilations '${dilations}'`); + assert(dataFormat === "NDHWC", () => `Error in conv3d: got dataFormat of ${dataFormat} but only NDHWC is currently supported.`); + const forward = (backend2, save) => { + const convInfo = computeConv3DInfo(x5D.shape, $filter.shape, strides, dilations, pad8); + const res2 = backend2.conv3d(x5D, $filter, convInfo); + save([x5D, $filter]); + return res2; + }; + const inputs = {x: x5D, filter: $filter}; + const attrs = {strides, pad: pad8, dataFormat, dilations}; + const res = ENGINE.runKernelFunc(forward, inputs, null, Conv3D, attrs); + if (reshapedTo5D) { + return reshape(res, [res.shape[1], res.shape[2], res.shape[3], res.shape[4]]); + } + return res; +} +const conv3d = op({conv3d_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/conv3d_backprop_input.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function conv3DBackpropInput_(xShape, dy, filter, strides, pad8) { + assert(xShape.length === dy.rank, () => `Length of inShape (${xShape.length}) and rank of dy (${dy.rank}) must match`); + let xShape5D = xShape; + let dy5D = dy; + let reshapedTo5D = false; + if (dy.rank === 4) { + reshapedTo5D = true; + dy5D = reshape(dy, [1, dy.shape[0], dy.shape[1], dy.shape[2], dy.shape[3]]); + xShape5D = [1, xShape[0], xShape[1], xShape[2], xShape[3]]; + } + const inDepth = xShape5D[4]; + const outDepth = dy5D.shape[4]; + assert(xShape5D.length === 5, () => `Error in conv3dDerInput: inShape must be length 5, but got length ${xShape5D.length}.`); + assert(dy5D.rank === 5, () => `Error in conv3dDerInput: dy must be rank 5, but got rank ${dy5D.rank}`); + assert(filter.rank === 5, () => `Error in conv3dDerInput: filter must be rank 5, but got rank ${filter.rank}`); + assert(inDepth === filter.shape[3], () => `Error in conv3dDerInput: depth of input (${inDepth}) must match input depth for filter ${filter.shape[3]}.`); + assert(outDepth === filter.shape[4], () => `Error in conv3dDerInput: depth of output (${outDepth}) must match output depth for filter ${filter.shape[4]}.`); + const forward = (backend2) => { + const dilations = 1; + const convInfo = computeConv3DInfo(xShape5D, filter.shape, strides, dilations, pad8); + return backend2.conv3dDerInput(dy5D, filter, convInfo); + }; + const inputs = {dy: dy5D}; + const attrs = {pad: pad8}; + const res = ENGINE.runKernelFunc(forward, inputs, null, Conv3DBackpropInputV2, attrs); + if (reshapedTo5D) { + return reshape(res, [res.shape[1], res.shape[2], res.shape[3], res.shape[4]]); + } + return res; +} +const conv3DBackpropInput = op({conv3DBackpropInput_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/conv3d_transpose.js +function conv3dTranspose_(x, filter, outputShape, strides, pad8) { + const $x = convertToTensor(x, "x", "conv3dTranspose"); + const $filter = convertToTensor(filter, "filter", "conv3dTranspose"); + return conv3DBackpropInput(outputShape, $x, $filter, strides, pad8); +} +const conv3dTranspose = op({conv3dTranspose_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/cos.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function cos_(x) { + const $x = convertToTensor(x, "x", "cos"); + const inputs = {x: $x}; + return ENGINE.runKernelFunc((backend2, save) => { + const res = backend2.cos($x); + save([$x]); + return res; + }, inputs, null, Cos); +} +const cos = op({cos_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/cosh.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function cosh_(x) { + const $x = convertToTensor(x, "x", "cosh"); + const inputs = {x: $x}; + return ENGINE.runKernelFunc((backend2, save) => { + const res = backend2.cosh($x); + save([$x]); + return res; + }, inputs, null, Cosh); +} +const cosh = op({cosh_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/cumsum.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function cumsum_(x, axis = 0, exclusive = false, reverse9 = false) { + const $x = convertToTensor(x, "x", "cumsum"); + const forward = (backend2, save) => { + const permutation = getAxesPermutation([axis], $x.rank); + let permutedX = $x; + if (permutation != null) { + permutedX = transpose($x, permutation); + } + const permutedAxis = getInnerMostAxes(1, $x.rank)[0]; + let value = backend2.cumsum(permutedX, permutedAxis, exclusive, reverse9); + save([$x]); + if (permutation != null) { + const reversePermutation = getUndoAxesPermutation(permutation); + value = transpose(value, reversePermutation); + } + return value; + }; + const inputs = {x: $x}; + const attrs = {axis, exclusive, reverse: reverse9}; + return ENGINE.runKernelFunc(forward, inputs, null, Cumsum, attrs); +} +const cumsum = op({cumsum_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/depth_to_space.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function depthToSpace_(x, blockSize, dataFormat = "NHWC") { + const $x = convertToTensor(x, "x", "depthToSpace"); + const inputHeight = dataFormat === "NHWC" ? $x.shape[1] : $x.shape[2]; + const inputWidth = dataFormat === "NHWC" ? $x.shape[2] : $x.shape[3]; + const inputDepth = dataFormat === "NHWC" ? $x.shape[3] : $x.shape[1]; + assert(inputHeight * blockSize >= 0, () => `Negative dimension size caused by overflow when multiplying + ${inputHeight} and ${blockSize} for depthToSpace with input shape + ${$x.shape}`); + assert(inputWidth * blockSize >= 0, () => `Negative dimension size caused by overflow when multiplying + ${inputWidth} and ${blockSize} for depthToSpace with input shape + ${$x.shape}`); + assert(inputDepth % (blockSize * blockSize) === 0, () => `Dimension size must be evenly divisible by ${blockSize * blockSize} but is ${inputDepth} for depthToSpace with input shape ${$x.shape}`); + const forward = (backend2) => backend2.depthToSpace($x, blockSize, dataFormat); + const inputs = {x: $x}; + const attrs = {blockSize, dataFormat}; + return ENGINE.runKernelFunc(forward, inputs, null, DepthToSpace, attrs); +} +const depthToSpace = op({depthToSpace_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/depthwise_conv2d.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function depthwiseConv2d_(x, filter, strides, pad8, dataFormat = "NHWC", dilations = [1, 1], dimRoundingMode) { + const $x = convertToTensor(x, "x", "depthwiseConv2d"); + const $filter = convertToTensor(filter, "filter", "depthwiseConv2d"); + let x4D = $x; + let reshapedTo4D = false; + if ($x.rank === 3) { + reshapedTo4D = true; + x4D = reshape($x, [1, $x.shape[0], $x.shape[1], $x.shape[2]]); + } + assert(x4D.rank === 4, () => `Error in depthwiseConv2d: input must be rank 4, but got rank ${x4D.rank}.`); + assert($filter.rank === 4, () => `Error in depthwiseConv2d: filter must be rank 4, but got rank ${$filter.rank}.`); + assert(x4D.shape[3] === $filter.shape[2], () => `Error in depthwiseConv2d: number of input channels (${x4D.shape[3]}) must match the inChannels dimension in filter ${$filter.shape[2]}.`); + if (dimRoundingMode != null) { + assert(isInt(pad8), () => `Error in depthwiseConv2d: pad must be an integer when using, dimRoundingMode ${dimRoundingMode} but got pad ${pad8}.`); + } + const forward = (backend2, save) => { + if (dilations == null) { + dilations = [1, 1]; + } + assert(eitherStridesOrDilationsAreOne(strides, dilations), () => `Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${strides} and dilations '${dilations}'`); + const convInfo = computeConv2DInfo(x4D.shape, $filter.shape, strides, dilations, pad8, dimRoundingMode, true); + const res2 = backend2.depthwiseConv2D(x4D, $filter, convInfo); + save([x4D, $filter]); + return res2; + }; + const inputs = {x: x4D, filter: $filter}; + const attrs = {strides, pad: pad8, dataFormat, dilations, dimRoundingMode}; + const res = ENGINE.runKernelFunc(forward, inputs, null, DepthwiseConv2dNative, attrs); + if (reshapedTo4D) { + return reshape(res, [res.shape[1], res.shape[2], res.shape[3]]); + } + return res; +} +const depthwiseConv2d = op({depthwiseConv2d_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/diag.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function diag_(x) { + const $x = convertToTensor(x, "x", "diag"); + const forward = (backend2) => { + const flat = reshape($x, [$x.size]); + const result = backend2.diag(flat); + const outShape = [...x.shape, ...x.shape]; + return reshape(result, outShape); + }; + const inputs = {x: $x}; + return ENGINE.runKernelFunc(forward, inputs, null, Diag); +} +const diag = op({diag_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/dilation2d.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function dilation2d_(x, filter, strides, pad8, dilations = [1, 1], dataFormat = "NHWC") { + const $x = convertToTensor(x, "x", "dilation2d"); + const $filter = convertToTensor(filter, "filter", "dilation2d"); + assert($x.rank === 3 || $x.rank === 4, () => `Error in dilation2d: input must be rank 3 or 4, but got rank ${$x.rank}.`); + assert($filter.rank === 3, () => `Error in dilation2d: filter must be rank 3, but got rank ${$filter.rank}.`); + assert(dataFormat === "NHWC", () => `Error in dilation2d: Only NHWC is currently supported, but got dataFormat of ${dataFormat}`); + let x4D = $x; + let reshapedTo4D = false; + if ($x.rank === 3) { + x4D = reshape($x, [1, $x.shape[0], $x.shape[1], $x.shape[2]]); + reshapedTo4D = true; + } + const inputs = {x: x4D, filter: $filter}; + const attrs = {strides, pad: pad8, dilations}; + const res = ENGINE.runKernel(Dilation2D, inputs, attrs); + if (reshapedTo4D) { + return reshape(res, [res.shape[1], res.shape[2], res.shape[3]]); + } + return res; +} +const dilation2d = op({dilation2d_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/floorDiv.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function floorDiv_(a, b) { + let $a = convertToTensor(a, "a", "floorDiv"); + let $b = convertToTensor(b, "b", "floorDiv"); + [$a, $b] = makeTypesMatch($a, $b); + const forward = (backend2, save) => { + const res = backend2.floorDiv($a, $b); + save([$a, $b]); + return res; + }; + const inputs = {a: $a, b: $b}; + return ENGINE.runKernelFunc(forward, inputs, null, FloorDiv); +} +const floorDiv = op({floorDiv_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/div.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function div_(a, b) { + let $a = convertToTensor(a, "a", "div"); + let $b = convertToTensor(b, "b", "div"); + [$a, $b] = makeTypesMatch($a, $b); + if ($a.dtype === "int32" && $b.dtype === "int32") { + return floorDiv($a, $b); + } + const forward = (backend2, save) => { + const res = backend2.realDivide($a, $b); + save([$a, $b]); + return res; + }; + const inputs = {a: $a, b: $b}; + const attrs = {}; + return ENGINE.runKernelFunc(forward, inputs, null, Div, attrs); +} +const div = op({div_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_util.js +/** + * @license + * Copyright 2017 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function getBroadcastDims(inShape, outShape) { + const inRank = inShape.length; + const dims = []; + for (let i = 0; i < inRank; i++) { + const dim = inRank - 1 - i; + const a = inShape[dim] || 1; + const b = outShape[outShape.length - 1 - i] || 1; + if (b > 1 && a === 1) { + dims.unshift(dim); + } + } + return dims; +} +function getReductionAxes(inShape, outShape) { + const result = []; + for (let i = 0; i < outShape.length; i++) { + const inDim = inShape[inShape.length - i - 1]; + const outAxis = outShape.length - i - 1; + const outDim = outShape[outAxis]; + if (inDim == null || inDim === 1 && outDim > 1) { + result.unshift(outAxis); + } + } + return result; +} +function assertAndGetBroadcastShape(shapeA, shapeB) { + const result = []; + const l = Math.max(shapeA.length, shapeB.length); + for (let i = 0; i < l; i++) { + let a = shapeA[shapeA.length - i - 1]; + if (a == null) { + a = 1; + } + let b = shapeB[shapeB.length - i - 1]; + if (b == null) { + b = 1; + } + if (a === 1) { + result.unshift(b); + } else if (b === 1) { + result.unshift(a); + } else if (a !== b) { + const errMsg = `Operands could not be broadcast together with shapes ${shapeA} and ${shapeB}.`; + throw Error(errMsg); + } else { + result.unshift(a); + } + } + return result; +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/equal.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function equal_(a, b) { + let $a = convertToTensor(a, "a", "equal"); + let $b = convertToTensor(b, "b", "equal"); + [$a, $b] = makeTypesMatch($a, $b); + assertAndGetBroadcastShape($a.shape, $b.shape); + const forward = (backend2) => backend2.equal($a, $b); + const inputs = {a: $a, b: $b}; + return ENGINE.runKernelFunc(forward, inputs, null, Equal); +} +const equal = op({equal_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/where.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function where_(condition, a, b) { + const $a = convertToTensor(a, "a", "where"); + const $b = convertToTensor(b, "b", "where"); + const $condition = convertToTensor(condition, "condition", "where", "bool"); + const broadcastShape = assertAndGetBroadcastShape($a.shape, $b.shape); + const $broadcastedA = broadcastTo($a, broadcastShape); + const $broadcastedB = broadcastTo($b, broadcastShape); + if ($condition.rank === 1) { + assert($condition.shape[0] === $a.shape[0], () => "The first dimension of `a` must match the size of `condition`."); + } + if ($condition.rank !== 1) { + assertShapesMatch($condition.shape, $broadcastedB.shape, "Error in where: "); + } + const forward = (backend2, save) => { + const res = backend2.select($condition, $broadcastedA, $broadcastedB); + save([$condition]); + return res; + }; + const inputs = { + condition: $condition, + t: $broadcastedA, + e: $broadcastedB + }; + return ENGINE.runKernelFunc(forward, inputs, null, SelectV2); +} +const where = op({where_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/zeros_like.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function zerosLike_(x) { + const $x = convertToTensor(x, "x", "zerosLike"); + const inputs = {x: $x}; + return ENGINE.runKernelFunc((backend2) => backend2.zerosLike($x), inputs, null, ZerosLike); +} +const zerosLike = op({zerosLike_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/div_no_nan.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function divNoNan_(a, b) { + let $a = convertToTensor(a, "a", "div"); + let $b = convertToTensor(b, "b", "div"); + [$a, $b] = makeTypesMatch($a, $b); + const divResult = div($a, $b); + const zeros9 = zerosLike(divResult); + const bEqualsZero = equal($b, zeros9); + return where(bEqualsZero, zeros9, divResult); +} +const divNoNan = op({divNoNan_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/dot.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function dot_(t1, t2) { + const $t1 = convertToTensor(t1, "t1", "dot"); + const $t2 = convertToTensor(t2, "t2", "dot"); + assert(($t1.rank === 1 || $t1.rank === 2) && ($t2.rank === 1 || $t2.rank === 2), () => `Error in dot: inputs must all be rank 1 or 2, but got ranks ${$t1.rank} and ${$t2.rank}.`); + const t1Inner = $t1.rank === 1 ? $t1.size : $t1.shape[1]; + const t2Inner = $t2.rank === 1 ? $t2.size : $t2.shape[0]; + assert(t1Inner === t2Inner, () => `Error in dot: inner dimensions of inputs must match, but got ${t1Inner} and ${t2Inner}.`); + if ($t1.rank === 1 && $t2.rank === 1) { + const t12D = reshape($t1, [1, -1]); + const t22D = reshape($t2, [-1, 1]); + const t1t2 = matMul(t12D, t22D); + return reshape(t1t2, []); + } else if ($t1.rank === 1 && $t2.rank === 2) { + const t12D = reshape($t1, [1, -1]); + const t22D = reshape($t2, [$t2.shape[0], $t2.shape[1]]); + const t1t2 = matMul(t12D, t22D); + return reshape(t1t2, [t1t2.size]); + } else if ($t1.rank === 2 && $t2.rank === 1) { + const t22D = reshape($t2, [-1, 1]); + const t1t2 = matMul($t1, t22D); + return reshape(t1t2, [t1t2.size]); + } else { + const t22D = reshape($t2, [$t2.shape[0], $t2.shape[1]]); + const t1t2 = matMul($t1, t22D); + return t1t2; + } +} +const dot = op({dot_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/elu.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function elu_(x) { + const $x = convertToTensor(x, "x", "elu"); + const forward = (backend2, save) => { + const y = backend2.elu($x); + save([y]); + return y; + }; + const inputs = {x: $x}; + return ENGINE.runKernelFunc(forward, inputs, null, Elu); +} +const elu = op({elu_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/erf.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function erf_(x) { + let $x = convertToTensor(x, "x", "erf"); + assert($x.dtype === "int32" || $x.dtype === "float32", () => "Input dtype must be `int32` or `float32`."); + if ($x.dtype === "int32") { + $x = cast($x, "float32"); + } + const inputs = {x: $x}; + return ENGINE.runKernelFunc((backend2, save) => { + const res = backend2.erf($x); + save([$x]); + return res; + }, inputs, null, Erf); +} +const erf = op({erf_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/exp.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function exp_(x) { + const $x = convertToTensor(x, "x", "exp"); + const inputs = {x: $x}; + return ENGINE.runKernelFunc((backend2, save) => { + const res = backend2.exp($x); + save([res]); + return res; + }, inputs, null, Exp); +} +const exp = op({exp_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/expand_dims.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function expandDims_(x, axis = 0) { + const parseAs = null; + const $x = convertToTensor(x, "x", "expandDims", parseAs); + assert(axis <= $x.rank, () => "Axis must be <= rank of the tensor"); + const newShape = $x.shape.slice(); + if (axis < 0) { + assert(-($x.rank + 1) <= axis, () => `Axis must be in the interval [${-($x.rank + 1)}, ${$x.rank}]`); + axis = $x.rank + axis + 1; + } + newShape.splice(axis, 0, 1); + return reshape($x, newShape); +} +const expandDims = op({expandDims_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/expm1.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function expm1_(x) { + const $x = convertToTensor(x, "x", "expm1"); + const inputs = {x: $x}; + return ENGINE.runKernelFunc((backend2, save) => { + const res = backend2.expm1($x); + save([$x]); + return res; + }, inputs, null, Expm1); +} +const expm1 = op({expm1_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/tile.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function tile_(x, reps) { + const parseAs = null; + const $x = convertToTensor(x, "x", "tile", parseAs); + assert($x.rank === reps.length, () => `Error in transpose: rank of input ${$x.rank} must match length of reps ${reps}.`); + const forward = (backend2, save) => { + const res = backend2.tile($x, reps); + save([$x]); + return res; + }; + const inputsToSave = [$x]; + const inputs = {x: $x}; + const attrs = {reps}; + return ENGINE.runKernelFunc(forward, inputs, null, Tile, attrs, inputsToSave); +} +const tile = op({tile_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/eye.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function eye_(numRows, numColumns, batchShape, dtype = "float32") { + if (numColumns == null) { + numColumns = numRows; + } + const buff = buffer([numRows, numColumns], dtype); + const n = numRows <= numColumns ? numRows : numColumns; + for (let i = 0; i < n; ++i) { + buff.set(1, i, i); + } + const out = reshape(buff.toTensor(), [numRows, numColumns]); + if (batchShape == null) { + return out; + } else { + if (batchShape.length === 1) { + return tile(expandDims(out, 0), [batchShape[0], 1, 1]); + } else if (batchShape.length === 2) { + return tile(expandDims(expandDims(out, 0), 0), [batchShape[0], batchShape[1], 1, 1]); + } else if (batchShape.length === 3) { + return tile(expandDims(expandDims(expandDims(out, 0), 0), 0), [ + batchShape[0], + batchShape[1], + batchShape[2], + 1, + 1 + ]); + } else { + throw new Error(`eye() currently supports only 1D and 2D batchShapes, but received ${batchShape.length}D.`); + } + } +} +const eye = op({eye_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/fft.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function fft_(input) { + assert(input.dtype === "complex64", () => `The dtype for tf.spectral.fft() must be complex64 but got ${input.dtype}.`); + const inputs = {input}; + return ENGINE.runKernelFunc((backend2) => { + const innerDimensionSize = input.shape[input.shape.length - 1]; + const batch = input.size / innerDimensionSize; + const input2D = input.as2D(batch, innerDimensionSize); + const result = backend2.fft(input2D); + return result.reshape(input.shape); + }, inputs, null, FFT); +} +const fft = op({fft_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/fill.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function fill(shape, value, dtype) { + const attrs = {shape, value, dtype}; + return ENGINE.runKernelFunc((backend2) => backend2.fill(shape, value, dtype), {}, null, Fill, attrs); +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/floor.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function floor_(x) { + const $x = convertToTensor(x, "x", "floor"); + const inputs = {x: $x}; + return ENGINE.runKernelFunc((backend2) => backend2.floor($x), inputs, null, Floor); +} +const floor = op({floor_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/reduce_util.js +/** + * @license + * Copyright 2017 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +const PARALLELIZE_THRESHOLD = 30; +function computeOptimalWindowSize(inSize) { + if (inSize <= PARALLELIZE_THRESHOLD) { + return inSize; + } + return nearestDivisor(inSize, Math.floor(Math.sqrt(inSize))); +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/segment_util.js +const segment_util_exports = {}; +__export(segment_util_exports, { + collectGatherOpShapeInfo: () => collectGatherOpShapeInfo, + computeOutShape: () => computeOutShape3, + segOpComputeOptimalWindowSize: () => segOpComputeOptimalWindowSize +}); +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function segOpComputeOptimalWindowSize(inSize, numSegments) { + let done = false; + let res; + if (inSize <= PARALLELIZE_THRESHOLD) { + res = inSize; + done = true; + } else { + res = nearestDivisor(inSize, Math.floor(Math.sqrt(inSize))); + } + while (!done) { + if (res > numSegments || res === inSize) { + done = true; + } else { + res = nearestDivisor(inSize, res + 1); + } + } + return res; +} +function computeOutShape3(aShape, axis, numSegments) { + const outShape = []; + const rank = aShape.length; + for (let dim = 0; dim < rank; dim++) { + if (dim !== axis) { + outShape.push(aShape[dim]); + } else { + outShape.push(numSegments); + } + } + return outShape; +} +function collectGatherOpShapeInfo(x, indices, axis) { + const dimSize = x.shape[axis]; + const outputShape = []; + let batchSize = 1; + let sliceSize = 1; + for (let i = 0; i < axis; i++) { + outputShape.push(x.shape[i]); + batchSize *= x.shape[i]; + } + for (let i = 0; i < indices.rank; i++) { + outputShape.push(indices.shape[i]); + } + for (let i = axis + 1; i < x.rank; i++) { + outputShape.push(x.shape[i]); + sliceSize *= x.shape[i]; + } + return {batchSize, sliceSize, dimSize, outputShape}; +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/gather.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function gather_(x, indices, axis = 0) { + const $x = convertToTensor(x, "x", "gather"); + const $indices = convertToTensor(indices, "indices", "gather", "int32"); + const inputs = {x: $x, indices: $indices}; + const attrs = {axis}; + const forward = (backend2, save) => { + const parsedAxis = parseAxisParam(axis, $x.shape)[0]; + const shapeInfo = collectGatherOpShapeInfo($x, $indices, parsedAxis); + const res = backend2.gather($x, reshape($indices, [$indices.size]), parsedAxis); + save([$x, $indices]); + return reshape(res, shapeInfo.outputShape); + }; + return ENGINE.runKernelFunc(forward, inputs, null, GatherV2, attrs); +} +const gather = op({gather_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/greater.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function greater_(a, b) { + let $a = convertToTensor(a, "a", "greater"); + let $b = convertToTensor(b, "b", "greater"); + [$a, $b] = makeTypesMatch($a, $b); + assertAndGetBroadcastShape($a.shape, $b.shape); + const forward = (backend2) => backend2.greater($a, $b); + const inputs = {a: $a, b: $b}; + return ENGINE.runKernelFunc(forward, inputs, null, Greater); +} +const greater = op({greater_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/greater_equal.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function greaterEqual_(a, b) { + let $a = convertToTensor(a, "a", "greaterEqual"); + let $b = convertToTensor(b, "b", "greaterEqual"); + [$a, $b] = makeTypesMatch($a, $b); + assertAndGetBroadcastShape($a.shape, $b.shape); + const forward = (backend2, save) => { + const res = backend2.greaterEqual($a, $b); + save([$a, $b]); + return res; + }; + const inputs = {a: $a, b: $b}; + return ENGINE.runKernelFunc(forward, inputs, null, GreaterEqual); +} +const greaterEqual = op({greaterEqual_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/ifft.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function ifft_(input) { + assert(input.dtype === "complex64", () => `The dtype for tf.spectral.ifft() must be complex64 but got ${input.dtype}.`); + const inputs = {input}; + return ENGINE.runKernelFunc((backend2) => { + const innerDimensionSize = input.shape[input.shape.length - 1]; + const batch = input.size / innerDimensionSize; + const input2D = reshape(input, [batch, innerDimensionSize]); + const result = backend2.ifft(input2D); + return reshape(result, input.shape); + }, inputs, null, IFFT); +} +const ifft = op({ifft_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/imag.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function imag_(input) { + const $input = convertToTensor(input, "input", "imag"); + const forward = (backend2) => { + return backend2.imag($input); + }; + const inputs = {input: $input}; + return ENGINE.runKernelFunc(forward, inputs, null, Imag); +} +const imag = op({imag_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/real.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function real_(input) { + const $input = convertToTensor(input, "input", "real"); + const forward = (backend2) => { + return backend2.real($input); + }; + const inputs = {input: $input}; + return ENGINE.runKernelFunc(forward, inputs, null, Real); +} +const real = op({real_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/reverse.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function reverse_(x, axis) { + const $x = convertToTensor(x, "x", "reverse"); + const forward = (backend2) => { + const axes = parseAxisParam(axis, $x.shape); + if ($x.rank === 0) { + return clone($x); + } + const res = backend2.reverse($x, axes); + return reshape(res, $x.shape); + }; + const inputs = {x: $x}; + const attrs = {dims: axis}; + return ENGINE.runKernelFunc(forward, inputs, null, Reverse, attrs); +} +const reverse = op({reverse_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/scalar.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function scalar(value, dtype) { + if ((isTypedArray(value) && dtype !== "string" || Array.isArray(value)) && dtype !== "complex64") { + throw new Error("Error creating a new Scalar: value must be a primitive (number|boolean|string)"); + } + if (dtype === "string" && isTypedArray(value) && !(value instanceof Uint8Array)) { + throw new Error("When making a scalar from encoded string, the value must be `Uint8Array`."); + } + const shape = []; + const inferredShape = []; + return makeTensor(value, shape, inferredShape, dtype); +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/irfft.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function irfft_(input) { + const innerDimensionSize = input.shape[input.shape.length - 1]; + const batch = input.size / innerDimensionSize; + let ret; + if (innerDimensionSize <= 2) { + const complexInput = reshape(input, [batch, innerDimensionSize]); + ret = ifft(complexInput); + } else { + const outputShape = [batch, 2 * (innerDimensionSize - 1)]; + const realInput = reshape(real(input), [batch, innerDimensionSize]); + const imagInput = reshape(imag(input), [batch, innerDimensionSize]); + const realConjugate = reverse(slice(realInput, [0, 1], [batch, innerDimensionSize - 2]), 1); + const imagConjugate = mul(reverse(slice(imagInput, [0, 1], [batch, innerDimensionSize - 2]), 1), scalar(-1)); + const r = concat([realInput, realConjugate], 1); + const i = concat([imagInput, imagConjugate], 1); + const complexInput = reshape(complex(r, i), [outputShape[0], outputShape[1]]); + ret = ifft(complexInput); + } + ret = real(ret); + if (input.rank === 3 && input.shape[0] !== 0) { + const temp = ret; + const batch2 = input.shape[0]; + ret = reshape(ret, [batch2, ret.shape[0] / batch2, ret.shape[1]]); + temp.dispose(); + } + return ret; +} +const irfft = op({irfft_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/is_finite.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function isFinite_(x) { + const $x = convertToTensor(x, "x", "isFinite"); + const inputs = {x: $x}; + return ENGINE.runKernelFunc((backend2) => backend2.isFinite($x), inputs, null, IsFinite); +} +const isFinite2 = op({isFinite_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/is_inf.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function isInf_(x) { + const $x = convertToTensor(x, "x", "isInf"); + const inputs = {x: $x}; + return ENGINE.runKernelFunc((backend2) => backend2.isInf($x), inputs, null, IsInf); +} +const isInf = op({isInf_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/is_nan.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function isNaN_(x) { + const $x = convertToTensor(x, "x", "isNaN"); + const inputs = {x: $x}; + return ENGINE.runKernelFunc((backend2) => backend2.isNaN($x), inputs, null, IsNan); +} +const isNaN2 = op({isNaN_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/maximum.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function maximum_(a, b) { + let $a = convertToTensor(a, "a", "maximum"); + let $b = convertToTensor(b, "b", "maximum"); + [$a, $b] = makeTypesMatch($a, $b); + if ($a.dtype === "bool") { + $a = cast($a, "int32"); + $b = cast($b, "int32"); + } + assertAndGetBroadcastShape($a.shape, $b.shape); + const forward = (backend2, save) => { + const res = backend2.maximum($a, $b); + save([$a, $b]); + return res; + }; + const inputs = {a: $a, b: $b}; + return ENGINE.runKernelFunc(forward, inputs, null, Maximum); +} +const maximum = op({maximum_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/leaky_relu.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function leakyRelu_(x, alpha = 0.2) { + const $x = convertToTensor(x, "x", "leakyRelu"); + return maximum(mul(scalar(alpha), $x), $x); +} +const leakyRelu = op({leakyRelu_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/less.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function less_(a, b) { + let $a = convertToTensor(a, "a", "less"); + let $b = convertToTensor(b, "b", "less"); + [$a, $b] = makeTypesMatch($a, $b); + assertAndGetBroadcastShape($a.shape, $b.shape); + const forward = (backend2) => backend2.less($a, $b); + const inputs = {a: $a, b: $b}; + return ENGINE.runKernelFunc(forward, inputs, null, Less); +} +const less = op({less_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/less_equal.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function lessEqual_(a, b) { + let $a = convertToTensor(a, "a", "lessEqual"); + let $b = convertToTensor(b, "b", "lessEqual"); + [$a, $b] = makeTypesMatch($a, $b); + assertAndGetBroadcastShape($a.shape, $b.shape); + const forward = (backend2, save) => { + const res = backend2.lessEqual($a, $b); + save([$a, $b]); + return res; + }; + const inputs = {a: $a, b: $b}; + return ENGINE.runKernelFunc(forward, inputs, null, LessEqual); +} +const lessEqual = op({lessEqual_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/linspace.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function linspace(start, stop, num) { + if (num <= 0) { + throw new Error("The number of values should be positive."); + } + const attrs = {start, stop, num}; + return ENGINE.runKernelFunc((backend2) => backend2.linspace(start, stop, num), {}, null, LinSpace, attrs); +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/local_response_normalization.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function localResponseNormalization_(x, depthRadius = 5, bias = 1, alpha = 1, beta = 0.5) { + const $x = convertToTensor(x, "x", "localResponseNormalization"); + assert($x.rank === 4 || $x.rank === 3, () => `Error in localResponseNormalization: x must be rank 3 or 4 but got + rank ${$x.rank}.`); + assert(isInt(depthRadius), () => `Error in localResponseNormalization: depthRadius must be an integer but got depthRadius ${depthRadius}.`); + let x4D = $x; + let reshapedTo4D = false; + if ($x.rank === 3) { + reshapedTo4D = true; + x4D = reshape($x, [1, $x.shape[0], $x.shape[1], $x.shape[2]]); + } + const forward = (backend2, save) => { + const y = backend2.localResponseNormalization4D(x4D, depthRadius, bias, alpha, beta); + save([x4D, y]); + return y; + }; + const inputs = {x: x4D}; + const attrs = {depthRadius, bias, alpha, beta}; + const res = ENGINE.runKernelFunc(forward, inputs, null, LRN, attrs); + if (reshapedTo4D) { + return reshape(res, [res.shape[1], res.shape[2], res.shape[3]]); + } else { + return res; + } +} +const localResponseNormalization = op({localResponseNormalization_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/log.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function log_(x) { + const $x = convertToTensor(x, "x", "log"); + const inputs = {x: $x}; + return ENGINE.runKernelFunc((backend2, save) => { + const res = backend2.log($x); + save([$x]); + return res; + }, inputs, null, Log); +} +const log = op({log_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/log1p.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function log1p_(x) { + const $x = convertToTensor(x, "x", "log1p"); + const inputs = {x: $x}; + return ENGINE.runKernelFunc((backend2, save) => { + const res = backend2.log1p($x); + save([$x]); + return res; + }, inputs, null, Log1p); +} +const log1p = op({log1p_}); + +// node_modules/@tensorflow/tfjs-core/dist/gradients.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function grad(f) { + assert(isFunction(f), () => "The f passed in grad(f) must be a function"); + return (x, dy) => { + const $x = convertToTensor(x, "x", "tf.grad", null); + const $dy = dy != null ? convertToTensor(dy, "dy", "tf.grad") : null; + return ENGINE.tidy(() => { + const {value, grads: grads2} = ENGINE.gradients(() => f($x), [$x], $dy); + if ($dy != null) { + assertShapesMatch(value.shape, $dy.shape, "The shape of dy passed in grad(f)(x, dy) must match the shape returned by f(x)"); + } + checkGrads(grads2); + return grads2[0]; + }); + }; +} +function grads(f) { + assert(isFunction(f), () => "The f passed in grads(f) must be a function"); + return (args, dy) => { + assert(Array.isArray(args), () => "The args passed in grads(f)(args) must be an array of `Tensor`s or `TensorLike`s"); + const $args = convertToTensorArray(args, "args", "tf.grads", null); + const $dy = dy != null ? convertToTensor(dy, "dy", "tf.grads") : null; + return ENGINE.tidy(() => { + const {value, grads: grads2} = ENGINE.gradients(() => f(...$args), $args, $dy); + if ($dy != null) { + assertShapesMatch(value.shape, $dy.shape, "The shape of dy passed in grads(f)([x1,...], dy) must match the shape returned by f([x1,...])"); + } + checkGrads(grads2); + return grads2; + }); + }; +} +function valueAndGrad(f) { + assert(isFunction(f), () => "The f passed in valueAndGrad(f) must be a function"); + return (x, dy) => { + assert(x instanceof Tensor, () => "The x passed in valueAndGrad(f)(x) must be a tensor"); + assert(dy == null || dy instanceof Tensor, () => "The dy passed in valueAndGrad(f)(x, dy) must be a tensor"); + const {grads: grads2, value} = ENGINE.gradients(() => f(x), [x], dy); + checkGrads(grads2); + return {grad: grads2[0], value}; + }; +} +function valueAndGrads(f) { + assert(isFunction(f), () => "The f passed in valueAndGrads(f) must be a function"); + return (args, dy) => { + assert(Array.isArray(args) && args.every((arg) => arg instanceof Tensor), () => "The args passed in valueAndGrads(f)(args) must be array of tensors"); + assert(dy == null || dy instanceof Tensor, () => "The dy passed in valueAndGrads(f)(args, dy) must be a tensor"); + const res = ENGINE.gradients(() => f(...args), args, dy); + if (dy != null) { + assertShapesMatch(res.value.shape, dy.shape, "The shape of dy passed in valueAndGrads(f)([x1,...], dy) must match the shape returned by f([x1,...])"); + } + checkGrads(res.grads); + return res; + }; +} +function variableGrads(f, varList) { + assert(isFunction(f), () => "The f passed in variableGrads(f) must be a function"); + assert(varList == null || Array.isArray(varList) && varList.every((v) => v instanceof Variable), () => "The varList passed in variableGrads(f, varList) must be an array of variables"); + const specifiedVarList = varList != null; + if (!specifiedVarList) { + varList = []; + for (const varName in ENGINE.registeredVariables) { + varList.push(ENGINE.registeredVariables[varName]); + } + } + const specifiedNonTrainable = specifiedVarList ? varList.filter((variable3) => !variable3.trainable) : null; + const originalVarCount = varList.length; + varList = varList.filter((variable3) => variable3.trainable); + assert(varList.length > 0, () => `variableGrads() expects at least one of the input variables to be trainable, but none of the ${originalVarCount} variables is trainable.`); + const allowNoGradients = true; + const {value, grads: grads2} = ENGINE.gradients(f, varList, null, allowNoGradients); + assert(grads2.some((g) => g != 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()."); + assert(value.rank === 0, () => `The f passed in variableGrads(f) must return a scalar, but it returned a rank-${value.rank} tensor`); + const namedGrads = {}; + varList.forEach((v, i) => { + if (grads2[i] != null) { + namedGrads[v.name] = grads2[i]; + } + }); + if (specifiedNonTrainable != null) { + specifiedNonTrainable.forEach((v) => namedGrads[v.name] = null); + } + return {value, grads: namedGrads}; +} +function customGrad(f) { + return ENGINE.customGrad(f); +} +function checkGrads(grads2) { + const numNullGradients = grads2.filter((g) => g == null).length; + if (numNullGradients > 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.`); + } +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/neg.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function neg_(x) { + const $x = convertToTensor(x, "x", "neg"); + const inputs = {x: $x}; + return ENGINE.runKernelFunc((backend2) => backend2.neg($x), inputs, null, Negate); +} +const neg = op({neg_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/softplus.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function softplus_(x) { + const $x = convertToTensor(x, "x", "softplus"); + const inputs = {x: $x}; + return ENGINE.runKernelFunc((backend2, save) => { + const res = backend2.softplus($x); + save([$x]); + return res; + }, inputs, null, Softplus); +} +const softplus = op({softplus_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/log_sigmoid.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function logSigmoid_(x) { + const $x = convertToTensor(x, "x", "logSigmoid"); + const customOp = customGrad((x2) => { + const value = neg(softplus(neg(x2))); + const gradFunc = (dy) => { + const derX = mul(dy, sigmoid(neg(x2))); + return derX; + }; + return {value, gradFunc}; + }); + return customOp($x); +} +const logSigmoid = op({logSigmoid_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/max.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function max_(x, axis = null, keepDims = false) { + const $x = convertToTensor(x, "x", "max"); + const forward = (backend2, save) => { + const origAxes = parseAxisParam(axis, $x.shape); + let axes = origAxes; + const permutedAxes = getAxesPermutation(axes, $x.rank); + let maxInput = $x; + if (permutedAxes != null) { + maxInput = transpose($x, permutedAxes); + axes = getInnerMostAxes(axes.length, maxInput.rank); + } + const y = backend2.max(maxInput, axes); + if (permutedAxes != null) { + maxInput.dispose(); + } + let res = y; + if (keepDims) { + const expandedShape = expandShapeToKeepDim(res.shape, parseAxisParam(axis, $x.shape)); + res = reshape(res, expandedShape); + y.dispose(); + } + save([$x, res]); + return res; + }; + const inputs = {x: $x}; + const attrs = {reductionIndices: axis, keepDims}; + return ENGINE.runKernelFunc(forward, inputs, null, Max, attrs); +} +const max = op({max_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/sub.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function sub_(a, b) { + let $a = convertToTensor(a, "a", "sub"); + let $b = convertToTensor(b, "b", "sub"); + [$a, $b] = makeTypesMatch($a, $b); + const forward = (backend2, save) => { + const res = backend2.subtract($a, $b); + save([$a, $b]); + return res; + }; + const inputs = {a: $a, b: $b}; + return ENGINE.runKernelFunc(forward, inputs, null, Sub); +} +const sub = op({sub_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/sum.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function sum_(x, axis = null, keepDims = false) { + let $x = convertToTensor(x, "x", "sum"); + if ($x.dtype === "bool") { + $x = cast($x, "int32"); + } + const forward = (backend2, save) => { + save([$x]); + const axes = parseAxisParam(axis, $x.shape); + const permutation = getAxesPermutation(axes, $x.rank); + let reductionAxes = axes; + let permutedX = $x; + if (permutation != null) { + permutedX = transpose($x, permutation); + reductionAxes = getInnerMostAxes(reductionAxes.length, $x.rank); + } + let value = backend2.sum(permutedX, reductionAxes); + if (keepDims) { + const newShape = expandShapeToKeepDim(value.shape, axes); + value = reshape(value, newShape); + } + return value; + }; + const inputs = {x: $x}; + const attrs = {axis, keepDims}; + return ENGINE.runKernelFunc(forward, inputs, null, Sum, attrs); +} +const sum2 = op({sum_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/log_softmax.js +/** + * @license + * Copyright 2020 Google Inc. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function logSoftmax_(logits, axis = -1) { + const $logits = convertToTensor(logits, "logits", "logSoftmax"); + if (axis === -1) { + axis = $logits.rank - 1; + } + if (axis !== $logits.rank - 1) { + throw Error(`Log Softmax along a non-last dimension is not yet supported. Logits was rank ${$logits.rank} and axis was ${axis}`); + } + const forward = (backend2, save) => { + const keepDims = true; + const xMax = max(logits, axis, true); + const shifted = sub(logits, xMax); + const value = sub(cast(shifted, "float32"), log(sum2(exp(shifted), axis, keepDims))); + save([value]); + return value; + }; + const inputs = {logits: $logits}; + const attrs = {axis}; + return ENGINE.runKernelFunc(forward, inputs, null, LogSoftmax, attrs); +} +const logSoftmax = op({logSoftmax_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/log_sum_exp.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function logSumExp_(x, axis = null, keepDims = false) { + const $x = convertToTensor(x, "x", "logSumExp"); + const axes = parseAxisParam(axis, $x.shape); + const xMax = max($x, axes, true); + const a = sub($x, xMax); + const b = exp(a); + const c = sum2(b, axes); + const d = log(c); + const res = add2(reshape(xMax, d.shape), d); + if (keepDims) { + const newShape = expandShapeToKeepDim(res.shape, axes); + return reshape(res, newShape); + } + return res; +} +const logSumExp = op({logSumExp_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/logical_and.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function logicalAnd_(a, b) { + const $a = convertToTensor(a, "a", "logicalAnd", "bool"); + const $b = convertToTensor(b, "b", "logicalAnd", "bool"); + assertAndGetBroadcastShape($a.shape, $b.shape); + const inputs = {a: $a, b: $b}; + return ENGINE.runKernelFunc((backend2) => backend2.logicalAnd($a, $b), inputs, null, LogicalAnd); +} +const logicalAnd = op({logicalAnd_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/logical_not.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function logicalNot_(x) { + const $x = convertToTensor(x, "x", "logicalNot", "bool"); + const inputs = {x: $x}; + return ENGINE.runKernelFunc((backend2) => backend2.logicalNot($x), inputs, null, LogicalNot); +} +const logicalNot = op({logicalNot_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/logical_or.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function logicalOr_(a, b) { + const $a = convertToTensor(a, "a", "logicalOr", "bool"); + const $b = convertToTensor(b, "b", "logicalOr", "bool"); + assertAndGetBroadcastShape($a.shape, $b.shape); + const inputs = {a: $a, b: $b}; + return ENGINE.runKernelFunc((backend2) => backend2.logicalOr($a, $b), inputs, null, LogicalOr); +} +const logicalOr = op({logicalOr_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/logical_xor.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function logicalXor_(a, b) { + const $a = convertToTensor(a, "a", "logicalXor", "bool"); + const $b = convertToTensor(b, "b", "logicalXor", "bool"); + assertAndGetBroadcastShape($a.shape, $b.shape); + return logicalAnd(logicalOr(a, b), logicalNot(logicalAnd(a, b))); +} +const logicalXor = op({logicalXor_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/max_pool.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function maxPool_(x, filterSize, strides, pad8, dimRoundingMode) { + const $x = convertToTensor(x, "x", "maxPool"); + const dilations = 1; + let x4D = $x; + let reshapedTo4D = false; + if ($x.rank === 3) { + reshapedTo4D = true; + x4D = reshape($x, [1, $x.shape[0], $x.shape[1], $x.shape[2]]); + } + assert(x4D.rank === 4, () => `Error in maxPool: input must be rank 4 but got rank ${x4D.rank}.`); + assert(eitherStridesOrDilationsAreOne(strides, dilations), () => `Error in maxPool: Either strides or dilations must be 1. Got strides ${strides} and dilations '${dilations}'`); + if (dimRoundingMode != null) { + assert(isInt(pad8), () => `Error in maxPool: pad must be an integer when using, dimRoundingMode ${dimRoundingMode} but got pad ${pad8}.`); + } + const forward = (backend2, save) => { + const convInfo = computePool2DInfo(x4D.shape, filterSize, strides, 1, pad8, dimRoundingMode); + let y; + if (convInfo.filterWidth === 1 && convInfo.filterHeight === 1 && arraysEqual(convInfo.inShape, convInfo.outShape)) { + y = x4D.clone(); + } else { + y = backend2.maxPool(x4D, convInfo); + } + save([x4D, y]); + return y; + }; + const inputs = {x: x4D}; + const attrs = {filterSize, strides, pad: pad8, dimRoundingMode}; + const res = ENGINE.runKernelFunc(forward, inputs, null, MaxPool, attrs); + if (reshapedTo4D) { + return reshape(res, [res.shape[1], res.shape[2], res.shape[3]]); + } + return res; +} +const maxPool = op({maxPool_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/max_pool_3d.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function maxPool3d_(x, filterSize = [1, 1, 1], strides, pad8, dimRoundingMode, dataFormat = "NDHWC", dilations) { + if (dilations == null) { + dilations = [1, 1, 1]; + } else { + deprecationWarn("dilations is deprecated, this field will be gone in v3.0.0."); + } + const $x = convertToTensor(x, "x", "maxPool3d"); + let x5D = $x; + let reshapedTo5D = false; + if ($x.rank === 4) { + reshapedTo5D = true; + x5D = reshape($x, [1, $x.shape[0], $x.shape[1], $x.shape[2], $x.shape[3]]); + } + assert(x5D.rank === 5, () => `Error in maxPool3d: x must be rank 5 but got rank ${x5D.rank}.`); + assert(dataFormat === "NDHWC", () => `Error in maxPool3d: Only NDHWC is currently supported, but got dataFormat of ${dataFormat}`); + assert(eitherStridesOrDilationsAreOne(strides, dilations), () => `Error in maxPool3d: Either strides or dilations must be 1. Got strides ${strides} and dilations '${dilations}'`); + if (dimRoundingMode != null) { + assert(isInt(pad8), () => `Error in maxPool3d: pad must be an integer when using, dimRoundingMode ${dimRoundingMode} but got pad ${pad8}.`); + } + const forward = (backend2, save) => { + if (dilations == null) { + dilations = [1, 1, 1]; + } + const convInfo = computePool3DInfo(x5D.shape, filterSize, strides, dilations, pad8, dimRoundingMode, dataFormat); + const y = backend2.maxPool3d(x5D, convInfo); + save([x5D, y]); + return y; + }; + const inputs = {x: x5D}; + const attrs = {filterSize, strides, pad: pad8, dimRoundingMode, dataFormat, dilations}; + const res = ENGINE.runKernelFunc(forward, inputs, null, MaxPool3D, attrs); + if (reshapedTo5D) { + return reshape(res, [res.shape[1], res.shape[2], res.shape[3], res.shape[4]]); + } + return res; +} +const maxPool3d = op({maxPool3d_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/max_pool_with_argmax.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function maxPoolWithArgmax_(x, filterSize, strides, pad8, includeBatchInIndex = false) { + const $x = convertToTensor(x, "x", "maxPoolWithArgmax"); + const inputs = {x: $x}; + const attrs = {filterSize, strides, pad: pad8, includeBatchInIndex}; + const result = ENGINE.runKernel(MaxPoolWithArgmax, inputs, attrs); + return {result: result[0], indexes: result[1]}; +} +const maxPoolWithArgmax = op({maxPoolWithArgmax_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/zeros.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function zeros(shape, dtype = "float32") { + if (dtype === "complex64") { + const real6 = zeros(shape, "float32"); + const imag6 = zeros(shape, "float32"); + return complex(real6, imag6); + } + const values = makeZerosTypedArray(sizeFromShape(shape), dtype); + return ENGINE.makeTensor(values, shape, dtype); +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/ones.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function ones2(shape, dtype = "float32") { + if (dtype === "complex64") { + const real6 = ones2(shape, "float32"); + const imag6 = zeros(shape, "float32"); + return complex(real6, imag6); + } + const values = makeOnesTypedArray(sizeFromShape(shape), dtype); + return ENGINE.makeTensor(values, shape, dtype); +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/mean.js +/** + * @license + * Copyright 2020 Google Inc. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function mean_(x, axis = null, keepDims = false) { + const $x = convertToTensor(x, "x", "mean"); + const axes = parseAxisParam(axis, $x.shape); + const shapes = computeOutAndReduceShapes($x.shape, axes); + const reduceShape = shapes[1]; + const reduceSize = sizeFromShape(reduceShape); + const customOp = customGrad((x2) => { + const reduceSizeScalar = scalar(reduceSize); + const xReduce = reduceSizeScalar.dtype === x2.dtype ? x2 : cast(x2, reduceSizeScalar.dtype); + const res = div(xReduce, reduceSizeScalar); + const value = sum2(res, axis, keepDims); + const gradFunc = (dy) => { + const expandedDyShape = x2.shape.slice(); + axes.forEach((axis2) => { + expandedDyShape[axis2] = 1; + }); + const expandedDy = reshape(dy, expandedDyShape); + const derX = div(mul(expandedDy, ones2(x2.shape, "float32")), reduceSize); + return derX; + }; + return {value, gradFunc}; + }); + return customOp($x); +} +const mean = op({mean_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/min.js +function min_(x, axis = null, keepDims = false) { + const $x = convertToTensor(x, "x", "min"); + const forward = (backend2, save) => { + const origAxes = parseAxisParam(axis, $x.shape); + let axes = origAxes; + const permutedAxes = getAxesPermutation(axes, $x.rank); + let minInput = $x; + if (permutedAxes != null) { + minInput = transpose($x, permutedAxes); + axes = getInnerMostAxes(axes.length, $x.rank); + } + const y = backend2.min(minInput, axes); + if (permutedAxes != null) { + minInput.dispose(); + } + let res = y; + if (keepDims) { + const expandedShape = expandShapeToKeepDim(res.shape, origAxes); + res = reshape(y, expandedShape); + y.dispose(); + } + save([$x, res]); + return res; + }; + const inputs = {x: $x}; + const attrs = {axis, keepDims}; + return ENGINE.runKernelFunc(forward, inputs, null, Min, attrs); +} +const min = op({min_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/minimum.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function minimum_(a, b) { + let $a = convertToTensor(a, "a", "minimum"); + let $b = convertToTensor(b, "b", "minimum"); + [$a, $b] = makeTypesMatch($a, $b); + if ($a.dtype === "bool") { + $a = cast($a, "int32"); + $b = cast($b, "int32"); + } + assertAndGetBroadcastShape($a.shape, $b.shape); + const forward = (backend2, save) => { + const res = backend2.minimum($a, $b); + save([$a, $b]); + return res; + }; + const inputs = {a: $a, b: $b}; + return ENGINE.runKernelFunc(forward, inputs, null, Minimum); +} +const minimum = op({minimum_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/mod.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function mod_(a, b) { + let $a = convertToTensor(a, "a", "mod"); + let $b = convertToTensor(b, "b", "mod"); + [$a, $b] = makeTypesMatch($a, $b); + const forward = (backend2, save) => { + const res = backend2.mod($a, $b); + save([$a, $b]); + return res; + }; + const inputs = {a: $a, b: $b}; + return ENGINE.runKernelFunc(forward, inputs, null, Mod); +} +const mod = op({mod_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/square.js +/** + * @license + * Copyright 2019 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function square_(x) { + const $x = convertToTensor(x, "x", "square"); + const attrs = {}; + const inputsToSave = [$x]; + const outputsToSave = []; + return ENGINE.runKernelFunc((backend2, save) => { + save([$x]); + return backend2.square($x); + }, {x: $x}, null, "Square", attrs, inputsToSave, outputsToSave); +} +const square = op({square_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/moments.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function moments_(x, axis = null, keepDims = false) { + x = convertToTensor(x, "x", "moments"); + const axes = parseAxisParam(axis, x.shape); + const xMean = mean(x, axes, keepDims); + let keepDimsShape = xMean.shape; + if (!keepDims) { + keepDimsShape = expandShapeToKeepDim(xMean.shape, axes); + } + const devSquared = square(sub(cast(x, "float32"), reshape(xMean, keepDimsShape))); + const variance = mean(devSquared, axes, keepDims); + return {mean: xMean, variance}; +} +const moments = op({moments_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/multi_rnn_cell.js +function multiRNNCell_(lstmCells, data, c, h) { + const $data = convertToTensor(data, "data", "multiRNNCell"); + const $c = convertToTensorArray(c, "c", "multiRNNCell"); + const $h = convertToTensorArray(h, "h", "multiRNNCell"); + let input = $data; + const newStates = []; + for (let i = 0; i < lstmCells.length; i++) { + const output = lstmCells[i](input, $c[i], $h[i]); + newStates.push(output[0]); + newStates.push(output[1]); + input = output[1]; + } + const newC = []; + const newH = []; + for (let i = 0; i < newStates.length; i += 2) { + newC.push(newStates[i]); + newH.push(newStates[i + 1]); + } + return [newC, newH]; +} +const multiRNNCell = op({multiRNNCell_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/multinomial.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function multinomial_(logits, numSamples, seed, normalized = false) { + const $logits = convertToTensor(logits, "logits", "multinomial"); + const numOutcomes = $logits.size; + const origRank = $logits.rank; + if (numOutcomes < 2) { + throw new Error(`Error in multinomial: you need at least 2 outcomes, but got ${numOutcomes}.`); + } + if (origRank > 2) { + throw new Error(`Rank of probabilities must be 1 or 2, but is ${origRank}`); + } + seed = seed || Math.random(); + const logits2D = origRank === 1 ? reshape($logits, [1, -1]) : $logits; + const res = ENGINE.runKernelFunc((backend2) => backend2.multinomial(logits2D, normalized, numSamples, seed), {logits2D}); + return origRank === 1 ? reshape(res, [res.size]) : res; +} +const multinomial = op({multinomial_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/not_equal.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function notEqual_(a, b) { + let $a = convertToTensor(a, "a", "notEqual"); + let $b = convertToTensor(b, "b", "notEqual"); + [$a, $b] = makeTypesMatch($a, $b); + assertAndGetBroadcastShape($a.shape, $b.shape); + const forward = (backend2) => backend2.notEqual($a, $b); + const inputs = {a: $a, b: $b}; + return ENGINE.runKernelFunc(forward, inputs, null, NotEqual); +} +const notEqual = op({notEqual_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/one_hot.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function oneHot_(indices, depth, onValue = 1, offValue = 0) { + if (depth < 2) { + throw new Error(`Error in oneHot: depth must be >=2, but it is ${depth}`); + } + const $indices = convertToTensor(indices, "indices", "oneHot", "int32"); + const outShape = [...$indices.shape, depth]; + const forward = (backend2, save) => { + save([$indices]); + return reshape(backend2.oneHot(reshape($indices, [$indices.size]), depth, onValue, offValue), outShape); + }; + const inputs = {indices: $indices}; + const attrs = {depth, onValue, offValue}; + return ENGINE.runKernelFunc(forward, inputs, null, OneHot, attrs); +} +const oneHot = op({oneHot_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/ones_like.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function onesLike_(x) { + const $x = convertToTensor(x, "x", "onesLike"); + const forward = (backend2, save) => { + if ($x.dtype === "complex64") { + const r = onesLike(real($x)); + const i = zerosLike(imag($x)); + return complex(r, i); + } + return backend2.onesLike($x); + }; + const inputs = {x: $x}; + return ENGINE.runKernelFunc(forward, inputs, null, OnesLike); +} +const onesLike = op({onesLike_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/outer_product.js +function outerProduct_(v1, v2) { + const $v1 = convertToTensor(v1, "v1", "outerProduct"); + const $v2 = convertToTensor(v2, "v2", "outerProduct"); + assert($v1.rank === 1 && $v2.rank === 1, () => `Error in outerProduct: inputs must be rank 1, but got ranks ${$v1.rank} and ${$v2.rank}.`); + const v12D = reshape($v1, [-1, 1]); + const v22D = reshape($v2, [1, -1]); + return matMul(v12D, v22D); +} +const outerProduct = op({outerProduct_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/pad.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function pad_(x, paddings, constantValue = 0) { + const $x = convertToTensor(x, "x", "pad"); + if ($x.rank === 0) { + throw new Error("pad(scalar) is not defined. Pass non-scalar to pad"); + } + const forward = (backend2, save) => { + save([$x]); + return backend2.pad($x, paddings, constantValue); + }; + const attrs = {paddings, constantValue}; + const inputs = {x: $x}; + return ENGINE.runKernelFunc(forward, inputs, null, PadV2, attrs); +} +const pad = op({pad_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/pad1d.js +function pad1d_(x, paddings, constantValue = 0) { + assert(paddings.length === 2, () => "Invalid number of paddings. Must be length of 2."); + return pad(x, [paddings], constantValue); +} +const pad1d = op({pad1d_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/pad2d.js +function pad2d_(x, paddings, constantValue = 0) { + assert(paddings.length === 2 && paddings[0].length === 2 && paddings[1].length === 2, () => "Invalid number of paddings. Must be length of 2 each."); + return pad(x, paddings, constantValue); +} +const pad2d = op({pad2d_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/pad3d.js +function pad3d_(x, paddings, constantValue = 0) { + assert(paddings.length === 3 && paddings[0].length === 2 && paddings[1].length === 2 && paddings[2].length === 2, () => "Invalid number of paddings. Must be length of 2 each."); + return pad(x, paddings, constantValue); +} +const pad3d = op({pad3d_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/pad4d.js +function pad4d_(x, paddings, constantValue = 0) { + assert(paddings.length === 4 && paddings[0].length === 2 && paddings[1].length === 2 && paddings[2].length === 2 && paddings[3].length === 2, () => "Invalid number of paddings. Must be length of 2 each."); + return pad(x, paddings, constantValue); +} +const pad4d = op({pad4d_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/space_to_batch_nd.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function spaceToBatchND_(x, blockShape, paddings) { + const $x = convertToTensor(x, "x", "spaceToBatchND"); + assert($x.rank >= 1 + blockShape.length, () => `input rank ${$x.rank} should be > than [blockShape] ${blockShape.length}`); + assert(paddings.length === blockShape.length, () => `paddings.shape[0] ${paddings.length} must be equal to [blockShape] ${blockShape.length}`); + assert($x.shape.reduce((a, b, i) => { + if (i > 0 && i <= blockShape.length) { + return a && (b + paddings[i - 1][0] + paddings[i - 1][1]) % blockShape[i - 1] === 0; + } + return a; + }, true), () => `input spatial dimensions ${$x.shape.slice(1)} with paddings ${paddings.toString()} must be divisible by blockShapes ${blockShape.toString()}`); + const forward = (backend2) => backend2.spaceToBatchND($x, blockShape, paddings); + const inputs = {x: $x}; + const attrs = {blockShape, paddings}; + return ENGINE.runKernelFunc(forward, inputs, null, SpaceToBatchND, attrs); +} +const spaceToBatchND = op({spaceToBatchND_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/pool.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function pool_(input, windowShape, poolingType, pad8, dilations, strides) { + if (dilations == null) { + dilations = [1, 1]; + } + if (strides == null) { + strides = 1; + } + if (pad8 === 0) { + pad8 = "valid"; + } + const $x = convertToTensor(input, "x", "maxPool"); + let x4D = $x; + let reshapedTo4D = false; + if ($x.rank === 3) { + reshapedTo4D = true; + x4D = reshape($x, [1, $x.shape[0], $x.shape[1], $x.shape[2]]); + } + assert(eitherStridesOrDilationsAreOne(strides, dilations), () => `Error in pool: Either strides or dilations must be 1. Got strides ${strides} and dilations '${dilations}'`); + const convInfo = computePool2DInfo(x4D.shape, windowShape, strides, dilations, pad8); + const dilation = [convInfo.dilationHeight, convInfo.dilationWidth]; + let basePadding; + if (pad8 === "same") { + basePadding = withSpaceToBatchBasePaddings([convInfo.filterHeight, convInfo.filterWidth], dilation); + } else { + basePadding = [[0, 0], [0, 0]]; + } + const isDilationOne = dilation[0] === 1 && dilation[1] === 1; + const [adjustedPadding, adjustedCrops] = requiredSpaceToBatchPaddings([convInfo.inHeight, convInfo.inWidth], dilation, basePadding); + const convertedPad = isDilationOne ? pad8 : "valid"; + const convertedX = isDilationOne ? x4D : spaceToBatchND(x4D, dilation, adjustedPadding); + const forwardOp = poolingType === "avg" ? () => avgPool(convertedX, windowShape, strides, convertedPad) : () => maxPool(convertedX, windowShape, strides, convertedPad); + const y = forwardOp(); + const res = isDilationOne ? y : batchToSpaceND(y, dilation, adjustedCrops); + if (reshapedTo4D) { + return reshape(res, [res.shape[1], res.shape[2], res.shape[3]]); + } + return res; +} +function requiredSpaceToBatchPaddings(inputShape, blockShape, basePadding) { + const padStart = basePadding.map((b) => b[0]); + const origPadEnd = basePadding.map((b) => b[1]); + const fullInputShape = inputShape.concat(padStart, origPadEnd); + const padEndExtra = blockShape.map((b, i) => (b - fullInputShape[i] % b) % b); + const padEnd = origPadEnd.map((s, i) => s + padEndExtra[i]); + const paddings = blockShape.map((_, i) => [padStart[i], padEnd[i]]); + const crops = blockShape.map((_, i) => [0, padEndExtra[i]]); + return [paddings, crops]; +} +function withSpaceToBatchBasePaddings(filterShape, dilation) { + const dilatedFilterShape = filterShape.map((s, i) => { + return s + (s - 1) * (dilation[i] - 1); + }); + const padExtraShape = dilatedFilterShape.map((s) => s - 1); + const padExtraStart = padExtraShape.map((s) => Math.floor(s / 2)); + const padExtraEnd = padExtraShape.map((s, i) => s - padExtraStart[i]); + return padExtraShape.map((_, i) => { + return [padExtraStart[i], padExtraEnd[i]]; + }); +} +const pool = op({pool_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/pow.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function pow_(base, exp11) { + let $base = convertToTensor(base, "base", "pow"); + let $exp = convertToTensor(exp11, "exp", "pow"); + [$base, $exp] = makeTypesMatch($base, $exp); + const inputs = {a: $base, b: $exp}; + const forward = (backend2, save) => { + const y = backend2.pow($base, $exp); + save([$base, $exp, y]); + return y; + }; + return ENGINE.runKernelFunc(forward, inputs, null, Pow); +} +const pow = op({pow_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/prelu.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function prelu_(x, alpha) { + const $x = convertToTensor(x, "x", "prelu"); + const $alpha = convertToTensor(alpha, "alpha", "prelu"); + const forward = (backend2, save) => { + const res = backend2.prelu($x, $alpha); + save([$x, $alpha]); + return res; + }; + const inputs = {x: $x, alpha: $alpha}; + return ENGINE.runKernelFunc(forward, inputs, null, Prelu); +} +const prelu = op({prelu_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/print.js +/** + * @license + * Copyright 2020 Google Inc. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function print(x, verbose = false) { + console.log(x.toString(verbose)); +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/prod.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function prod_(x, axis = null, keepDims = false) { + let $x = convertToTensor(x, "x", "prod"); + const forward = (backend2) => { + if ($x.dtype === "bool") { + $x = cast($x, "int32"); + } + const axes = parseAxisParam(axis, $x.shape); + const permutation = getAxesPermutation(axes, $x.rank); + let reductionAxes = axes; + let permutedX = $x; + if (permutation != null) { + permutedX = transpose($x, permutation); + reductionAxes = getInnerMostAxes(reductionAxes.length, $x.rank); + } + let value = backend2.prod(permutedX, reductionAxes); + if (keepDims) { + const newShape = expandShapeToKeepDim(value.shape, axes); + value = reshape(value, newShape); + } + return value; + }; + const inputs = {x: $x}; + const attrs = {axis, keepDims}; + return ENGINE.runKernelFunc(forward, inputs, null, Prod, attrs); +} +const prod = op({prod_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/rand.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function rand_(shape, randFunction, dtype) { + const size = sizeFromShape(shape); + let values = null; + if (dtype == null || dtype === "float32") { + values = new Float32Array(size); + } else if (dtype === "int32") { + values = new Int32Array(size); + } else if (dtype === "bool") { + values = new Uint8Array(size); + } else { + throw new Error(`Unknown data type ${dtype}`); + } + for (let i = 0; i < size; i++) { + values[i] = randFunction(); + } + return ENGINE.makeTensor(values, shape, dtype); +} +const rand = op({rand_}); + +// node_modules/@tensorflow/tfjs-core/dist/test_util.js +const test_util_exports = {}; +__export(test_util_exports, { + TEST_EPSILON_FLOAT16: () => TEST_EPSILON_FLOAT16, + expectArrayBuffersEqual: () => expectArrayBuffersEqual, + expectArraysClose: () => expectArraysClose, + expectArraysEqual: () => expectArraysEqual, + expectNumbersClose: () => expectNumbersClose, + expectPromiseToFail: () => expectPromiseToFail, + expectValuesInRange: () => expectValuesInRange, + testEpsilon: () => testEpsilon +}); +/** + * @license + * Copyright 2017 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +const TEST_EPSILON_FLOAT32 = 1e-3; +const TEST_EPSILON_FLOAT16 = 0.1; +function expectArraysClose(actual, expected, epsilon2) { + if (epsilon2 == null) { + epsilon2 = testEpsilon(); + } + return expectArraysPredicate(actual, expected, (a, b) => areClose(a, b, epsilon2)); +} +function testEpsilon() { + return ENGINE.backend.floatPrecision() === 32 ? TEST_EPSILON_FLOAT32 : TEST_EPSILON_FLOAT16; +} +function expectArraysPredicate(actual, expected, predicate) { + let checkClassType = true; + if (isTypedArray(actual) || isTypedArray(expected)) { + checkClassType = false; + } + if (isTypedArray(actual) && isTypedArray(expected)) { + checkClassType = true; + } + if (checkClassType) { + const aType = actual.constructor.name; + const bType = expected.constructor.name; + if (aType !== bType) { + throw new Error(`Arrays are of different type. Actual: ${aType}. Expected: ${bType}`); + } + } + if (Array.isArray(actual) && Array.isArray(expected)) { + const actualShape = inferShape(actual); + const expectedShape = inferShape(expected); + if (!arraysEqual(actualShape, expectedShape)) { + throw new Error(`Arrays have different shapes. Actual: [${actualShape}]. Expected: [${expectedShape}]`); + } + } + const actualFlat = isTypedArray(actual) ? actual : flatten(actual); + const expectedFlat = isTypedArray(expected) ? expected : flatten(expected); + if (actualFlat.length !== expectedFlat.length) { + throw new Error(`Arrays have different lengths actual: ${actualFlat.length} vs expected: ${expectedFlat.length}. +Actual: ${actualFlat}. +Expected: ${expectedFlat}.`); + } + for (let i = 0; i < expectedFlat.length; ++i) { + const a = actualFlat[i]; + const e = expectedFlat[i]; + if (!predicate(a, e)) { + throw new Error(`Arrays differ: actual[${i}] = ${a}, expected[${i}] = ${e}. +Actual: ${actualFlat}. +Expected: ${expectedFlat}.`); + } + } +} +function expectPromiseToFail(fn, done) { + fn().then(() => done.fail(), () => done()); +} +function expectArraysEqual(actual, expected) { + const exp11 = typeof expected === "string" || typeof expected === "number" || typeof expected === "boolean" ? [expected] : expected; + if (isString(actual) || isString(actual[0]) || isString(expected) || isString(expected[0])) { + return expectArraysPredicate(actual, exp11, (a, b) => a == b); + } + return expectArraysPredicate(actual, expected, (a, b) => areClose(a, b, 0)); +} +function expectNumbersClose(a, e, epsilon2) { + if (epsilon2 == null) { + epsilon2 = testEpsilon(); + } + if (!areClose(a, e, epsilon2)) { + throw new Error(`Numbers differ: actual === ${a}, expected === ${e}`); + } +} +function areClose(a, e, epsilon2) { + if (!isFinite(a) && !isFinite(e)) { + return true; + } + if (isNaN(a) || isNaN(e) || Math.abs(a - e) > epsilon2) { + return false; + } + return true; +} +function expectValuesInRange(actual, low, high) { + for (let i = 0; i < actual.length; i++) { + if (actual[i] < low || actual[i] > high) { + throw new Error(`Value out of range:${actual[i]} low: ${low}, high: ${high}`); + } + } +} +function expectArrayBuffersEqual(actual, expected) { + expect(new Float32Array(actual)).toEqual(new Float32Array(expected)); +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/rand_util.js +const seedrandom = __toModule(require_seedrandom2()); +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +class MPRandGauss { + constructor(mean5, stdDeviation, dtype, truncated, seed) { + this.mean = mean5; + this.stdDev = stdDeviation; + this.dtype = dtype; + this.nextVal = NaN; + this.truncated = truncated; + if (this.truncated) { + this.upper = this.mean + this.stdDev * 2; + this.lower = this.mean - this.stdDev * 2; + } + const seedValue = seed ? seed : Math.random(); + this.random = seedrandom.alea(seedValue.toString()); + } + nextValue() { + if (!isNaN(this.nextVal)) { + const value = this.nextVal; + this.nextVal = NaN; + return value; + } + let resultX, resultY; + let isValid = false; + while (!isValid) { + let v1, v2, s; + do { + v1 = 2 * this.random() - 1; + v2 = 2 * this.random() - 1; + s = v1 * v1 + v2 * v2; + } while (s >= 1 || s === 0); + const mul62 = Math.sqrt(-2 * Math.log(s) / s); + resultX = this.mean + this.stdDev * v1 * mul62; + resultY = this.mean + this.stdDev * v2 * mul62; + if (!this.truncated || this.isValidTruncated(resultX)) { + isValid = true; + } + } + if (!this.truncated || this.isValidTruncated(resultY)) { + this.nextVal = this.convertValue(resultY); + } + return this.convertValue(resultX); + } + convertValue(value) { + if (this.dtype == null || this.dtype === "float32") { + return value; + } + return Math.round(value); + } + isValidTruncated(value) { + return value <= this.upper && value >= this.lower; + } +} +class RandGamma { + constructor(alpha, beta, dtype, seed) { + this.alpha = alpha; + this.beta = 1 / beta; + this.dtype = dtype; + const seedValue = seed ? seed : Math.random(); + this.randu = seedrandom.alea(seedValue.toString()); + this.randn = new MPRandGauss(0, 1, dtype, false, this.randu()); + if (alpha < 1) { + this.d = alpha + 2 / 3; + } else { + this.d = alpha - 1 / 3; + } + this.c = 1 / Math.sqrt(9 * this.d); + } + nextValue() { + let x2, v0, v1, x, u, v; + while (true) { + do { + x = this.randn.nextValue(); + v = 1 + this.c * x; + } while (v <= 0); + v *= v * v; + x2 = x * x; + v0 = 1 - 0.331 * x2 * x2; + v1 = 0.5 * x2 + this.d * (1 - v + Math.log(v)); + u = this.randu(); + if (u < v0 || Math.log(u) < v1) { + break; + } + } + v = 1 / this.beta * this.d * v; + if (this.alpha < 1) { + v *= Math.pow(this.randu(), 1 / this.alpha); + } + return this.convertValue(v); + } + convertValue(value) { + if (this.dtype === "float32") { + return value; + } + return Math.round(value); + } +} +class UniformRandom { + constructor(min5 = 0, max7 = 1, dtype, seed) { + this.canReturnFloat = () => this.dtype == null || this.dtype === "float32"; + this.min = min5; + this.range = max7 - min5; + this.dtype = dtype; + if (seed == null) { + seed = Math.random(); + } + if (typeof seed === "number") { + seed = seed.toString(); + } + if (!this.canReturnFloat() && this.range <= 1) { + throw new Error(`The difference between ${min5} - ${max7} <= 1 and dtype is not float`); + } + this.random = seedrandom.alea(seed); + } + convertValue(value) { + if (this.canReturnFloat()) { + return value; + } + return Math.round(value); + } + nextValue() { + return this.convertValue(this.min + this.range * this.random()); + } +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/random_gamma.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function randomGamma_(shape, alpha, beta = 1, dtype = "float32", seed) { + if (beta == null) { + beta = 1; + } + if (dtype == null) { + dtype = "float32"; + } + if (dtype !== "float32" && dtype !== "int32") { + throw new Error(`Unsupported data type ${dtype}`); + } + const rgamma = new RandGamma(alpha, beta, dtype, seed); + const res = buffer(shape, dtype); + for (let i = 0; i < res.values.length; i++) { + res.values[i] = rgamma.nextValue(); + } + return res.toTensor(); +} +const randomGamma = op({randomGamma_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/random_normal.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function randomNormal_(shape, mean5 = 0, stdDev = 1, dtype, seed) { + if (dtype != null && dtype === "bool") { + throw new Error(`Unsupported data type ${dtype}`); + } + const randGauss = new MPRandGauss(mean5, stdDev, dtype, false, seed); + const res = buffer(shape, dtype); + for (let i = 0; i < res.values.length; i++) { + res.values[i] = randGauss.nextValue(); + } + return res.toTensor(); +} +const randomNormal = op({randomNormal_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/random_uniform.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function randomUniform_(shape, minval = 0, maxval = 1, dtype = "float32", seed) { + const res = buffer(shape, dtype); + const random = new UniformRandom(minval, maxval, null, seed); + for (let i = 0; i < res.values.length; i++) { + res.values[i] = random.nextValue(); + } + return res.toTensor(); +} +const randomUniform = op({randomUniform_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/tensor1d.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function tensor1d(values, dtype) { + assertNonNull(values); + const inferredShape = inferShape(values, dtype); + if (inferredShape.length !== 1) { + throw new Error("tensor1d() requires values to be a flat/TypedArray"); + } + const shape = null; + return makeTensor(values, shape, inferredShape, dtype); +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/range.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function range(start, stop, step7 = 1, dtype = "float32") { + if (step7 === 0) { + throw new Error("Cannot have a step of zero"); + } + const forward = () => { + const sameStartStop = start === stop; + const increasingRangeNegativeStep = start < stop && step7 < 0; + const decreasingRangePositiveStep = stop < start && step7 > 1; + if (sameStartStop || increasingRangeNegativeStep || decreasingRangePositiveStep) { + return zeros([0], dtype); + } + const numElements = Math.abs(Math.ceil((stop - start) / step7)); + const values = makeZerosTypedArray(numElements, dtype); + if (stop < start && step7 === 1) { + step7 = -1; + } + values[0] = start; + for (let i = 1; i < values.length; i++) { + values[i] = values[i - 1] + step7; + } + return tensor1d(values, dtype); + }; + const attrs = {start, stop, step: step7, dtype}; + return ENGINE.runKernelFunc(forward, {}, null, Range, attrs); +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/reciprocal.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function reciprocal_(x) { + const $x = convertToTensor(x, "x", "reciprocal"); + const inputs = {x: $x}; + return ENGINE.runKernelFunc((backend2, save) => { + const res = backend2.reciprocal($x); + save([$x]); + return res; + }, inputs, null, Reciprocal); +} +const reciprocal = op({reciprocal_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/relu.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function relu_(x) { + const $x = convertToTensor(x, "x", "relu"); + const forward = (backend2, save) => { + save([$x]); + if ($x.dtype === "bool") { + return cast($x, "int32"); + } + return backend2.relu($x); + }; + const inputs = {x: $x}; + return ENGINE.runKernelFunc(forward, inputs, null, Relu); +} +const relu = op({relu_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/relu6.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function relu6_(x) { + const $x = convertToTensor(x, "x", "relu6"); + const forward = (backend2, save) => { + save([$x]); + if ($x.dtype === "bool") { + return cast($x, "int32"); + } + return backend2.relu6($x); + }; + const inputs = {x: $x}; + return ENGINE.runKernelFunc(forward, inputs, null, Relu6); +} +const relu6 = op({relu6_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/reverse_1d.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function reverse1d_(x) { + const $x = convertToTensor(x, "x", "reverse"); + assert($x.rank === 1, () => `Error in reverse1D: x must be rank 1 but got rank ${$x.rank}.`); + return reverse($x, 0); +} +const reverse1d = op({reverse1d_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/reverse_2d.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function reverse2d_(x, axis) { + const $x = convertToTensor(x, "x", "reverse"); + assert($x.rank === 2, () => `Error in reverse2D: x must be rank 2 but got rank ${$x.rank}.`); + return reverse($x, axis); +} +const reverse2d = op({reverse2d_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/reverse_3d.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function reverse3d_(x, axis) { + const $x = convertToTensor(x, "x", "reverse"); + assert($x.rank === 3, () => `Error in reverse3D: x must be rank 3 but got rank ${$x.rank}.`); + return reverse($x, axis); +} +const reverse3d = op({reverse3d_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/reverse_4d.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function reverse4d_(x, axis) { + const $x = convertToTensor(x, "x", "reverse"); + assert($x.rank === 4, () => `Error in reverse4D: x must be rank 4 but got rank ${$x.rank}.`); + return reverse($x, axis); +} +const reverse4d = op({reverse4d_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/split_util.js +function prepareSplitSize(x, numOrSizeSplits, axis = 0) { + let splitSizes = []; + if (typeof numOrSizeSplits === "number") { + assert(x.shape[axis] % numOrSizeSplits === 0, () => "Number of splits must evenly divide the axis."); + splitSizes = new Array(numOrSizeSplits).fill(x.shape[axis] / numOrSizeSplits); + } else { + const numOfNegs = numOrSizeSplits.reduce((count, value) => { + if (value === -1) { + count += 1; + } + return count; + }, 0); + assert(numOfNegs <= 1, () => "There should be only one negative value in split array."); + const negIndex = numOrSizeSplits.indexOf(-1); + if (negIndex !== -1) { + const total = numOrSizeSplits.reduce((a, b) => b > 0 ? a + b : a); + numOrSizeSplits[negIndex] = x.shape[axis] - total; + } + assert(x.shape[axis] === numOrSizeSplits.reduce((a, b) => a + b), () => "The sum of sizes must match the size of the axis dimension."); + splitSizes = numOrSizeSplits; + } + return splitSizes; +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/split.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function split_(x, numOrSizeSplits, axis = 0) { + const $x = convertToTensor(x, "x", "split"); + const forward = (backend2, _) => { + const $axis = parseAxisParam(axis, $x.shape)[0]; + const splitSizes = prepareSplitSize($x, numOrSizeSplits, $axis); + return backend2.split($x, splitSizes, $axis); + }; + const inputs = {x: $x}; + const attr = {numOrSizeSplits, axis}; + return ENGINE.runKernelFunc(forward, inputs, null, SplitV, attr); +} +const split = op({split_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/rfft.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function rfft_(input, fftLength) { + assert(input.dtype === "float32", () => `The dtype for rfft() must be real value but got ${input.dtype}`); + let innerDimensionSize = input.shape[input.shape.length - 1]; + const batch = input.size / innerDimensionSize; + let adjustedInput; + if (fftLength != null && fftLength < innerDimensionSize) { + const begin = input.shape.map((v) => 0); + const size = input.shape.map((v) => v); + size[input.shape.length - 1] = fftLength; + adjustedInput = slice(input, begin, size); + innerDimensionSize = fftLength; + } else if (fftLength != null && fftLength > innerDimensionSize) { + const zerosShape = input.shape.map((v) => v); + zerosShape[input.shape.length - 1] = fftLength - innerDimensionSize; + adjustedInput = concat([input, zeros(zerosShape)], input.shape.length - 1); + innerDimensionSize = fftLength; + } else { + adjustedInput = input; + } + const zerosInput = zerosLike(adjustedInput); + const complexInput = reshape(complex(adjustedInput, zerosInput), [batch, innerDimensionSize]); + const ret = fft(complexInput); + const half = Math.floor(innerDimensionSize / 2) + 1; + const realValues = real(ret); + const imagValues = imag(ret); + const realComplexConjugate = split(realValues, [half, innerDimensionSize - half], realValues.shape.length - 1); + const imagComplexConjugate = split(imagValues, [half, innerDimensionSize - half], imagValues.shape.length - 1); + const outputShape = adjustedInput.shape.slice(); + outputShape[adjustedInput.shape.length - 1] = half; + return reshape(complex(realComplexConjugate[0], imagComplexConjugate[0]), outputShape); +} +const rfft = op({rfft_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/round.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function round_(x) { + const $x = convertToTensor(x, "x", "round"); + const inputs = {x: $x}; + return ENGINE.runKernelFunc((backend2) => backend2.round($x), inputs, null, Round); +} +const round = op({round_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/rsqrt.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function rsqrt_(x) { + const $x = convertToTensor(x, "x", "rsqrt"); + const inputs = {x: $x}; + return ENGINE.runKernelFunc((backend2, save) => { + const res = backend2.rsqrt($x); + save([$x]); + return res; + }, inputs, null, Rsqrt); +} +const rsqrt = op({rsqrt_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/selu.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function selu_(x) { + const $x = convertToTensor(x, "x", "selu"); + const forward = (backend2, save) => { + const res = backend2.selu($x); + save([$x]); + return res; + }; + const inputs = {x: $x}; + return ENGINE.runKernelFunc(forward, inputs, null, Selu); +} +const selu = op({selu_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/separable_conv2d.js +function separableConv2d_(x, depthwiseFilter, pointwiseFilter, strides, pad8, dilation = [1, 1], dataFormat = "NHWC") { + const $x = convertToTensor(x, "x", "separableConv2d"); + const $depthwiseFilter = convertToTensor(depthwiseFilter, "depthwiseFilter", "separableConv2d"); + const $pointwiseFilter = convertToTensor(pointwiseFilter, "pointwiseFilter", "separableConv2d"); + let x4D = $x; + let reshapedTo4D = false; + if ($x.rank === 3) { + reshapedTo4D = true; + x4D = reshape($x, [1, $x.shape[0], $x.shape[1], $x.shape[2]]); + } + if (dataFormat === "NCHW") { + throw new Error("separableConv2d currently does not support dataFormat NCHW; only NHWC is supported"); + } + assert(x4D.rank === 4, () => `Error in separableConv2d: input must be rank 4, but got rank ${x4D.rank}.`); + assert($depthwiseFilter.rank === 4, () => `Error in separableConv2d: depthwise filter must be rank 4, but got rank ${$depthwiseFilter.rank}.`); + assert($pointwiseFilter.rank === 4, () => `Error in separableConv2d: pointwise filter must be rank 4, but got rank ${$depthwiseFilter.rank}.`); + assert($pointwiseFilter.shape[0] === 1, () => `Error in separableConv2d: the first dimension of pointwise filter must be 1, but got ${$pointwiseFilter.shape[0]}.`); + assert($pointwiseFilter.shape[1] === 1, () => `Error in separableConv2d: the second dimension of pointwise filter must be 1, but got ${$pointwiseFilter.shape[1]}.`); + const inChannels = $depthwiseFilter.shape[2]; + const channelMultiplier = $depthwiseFilter.shape[3]; + assert($pointwiseFilter.shape[2] === inChannels * channelMultiplier, () => `Error in separableConv2d: the third dimension of pointwise filter must be ${inChannels * channelMultiplier}, but got ${$pointwiseFilter.shape[2]}.`); + const depthwise = depthwiseConv2d(x4D, $depthwiseFilter, strides, pad8, dataFormat, dilation); + const pointwiseStride = 1; + const res = conv2d(depthwise, $pointwiseFilter, pointwiseStride, "valid", dataFormat); + if (reshapedTo4D) { + return reshape(res, [res.shape[1], res.shape[2], res.shape[3]]); + } + return res; +} +const separableConv2d = op({separableConv2d_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/setdiff1d_async.js +/** + * @license + * Copyright 2020 Google Inc. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +async function setdiff1dAsync_(x, y) { + const $x = convertToTensor(x, "x", "setdiff1d"); + const $y = convertToTensor(y, "y", "setdiff1d"); + assert($x.dtype === $y.dtype, () => `x and y should have the same dtype, but got x (${$x.dtype}) and y (${$y.dtype}).`); + assert($x.rank === 1, () => `x should be 1D tensor, but got x (${$x.shape}).`); + assert($y.rank === 1, () => `y should be 1D tensor, but got y (${$y.shape}).`); + const xVals = await $x.data(); + const yVals = await $y.data(); + const ySet = new Set(yVals); + let outputSize = 0; + for (let i = 0; i < xVals.length; i++) { + if (!ySet.has(xVals[i])) { + outputSize++; + } + } + const buffer10 = new TensorBuffer([outputSize], $x.dtype); + const indices = new TensorBuffer([outputSize], "int32"); + for (let i = 0, p = 0; i < xVals.length; i++) { + if (!ySet.has(xVals[i])) { + buffer10.values[p] = xVals[i]; + indices.values[p] = i; + p++; + } + } + return [buffer10.toTensor(), indices.toTensor()]; +} +const setdiff1dAsync = setdiff1dAsync_; + +// node_modules/@tensorflow/tfjs-core/dist/ops/sign.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function sign_(x) { + const $x = convertToTensor(x, "x", "sign"); + const inputs = {x: $x}; + return ENGINE.runKernelFunc((backend2) => backend2.sign($x), inputs, null, Sign); +} +const sign = op({sign_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/sin.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function sin_(x) { + const $x = convertToTensor(x, "x", "sin"); + const inputs = {x: $x}; + return ENGINE.runKernelFunc((backend2, save) => { + const res = backend2.sin($x); + save([$x]); + return res; + }, inputs, null, Sin); +} +const sin = op({sin_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/sinh.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function sinh_(x) { + const $x = convertToTensor(x, "x", "sinh"); + const inputs = {x: $x}; + return ENGINE.runKernelFunc((backend2, save) => { + const res = backend2.sinh($x); + save([$x]); + return res; + }, inputs, null, Sinh); +} +const sinh = op({sinh_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/slice1d.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function slice1d_(x, begin, size) { + const $x = convertToTensor(x, "x", "slice1d"); + assert($x.rank === 1, () => `slice1d expects a rank-1 tensor, but got a rank-${$x.rank} tensor`); + return slice($x, [begin], [size]); +} +const slice1d = op({slice1d_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/slice2d.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function slice2d_(x, begin, size) { + const $x = convertToTensor(x, "x", "slice2d"); + assert($x.rank === 2, () => `slice2d expects a rank-2 tensor, but got a rank-${$x.rank} tensor`); + return slice($x, begin, size); +} +const slice2d = op({slice2d_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/slice3d.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function slice3d_(x, begin, size) { + const $x = convertToTensor(x, "x", "slice3d"); + assert($x.rank === 3, () => `slice3d expects a rank-3 tensor, but got a rank-${$x.rank} tensor`); + return slice($x, begin, size); +} +const slice3d = op({slice3d_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/slice4d.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function slice4d_(x, begin, size) { + const $x = convertToTensor(x, "x", "slice4d"); + assert($x.rank === 4, () => `slice4d expects a rank-4 tensor, but got a rank-${$x.rank} tensor`); + return slice($x, begin, size); +} +const slice4d = op({slice4d_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/softmax.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function softmax_(logits, dim = -1) { + const $logits = convertToTensor(logits, "logits", "softmax", "float32"); + if (dim === -1) { + dim = $logits.rank - 1; + } + if (dim !== $logits.rank - 1) { + throw Error(`Softmax along a non-last dimension is not yet supported. Logits was rank ${$logits.rank} and dim was ${dim}`); + } + const inputs = {logits: $logits}; + const attrs = {dim}; + return ENGINE.runKernelFunc((backend2, save) => { + const y = backend2.softmax($logits, dim); + save([y]); + return y; + }, inputs, null, Softmax, attrs); +} +const softmax = op({softmax_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/sqrt.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function sqrt_(x) { + const $x = convertToTensor(x, "x", "sqrt"); + const inputs = {x: $x}; + return ENGINE.runKernelFunc((backend2, save) => { + const res = backend2.sqrt($x); + save([$x]); + return res; + }, inputs, null, Sqrt); +} +const sqrt = op({sqrt_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/squared_difference.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function squaredDifference_(a, b) { + let $a = convertToTensor(a, "a", "squaredDifference"); + let $b = convertToTensor(b, "b", "squaredDifference"); + [$a, $b] = makeTypesMatch($a, $b); + assertAndGetBroadcastShape($a.shape, $b.shape); + const forward = (backend2, save) => { + const res = backend2.squaredDifference($a, $b); + save([$a, $b]); + return res; + }; + const inputs = {a: $a, b: $b}; + const attrs = {}; + return ENGINE.runKernelFunc(forward, inputs, null, SquaredDifference, attrs); +} +const squaredDifference = op({squaredDifference_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/squeeze.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function squeeze_(x, axis) { + const $x = convertToTensor(x, "x", "squeeze"); + return reshape($x, squeezeShape($x.shape, axis).newShape); +} +const squeeze = op({squeeze_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/stack.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function stack_(tensors, axis = 0) { + const $tensors = convertToTensorArray(tensors, "tensors", "stack"); + assert($tensors.length >= 1, () => "Pass at least one tensor to tf.stack"); + if ($tensors.length === 1) { + return expandDims($tensors[0], axis); + } + const rank = $tensors[0].rank; + const shape = $tensors[0].shape; + const dtype = $tensors[0].dtype; + assert(axis <= rank, () => "Axis must be <= rank of the tensor"); + $tensors.forEach((t) => { + assertShapesMatch(shape, t.shape, "All tensors passed to stack must have matching shapes"); + assert(dtype === t.dtype, () => "All tensors passed to stack must have matching dtypes"); + }); + const expandedTensors = $tensors.map((t) => expandDims(t, axis)); + return concat(expandedTensors, axis); +} +const stack = op({stack_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/step.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function step_(x, alpha = 0) { + const $x = convertToTensor(x, "x", "step"); + const inputs = {x: $x}; + const attrs = {alpha}; + return ENGINE.runKernelFunc((backend2) => backend2.step($x, alpha), inputs, null, Step, attrs); +} +const step = op({step_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/strided_slice.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function stridedSlice_(x, begin, end, strides, beginMask = 0, endMask = 0, ellipsisMask = 0, newAxisMask = 0, shrinkAxisMask = 0) { + if (strides == null) { + strides = new Array(begin.length); + } + let $x = convertToTensor(x, "x", "stridedSlice"); + const forward = (backend2) => { + const ellipsisAxes = maskToAxes(ellipsisMask); + if (ellipsisAxes.length > 1) { + throw new Error("Multiple ellipses in slice is not allowed."); + } + if (ellipsisMask !== 0 && newAxisMask !== 0) { + throw new Error("Using both ellipsisMask and newAxisMask is not yet supported."); + } + if (ellipsisMask !== 0 && shrinkAxisMask !== 0) { + throw new Error("Using both ellipsisMask and shrinkAxisMask is not yet supported."); + } + const numInterpolatedAxes = $x.rank - begin.length; + const expandAxes = maskToAxes(newAxisMask); + const newShape = $x.shape.slice(); + expandAxes.forEach((axis) => { + begin[axis] = 0; + end[axis] = 1; + newShape.splice(axis, 0, 1); + }); + $x = reshape($x, newShape); + if (ellipsisAxes.length && numInterpolatedAxes > 0) { + const fullIndex = ellipsisAxes[0]; + const numElidedAxes = numInterpolatedAxes + 1; + begin = startIndicesWithElidedDims(beginMask, fullIndex, numElidedAxes, begin, $x.shape); + end = stopIndicesWithElidedDims(endMask, fullIndex, numElidedAxes, end, $x.shape); + strides = stridesWithElidedDims(strides, fullIndex, numElidedAxes, $x.shape); + } else { + for (let axis = 0; axis < $x.rank; axis++) { + begin[axis] = startForAxis(beginMask, begin, strides, $x.shape, axis, ellipsisMask); + end[axis] = stopForAxis(endMask, end, strides, $x.shape, axis, ellipsisMask); + strides[axis] = stridesForAxis(strides, axis, ellipsisMask); + } + } + const shrinkAxes = maskToAxes(shrinkAxisMask); + shrinkAxes.forEach((axis) => { + end[axis] = begin[axis] + 1; + strides[axis] = 1; + }); + const size = computeOutShape2(begin, end, strides); + const outShape = size.filter((_, axis) => shrinkAxes.indexOf(axis) === -1); + const nonStrided = strides.every((v) => v === 1); + if (nonStrided) { + return reshape(slice($x, begin, size), outShape); + } + const res = backend2.stridedSlice($x, begin, end, strides); + return reshape(res, outShape); + }; + const inputs = {x: $x}; + const attrs = { + begin, + end, + strides, + beginMask, + endMask, + ellipsisMask, + newAxisMask, + shrinkAxisMask + }; + return ENGINE.runKernelFunc(forward, inputs, null, StridedSlice, attrs); +} +const stridedSlice = op({stridedSlice_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/tan.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function tan_(x) { + const $x = convertToTensor(x, "x", "tan"); + const inputs = {x: $x}; + return ENGINE.runKernelFunc((backend2, save) => { + const res = backend2.tan($x); + save([$x]); + return res; + }, inputs, null, Tan); +} +const tan = op({tan_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/tensor2d.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function tensor2d(values, shape, dtype) { + assertNonNull(values); + if (shape != null && shape.length !== 2) { + throw new Error("tensor2d() requires shape to have two numbers"); + } + const inferredShape = inferShape(values, dtype); + if (inferredShape.length !== 2 && inferredShape.length !== 1) { + throw new Error("tensor2d() requires values to be number[][] or flat/TypedArray"); + } + if (inferredShape.length === 1 && shape == null) { + throw new Error("tensor2d() requires shape to be provided when `values` are a flat/TypedArray"); + } + return makeTensor(values, shape, inferredShape, dtype); +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/tensor3d.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function tensor3d(values, shape, dtype) { + assertNonNull(values); + if (shape != null && shape.length !== 3) { + throw new Error("tensor3d() requires shape to have three numbers"); + } + const inferredShape = inferShape(values, dtype); + if (inferredShape.length !== 3 && inferredShape.length !== 1) { + throw new Error("tensor3d() requires values to be number[][][] or flat/TypedArray"); + } + if (inferredShape.length === 1 && shape == null) { + throw new Error("tensor3d() requires shape to be provided when `values` are a flat array"); + } + return makeTensor(values, shape, inferredShape, dtype); +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/tensor4d.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function tensor4d(values, shape, dtype) { + assertNonNull(values); + if (shape != null && shape.length !== 4) { + throw new Error("tensor4d() requires shape to have four numbers"); + } + const inferredShape = inferShape(values, dtype); + if (inferredShape.length !== 4 && inferredShape.length !== 1) { + throw new Error("tensor4d() requires values to be number[][][][] or flat/TypedArray"); + } + if (inferredShape.length === 1 && shape == null) { + throw new Error("tensor4d() requires shape to be provided when `values` are a flat array"); + } + return makeTensor(values, shape, inferredShape, dtype); +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/tensor5d.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function tensor5d(values, shape, dtype) { + assertNonNull(values); + if (shape != null && shape.length !== 5) { + throw new Error("tensor5d() requires shape to have five numbers"); + } + const inferredShape = inferShape(values, dtype); + if (inferredShape.length !== 5 && inferredShape.length !== 1) { + throw new Error("tensor5d() requires values to be number[][][][][] or flat/TypedArray"); + } + if (inferredShape.length === 1 && shape == null) { + throw new Error("tensor5d() requires shape to be provided when `values` are a flat array"); + } + return makeTensor(values, shape, inferredShape, dtype); +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/tensor6d.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function tensor6d(values, shape, dtype) { + assertNonNull(values); + if (shape != null && shape.length !== 6) { + throw new Error("tensor6d() requires shape to have six numbers"); + } + const inferredShape = inferShape(values, dtype); + if (inferredShape.length !== 6 && inferredShape.length !== 1) { + throw new Error("tensor6d() requires values to be number[][][][][][] or flat/TypedArray"); + } + if (inferredShape.length === 1 && shape == null) { + throw new Error("tensor6d() requires shape to be provided when `values` are a flat array"); + } + shape = shape || inferredShape; + return makeTensor(values, shape, inferredShape, dtype); +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/topk.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function topk_(x, k = 1, sorted = true) { + const $x = convertToTensor(x, "x", "topk"); + if ($x.rank === 0) { + throw new Error("topk() expects the input to be of rank 1 or higher"); + } + const lastDim = $x.shape[$x.shape.length - 1]; + if (k > lastDim) { + throw new Error(`'k' passed to topk() must be <= the last dimension (${lastDim}) but got ${k}`); + } + const inputs = {x: $x}; + const attrs = {k, sorted}; + const [values, indices] = ENGINE.runKernelFunc((b) => b.topk($x, k, sorted), inputs, null, TopK, attrs); + return {values, indices}; +} +const topk = op({topk_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/truncated_normal.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function truncatedNormal_(shape, mean5 = 0, stdDev = 1, dtype, seed) { + if (dtype != null && dtype === "bool") { + throw new Error(`Unsupported data type $ { dtype }`); + } + const randGauss = new MPRandGauss(mean5, stdDev, dtype, true, seed); + const res = buffer(shape, dtype); + for (let i = 0; i < res.values.length; i++) { + res.values[i] = randGauss.nextValue(); + } + return res.toTensor(); +} +const truncatedNormal = op({truncatedNormal_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/unsorted_segment_sum.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function unsortedSegmentSum_(x, segmentIds, numSegments) { + const $x = convertToTensor(x, "x", "unsortedSegmentSum"); + const $segmentIds = convertToTensor(segmentIds, "segmentIds", "unsortedSegmentSum", "int32"); + assert(isInt(numSegments), () => "numSegments must be of dtype int"); + const inputs = {x: $x, segmentIds: $segmentIds}; + const attrs = {numSegments}; + const forward = (backend2, save) => { + const res = backend2.unsortedSegmentSum($x, $segmentIds, numSegments); + save([$segmentIds]); + return res; + }; + return ENGINE.runKernelFunc(forward, inputs, null, UnsortedSegmentSum, attrs); +} +const unsortedSegmentSum = op({unsortedSegmentSum_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/unstack.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function unstack_(x, axis = 0) { + const $x = convertToTensor(x, "x", "unstack"); + assert(axis >= -$x.shape.length && axis < $x.shape.length, () => `Axis = ${axis} is not in [-${$x.shape.length}, ${$x.shape.length})`); + if (axis < 0) { + axis += $x.shape.length; + } + const inputs = {value: $x}; + const attrs = {axis}; + const forward = (backend2) => backend2.unstack($x, axis); + return ENGINE.runKernelFunc(forward, inputs, null, Unpack, attrs); +} +const unstack = op({unstack_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/variable.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function variable(initialValue, trainable = true, name, dtype) { + return ENGINE.makeVariable(initialValue, trainable, name, dtype); +} + +// node_modules/@tensorflow/tfjs-core/dist/backends/where_impl.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function whereImpl(condShape, condVals) { + const indices = []; + for (let i = 0; i < condVals.length; i++) { + if (condVals[i]) { + indices.push(i); + } + } + const inBuffer = buffer(condShape, "int32"); + const out = buffer([indices.length, condShape.length], "int32"); + for (let i = 0; i < indices.length; i++) { + const loc = inBuffer.indexToLoc(indices[i]); + const offset = i * condShape.length; + out.values.set(loc, offset); + } + return out.toTensor(); +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/where_async.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +async function whereAsync_(condition) { + const $condition = convertToTensor(condition, "condition", "whereAsync", "bool"); + const vals = await $condition.data(); + const res = whereImpl($condition.shape, vals); + if (condition !== $condition) { + $condition.dispose(); + } + return res; +} +const whereAsync = whereAsync_; + +// node_modules/@tensorflow/tfjs-core/dist/ops/boolean_mask.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +async function booleanMaskAsync_(tensor17, mask, axis) { + const $tensor = convertToTensor(tensor17, "tensor", "boolMask"); + const $mask = convertToTensor(mask, "mask", "boolMask", "bool"); + const axisFrom = axis == null ? 0 : axis; + const maskDim = $mask.rank; + const tensorShape = $tensor.shape; + assert(maskDim > 0, () => "mask cannot be scalar"); + assertShapesMatch(tensorShape.slice(axisFrom, axisFrom + maskDim), $mask.shape, `mask's shape must match the first K dimensions of tensor's shape,`); + let leadingSize = 1; + for (let i = axisFrom; i < axisFrom + maskDim; i++) { + leadingSize *= tensorShape[i]; + } + const targetTensorShape = tensorShape.slice(0, axisFrom).concat([leadingSize], tensorShape.slice(axisFrom + maskDim)); + const reshapedTensor = reshape($tensor, targetTensorShape); + const reshapedMask = reshape($mask, [-1]); + const positivePositions = await whereAsync(reshapedMask); + const indices = squeeze(positivePositions, [1]); + const res = gather(reshapedTensor, indices, axisFrom); + if (tensor17 !== $tensor) { + $tensor.dispose(); + } + if (mask !== $mask) { + $mask.dispose(); + } + indices.dispose(); + reshapedTensor.dispose(); + reshapedMask.dispose(); + positivePositions.dispose(); + return res; +} +const booleanMaskAsync = booleanMaskAsync_; + +// node_modules/@tensorflow/tfjs-core/dist/ops/compare.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function notEqualStrict_(a, b) { + deprecationWarn("strict variants of ops have been deprecated and will be removed in future"); + const $a = convertToTensor(a, "a", "notEqualStrict"); + const $b = convertToTensor(b, "b", "notEqualStrict"); + assertShapesMatch($a.shape, $b.shape, "Error in notEqualStrict: "); + return notEqual($a, $b); +} +function lessStrict_(a, b) { + deprecationWarn("strict variants of ops have been deprecated and will be removed in future"); + const $a = convertToTensor(a, "a", "lessStrict"); + const $b = convertToTensor(b, "b", "lessStrict"); + assertShapesMatch($a.shape, $b.shape, "Error in lessStrict: "); + return less($a, $b); +} +function equalStrict_(a, b) { + deprecationWarn("strict variants of ops have been deprecated and will be removed in future"); + const $a = convertToTensor(a, "a", "equalStrict"); + const $b = convertToTensor(b, "b", "equalStrict"); + assertShapesMatch($a.shape, $b.shape, "Error in equalStrict: "); + return equal($a, $b); +} +function lessEqualStrict_(a, b) { + deprecationWarn("strict variants of ops have been deprecated and will be removed in future"); + const $a = convertToTensor(a, "a", "lessEqualStrict"); + const $b = convertToTensor(b, "b", "lessEqualStrict"); + assertShapesMatch($a.shape, $b.shape, "Error in lessEqualStrict: "); + return lessEqual($a, $b); +} +function greaterStrict_(a, b) { + deprecationWarn("strict variants of ops have been deprecated and will be removed in future"); + const $a = convertToTensor(a, "a", "greaterStrict"); + const $b = convertToTensor(b, "b", "greaterStrict"); + assertShapesMatch($a.shape, $b.shape, "Error in greaterStrict: "); + return greater($a, $b); +} +function greaterEqualStrict_(a, b) { + deprecationWarn("strict variants of ops have been deprecated and will be removed in future"); + const $a = convertToTensor(a, "a", "greaterEqualStrict"); + const $b = convertToTensor(b, "b", "greaterEqualStrict"); + assertShapesMatch($a.shape, $b.shape, "Error in greaterEqualStrict: "); + return greaterEqual($a, $b); +} +const equalStrict = op({equalStrict_}); +const greaterEqualStrict = op({greaterEqualStrict_}); +const greaterStrict = op({greaterStrict_}); +const lessEqualStrict = op({lessEqualStrict_}); +const lessStrict = op({lessStrict_}); +const notEqualStrict = op({notEqualStrict_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/binary_ops.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function addStrict_(a, b) { + deprecationWarn("strict variants of ops have been deprecated and will be removed in future"); + const $a = convertToTensor(a, "a", "addStrict"); + const $b = convertToTensor(b, "b", "addStrict"); + assertShapesMatch($a.shape, $b.shape, "Error in addStrict: "); + return add2($a, $b); +} +function subStrict_(a, b) { + deprecationWarn("strict variants of ops have been deprecated and will be removed in future"); + const $a = convertToTensor(a, "a", "subStrict"); + const $b = convertToTensor(b, "b", "subStrict"); + assertShapesMatch($a.shape, $b.shape, "Error in subStrict: "); + return sub($a, $b); +} +function powStrict_(base, exp11) { + deprecationWarn("strict variants of ops have been deprecated and will be removed in future"); + assertShapesMatch(base.shape, exp11.shape, "Error in powStrict: "); + return pow(base, exp11); +} +function mulStrict_(a, b) { + deprecationWarn("strict variants of ops have been deprecated and will be removed in future"); + const $a = convertToTensor(a, "a", "mul"); + const $b = convertToTensor(b, "b", "mul"); + assertShapesMatch($a.shape, $b.shape, "Error in multiplyStrict: "); + return mul($a, $b); +} +function divStrict_(a, b) { + deprecationWarn("strict variants of ops have been deprecated and will be removed in future"); + const $a = convertToTensor(a, "a", "div"); + const $b = convertToTensor(b, "b", "div"); + assertShapesMatch($a.shape, $b.shape, "Error in divideStrict: "); + return div($a, $b); +} +function modStrict_(a, b) { + deprecationWarn("strict variants of ops have been deprecated and will be removed in future"); + const $a = convertToTensor(a, "a", "modStrict"); + const $b = convertToTensor(b, "b", "modStrict"); + assertShapesMatch($a.shape, $b.shape, "Error in modStrict: "); + return mod($a, $b); +} +function minimumStrict_(a, b) { + deprecationWarn("strict variants of ops have been deprecated and will be removed in future"); + const $a = convertToTensor(a, "a", "minimumStrict"); + const $b = convertToTensor(b, "b", "minimumStrict"); + assertShapesMatch($a.shape, $b.shape, "Error in minimumStrict: "); + return minimum($a, $b); +} +function maximumStrict_(a, b) { + deprecationWarn("strict variants of ops have been deprecated and will be removed in future"); + const $a = convertToTensor(a, "a", "maximumStrict"); + const $b = convertToTensor(b, "b", "maximumStrict"); + assertShapesMatch($a.shape, $b.shape, "Error in maximumStrict: "); + return maximum($a, $b); +} +function squaredDifferenceStrict_(a, b) { + deprecationWarn("strict variants of ops have been deprecated and will be removed in future"); + const $a = convertToTensor(a, "a", "squaredDifferenceStrict"); + const $b = convertToTensor(b, "b", "squaredDifferenceStrict"); + assertShapesMatch($a.shape, $b.shape, "Error in squaredDifferenceStrict: "); + return squaredDifference($a, $b); +} +const addStrict = op({addStrict_}); +const divStrict = op({divStrict_}); +const maximumStrict = op({maximumStrict_}); +const minimumStrict = op({minimumStrict_}); +const modStrict = op({modStrict_}); +const mulStrict = op({mulStrict_}); +const powStrict = op({powStrict_}); +const squaredDifferenceStrict = op({squaredDifferenceStrict_}); +const subStrict = op({subStrict_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/norm.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function norm_(x, ord = "euclidean", axis = null, keepDims = false) { + x = convertToTensor(x, "x", "norm"); + const norm4 = normImpl(x, ord, axis); + let keepDimsShape = norm4.shape; + if (keepDims) { + const axes = parseAxisParam(axis, x.shape); + keepDimsShape = expandShapeToKeepDim(norm4.shape, axes); + } + return reshape(norm4, keepDimsShape); +} +function normImpl(x, p, axis = null) { + if (x.rank === 0) { + return abs(x); + } + if (x.rank !== 1 && axis === null) { + return normImpl(reshape(x, [-1]), p, axis); + } + if (x.rank === 1 || typeof axis === "number" || Array.isArray(axis) && axis.length === 1) { + if (p === 1) { + return sum2(abs(x), axis); + } + if (p === Infinity) { + return max(abs(x), axis); + } + if (p === -Infinity) { + return min(abs(x), axis); + } + if (p === "euclidean" || p === 2) { + return sqrt(sum2(pow(abs(x), scalar(2, "int32")), axis)); + } + throw new Error(`Error in norm: invalid ord value: ${p}`); + } + if (Array.isArray(axis) && axis.length === 2) { + if (p === 1) { + return max(sum2(abs(x), axis[0]), axis[1] - 1); + } + if (p === Infinity) { + return max(sum2(abs(x), axis[1]), axis[0]); + } + if (p === -Infinity) { + return min(sum2(abs(x), axis[1]), axis[0]); + } + if (p === "fro" || p === "euclidean") { + return sqrt(sum2(square(x), axis)); + } + throw new Error(`Error in norm: invalid ord value: ${p}`); + } + throw new Error(`Error in norm: invalid axis: ${axis}`); +} +const norm = op({norm_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/moving_average.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function movingAverage_(v, x, decay, step7, zeroDebias = true) { + const $v = convertToTensor(v, "v", "movingAverage"); + const $x = convertToTensor(x, "x", "movingAverage"); + const $decay = convertToTensor(decay, "decay", "movingAverage"); + assertTypesMatch($v, $x); + assert(arraysEqual($v.shape, $x.shape), () => "Shape mismatch in v and x"); + const one = scalar(1); + const oneMinusDecay = sub(one, $decay); + let update = mul(sub($x, $v), oneMinusDecay); + if (zeroDebias) { + assert(step7 != null, () => "When using zeroDebias: true, step is required."); + const $step = convertToTensor(step7, "step", "movingAverage"); + update = div(update, sub(one, pow($decay, $step))); + } + return add2($v, update); +} +const movingAverage = op({movingAverage_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/scatter_nd_util.js +const scatter_nd_util_exports = {}; +__export(scatter_nd_util_exports, { + calculateShapes: () => calculateShapes, + validateInput: () => validateInput, + validateUpdateShape: () => validateUpdateShape +}); +function validateUpdateShape(shape, indices, updates) { + const sliceDim = indices.rank > 1 ? indices.shape[indices.rank - 1] : 1; + const batchDim = indices.rank > 1 ? indices.rank - 1 : 1; + const shapeError = `Must have updates.shape = indices.shape[:batchDim] + shape[sliceDim:], got updates.shape: ${updates.shape}, indices.shape: ${indices.shape}, shape: ${shape}, sliceDim: ${sliceDim}, and batchDim: ${batchDim}.`; + if (updates.rank < batchDim) { + throw new Error(shapeError + ` update.rank < ${batchDim}. `); + } + if (shape.length < sliceDim + (updates.rank - batchDim)) { + throw new Error(shapeError + ` Output shape length < ${sliceDim + (updates.rank - batchDim)}`); + } + if (updates.rank !== batchDim + shape.length - sliceDim) { + throw new Error(shapeError + ` update.rank != ${batchDim + shape.length - sliceDim}`); + } + for (let d = 0; d < batchDim; ++d) { + if (updates.shape[d] !== indices.shape[d]) { + throw new Error(shapeError + ` updates.shape[${d}] (${updates.shape[d]}) != indices.shape[${d}] (${indices.shape[d]}).`); + } + } + for (let d = 0; d < updates.rank - batchDim; ++d) { + if (updates.shape[d + batchDim] !== shape[d + sliceDim]) { + throw new Error(shapeError + ` updates.shape[${d + batchDim}] (${updates.shape[d + batchDim]}) != shape[${d + batchDim}] (${shape[d + batchDim]})`); + } + } +} +function validateInput(updates, indices, shape) { + if (indices.rank < 1) { + throw new Error(`tf.scatterND() expects the indices to be rank 1 or higher, but the rank was ${indices.rank}.`); + } + if (updates.rank < 1) { + throw new Error(`tf.scatterND() expects the updates to be rank 1 or higher, but the rank was ${updates.rank}.`); + } + if (indices.dtype !== "int32") { + throw new Error(`The dtype of 'indices' should be int32, but got dtype: ${indices.dtype}`); + } + if (shape.length < 1) { + throw new Error(`Output rank must be greater or equal to 1, but got shape: ${shape}`); + } + if (shape.length === 0) { + if (indices.size === 0) { + throw new Error(`Indices specified for empty output. indices shape: ${indices.shape}`); + } + if (updates.size === 0) { + throw new Error(`Updates specified for empty output. updates shape: ${updates.shape}`); + } + } + validateUpdateShape(shape, indices, updates); +} +function calculateShapes(updates, indices, shape) { + const indicesRank = indices.shape.length; + const sliceRank = indicesRank > 1 ? indices.shape[indicesRank - 1] : 1; + const totalNd = shape.length; + let sliceSize = 1; + for (let i = sliceRank; i < totalNd; ++i) { + sliceSize *= shape[i]; + } + const safeSliceDim = sliceRank < 1 ? 1 : sliceRank; + const numUpdates = sizeFromShape(indices.shape) / safeSliceDim; + const strides = [...computeStrides(shape.slice(0, sliceRank)), 1]; + const outputSize = sizeFromShape(shape); + return {sliceRank, numUpdates, sliceSize, strides, outputSize}; +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/scatter_nd.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function scatterND_(indices, updates, shape) { + const $indices = convertToTensor(indices, "indices", "scatterND", "int32"); + const $updates = convertToTensor(updates, "updates", "scatterND"); + validateInput($updates, $indices, shape); + const forward = (backend2) => { + return backend2.scatterND($indices, $updates, shape); + }; + const inputs = {indices: $indices, updates: $updates}; + const attrs = {shape}; + return ENGINE.runKernelFunc(forward, inputs, null, ScatterNd, attrs); +} +const scatterND = op({scatterND_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/sparse_to_dense_util.js +function validateInput2(sparseIndices, sparseValues, outputShape, defaultValues) { + if (sparseIndices.dtype !== "int32") { + throw new Error(`tf.sparseToDense() expects the indices to be int32 type, but the dtype was ${sparseIndices.dtype}.`); + } + if (sparseIndices.rank > 2) { + throw new Error(`sparseIndices should be a scalar, vector, or matrix, but got shape ${sparseIndices.shape}.`); + } + const numElems = sparseIndices.rank > 0 ? sparseIndices.shape[0] : 1; + const numDims = sparseIndices.rank > 1 ? sparseIndices.shape[1] : 1; + if (outputShape.length !== numDims) { + throw new Error(`outputShape has incorrect number of elements:, ${outputShape.length}, should be: ${numDims}.`); + } + const numValues = sparseValues.size; + if (!(sparseValues.rank === 0 || sparseValues.rank === 1 && numValues === numElems)) { + throw new Error(`sparseValues has incorrect shape ${sparseValues.shape}, should be [] or [${numElems}]`); + } + if (sparseValues.dtype !== defaultValues.dtype) { + throw new Error("sparseValues.dtype must match defaultValues.dtype"); + } +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/sparse_to_dense.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function sparseToDense_(sparseIndices, sparseValues, outputShape, defaultValue = 0) { + const $sparseIndices = convertToTensor(sparseIndices, "sparseIndices", "sparseToDense", "int32"); + const $sparseValues = convertToTensor(sparseValues, "sparseValues", "sparseToDense"); + const $defaultValue = convertToTensor(defaultValue, "defaultValue", "sparseToDense", $sparseValues.dtype); + validateInput2($sparseIndices, $sparseValues, outputShape, $defaultValue); + const inputs = { + sparseIndices: $sparseIndices, + sparseValues: $sparseValues, + defaultValue: $defaultValue + }; + const attrs = {outputShape}; + return ENGINE.runKernelFunc((backend2) => backend2.sparseToDense($sparseIndices, $sparseValues, outputShape, $defaultValue), inputs, null, SparseToDense, attrs); +} +const sparseToDense = op({sparseToDense_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/gather_nd.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function gatherND_(x, indices) { + const $indices = convertToTensor(indices, "indices", "gatherND", "int32"); + const $x = convertToTensor(x, "x", "gatherND"); + const forward = (backend2) => { + return backend2.gatherND($x, $indices); + }; + const inputs = {params: $x, indices: $indices}; + return ENGINE.runKernelFunc(forward, inputs, null, GatherNd); +} +const gatherND = op({gatherND_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/dropout_util.js +/** + * @license + * Copyright 2019 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function getNoiseShape(x, noiseShape) { + if (noiseShape == null) { + return x.shape.slice(); + } + if (arraysEqual(x.shape, noiseShape)) { + return noiseShape; + } + if (x.shape.length === noiseShape.length) { + const newDimension = []; + for (let i = 0; i < x.shape.length; i++) { + if (noiseShape[i] == null && x.shape[i] != null) { + newDimension.push(x.shape[i]); + } else { + newDimension.push(noiseShape[i]); + } + } + return newDimension; + } + return noiseShape; +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/dropout.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function dropout_(x, rate, noiseShape, seed) { + const $x = convertToTensor(x, "x", "dropout"); + assert($x.dtype === "float32", () => `x has to be a floating point tensor since it's going to be scaled, but got a ${$x.dtype} tensor instead.`); + assert(rate >= 0 && rate < 1, () => `rate must be a float in the range [0, 1), but got ${rate}.`); + if (rate === 0) { + return x instanceof Tensor ? $x.clone() : $x; + } + const $noiseShape = getNoiseShape($x, noiseShape); + const keepProb = 1 - rate; + const multiplier = div(floor(add2(randomUniform($noiseShape, 0, 1, "float32", seed), keepProb)), keepProb); + return mul($x, multiplier); +} +const dropout = op({dropout_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/signal_ops_util.js +/** + * @license + * Copyright 2019 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function enclosingPowerOfTwo(value) { + return Math.floor(Math.pow(2, Math.ceil(Math.log(value) / Math.log(2)))); +} +function cosineWindow(windowLength, a, b) { + const even = 1 - windowLength % 2; + const newValues = new Float32Array(windowLength); + for (let i = 0; i < windowLength; ++i) { + const cosArg = 2 * Math.PI * i / (windowLength + even - 1); + newValues[i] = a - b * Math.cos(cosArg); + } + return tensor1d(newValues, "float32"); +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/in_top_k.js +/** + * @license + * Copyright 2019 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +async function inTopKAsync_(predictions, targets, k = 1) { + const $predictions = convertToTensor(predictions, "predictions", "inTopK"); + const $targets = convertToTensor(targets, "targets", "inTopK"); + assert($predictions.rank > 1, () => `inTopK() expects the predictions to be of rank 2 or higher, but got ${$predictions.rank}`); + assert($predictions.rank - 1 === $targets.rank, () => `predictions rank should be 1 larger than targets rank, but got predictions rank ${$predictions.rank} and targets rank ${$targets.rank}`); + assertShapesMatch($predictions.shape.slice(0, $predictions.shape.length - 1), $targets.shape, `predictions's shape should be align with the targets' shape, except the last dimension.`); + const lastDim = $predictions.shape[$predictions.shape.length - 1]; + assert(k > 0 && k <= lastDim, () => `'k' passed to inTopK() must be > 0 && <= the predictions last dimension (${lastDim}), but got ${k}`); + const predictionsVals = await $predictions.data(); + const targetsVals = await $targets.data(); + const [batch, size] = [predictionsVals.length / lastDim, lastDim]; + const precision = getTypedArrayFromDType("bool", batch); + for (let b = 0; b < batch; b++) { + const offset = b * size; + const vals = predictionsVals.subarray(offset, offset + size); + const valAndInd = []; + for (let i = 0; i < vals.length; i++) { + valAndInd.push({value: vals[i], index: i}); + } + valAndInd.sort((a, b2) => b2.value - a.value); + precision[b] = 0; + for (let i = 0; i < k; i++) { + if (valAndInd[i].index === targetsVals[b]) { + precision[b] = 1; + break; + } + } + } + if (predictions !== $predictions) { + $predictions.dispose(); + } + if (targets !== $targets) { + $targets.dispose(); + } + return tensor5(precision, $targets.shape, "bool"); +} +const inTopKAsync = inTopKAsync_; + +// node_modules/@tensorflow/tfjs-core/dist/ops/conv2d_backprop_filter.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function conv2DBackpropFilter_(x, dy, filterShape, strides, pad8, dataFormat = "NHWC", dimRoundingMode) { + let x4D = x; + if (x.rank === 3) { + x4D = reshape(x, [1, x.shape[0], x.shape[1], x.shape[2]]); + } + let dy4D = dy; + if (dy4D.rank === 3) { + dy4D = reshape(dy, [1, dy.shape[0], dy.shape[1], dy.shape[2]]); + } + assert(x4D.rank === 4, () => `Error in conv2dDerFilter: input must be rank 4, but got shape ${x4D.shape}.`); + assert(dy4D.rank === 4, () => `Error in conv2dDerFilter: dy must be rank 4, but got shape ${dy4D.shape}.`); + assert(filterShape.length === 4, () => `Error in conv2dDerFilter: filterShape must be length 4, but got ${filterShape}.`); + const inDepth = dataFormat === "NHWC" ? x4D.shape[3] : x4D.shape[1]; + const outDepth = dataFormat === "NHWC" ? dy4D.shape[3] : dy4D.shape[1]; + assert(inDepth === filterShape[2], () => `Error in conv2dDerFilter: depth of input ${inDepth}) must match input depth in filter (${filterShape[2]}.`); + assert(outDepth === filterShape[3], () => `Error in conv2dDerFilter: depth of dy (${outDepth}) must match output depth for filter (${filterShape[3]}).`); + if (dimRoundingMode != null) { + assert(isInt(pad8), () => `Error in conv2dDerFilter: pad must be an integer when using, dimRoundingMode ${dimRoundingMode} but got pad ${pad8}.`); + } + const forward = (backend2) => { + const dilations = 1; + const $dataFormat = convertConv2DDataFormat(dataFormat); + const convInfo = computeConv2DInfo(x4D.shape, filterShape, strides, dilations, pad8, dimRoundingMode, false, $dataFormat); + return backend2.conv2dDerFilter(x4D, dy4D, convInfo); + }; + const inputs = {x: x4D, dy: dy4D}; + const attrs = {strides, pad: pad8, dataFormat, dimRoundingMode}; + return ENGINE.runKernelFunc(forward, inputs, null, Conv2DBackpropFilter, attrs); +} +const conv2DBackpropFilter = op({conv2DBackpropFilter_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/fused_util.js +/** + * @license + * Copyright 2019 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function getFusedDyActivation(dy, y, activation) { + if (activation == null || activation === "linear") { + return dy; + } + if (activation === "relu") { + return mul(dy, step(y)); + } + throw new Error(`Cannot compute gradient for fused activation ${activation}.`); +} +function getFusedBiasGradient(bias, dyActivation) { + let res = dyActivation; + const reduceAxes = getReductionAxes(bias.shape, dyActivation.shape); + if (reduceAxes.length > 0) { + res = sum2(res, reduceAxes); + } + return reshape(res, bias.shape); +} +function applyActivation(x, activation, preluActivationWeights) { + if (activation === "linear") { + return x; + } else if (activation === "relu") { + return relu(x); + } else if (activation === "elu") { + return elu(x); + } else if (activation === "relu6") { + return relu6(x); + } else if (activation === "prelu") { + return prelu(x, preluActivationWeights); + } + throw new Error(`Unknown fused activation ${activation}.`); +} +const shouldFuse = (gradientDepth, activation) => { + const gradientMode = gradientDepth > 0; + return !gradientMode || activation === "linear"; +}; + +// node_modules/@tensorflow/tfjs-core/dist/ops/fused_conv2d.js +/** + * @license + * Copyright 2019 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function fusedConv2d_({x, filter, strides, pad: pad8, dataFormat = "NHWC", dilations = [1, 1], dimRoundingMode, bias, activation = "linear", preluActivationWeights}) { + activation = activation || "linear"; + if (shouldFuse(ENGINE.state.gradientDepth, activation) === false) { + let result = conv2d(x, filter, strides, pad8, dataFormat, dilations, dimRoundingMode); + if (bias != null) { + result = add2(result, bias); + } + return applyActivation(result, activation, preluActivationWeights); + } + const $x = convertToTensor(x, "x", "conv2d"); + const $filter = convertToTensor(filter, "filter", "conv2d"); + let x4D = $x; + let reshapedTo4D = false; + if ($x.rank === 3) { + reshapedTo4D = true; + x4D = reshape($x, [1, $x.shape[0], $x.shape[1], $x.shape[2]]); + } + assert(x4D.rank === 4, () => `Error in fused conv2d: input must be rank 4, but got rank ${x4D.rank}.`); + assert($filter.rank === 4, () => `Error in fused conv2d: filter must be rank 4, but got rank ${$filter.rank}.`); + if (dimRoundingMode != null) { + assert(isInt(pad8), () => `Error in fused conv2d: pad must be an integer when using, dimRoundingMode ${dimRoundingMode} but got pad ${pad8}.`); + } + assert(x4D.shape[3] === $filter.shape[2], () => `Error in conv2d: depth of input (${x4D.shape[3]}) must match input depth for filter ${$filter.shape[2]}.`); + assert(eitherStridesOrDilationsAreOne(strides, dilations), () => `Error in conv2D: Either strides or dilations must be 1. Got strides ${strides} and dilations '${dilations}'`); + assert(dataFormat === "NHWC", () => `Error in conv2d: got dataFormat of ${dataFormat} but only NHWC is currently supported.`); + const convInfo = computeConv2DInfo(x4D.shape, $filter.shape, strides, dilations, pad8, dimRoundingMode); + let $bias; + if (bias != null) { + $bias = convertToTensor(bias, "bias", "fused conv2d"); + [$bias] = makeTypesMatch($bias, $x); + assertAndGetBroadcastShape(convInfo.outShape, $bias.shape); + } + let $preluActivationWeights; + if (preluActivationWeights != null) { + $preluActivationWeights = convertToTensor(preluActivationWeights, "prelu weights", "fused conv2d"); + } + const grad2 = (dy, saved) => { + const [$filter2, x4D2, y, $bias2] = saved; + const dyActivation = getFusedDyActivation(dy, y, activation); + assert(tupleValuesAreOne(dilations), () => `Error in gradient of fused conv2D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${dilations}'`); + const xDer = conv2DBackpropInput(x4D2.shape, dyActivation, $filter2, strides, pad8); + const filterDer = conv2DBackpropFilter(x4D2, dyActivation, $filter2.shape, strides, pad8); + const der = [xDer, filterDer]; + if ($bias2 != null) { + const biasDer = getFusedBiasGradient($bias2, dyActivation); + der.push(biasDer); + } + return der; + }; + const forward = (backend2) => { + const res = backend2.fusedConv2d({ + input: x4D, + filter: $filter, + convInfo, + bias: $bias, + activation, + preluActivationWeights: $preluActivationWeights + }); + return res; + }; + const inputs = { + x: x4D, + filter: $filter, + bias: $bias, + preluActivationWeights: $preluActivationWeights + }; + const attrs = {strides, pad: pad8, dataFormat, dilations, dimRoundingMode, activation}; + if (bias == null) { + const customOp = customGrad((x4D2, filter2, save) => { + let res = ENGINE.runKernelFunc(forward, inputs, null, FusedConv2D, attrs); + save([filter2, x4D2, res]); + if (reshapedTo4D) { + res = reshape(res, [res.shape[1], res.shape[2], res.shape[3]]); + } + return {value: res, gradFunc: grad2}; + }); + return customOp(x4D, $filter); + } else { + const customOpWithBias = customGrad((x4D2, filter2, bias2, save) => { + let res = ENGINE.runKernelFunc(forward, inputs, null, FusedConv2D, attrs); + save([filter2, x4D2, res, bias2]); + if (reshapedTo4D) { + res = reshape(res, [res.shape[1], res.shape[2], res.shape[3]]); + } + return {value: res, gradFunc: grad2}; + }); + return customOpWithBias(x4D, $filter, $bias); + } +} +const conv2d5 = op({fusedConv2d_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/depthwise_conv2d_native_backprop_filter.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function depthwiseConv2dNativeBackpropFilter_(x, dy, filterShape, convInfo) { + let x4D = x; + if (x.rank === 3) { + x4D = reshape(x, [1, x.shape[0], x.shape[1], x.shape[2]]); + } + let dy4D = dy; + if (dy4D.rank === 3) { + dy4D = reshape(dy, [1, dy.shape[0], dy.shape[1], dy.shape[2]]); + } + const forward = (backend2) => backend2.depthwiseConv2DDerFilter(x4D, dy4D, convInfo); + const inputs = {x: x4D, dy: dy4D}; + return ENGINE.runKernelFunc(forward, inputs, null, DepthwiseConv2dNativeBackpropFilter); +} +const depthwiseConv2dNativeBackpropFilter = op({depthwiseConv2dNativeBackpropFilter_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/depthwise_conv2d_native_backprop_input.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function depthwiseConv2dNativeBackpropInput_(xShape, dy, filter, convInfo) { + let dy4D = dy; + let reshapedTo4D = false; + if (dy.rank === 3) { + reshapedTo4D = true; + dy4D = reshape(dy, [1, dy.shape[0], dy.shape[1], dy.shape[2]]); + } + const forward = (backend2) => backend2.depthwiseConv2DDerInput(dy4D, filter, convInfo); + const inputs = {dy: dy4D}; + const res = ENGINE.runKernelFunc(forward, inputs, null, DepthwiseConv2dNativeBackpropInput); + if (reshapedTo4D) { + return reshape(res, [res.shape[1], res.shape[2], res.shape[3]]); + } + return res; +} +const depthwiseConv2dNativeBackpropInput = op({depthwiseConv2dNativeBackpropInput_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/fused_depthwise_conv2d.js +/** + * @license + * Copyright 2019 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function fusedDepthwiseConv2d_({x, filter, strides, pad: pad8, dataFormat = "NHWC", dilations = [1, 1], dimRoundingMode, bias, activation = "linear", preluActivationWeights}) { + if (shouldFuse(ENGINE.state.gradientDepth, activation) === false) { + let result = depthwiseConv2d(x, filter, strides, pad8, dataFormat, dilations, dimRoundingMode); + if (bias != null) { + result = add2(result, bias); + } + return applyActivation(result, activation, preluActivationWeights); + } + const $x = convertToTensor(x, "x", "depthwiseConv2d"); + const $filter = convertToTensor(filter, "filter", "depthwiseConv2d"); + let x4D = $x; + let reshapedTo4D = false; + if ($x.rank === 3) { + reshapedTo4D = true; + x4D = reshape($x, [1, $x.shape[0], $x.shape[1], $x.shape[2]]); + } + assert(x4D.rank === 4, () => `Error in fused depthwiseConv2d: input must be rank 4, but got rank ${x4D.rank}.`); + assert($filter.rank === 4, () => `Error in fused depthwiseConv2d: filter must be rank 4, but got rank ${$filter.rank}.`); + assert(x4D.shape[3] === $filter.shape[2], () => `Error in fused depthwiseConv2d: number of input channels (${x4D.shape[3]}) must match the inChannels dimension in filter ${$filter.shape[2]}.`); + if (dilations == null) { + dilations = [1, 1]; + } + assert(eitherStridesOrDilationsAreOne(strides, dilations), () => `Error in fused depthwiseConv2d: Either strides or dilations must be 1. Got strides ${strides} and dilations '${dilations}'`); + if (dimRoundingMode != null) { + assert(isInt(pad8), () => `Error in fused depthwiseConv2d: pad must be an integer when using dimRoundingMode ${dimRoundingMode} but got pad ${pad8}.`); + } + const convInfo = computeConv2DInfo(x4D.shape, $filter.shape, strides, dilations, pad8, dimRoundingMode, true); + let $bias; + if (bias != null) { + $bias = convertToTensor(bias, "bias", "fused conv2d"); + [$bias] = makeTypesMatch($bias, $x); + assertAndGetBroadcastShape(convInfo.outShape, $bias.shape); + } + let $preluActivationWeights; + if (preluActivationWeights != null) { + $preluActivationWeights = convertToTensor(preluActivationWeights, "prelu weights", "fused depthwiseConv2d"); + } + const grad2 = (dy, saved) => { + assert(tupleValuesAreOne(dilations), () => `Error in gradient of fused depthwiseConv2d: dilation rates greater than 1 are not yet supported. Got dilations '${dilations}'`); + const [$filter2, x4D2, y, bias2] = saved; + const dyActivation = getFusedDyActivation(dy, y, activation); + const xDer = depthwiseConv2dNativeBackpropInput(x4D2.shape, dyActivation, $filter2, convInfo); + const filterDer = depthwiseConv2dNativeBackpropFilter(x4D2, dyActivation, $filter2.shape, convInfo); + if (bias2 != null) { + const biasDer = getFusedBiasGradient($bias, dyActivation); + return [xDer, filterDer, biasDer]; + } + return [xDer, filterDer]; + }; + const forward = (backend2) => { + const res = backend2.fusedDepthwiseConv2D({ + input: x4D, + filter: $filter, + convInfo, + bias: $bias, + activation, + preluActivationWeights: $preluActivationWeights + }); + return res; + }; + const inputs = { + x: x4D, + filter: $filter, + bias: $bias, + preluActivationWeights: $preluActivationWeights + }; + const attrs = {strides, pad: pad8, dataFormat, dilations, dimRoundingMode, activation}; + if (bias == null) { + const customOp = customGrad((x4D2, filter2, save) => { + let res = ENGINE.runKernelFunc(forward, inputs, null, FusedDepthwiseConv2D, attrs); + save([filter2, x4D2, res]); + if (reshapedTo4D) { + res = reshape(res, [res.shape[1], res.shape[2], res.shape[3]]); + } + return {value: res, gradFunc: grad2}; + }); + return customOp(x4D, $filter); + } else { + const customOpWithBias = customGrad((x4D2, filter2, bias2, save) => { + let res = ENGINE.runKernelFunc(forward, inputs, null, FusedDepthwiseConv2D, attrs); + save([filter2, x4D2, res, bias2]); + if (reshapedTo4D) { + res = reshape(res, [res.shape[1], res.shape[2], res.shape[3]]); + } + return {value: res, gradFunc: grad2}; + }); + return customOpWithBias(x4D, $filter, $bias); + } +} +const depthwiseConv2d2 = op({fusedDepthwiseConv2d_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/fused_mat_mul.js +/** + * @license + * Copyright 2019 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function fusedMatMul_({a, b, transposeA = false, transposeB = false, bias, activation = "linear", preluActivationWeights}) { + if (shouldFuse(ENGINE.state.gradientDepth, activation) === false) { + let result = matMul(a, b, transposeA, transposeB); + if (bias != null) { + result = add2(result, bias); + } + return applyActivation(result, activation, preluActivationWeights); + } + let $a = convertToTensor(a, "a", "fused matMul"); + let $b = convertToTensor(b, "b", "fused matMul"); + [$a, $b] = makeTypesMatch($a, $b); + const innerShapeA = transposeA ? $a.shape[$a.rank - 2] : $a.shape[$a.rank - 1]; + const innerShapeB = transposeB ? $b.shape[$b.rank - 1] : $b.shape[$b.rank - 2]; + const outerShapeA = transposeA ? $a.shape[$a.rank - 1] : $a.shape[$a.rank - 2]; + const outerShapeB = transposeB ? $b.shape[$b.rank - 2] : $b.shape[$b.rank - 1]; + const outerDimsA = $a.shape.slice(0, -2); + const outerDimsB = $b.shape.slice(0, -2); + const batchDimA = sizeFromShape(outerDimsA); + const batchDimB = sizeFromShape(outerDimsB); + assert($a.rank >= 2 && $b.rank >= 2 && $a.rank === $b.rank, () => `Error in fused matMul: inputs must have the same rank of at least 2, got ranks ${$a.rank} and ${$b.rank}.`); + assert(arraysEqual(outerDimsA, outerDimsB), () => `Error in fused matMul: outer dimensions (${outerDimsA}) and (${outerDimsB}) of Tensors with shapes ${$a.shape} and ${$b.shape} must match.`); + assert(innerShapeA === innerShapeB, () => `Error in fused matMul: inner shapes (${innerShapeA}) and (${innerShapeB}) of Tensors with shapes ${$a.shape} and ${$b.shape} and transposeA=${transposeA} and transposeB=${transposeB} must match.`); + const outShape = $a.shape.slice(0, -2).concat([outerShapeA, outerShapeB]); + const a3D = transposeA ? reshape($a, [batchDimA, innerShapeA, outerShapeA]) : reshape($a, [batchDimA, outerShapeA, innerShapeA]); + const b3D = transposeB ? reshape($b, [batchDimB, outerShapeB, innerShapeB]) : reshape($b, [batchDimB, innerShapeB, outerShapeB]); + let $bias; + if (bias != null) { + $bias = convertToTensor(bias, "bias", "fused matMul"); + [$bias] = makeTypesMatch($bias, $a); + assertAndGetBroadcastShape(outShape, $bias.shape); + } + let $preluActivationWeights; + if (preluActivationWeights != null) { + $preluActivationWeights = convertToTensor(preluActivationWeights, "prelu weights", "fused matMul"); + } + const grad2 = (dy, saved) => { + const [a3D2, b3D2, y, $bias2] = saved; + const dyActivation = getFusedDyActivation(reshape(dy, y.shape), y, activation); + let aDer; + let bDer; + if (!transposeA && !transposeB) { + aDer = matMul(dyActivation, b3D2, false, true); + bDer = matMul(a3D2, dyActivation, true, false); + } else if (!transposeA && transposeB) { + aDer = matMul(dyActivation, b3D2, false, false); + bDer = matMul(dyActivation, a3D2, true, false); + } else if (transposeA && !transposeB) { + aDer = matMul(b3D2, dyActivation, false, true); + bDer = matMul(a3D2, dyActivation, false, false); + } else { + aDer = matMul(b3D2, dyActivation, true, true); + bDer = matMul(dyActivation, a3D2, true, true); + } + if (bias != null) { + const biasDer = getFusedBiasGradient($bias2, dyActivation); + return [aDer, bDer, biasDer]; + } else { + return [aDer, bDer]; + } + }; + const forward = (backend2) => { + const y = backend2.fusedBatchMatMul({ + a: a3D, + b: b3D, + transposeA, + transposeB, + bias: $bias, + activation, + preluActivationWeights: $preluActivationWeights + }); + return y; + }; + const inputs = { + a: a3D, + b: b3D, + bias: $bias, + preluActivationWeights: $preluActivationWeights + }; + const attrs = {transposeA, transposeB, activation}; + if (bias == null) { + const customOp = customGrad((a3D2, b3D2, save) => { + const res = ENGINE.runKernelFunc(forward, inputs, null, _FusedMatMul, attrs); + save([a3D2, b3D2, res]); + return {value: reshape(res, outShape), gradFunc: grad2}; + }); + return customOp(a3D, b3D); + } else { + const customOpWithBias = customGrad((a3D2, b3D2, $bias2, save) => { + const res = ENGINE.runKernelFunc(forward, inputs, null, _FusedMatMul, attrs); + save([a3D2, b3D2, res, $bias2]); + return {value: reshape(res, outShape), gradFunc: grad2}; + }); + return customOpWithBias(a3D, b3D, $bias); + } +} +const matMul2 = op({fusedMatMul_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/fused_ops.js +const fused_ops_exports = {}; +__export(fused_ops_exports, { + conv2d: () => conv2d5, + depthwiseConv2d: () => depthwiseConv2d2, + matMul: () => matMul2 +}); +/** + * @license + * Copyright 2019 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ + +// node_modules/@tensorflow/tfjs-core/dist/ops/hamming_window.js +/** + * @license + * Copyright 2019 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function hammingWindow_(windowLength) { + return cosineWindow(windowLength, 0.54, 0.46); +} +const hammingWindow = op({hammingWindow_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/hann_window.js +/** + * @license + * Copyright 2019 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function hannWindow_(windowLength) { + return cosineWindow(windowLength, 0.5, 0.5); +} +const hannWindow = op({hannWindow_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/frame.js +/** + * @license + * Copyright 2019 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function frame_(signal2, frameLength, frameStep, padEnd = false, padValue = 0) { + let start = 0; + const output = []; + while (start + frameLength <= signal2.size) { + output.push(slice(signal2, start, frameLength)); + start += frameStep; + } + if (padEnd) { + while (start < signal2.size) { + const padLen = start + frameLength - signal2.size; + const pad8 = concat([ + slice(signal2, start, frameLength - padLen), + fill([padLen], padValue) + ]); + output.push(pad8); + start += frameStep; + } + } + if (output.length === 0) { + return tensor2d([], [0, frameLength]); + } + return reshape(concat(output), [output.length, frameLength]); +} +const frame = op({frame_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/stft.js +/** + * @license + * Copyright 2019 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function stft_(signal2, frameLength, frameStep, fftLength, windowFn = hannWindow) { + if (fftLength == null) { + fftLength = enclosingPowerOfTwo(frameLength); + } + const framedSignal = frame(signal2, frameLength, frameStep); + const windowedSignal = mul(framedSignal, windowFn(frameLength)); + const output = []; + for (let i = 0; i < framedSignal.shape[0]; i++) { + output.push(rfft(slice(windowedSignal, [i, 0], [1, frameLength]), fftLength)); + } + return concat(output); +} +const stft = op({stft_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/crop_and_resize.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function cropAndResize_(image2, boxes, boxInd, cropSize, method, extrapolationValue) { + const $image = convertToTensor(image2, "image", "cropAndResize"); + const $boxes = convertToTensor(boxes, "boxes", "cropAndResize", "float32"); + const $boxInd = convertToTensor(boxInd, "boxInd", "cropAndResize", "int32"); + method = method || "bilinear"; + extrapolationValue = extrapolationValue || 0; + const numBoxes = $boxes.shape[0]; + assert($image.rank === 4, () => `Error in cropAndResize: image must be rank 4,but got rank ${$image.rank}.`); + assert($boxes.rank === 2 && $boxes.shape[1] === 4, () => `Error in cropAndResize: boxes must be have size [${numBoxes},4] but had shape ${$boxes.shape}.`); + assert($boxInd.rank === 1 && $boxInd.shape[0] === numBoxes, () => `Error in cropAndResize: boxInd must be have size [${numBoxes}] but had shape ${$boxes.shape}.`); + assert(cropSize.length === 2, () => `Error in cropAndResize: cropSize must be of length 2, but got length ${cropSize.length}.`); + assert(cropSize[0] >= 1 && cropSize[1] >= 1, () => `cropSize must be atleast [1,1], but was ${cropSize}`); + assert(method === "bilinear" || method === "nearest", () => `method must be bilinear or nearest, but was ${method}`); + const forward = (backend2) => backend2.cropAndResize($image, $boxes, $boxInd, cropSize, method, extrapolationValue); + const inputs = {image: $image, boxes: $boxes, boxInd: $boxInd}; + const attrs = {method, extrapolationValue, cropSize}; + const res = ENGINE.runKernelFunc(forward, inputs, null, CropAndResize, attrs); + return res; +} +const cropAndResize = op({cropAndResize_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/flip_left_right.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function flipLeftRight_(image2) { + const $image = convertToTensor(image2, "image", "flipLeftRight", "float32"); + assert($image.rank === 4, () => `Error in flipLeftRight: image must be rank 4,but got rank ${$image.rank}.`); + const inputs = {image: $image}; + const res = ENGINE.runKernel(FlipLeftRight, inputs, {}); + return res; +} +const flipLeftRight = op({flipLeftRight_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/rotate_with_offset.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function rotateWithOffset_(image2, radians, fillValue = 0, center = 0.5) { + const $image = convertToTensor(image2, "image", "rotateWithOffset", "float32"); + assert($image.rank === 4, () => `Error in rotateWithOffset: image must be rank 4,but got rank ${$image.rank}.`); + const inputs = {image: $image}; + const attrs = {radians, fillValue, center}; + const res = ENGINE.runKernel(RotateWithOffset, inputs, attrs); + return res; +} +const rotateWithOffset = op({rotateWithOffset_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/nonmax_util.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function nonMaxSuppSanityCheck(boxes, scores, maxOutputSize, iouThreshold, scoreThreshold, softNmsSigma) { + if (iouThreshold == null) { + iouThreshold = 0.5; + } + if (scoreThreshold == null) { + scoreThreshold = Number.NEGATIVE_INFINITY; + } + if (softNmsSigma == null) { + softNmsSigma = 0; + } + const numBoxes = boxes.shape[0]; + maxOutputSize = Math.min(maxOutputSize, numBoxes); + assert(0 <= iouThreshold && iouThreshold <= 1, () => `iouThreshold must be in [0, 1], but was '${iouThreshold}'`); + assert(boxes.rank === 2, () => `boxes must be a 2D tensor, but was of rank '${boxes.rank}'`); + assert(boxes.shape[1] === 4, () => `boxes must have 4 columns, but 2nd dimension was ${boxes.shape[1]}`); + assert(scores.rank === 1, () => "scores must be a 1D tensor"); + assert(scores.shape[0] === numBoxes, () => `scores has incompatible shape with boxes. Expected ${numBoxes}, but was ${scores.shape[0]}`); + assert(0 <= softNmsSigma && softNmsSigma <= 1, () => `softNmsSigma must be in [0, 1], but was '${softNmsSigma}'`); + return {maxOutputSize, iouThreshold, scoreThreshold, softNmsSigma}; +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/non_max_suppression.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function nonMaxSuppression_(boxes, scores, maxOutputSize, iouThreshold = 0.5, scoreThreshold = Number.NEGATIVE_INFINITY) { + const $boxes = convertToTensor(boxes, "boxes", "nonMaxSuppression"); + const $scores = convertToTensor(scores, "scores", "nonMaxSuppression"); + const inputs = nonMaxSuppSanityCheck($boxes, $scores, maxOutputSize, iouThreshold, scoreThreshold); + maxOutputSize = inputs.maxOutputSize; + iouThreshold = inputs.iouThreshold; + scoreThreshold = inputs.scoreThreshold; + const attrs = {maxOutputSize, iouThreshold, scoreThreshold}; + return ENGINE.runKernelFunc((b) => b.nonMaxSuppression($boxes, $scores, maxOutputSize, iouThreshold, scoreThreshold), {boxes: $boxes, scores: $scores}, null, NonMaxSuppressionV3, attrs); +} +const nonMaxSuppression = op({nonMaxSuppression_}); + +// node_modules/@tensorflow/tfjs-core/dist/backends/array_util.js +/** + * @license + * Copyright 2019 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function binaryInsert(arr, element, comparator) { + const index = binarySearch(arr, element, comparator); + const insertionPoint = index < 0 ? -(index + 1) : index; + arr.splice(insertionPoint, 0, element); +} +function binarySearch(arr, target, comparator) { + return binarySearch_(arr, target, comparator || defaultComparator); +} +function defaultComparator(a, b) { + return a > b ? 1 : a < b ? -1 : 0; +} +function binarySearch_(arr, target, comparator) { + let left = 0; + let right = arr.length; + let middle = 0; + let found = false; + while (left < right) { + middle = left + (right - left >>> 1); + const compareResult = comparator(target, arr[middle]); + if (compareResult > 0) { + left = middle + 1; + } else { + right = middle; + found = !compareResult; + } + } + return found ? left : -left - 1; +} + +// node_modules/@tensorflow/tfjs-core/dist/backends/non_max_suppression_impl.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function nonMaxSuppressionV3Impl(boxes, scores, maxOutputSize, iouThreshold, scoreThreshold) { + return nonMaxSuppressionImpl_(boxes, scores, maxOutputSize, iouThreshold, scoreThreshold, 0).selectedIndices; +} +function nonMaxSuppressionV4Impl(boxes, scores, maxOutputSize, iouThreshold, scoreThreshold, padToMaxOutputSize) { + return nonMaxSuppressionImpl_(boxes, scores, maxOutputSize, iouThreshold, scoreThreshold, 0, false, padToMaxOutputSize, true); +} +function nonMaxSuppressionV5Impl(boxes, scores, maxOutputSize, iouThreshold, scoreThreshold, softNmsSigma) { + return nonMaxSuppressionImpl_(boxes, scores, maxOutputSize, iouThreshold, scoreThreshold, softNmsSigma, true); +} +function nonMaxSuppressionImpl_(boxes, scores, maxOutputSize, iouThreshold, scoreThreshold, softNmsSigma, returnScoresTensor = false, padToMaxOutputSize = false, returnValidOutputs = false) { + const candidates = []; + for (let i = 0; i < scores.length; i++) { + if (scores[i] > scoreThreshold) { + candidates.push({score: scores[i], boxIndex: i, suppressBeginIndex: 0}); + } + } + candidates.sort(ascendingComparator); + const scale2 = softNmsSigma > 0 ? -0.5 / softNmsSigma : 0; + const selectedIndices = []; + const selectedScores = []; + while (selectedIndices.length < maxOutputSize && candidates.length > 0) { + const candidate = candidates.pop(); + const {score: originalScore, boxIndex, suppressBeginIndex} = candidate; + if (originalScore < scoreThreshold) { + break; + } + let ignoreCandidate = false; + for (let j = selectedIndices.length - 1; j >= suppressBeginIndex; --j) { + const iou3 = intersectionOverUnion(boxes, boxIndex, selectedIndices[j]); + if (iou3 >= iouThreshold) { + ignoreCandidate = true; + break; + } + candidate.score = candidate.score * suppressWeight(iouThreshold, scale2, iou3); + if (candidate.score <= scoreThreshold) { + break; + } + } + candidate.suppressBeginIndex = selectedIndices.length; + if (!ignoreCandidate) { + if (candidate.score === originalScore) { + selectedIndices.push(boxIndex); + selectedScores.push(candidate.score); + } else if (candidate.score > scoreThreshold) { + binaryInsert(candidates, candidate, ascendingComparator); + } + } + } + const validOutputs = selectedIndices.length; + const elemsToPad = maxOutputSize - validOutputs; + if (padToMaxOutputSize && elemsToPad > 0) { + selectedIndices.push(...new Array(elemsToPad).fill(0)); + selectedScores.push(...new Array(elemsToPad).fill(0)); + } + const result = {selectedIndices: tensor1d(selectedIndices, "int32")}; + if (returnScoresTensor) { + result["selectedScores"] = tensor1d(selectedScores, "float32"); + } + if (returnValidOutputs) { + result["validOutputs"] = scalar(validOutputs, "int32"); + } + return result; +} +function intersectionOverUnion(boxes, i, j) { + const iCoord = boxes.subarray(i * 4, i * 4 + 4); + const jCoord = boxes.subarray(j * 4, j * 4 + 4); + const yminI = Math.min(iCoord[0], iCoord[2]); + const xminI = Math.min(iCoord[1], iCoord[3]); + const ymaxI = Math.max(iCoord[0], iCoord[2]); + const xmaxI = Math.max(iCoord[1], iCoord[3]); + const yminJ = Math.min(jCoord[0], jCoord[2]); + const xminJ = Math.min(jCoord[1], jCoord[3]); + const ymaxJ = Math.max(jCoord[0], jCoord[2]); + const xmaxJ = Math.max(jCoord[1], jCoord[3]); + const areaI = (ymaxI - yminI) * (xmaxI - xminI); + const areaJ = (ymaxJ - yminJ) * (xmaxJ - xminJ); + if (areaI <= 0 || areaJ <= 0) { + return 0; + } + const intersectionYmin = Math.max(yminI, yminJ); + const intersectionXmin = Math.max(xminI, xminJ); + const intersectionYmax = Math.min(ymaxI, ymaxJ); + const intersectionXmax = Math.min(xmaxI, xmaxJ); + const intersectionArea = Math.max(intersectionYmax - intersectionYmin, 0) * Math.max(intersectionXmax - intersectionXmin, 0); + return intersectionArea / (areaI + areaJ - intersectionArea); +} +function suppressWeight(iouThreshold, scale2, iou3) { + const weight = Math.exp(scale2 * iou3 * iou3); + return iou3 <= iouThreshold ? weight : 0; +} +function ascendingComparator(c1, c2) { + return c1.score - c2.score || c1.score === c2.score && c2.boxIndex - c1.boxIndex; +} + +// node_modules/@tensorflow/tfjs-core/dist/ops/non_max_suppression_async.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +async function nonMaxSuppressionAsync_(boxes, scores, maxOutputSize, iouThreshold = 0.5, scoreThreshold = Number.NEGATIVE_INFINITY) { + const $boxes = convertToTensor(boxes, "boxes", "nonMaxSuppressionAsync"); + const $scores = convertToTensor(scores, "scores", "nonMaxSuppressionAsync"); + const inputs = nonMaxSuppSanityCheck($boxes, $scores, maxOutputSize, iouThreshold, scoreThreshold); + maxOutputSize = inputs.maxOutputSize; + iouThreshold = inputs.iouThreshold; + scoreThreshold = inputs.scoreThreshold; + const boxesAndScores = await Promise.all([$boxes.data(), $scores.data()]); + const boxesVals = boxesAndScores[0]; + const scoresVals = boxesAndScores[1]; + const res = nonMaxSuppressionV3Impl(boxesVals, scoresVals, maxOutputSize, iouThreshold, scoreThreshold); + if ($boxes !== boxes) { + $boxes.dispose(); + } + if ($scores !== scores) { + $scores.dispose(); + } + return res; +} +const nonMaxSuppressionAsync = nonMaxSuppressionAsync_; + +// node_modules/@tensorflow/tfjs-core/dist/ops/non_max_suppression_with_score.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function nonMaxSuppressionWithScore_(boxes, scores, maxOutputSize, iouThreshold = 0.5, scoreThreshold = Number.NEGATIVE_INFINITY, softNmsSigma = 0) { + const $boxes = convertToTensor(boxes, "boxes", "nonMaxSuppression"); + const $scores = convertToTensor(scores, "scores", "nonMaxSuppression"); + const params = nonMaxSuppSanityCheck($boxes, $scores, maxOutputSize, iouThreshold, scoreThreshold, softNmsSigma); + maxOutputSize = params.maxOutputSize; + iouThreshold = params.iouThreshold; + scoreThreshold = params.scoreThreshold; + softNmsSigma = params.softNmsSigma; + const inputs = {boxes: $boxes, scores: $scores}; + const attrs = {maxOutputSize, iouThreshold, scoreThreshold, softNmsSigma}; + const result = ENGINE.runKernel(NonMaxSuppressionV5, inputs, attrs); + return {selectedIndices: result[0], selectedScores: result[1]}; +} +const nonMaxSuppressionWithScore = op({nonMaxSuppressionWithScore_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/non_max_suppression_with_score_async.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +async function nonMaxSuppressionWithScoreAsync_(boxes, scores, maxOutputSize, iouThreshold = 0.5, scoreThreshold = Number.NEGATIVE_INFINITY, softNmsSigma = 0) { + const $boxes = convertToTensor(boxes, "boxes", "nonMaxSuppressionAsync"); + const $scores = convertToTensor(scores, "scores", "nonMaxSuppressionAsync"); + const params = nonMaxSuppSanityCheck($boxes, $scores, maxOutputSize, iouThreshold, scoreThreshold, softNmsSigma); + maxOutputSize = params.maxOutputSize; + iouThreshold = params.iouThreshold; + scoreThreshold = params.scoreThreshold; + softNmsSigma = params.softNmsSigma; + const boxesAndScores = await Promise.all([$boxes.data(), $scores.data()]); + const boxesVals = boxesAndScores[0]; + const scoresVals = boxesAndScores[1]; + const res = nonMaxSuppressionV5Impl(boxesVals, scoresVals, maxOutputSize, iouThreshold, scoreThreshold, softNmsSigma); + if ($boxes !== boxes) { + $boxes.dispose(); + } + if ($scores !== scores) { + $scores.dispose(); + } + return res; +} +const nonMaxSuppressionWithScoreAsync = nonMaxSuppressionWithScoreAsync_; + +// node_modules/@tensorflow/tfjs-core/dist/ops/non_max_suppression_padded.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function nonMaxSuppressionPadded_(boxes, scores, maxOutputSize, iouThreshold = 0.5, scoreThreshold = Number.NEGATIVE_INFINITY, padToMaxOutputSize = false) { + const $boxes = convertToTensor(boxes, "boxes", "nonMaxSuppression"); + const $scores = convertToTensor(scores, "scores", "nonMaxSuppression"); + const params = nonMaxSuppSanityCheck($boxes, $scores, maxOutputSize, iouThreshold, scoreThreshold, null); + const $maxOutputSize = params.maxOutputSize; + const $iouThreshold = params.iouThreshold; + const $scoreThreshold = params.scoreThreshold; + const inputs = {boxes: $boxes, scores: $scores}; + const attrs = { + maxOutputSize: $maxOutputSize, + iouThreshold: $iouThreshold, + scoreThreshold: $scoreThreshold, + padToMaxOutputSize + }; + const result = ENGINE.runKernel(NonMaxSuppressionV4, inputs, attrs); + return {selectedIndices: result[0], validOutputs: result[1]}; +} +const nonMaxSuppressionPadded = op({nonMaxSuppressionPadded_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/non_max_suppression_padded_async.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +async function nonMaxSuppressionPaddedAsync_(boxes, scores, maxOutputSize, iouThreshold = 0.5, scoreThreshold = Number.NEGATIVE_INFINITY, padToMaxOutputSize = false) { + const $boxes = convertToTensor(boxes, "boxes", "nonMaxSuppressionAsync"); + const $scores = convertToTensor(scores, "scores", "nonMaxSuppressionAsync"); + const params = nonMaxSuppSanityCheck($boxes, $scores, maxOutputSize, iouThreshold, scoreThreshold, null); + const $maxOutputSize = params.maxOutputSize; + const $iouThreshold = params.iouThreshold; + const $scoreThreshold = params.scoreThreshold; + const [boxesVals, scoresVals] = await Promise.all([$boxes.data(), $scores.data()]); + const res = nonMaxSuppressionV4Impl(boxesVals, scoresVals, $maxOutputSize, $iouThreshold, $scoreThreshold, padToMaxOutputSize); + if ($boxes !== boxes) { + $boxes.dispose(); + } + if ($scores !== scores) { + $scores.dispose(); + } + return res; +} +const nonMaxSuppressionPaddedAsync = nonMaxSuppressionPaddedAsync_; + +// node_modules/@tensorflow/tfjs-core/dist/ops/resize_bilinear.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function resizeBilinear_(images, size, alignCorners = false) { + const $images = convertToTensor(images, "images", "resizeBilinear"); + assert($images.rank === 3 || $images.rank === 4, () => `Error in resizeBilinear: x must be rank 3 or 4, but got rank ${$images.rank}.`); + assert(size.length === 2, () => `Error in resizeBilinear: new shape must 2D, but got shape ${size}.`); + let batchImages = $images; + let reshapedTo4D = false; + if ($images.rank === 3) { + reshapedTo4D = true; + batchImages = reshape($images, [1, $images.shape[0], $images.shape[1], $images.shape[2]]); + } + const [newHeight, newWidth] = size; + const forward = (backend2, save) => { + save([batchImages]); + return backend2.resizeBilinear(batchImages, newHeight, newWidth, alignCorners); + }; + const inputs = {images: batchImages}; + const attrs = {alignCorners, size}; + const res = ENGINE.runKernelFunc(forward, inputs, null, ResizeBilinear, attrs); + if (reshapedTo4D) { + return reshape(res, [res.shape[1], res.shape[2], res.shape[3]]); + } + return res; +} +const resizeBilinear = op({resizeBilinear_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/resize_nearest_neighbor.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function resizeNearestNeighbor_(images, size, alignCorners = false) { + const $images = convertToTensor(images, "images", "resizeNearestNeighbor"); + assert($images.rank === 3 || $images.rank === 4, () => `Error in resizeNearestNeighbor: x must be rank 3 or 4, but got rank ${$images.rank}.`); + assert(size.length === 2, () => `Error in resizeNearestNeighbor: new shape must 2D, but got shape ${size}.`); + assert($images.dtype === "float32" || $images.dtype === "int32", () => "`images` must have `int32` or `float32` as dtype"); + let batchImages = $images; + let reshapedTo4D = false; + if ($images.rank === 3) { + reshapedTo4D = true; + batchImages = reshape($images, [1, $images.shape[0], $images.shape[1], $images.shape[2]]); + } + const [newHeight, newWidth] = size; + const inputs = {images: batchImages}; + const attrs = {alignCorners, size}; + const forward = (backend2, save) => { + save([batchImages]); + return backend2.resizeNearestNeighbor(batchImages, newHeight, newWidth, alignCorners); + }; + const res = ENGINE.runKernelFunc(forward, inputs, null, ResizeNearestNeighbor, attrs); + if (reshapedTo4D) { + return reshape(res, [res.shape[1], res.shape[2], res.shape[3]]); + } + return res; +} +const resizeNearestNeighbor = op({resizeNearestNeighbor_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/band_part.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function bandPart_(a, numLower, numUpper) { + assert(numLower % 1 === 0, () => `bandPart(): numLower must be an integer, got ${numLower}.`); + assert(numUpper % 1 === 0, () => `bandPart(): numUpper must be an integer, got ${numUpper}.`); + const $a = convertToTensor(a, "a", "bandPart"); + assert($a.rank >= 2, () => `bandPart(): Rank must be at least 2, got ${$a.rank}.`); + const shape = $a.shape; + const [M, N] = $a.shape.slice(-2); + if (!(numLower <= M)) { + throw new Error(`bandPart(): numLower (${numLower}) must not be greater than the number of rows (${M}).`); + } + if (!(numUpper <= N)) { + throw new Error(`bandPart(): numUpper (${numUpper}) must not be greater than the number of columns (${N}).`); + } + if (numLower < 0) { + numLower = M; + } + if (numUpper < 0) { + numUpper = N; + } + const i = reshape(range(0, M, 1, "int32"), [-1, 1]); + const j = range(0, N, 1, "int32"); + const ij = sub(i, j); + const inBand = logicalAnd(lessEqual(ij, scalar(+numLower, "int32")), greaterEqual(ij, scalar(-numUpper, "int32"))); + const zero = zeros([M, N], $a.dtype); + return reshape(stack(unstack(reshape($a, [-1, M, N])).map((mat) => where(inBand, mat, zero))), shape); +} +const bandPart = op({bandPart_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/gram_schmidt.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function gramSchmidt_(xs) { + let inputIsTensor2D; + if (Array.isArray(xs)) { + inputIsTensor2D = false; + assert(xs != null && xs.length > 0, () => "Gram-Schmidt process: input must not be null, undefined, or empty"); + const dim = xs[0].shape[0]; + for (let i = 1; i < xs.length; ++i) { + assert(xs[i].shape[0] === dim, () => `Gram-Schmidt: Non-unique lengths found in the input vectors: (${xs[i].shape[0]} vs. ${dim})`); + } + } else { + inputIsTensor2D = true; + xs = split(xs, xs.shape[0], 0).map((x) => squeeze(x, [0])); + } + assert(xs.length <= xs[0].shape[0], () => `Gram-Schmidt: Number of vectors (${xs.length}) exceeds number of dimensions (${xs[0].shape[0]}).`); + const ys = []; + const xs1d = xs; + for (let i = 0; i < xs.length; ++i) { + ys.push(ENGINE.tidy(() => { + let x = xs1d[i]; + if (i > 0) { + for (let j = 0; j < i; ++j) { + const proj = mul(sum2(mul(ys[j], x)), ys[j]); + x = sub(x, proj); + } + } + return div(x, norm(x, "euclidean")); + })); + } + if (inputIsTensor2D) { + return stack(ys, 0); + } else { + return ys; + } +} +const gramSchmidt = op({gramSchmidt_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/qr.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function qr_(x, fullMatrices = false) { + assert(x.rank >= 2, () => `qr() requires input tensor to have a rank >= 2, but got rank ${x.rank}`); + if (x.rank === 2) { + return qr2d(x, fullMatrices); + } else { + const outerDimsProd = x.shape.slice(0, x.shape.length - 2).reduce((value, prev) => value * prev); + const x2ds = unstack(reshape(x, [ + outerDimsProd, + x.shape[x.shape.length - 2], + x.shape[x.shape.length - 1] + ]), 0); + const q2ds = []; + const r2ds = []; + x2ds.forEach((x2d) => { + const [q2d, r2d] = qr2d(x2d, fullMatrices); + q2ds.push(q2d); + r2ds.push(r2d); + }); + const q = reshape(stack(q2ds, 0), x.shape); + const r = reshape(stack(r2ds, 0), x.shape); + return [q, r]; + } +} +function qr2d(x, fullMatrices = false) { + return ENGINE.tidy(() => { + assert(x.shape.length === 2, () => `qr2d() requires a 2D Tensor, but got a ${x.shape.length}D Tensor.`); + const m = x.shape[0]; + const n = x.shape[1]; + let q = eye(m); + let r = clone(x); + const one2D = tensor2d([[1]], [1, 1]); + let w = clone(one2D); + const iters = m >= n ? n : m; + for (let j = 0; j < iters; ++j) { + const rTemp = r; + const wTemp = w; + const qTemp = q; + [w, r, q] = ENGINE.tidy(() => { + const rjEnd1 = slice(r, [j, j], [m - j, 1]); + const normX = norm(rjEnd1); + const rjj = slice(r, [j, j], [1, 1]); + const s = where(greater(rjj, 0), tensor2d([[-1]]), tensor2d([[1]])); + const u1 = sub(rjj, mul(s, normX)); + const wPre = div(rjEnd1, u1); + if (wPre.shape[0] === 1) { + w = clone(one2D); + } else { + w = concat([ + one2D, + slice(wPre, [1, 0], [wPre.shape[0] - 1, wPre.shape[1]]) + ], 0); + } + const tau = neg(div(matMul(s, u1), normX)); + const rjEndAll = slice(r, [j, 0], [m - j, n]); + const tauTimesW = mul(tau, w); + const wT = transpose(w); + if (j === 0) { + r = sub(rjEndAll, matMul(tauTimesW, matMul(wT, rjEndAll))); + } else { + const rTimesTau = sub(rjEndAll, matMul(tauTimesW, matMul(wT, rjEndAll))); + r = concat([slice(r, [0, 0], [j, n]), rTimesTau], 0); + } + const tawTimesWT = transpose(tauTimesW); + const qAllJEnd = slice(q, [0, j], [m, q.shape[1] - j]); + if (j === 0) { + q = sub(qAllJEnd, matMul(matMul(qAllJEnd, w), tawTimesWT)); + } else { + const qTimesTau = sub(qAllJEnd, matMul(matMul(qAllJEnd, w), tawTimesWT)); + q = concat([slice(q, [0, 0], [m, j]), qTimesTau], 1); + } + return [w, r, q]; + }); + dispose([rTemp, wTemp, qTemp]); + } + if (!fullMatrices && m > n) { + q = slice(q, [0, 0], [m, n]); + r = slice(r, [0, 0], [n, n]); + } + return [q, r]; + }); +} +const qr = op({qr_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/loss_ops_utils.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +var Reduction; +(function(Reduction2) { + Reduction2[Reduction2["NONE"] = 0] = "NONE"; + Reduction2[Reduction2["MEAN"] = 1] = "MEAN"; + Reduction2[Reduction2["SUM"] = 2] = "SUM"; + Reduction2[Reduction2["SUM_BY_NONZERO_WEIGHTS"] = 3] = "SUM_BY_NONZERO_WEIGHTS"; +})(Reduction || (Reduction = {})); + +// node_modules/@tensorflow/tfjs-core/dist/ops/compute_weighted_loss.js +function computeWeightedLoss_(losses2, weights, reduction = Reduction.SUM_BY_NONZERO_WEIGHTS) { + const $losses = convertToTensor(losses2, "losses", "computeWeightedLoss"); + let $weights = null; + if (weights != null) { + $weights = convertToTensor(weights, "weights", "computeWeightedLoss"); + } + const weightedLoss = $weights == null ? $losses : mul($losses, $weights); + if (reduction === Reduction.NONE) { + return weightedLoss; + } + if (reduction === Reduction.SUM) { + return sum2(weightedLoss); + } + if (reduction === Reduction.MEAN) { + if ($weights == null) { + return mean(weightedLoss); + } else { + const broadcastFactor = $losses.size / $weights.size; + const result = div(sum2(weightedLoss), sum2($weights)); + return broadcastFactor > 1 ? div(result, scalar(broadcastFactor)) : result; + } + } + if (reduction === Reduction.SUM_BY_NONZERO_WEIGHTS) { + if ($weights == null) { + return div(sum2(weightedLoss), scalar($losses.size)); + } else { + const broadcastedWeights = mul($weights, ones2($losses.shape)); + const numNonZeros = cast(sum2(notEqual(broadcastedWeights, scalar(0))), "float32"); + return div(sum2(weightedLoss), numNonZeros); + } + } + throw Error(`Unknown reduction: ${reduction}`); +} +const computeWeightedLoss = op({computeWeightedLoss_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/absolute_difference.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function absoluteDifference_(labels, predictions, weights, reduction = Reduction.SUM_BY_NONZERO_WEIGHTS) { + const $labels = convertToTensor(labels, "labels", "absoluteDifference"); + const $predictions = convertToTensor(predictions, "predictions", "absoluteDifference"); + let $weights = null; + if (weights != null) { + $weights = convertToTensor(weights, "weights", "absoluteDifference"); + } + assertShapesMatch($labels.shape, $predictions.shape, "Error in absoluteDifference: "); + const losses2 = abs(sub($labels, $predictions)); + return computeWeightedLoss(losses2, $weights, reduction); +} +const absoluteDifference = op({absoluteDifference_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/cosine_distance.js +function cosineDistance_(labels, predictions, axis, weights, reduction = Reduction.SUM_BY_NONZERO_WEIGHTS) { + const $labels = convertToTensor(labels, "labels", "cosineDistance"); + const $predictions = convertToTensor(predictions, "predictions", "cosineDistance"); + let $weights = null; + if (weights != null) { + $weights = convertToTensor(weights, "weights", "cosineDistance"); + } + assertShapesMatch($labels.shape, $predictions.shape, "Error in cosineDistance: "); + const one = scalar(1); + const losses2 = sub(one, sum2(mul($labels, $predictions), axis, true)); + return computeWeightedLoss(losses2, $weights, reduction); +} +const cosineDistance = op({cosineDistance_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/hinge_loss.js +function hingeLoss_(labels, predictions, weights, reduction = Reduction.SUM_BY_NONZERO_WEIGHTS) { + let $labels = convertToTensor(labels, "labels", "hingeLoss"); + const $predictions = convertToTensor(predictions, "predictions", "hingeLoss"); + let $weights = null; + if (weights != null) { + $weights = convertToTensor(weights, "weights", "hingeLoss"); + } + assertShapesMatch($labels.shape, $predictions.shape, "Error in hingeLoss: "); + const one = scalar(1); + $labels = sub(mul(scalar(2), $labels), one); + const losses2 = relu(sub(one, mul($labels, $predictions))); + return computeWeightedLoss(losses2, $weights, reduction); +} +const hingeLoss = op({hingeLoss_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/huber_loss.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function huberLoss_(labels, predictions, weights, delta = 1, reduction = Reduction.SUM_BY_NONZERO_WEIGHTS) { + const $labels = convertToTensor(labels, "labels", "huberLoss"); + const $predictions = convertToTensor(predictions, "predictions", "huberLoss"); + let $weights = null; + if (weights != null) { + $weights = convertToTensor(weights, "weights", "huberLoss"); + } + assertShapesMatch($labels.shape, $predictions.shape, "Error in huberLoss: "); + const deltaScalar = scalar(delta); + const error = abs(sub($predictions, $labels)); + const quadratic = minimum(error, deltaScalar); + const linear = sub(error, quadratic); + const losses2 = add2(mul(scalar(0.5), square(quadratic)), mul(deltaScalar, linear)); + return computeWeightedLoss(losses2, $weights, reduction); +} +const huberLoss = op({huberLoss_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/log_loss.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function logLoss_(labels, predictions, weights, epsilon2 = 1e-7, reduction = Reduction.SUM_BY_NONZERO_WEIGHTS) { + const $labels = convertToTensor(labels, "labels", "logLoss"); + const $predictions = convertToTensor(predictions, "predictions", "logLoss"); + let $weights = null; + if (weights != null) { + $weights = convertToTensor(weights, "weights", "logLoss"); + } + assertShapesMatch($labels.shape, $predictions.shape, "Error in logLoss: "); + const one = scalar(1); + const epsilonScalar = scalar(epsilon2); + const l1 = neg(mul($labels, log(add2($predictions, epsilonScalar)))); + const l2 = mul(sub(one, $labels), log(add2(sub(one, $predictions), epsilonScalar))); + const losses2 = sub(l1, l2); + return computeWeightedLoss(losses2, $weights, reduction); +} +const logLoss = op({logLoss_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/mean_squared_error.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function meanSquaredError_(labels, predictions, weights, reduction = Reduction.SUM_BY_NONZERO_WEIGHTS) { + const $labels = convertToTensor(labels, "labels", "meanSquaredError"); + const $predictions = convertToTensor(predictions, "predictions", "meanSquaredError"); + let $weights = null; + if (weights != null) { + $weights = convertToTensor(weights, "weights", "meanSquaredError"); + } + assertShapesMatch($labels.shape, $predictions.shape, "Error in meanSquaredError: "); + const losses2 = squaredDifference($labels, $predictions); + return computeWeightedLoss(losses2, $weights, reduction); +} +const meanSquaredError = op({meanSquaredError_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/sigmoid_cross_entropy.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function sigmoidCrossEntropyWithLogits_(labels, logits) { + const $labels = convertToTensor(labels, "labels", "sigmoidCrossEntropyWithLogits"); + const $logits = convertToTensor(logits, "logits", "sigmoidCrossEntropyWithLogits"); + assertShapesMatch($labels.shape, $logits.shape, "Error in sigmoidCrossEntropyWithLogits: "); + const maxOutput = relu($logits); + const outputXTarget = mul($logits, $labels); + const sigmoidOutput = log1p(exp(neg(abs($logits)))); + return add2(sub(maxOutput, outputXTarget), sigmoidOutput); +} +function sigmoidCrossEntropy_(multiClassLabels, logits, weights, labelSmoothing = 0, reduction = Reduction.SUM_BY_NONZERO_WEIGHTS) { + let $multiClassLabels = convertToTensor(multiClassLabels, "multiClassLabels", "sigmoidCrossEntropy"); + const $logits = convertToTensor(logits, "logits", "sigmoidCrossEntropy"); + let $weights = null; + if (weights != null) { + $weights = convertToTensor(weights, "weights", "sigmoidCrossEntropy"); + } + assertShapesMatch($multiClassLabels.shape, $logits.shape, "Error in sigmoidCrossEntropy: "); + if (labelSmoothing > 0) { + const labelSmoothingScalar = scalar(labelSmoothing); + const one = scalar(1); + const half = scalar(0.5); + $multiClassLabels = add2(mul($multiClassLabels, sub(one, labelSmoothingScalar)), mul(half, labelSmoothingScalar)); + } + const losses2 = sigmoidCrossEntropyWithLogits_($multiClassLabels, $logits); + return computeWeightedLoss(losses2, $weights, reduction); +} +const sigmoidCrossEntropy = op({sigmoidCrossEntropy_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/softmax_cross_entropy.js +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function softmaxCrossEntropyWithLogits_(labels, logits, dim = -1) { + if (dim === -1) { + dim = logits.rank - 1; + } + if (dim !== logits.rank - 1) { + throw Error(`Softmax cross entropy along a non-last dimension is not yet supported. Labels / logits was rank ${logits.rank} and dim was ${dim}`); + } + const customOp = customGrad((labels2, logits2, save) => { + const keepDims = true; + const lse = logSumExp(logits2, [dim], keepDims); + const logResult = sub(cast(logits2, "float32"), lse); + save([labels2, logResult]); + const costVector = neg(mul(logResult, labels2)); + const value = sum2(costVector, [dim]); + const gradFunc = (dy, saved) => { + const [labels3, logResult2] = saved; + const dyShape = expandShapeToKeepDim(dy.shape, [dim]); + return [ + mul(reshape(dy, dyShape), sub(cast(labels3, "float32"), exp(logResult2))), + mul(reshape(dy, dyShape), sub(exp(logResult2), cast(labels3, "float32"))) + ]; + }; + return {value, gradFunc}; + }); + return customOp(labels, logits); +} +function softmaxCrossEntropy_(onehotLabels, logits, weights, labelSmoothing = 0, reduction = Reduction.SUM_BY_NONZERO_WEIGHTS) { + let $onehotLabels = convertToTensor(onehotLabels, "onehotLabels", "softmaxCrossEntropy"); + const $logits = convertToTensor(logits, "logits", "softmaxCrossEntropy"); + let $weights = null; + if (weights != null) { + $weights = convertToTensor(weights, "weights", "softmaxCrossEntropy"); + } + assertShapesMatch($onehotLabels.shape, $logits.shape, "Error in softmaxCrossEntropy: "); + if (labelSmoothing > 0) { + const labelSmoothingScalar = scalar(labelSmoothing); + const one = scalar(1); + const numClasses = scalar($onehotLabels.shape[1]); + $onehotLabels = add2(mul($onehotLabels, sub(one, labelSmoothingScalar)), div(labelSmoothingScalar, numClasses)); + } + const losses2 = softmaxCrossEntropyWithLogits_($onehotLabels, $logits); + return computeWeightedLoss(losses2, $weights, reduction); +} +const softmaxCrossEntropy = op({softmaxCrossEntropy_}); + +// node_modules/@tensorflow/tfjs-core/dist/ops/ops.js +const ops_exports = {}; +__export(ops_exports, { + abs: () => abs, + acos: () => acos, + acosh: () => acosh, + add: () => add2, + addN: () => addN, + addStrict: () => addStrict, + all: () => all, + any: () => any, + argMax: () => argMax, + argMin: () => argMin, + asin: () => asin, + asinh: () => asinh, + atan: () => atan, + atan2: () => atan2, + atanh: () => atanh, + avgPool: () => avgPool, + avgPool3d: () => avgPool3d, + basicLSTMCell: () => basicLSTMCell, + batchNorm: () => batchNorm, + batchNorm2d: () => batchNorm2d, + batchNorm3d: () => batchNorm3d, + batchNorm4d: () => batchNorm4d, + batchToSpaceND: () => batchToSpaceND, + booleanMaskAsync: () => booleanMaskAsync, + broadcastTo: () => broadcastTo, + buffer: () => buffer, + cast: () => cast, + ceil: () => ceil, + clipByValue: () => clipByValue, + clone: () => clone, + complex: () => complex, + concat: () => concat, + concat1d: () => concat1d, + concat2d: () => concat2d, + concat3d: () => concat3d, + concat4d: () => concat4d, + conv1d: () => conv1d, + conv2d: () => conv2d, + conv2dTranspose: () => conv2dTranspose, + conv3d: () => conv3d, + conv3dTranspose: () => conv3dTranspose, + cos: () => cos, + cosh: () => cosh, + cosineWindow: () => cosineWindow, + cumsum: () => cumsum, + depthToSpace: () => depthToSpace, + depthwiseConv2d: () => depthwiseConv2d, + diag: () => diag, + dilation2d: () => dilation2d, + div: () => div, + divNoNan: () => divNoNan, + divStrict: () => divStrict, + dot: () => dot, + dropout: () => dropout, + elu: () => elu, + enclosingPowerOfTwo: () => enclosingPowerOfTwo, + equal: () => equal, + equalStrict: () => equalStrict, + erf: () => erf, + exp: () => exp, + expandDims: () => expandDims, + expm1: () => expm1, + eye: () => eye, + fft: () => fft, + fill: () => fill, + floor: () => floor, + floorDiv: () => floorDiv, + fused: () => fused_ops_exports, + gather: () => gather, + gatherND: () => gatherND, + greater: () => greater, + greaterEqual: () => greaterEqual, + greaterEqualStrict: () => greaterEqualStrict, + greaterStrict: () => greaterStrict, + ifft: () => ifft, + imag: () => imag, + image: () => image, + inTopKAsync: () => inTopKAsync, + irfft: () => irfft, + isFinite: () => isFinite2, + isInf: () => isInf, + isNaN: () => isNaN2, + leakyRelu: () => leakyRelu, + less: () => less, + lessEqual: () => lessEqual, + lessEqualStrict: () => lessEqualStrict, + lessStrict: () => lessStrict, + linalg: () => linalg, + linspace: () => linspace, + localResponseNormalization: () => localResponseNormalization, + log: () => log, + log1p: () => log1p, + logSigmoid: () => logSigmoid, + logSoftmax: () => logSoftmax, + logSumExp: () => logSumExp, + logicalAnd: () => logicalAnd, + logicalNot: () => logicalNot, + logicalOr: () => logicalOr, + logicalXor: () => logicalXor, + losses: () => losses, + matMul: () => matMul, + max: () => max, + maxPool: () => maxPool, + maxPool3d: () => maxPool3d, + maxPoolWithArgmax: () => maxPoolWithArgmax, + maximum: () => maximum, + maximumStrict: () => maximumStrict, + mean: () => mean, + min: () => min, + minimum: () => minimum, + minimumStrict: () => minimumStrict, + mod: () => mod, + modStrict: () => modStrict, + moments: () => moments, + movingAverage: () => movingAverage, + mul: () => mul, + mulStrict: () => mulStrict, + multiRNNCell: () => multiRNNCell, + multinomial: () => multinomial, + neg: () => neg, + norm: () => norm, + notEqual: () => notEqual, + notEqualStrict: () => notEqualStrict, + oneHot: () => oneHot, + ones: () => ones2, + onesLike: () => onesLike, + op: () => op, + outerProduct: () => outerProduct, + pad: () => pad, + pad1d: () => pad1d, + pad2d: () => pad2d, + pad3d: () => pad3d, + pad4d: () => pad4d, + pool: () => pool, + pow: () => pow, + powStrict: () => powStrict, + prelu: () => prelu, + print: () => print, + prod: () => prod, + rand: () => rand, + randomGamma: () => randomGamma, + randomNormal: () => randomNormal, + randomUniform: () => randomUniform, + range: () => range, + real: () => real, + reciprocal: () => reciprocal, + relu: () => relu, + relu6: () => relu6, + reshape: () => reshape, + reverse: () => reverse, + reverse1d: () => reverse1d, + reverse2d: () => reverse2d, + reverse3d: () => reverse3d, + reverse4d: () => reverse4d, + rfft: () => rfft, + round: () => round, + rsqrt: () => rsqrt, + scalar: () => scalar, + scatterND: () => scatterND, + selu: () => selu, + separableConv2d: () => separableConv2d, + setdiff1dAsync: () => setdiff1dAsync, + sigmoid: () => sigmoid, + sign: () => sign, + signal: () => signal, + sin: () => sin, + sinh: () => sinh, + slice: () => slice, + slice1d: () => slice1d, + slice2d: () => slice2d, + slice3d: () => slice3d, + slice4d: () => slice4d, + softmax: () => softmax, + softplus: () => softplus, + spaceToBatchND: () => spaceToBatchND, + sparseToDense: () => sparseToDense, + spectral: () => spectral, + split: () => split, + sqrt: () => sqrt, + square: () => square, + squaredDifference: () => squaredDifference, + squaredDifferenceStrict: () => squaredDifferenceStrict, + squeeze: () => squeeze, + stack: () => stack, + step: () => step, + stridedSlice: () => stridedSlice, + sub: () => sub, + subStrict: () => subStrict, + sum: () => sum2, + tan: () => tan, + tanh: () => tanh2, + tensor: () => tensor5, + tensor1d: () => tensor1d, + tensor2d: () => tensor2d, + tensor3d: () => tensor3d, + tensor4d: () => tensor4d, + tensor5d: () => tensor5d, + tensor6d: () => tensor6d, + tile: () => tile, + topk: () => topk, + transpose: () => transpose, + truncatedNormal: () => truncatedNormal, + unsortedSegmentSum: () => unsortedSegmentSum, + unstack: () => unstack, + variable: () => variable, + where: () => where, + whereAsync: () => whereAsync, + zeros: () => zeros, + zerosLike: () => zerosLike +}); +/** + * @license + * Copyright 2020 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +const spectral = { + fft, + ifft, + rfft, + irfft +}; +const signal = { + hammingWindow, + hannWindow, + frame, + stft +}; +const image = { + flipLeftRight, + resizeNearestNeighbor, + resizeBilinear, + rotateWithOffset, + cropAndResize, + nonMaxSuppression, + nonMaxSuppressionAsync, + nonMaxSuppressionWithScore, + nonMaxSuppressionWithScoreAsync, + nonMaxSuppressionPadded, + nonMaxSuppressionPaddedAsync +}; +const linalg = { + bandPart, + gramSchmidt, + qr +}; +const losses = { + absoluteDifference, + computeWeightedLoss, + cosineDistance, + hingeLoss, + huberLoss, + logLoss, + meanSquaredError, + sigmoidCrossEntropy, + softmaxCrossEntropy +}; + +// node_modules/@tensorflow/tfjs-core/dist/base_side_effects.js +/** + * @license + * Copyright 2020 Google Inc. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +setOpHandler(ops_exports); + +// node_modules/@tensorflow/tfjs-core/dist/io/types.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +const DTYPE_VALUE_SIZE_MAP = { + float32: 4, + float16: 2, + int32: 4, + uint16: 2, + uint8: 1, + bool: 1, + complex64: 8 +}; + +// node_modules/@tensorflow/tfjs-core/dist/io/io_utils.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +const NUM_BYTES_STRING_LENGTH = 4; +async function encodeWeights(tensors, group) { + const specs = []; + const dataPromises = []; + const names = Array.isArray(tensors) ? tensors.map((tensor17) => tensor17.name) : Object.keys(tensors); + for (let i = 0; i < names.length; ++i) { + const name = names[i]; + const t = Array.isArray(tensors) ? tensors[i].tensor : tensors[name]; + if (t.dtype !== "float32" && t.dtype !== "int32" && t.dtype !== "bool" && t.dtype !== "string" && t.dtype !== "complex64") { + throw new Error(`Unsupported dtype in weight '${name}': ${t.dtype}`); + } + const spec = {name, shape: t.shape, dtype: t.dtype}; + if (t.dtype === "string") { + const utf8bytes = new Promise(async (resolve) => { + const vals = await t.bytes(); + const totalNumBytes = vals.reduce((p, c) => p + c.length, 0) + NUM_BYTES_STRING_LENGTH * vals.length; + const bytes = new Uint8Array(totalNumBytes); + let offset = 0; + for (let i2 = 0; i2 < vals.length; i2++) { + const val = vals[i2]; + const bytesOfLength = new Uint8Array(new Uint32Array([val.length]).buffer); + bytes.set(bytesOfLength, offset); + offset += NUM_BYTES_STRING_LENGTH; + bytes.set(val, offset); + offset += val.length; + } + resolve(bytes); + }); + dataPromises.push(utf8bytes); + } else { + dataPromises.push(t.data()); + } + if (group != null) { + spec.group = group; + } + specs.push(spec); + } + const tensorValues = await Promise.all(dataPromises); + return {data: concatenateTypedArrays(tensorValues), specs}; +} +function decodeWeights(buffer10, specs) { + const out = {}; + let float16Decode; + let offset = 0; + for (const spec of specs) { + const name = spec.name; + const dtype = spec.dtype; + const shape = spec.shape; + const size = sizeFromShape(shape); + let values; + if ("quantization" in spec) { + const quantization = spec.quantization; + if (quantization.dtype === "uint8" || quantization.dtype === "uint16") { + if (!("min" in quantization && "scale" in quantization)) { + throw new Error(`Weight ${spec.name} with quantization ${quantization.dtype} doesn't have corresponding metadata min and scale.`); + } + } else if (quantization.dtype === "float16") { + if (dtype !== "float32") { + throw new Error(`Weight ${spec.name} is quantized with ${quantization.dtype} which only supports weights of type float32 not ${dtype}.`); + } + } else { + throw new Error(`Weight ${spec.name} has unknown quantization dtype ${quantization.dtype}. Supported quantization dtypes are: 'uint8', 'uint16', and 'float16'.`); + } + const quantizationSizeFactor = DTYPE_VALUE_SIZE_MAP[quantization.dtype]; + const byteBuffer = buffer10.slice(offset, offset + size * quantizationSizeFactor); + const quantizedArray = quantization.dtype === "uint8" ? new Uint8Array(byteBuffer) : new Uint16Array(byteBuffer); + if (dtype === "float32") { + if (quantization.dtype === "uint8" || quantization.dtype === "uint16") { + values = new Float32Array(quantizedArray.length); + for (let i = 0; i < quantizedArray.length; i++) { + const v = quantizedArray[i]; + values[i] = v * quantization.scale + quantization.min; + } + } else if (quantization.dtype === "float16") { + if (float16Decode === void 0) { + float16Decode = getFloat16Decoder(); + } + values = float16Decode(quantizedArray); + } else { + throw new Error(`Unsupported quantization type ${quantization.dtype} for weight type float32.`); + } + } else if (dtype === "int32") { + if (quantization.dtype !== "uint8" && quantization.dtype !== "uint16") { + throw new Error(`Unsupported quantization type ${quantization.dtype} for weight type int32.`); + } + values = new Int32Array(quantizedArray.length); + for (let i = 0; i < quantizedArray.length; i++) { + const v = quantizedArray[i]; + values[i] = Math.round(v * quantization.scale + quantization.min); + } + } else { + throw new Error(`Unsupported dtype in weight '${name}': ${dtype}`); + } + offset += size * quantizationSizeFactor; + } else if (dtype === "string") { + const size2 = sizeFromShape(spec.shape); + values = []; + for (let i = 0; i < size2; i++) { + const byteLength = new Uint32Array(buffer10.slice(offset, offset + NUM_BYTES_STRING_LENGTH))[0]; + offset += NUM_BYTES_STRING_LENGTH; + const bytes = new Uint8Array(buffer10.slice(offset, offset + byteLength)); + values.push(bytes); + offset += byteLength; + } + } else { + const dtypeFactor = DTYPE_VALUE_SIZE_MAP[dtype]; + const byteBuffer = buffer10.slice(offset, offset + size * dtypeFactor); + if (dtype === "float32") { + values = new Float32Array(byteBuffer); + } else if (dtype === "int32") { + values = new Int32Array(byteBuffer); + } else if (dtype === "bool") { + values = new Uint8Array(byteBuffer); + } else if (dtype === "complex64") { + values = new Float32Array(byteBuffer); + const real6 = new Float32Array(values.length / 2); + const image2 = new Float32Array(values.length / 2); + for (let i = 0; i < real6.length; i++) { + real6[i] = values[i * 2]; + image2[i] = values[i * 2 + 1]; + } + const realTensor = tensor5(real6, shape, "float32"); + const imageTensor = tensor5(image2, shape, "float32"); + out[name] = complex(realTensor, imageTensor); + } else { + throw new Error(`Unsupported dtype in weight '${name}': ${dtype}`); + } + offset += size * dtypeFactor; + } + if (dtype !== "complex64") { + out[name] = tensor5(values, shape, dtype); + } + } + return out; +} +function concatenateTypedArrays(xs) { + if (xs === null) { + throw new Error(`Invalid input value: ${JSON.stringify(xs)}`); + } + let totalByteLength = 0; + const normalizedXs = []; + xs.forEach((x) => { + totalByteLength += x.byteLength; + normalizedXs.push(x.byteLength === x.buffer.byteLength ? x : new x.constructor(x)); + if (!(x instanceof Float32Array || x instanceof Int32Array || x instanceof Uint8Array)) { + throw new Error(`Unsupported TypedArray subtype: ${x.constructor.name}`); + } + }); + const y = new Uint8Array(totalByteLength); + let offset = 0; + normalizedXs.forEach((x) => { + y.set(new Uint8Array(x.buffer), offset); + offset += x.byteLength; + }); + return y.buffer; +} +const useNodeBuffer = typeof Buffer !== "undefined" && (typeof Blob === "undefined" || typeof atob === "undefined" || typeof btoa === "undefined"); +function stringByteLength(str) { + if (useNodeBuffer) { + return Buffer.byteLength(str); + } + return new Blob([str]).size; +} +function concatenateArrayBuffers(buffers) { + if (buffers.length === 1) { + return buffers[0]; + } + let totalByteLength = 0; + buffers.forEach((buffer10) => { + totalByteLength += buffer10.byteLength; + }); + const temp = new Uint8Array(totalByteLength); + let offset = 0; + buffers.forEach((buffer10) => { + temp.set(new Uint8Array(buffer10), offset); + offset += buffer10.byteLength; + }); + return temp.buffer; +} +function basename(path) { + const SEPARATOR = "/"; + path = path.trim(); + while (path.endsWith(SEPARATOR)) { + path = path.slice(0, path.length - 1); + } + const items = path.split(SEPARATOR); + return items[items.length - 1]; +} +function getModelArtifactsInfoForJSON(modelArtifacts) { + if (modelArtifacts.modelTopology instanceof ArrayBuffer) { + throw new Error("Expected JSON model topology, received ArrayBuffer."); + } + return { + dateSaved: new Date(), + modelTopologyType: "JSON", + modelTopologyBytes: modelArtifacts.modelTopology == null ? 0 : stringByteLength(JSON.stringify(modelArtifacts.modelTopology)), + weightSpecsBytes: modelArtifacts.weightSpecs == null ? 0 : stringByteLength(JSON.stringify(modelArtifacts.weightSpecs)), + weightDataBytes: modelArtifacts.weightData == null ? 0 : modelArtifacts.weightData.byteLength + }; +} +function computeFloat16MantisaTable() { + const convertMantissa = (i) => { + let m = i << 13; + let e = 0; + while ((m & 8388608) === 0) { + e -= 8388608; + m <<= 1; + } + m &= ~8388608; + e += 947912704; + return m | e; + }; + const mantisaTable = new Uint32Array(2048); + mantisaTable[0] = 0; + for (let i = 1; i < 1024; i++) { + mantisaTable[i] = convertMantissa(i); + } + for (let i = 1024; i < 2048; i++) { + mantisaTable[i] = 939524096 + (i - 1024 << 13); + } + return mantisaTable; +} +function computeFloat16ExponentTable() { + const exponentTable = new Uint32Array(64); + exponentTable[0] = 0; + exponentTable[31] = 1199570944; + exponentTable[32] = 2147483648; + exponentTable[63] = 3347054592; + for (let i = 1; i < 31; i++) { + exponentTable[i] = i << 23; + } + for (let i = 33; i < 63; i++) { + exponentTable[i] = 2147483648 + (i - 32 << 23); + } + return exponentTable; +} +function computeFloat16OffsetTable() { + const offsetTable = new Uint32Array(64); + for (let i = 0; i < 64; i++) { + offsetTable[i] = 1024; + } + offsetTable[0] = offsetTable[32] = 0; + return offsetTable; +} +function getFloat16Decoder() { + const mantisaTable = computeFloat16MantisaTable(); + const exponentTable = computeFloat16ExponentTable(); + const offsetTable = computeFloat16OffsetTable(); + return (quantizedArray) => { + const buffer10 = new ArrayBuffer(4 * quantizedArray.length); + const bufferUint32View = new Uint32Array(buffer10); + for (let index = 0; index < quantizedArray.length; index++) { + const float16Bits = quantizedArray[index]; + const float32Bits = mantisaTable[offsetTable[float16Bits >> 10] + (float16Bits & 1023)] + exponentTable[float16Bits >> 10]; + bufferUint32View[index] = float32Bits; + } + return new Float32Array(buffer10); + }; +} + +// node_modules/@tensorflow/tfjs-core/dist/io/router_registry.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +class IORouterRegistry { + constructor() { + this.saveRouters = []; + this.loadRouters = []; + } + static getInstance() { + if (IORouterRegistry.instance == null) { + IORouterRegistry.instance = new IORouterRegistry(); + } + return IORouterRegistry.instance; + } + static registerSaveRouter(saveRouter) { + IORouterRegistry.getInstance().saveRouters.push(saveRouter); + } + static registerLoadRouter(loadRouter) { + IORouterRegistry.getInstance().loadRouters.push(loadRouter); + } + static getSaveHandlers(url) { + return IORouterRegistry.getHandlers(url, "save"); + } + static getLoadHandlers(url, loadOptions) { + return IORouterRegistry.getHandlers(url, "load", loadOptions); + } + static getHandlers(url, handlerType, loadOptions) { + const validHandlers = []; + const routers = handlerType === "load" ? IORouterRegistry.getInstance().loadRouters : IORouterRegistry.getInstance().saveRouters; + routers.forEach((router) => { + const handler = router(url, loadOptions); + if (handler !== null) { + validHandlers.push(handler); + } + }); + return validHandlers; + } +} +const registerSaveRouter = (loudRouter) => IORouterRegistry.registerSaveRouter(loudRouter); +const registerLoadRouter = (loudRouter) => IORouterRegistry.registerLoadRouter(loudRouter); +const getSaveHandlers = (url) => IORouterRegistry.getSaveHandlers(url); +const getLoadHandlers = (url, loadOptions) => IORouterRegistry.getLoadHandlers(url, loadOptions); + +// node_modules/@tensorflow/tfjs-core/dist/io/model_management.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +const URL_SCHEME_SUFFIX = "://"; +class ModelStoreManagerRegistry { + constructor() { + this.managers = {}; + } + static getInstance() { + if (ModelStoreManagerRegistry.instance == null) { + ModelStoreManagerRegistry.instance = new ModelStoreManagerRegistry(); + } + return ModelStoreManagerRegistry.instance; + } + static registerManager(scheme, manager) { + assert(scheme != null, () => "scheme must not be undefined or null."); + if (scheme.endsWith(URL_SCHEME_SUFFIX)) { + scheme = scheme.slice(0, scheme.indexOf(URL_SCHEME_SUFFIX)); + } + assert(scheme.length > 0, () => "scheme must not be an empty string."); + const registry = ModelStoreManagerRegistry.getInstance(); + assert(registry.managers[scheme] == null, () => `A model store manager is already registered for scheme '${scheme}'.`); + registry.managers[scheme] = manager; + } + static getManager(scheme) { + const manager = this.getInstance().managers[scheme]; + if (manager == null) { + throw new Error(`Cannot find model manager for scheme '${scheme}'`); + } + return manager; + } + static getSchemes() { + return Object.keys(this.getInstance().managers); + } +} +function parseURL(url) { + if (url.indexOf(URL_SCHEME_SUFFIX) === -1) { + throw new Error(`The url string provided does not contain a scheme. Supported schemes are: ${ModelStoreManagerRegistry.getSchemes().join(",")}`); + } + return { + scheme: url.split(URL_SCHEME_SUFFIX)[0], + path: url.split(URL_SCHEME_SUFFIX)[1] + }; +} +async function cloneModelInternal(sourceURL, destURL, deleteSource = false) { + assert(sourceURL !== destURL, () => `Old path and new path are the same: '${sourceURL}'`); + const loadHandlers = IORouterRegistry.getLoadHandlers(sourceURL); + assert(loadHandlers.length > 0, () => `Copying failed because no load handler is found for source URL ${sourceURL}.`); + assert(loadHandlers.length < 2, () => `Copying failed because more than one (${loadHandlers.length}) load handlers for source URL ${sourceURL}.`); + const loadHandler = loadHandlers[0]; + const saveHandlers = IORouterRegistry.getSaveHandlers(destURL); + assert(saveHandlers.length > 0, () => `Copying failed because no save handler is found for destination URL ${destURL}.`); + assert(saveHandlers.length < 2, () => `Copying failed because more than one (${loadHandlers.length}) save handlers for destination URL ${destURL}.`); + const saveHandler = saveHandlers[0]; + const sourceScheme = parseURL(sourceURL).scheme; + const sourcePath = parseURL(sourceURL).path; + const sameMedium = sourceScheme === parseURL(sourceURL).scheme; + const modelArtifacts = await loadHandler.load(); + if (deleteSource && sameMedium) { + await ModelStoreManagerRegistry.getManager(sourceScheme).removeModel(sourcePath); + } + const saveResult = await saveHandler.save(modelArtifacts); + if (deleteSource && !sameMedium) { + await ModelStoreManagerRegistry.getManager(sourceScheme).removeModel(sourcePath); + } + return saveResult.modelArtifactsInfo; +} +async function listModels() { + const schemes = ModelStoreManagerRegistry.getSchemes(); + const out = {}; + for (const scheme of schemes) { + const schemeOut = await ModelStoreManagerRegistry.getManager(scheme).listModels(); + for (const path in schemeOut) { + const url = scheme + URL_SCHEME_SUFFIX + path; + out[url] = schemeOut[path]; + } + } + return out; +} +async function removeModel(url) { + const schemeAndPath = parseURL(url); + const manager = ModelStoreManagerRegistry.getManager(schemeAndPath.scheme); + return manager.removeModel(schemeAndPath.path); +} +async function copyModel(sourceURL, destURL) { + const deleteSource = false; + return cloneModelInternal(sourceURL, destURL, deleteSource); +} +async function moveModel(sourceURL, destURL) { + const deleteSource = true; + return cloneModelInternal(sourceURL, destURL, deleteSource); +} + +// node_modules/@tensorflow/tfjs-core/dist/io/browser_files.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +const DEFAULT_FILE_NAME_PREFIX = "model"; +const DEFAULT_JSON_EXTENSION_NAME = ".json"; +const DEFAULT_WEIGHT_DATA_EXTENSION_NAME = ".weights.bin"; +function defer(f) { + return new Promise((resolve) => setTimeout(resolve)).then(f); +} +class BrowserDownloads { + constructor(fileNamePrefix) { + if (!env().getBool("IS_BROWSER")) { + throw new Error("browserDownloads() cannot proceed because the current environment is not a browser."); + } + if (fileNamePrefix.startsWith(BrowserDownloads.URL_SCHEME)) { + fileNamePrefix = fileNamePrefix.slice(BrowserDownloads.URL_SCHEME.length); + } + if (fileNamePrefix == null || fileNamePrefix.length === 0) { + fileNamePrefix = DEFAULT_FILE_NAME_PREFIX; + } + this.modelTopologyFileName = fileNamePrefix + DEFAULT_JSON_EXTENSION_NAME; + this.weightDataFileName = fileNamePrefix + DEFAULT_WEIGHT_DATA_EXTENSION_NAME; + } + async save(modelArtifacts) { + if (typeof document === "undefined") { + throw new Error("Browser downloads are not supported in this environment since `document` is not present"); + } + const weightsURL = window.URL.createObjectURL(new Blob([modelArtifacts.weightData], {type: "application/octet-stream"})); + if (modelArtifacts.modelTopology instanceof ArrayBuffer) { + throw new Error("BrowserDownloads.save() does not support saving model topology in binary formats yet."); + } else { + const weightsManifest = [{ + paths: ["./" + this.weightDataFileName], + weights: modelArtifacts.weightSpecs + }]; + const modelTopologyAndWeightManifest = { + modelTopology: modelArtifacts.modelTopology, + format: modelArtifacts.format, + generatedBy: modelArtifacts.generatedBy, + convertedBy: modelArtifacts.convertedBy, + weightsManifest + }; + const modelTopologyAndWeightManifestURL = window.URL.createObjectURL(new Blob([JSON.stringify(modelTopologyAndWeightManifest)], {type: "application/json"})); + const jsonAnchor = this.jsonAnchor == null ? document.createElement("a") : this.jsonAnchor; + jsonAnchor.download = this.modelTopologyFileName; + jsonAnchor.href = modelTopologyAndWeightManifestURL; + await defer(() => jsonAnchor.dispatchEvent(new MouseEvent("click"))); + if (modelArtifacts.weightData != null) { + const weightDataAnchor = this.weightDataAnchor == null ? document.createElement("a") : this.weightDataAnchor; + weightDataAnchor.download = this.weightDataFileName; + weightDataAnchor.href = weightsURL; + await defer(() => weightDataAnchor.dispatchEvent(new MouseEvent("click"))); + } + return {modelArtifactsInfo: getModelArtifactsInfoForJSON(modelArtifacts)}; + } + } +} +BrowserDownloads.URL_SCHEME = "downloads://"; +class BrowserFiles { + constructor(files) { + if (files == null || files.length < 1) { + throw new Error(`When calling browserFiles, at least 1 file is required, but received ${files}`); + } + this.files = files; + } + async load() { + const jsonFile = this.files[0]; + const weightFiles = this.files.slice(1); + return new Promise((resolve, reject) => { + const jsonReader = new FileReader(); + jsonReader.onload = (event) => { + const modelJSON = JSON.parse(event.target.result); + const modelTopology = modelJSON.modelTopology; + if (modelTopology == null) { + reject(new Error(`modelTopology field is missing from file ${jsonFile.name}`)); + return; + } + if (weightFiles.length === 0) { + resolve({modelTopology}); + } + const weightsManifest = modelJSON.weightsManifest; + if (weightsManifest == null) { + reject(new Error(`weightManifest field is missing from file ${jsonFile.name}`)); + return; + } + let pathToFile; + try { + pathToFile = this.checkManifestAndWeightFiles(weightsManifest, weightFiles); + } catch (err) { + reject(err); + return; + } + const weightSpecs = []; + const paths = []; + const perFileBuffers = []; + weightsManifest.forEach((weightsGroup) => { + weightsGroup.paths.forEach((path) => { + paths.push(path); + perFileBuffers.push(null); + }); + weightSpecs.push(...weightsGroup.weights); + }); + weightsManifest.forEach((weightsGroup) => { + weightsGroup.paths.forEach((path) => { + const weightFileReader = new FileReader(); + weightFileReader.onload = (event2) => { + const weightData = event2.target.result; + const index = paths.indexOf(path); + perFileBuffers[index] = weightData; + if (perFileBuffers.indexOf(null) === -1) { + resolve({ + modelTopology, + weightSpecs, + weightData: concatenateArrayBuffers(perFileBuffers), + format: modelJSON.format, + generatedBy: modelJSON.generatedBy, + convertedBy: modelJSON.convertedBy, + userDefinedMetadata: modelJSON.userDefinedMetadata + }); + } + }; + weightFileReader.onerror = (error) => reject(`Failed to weights data from file of path '${path}'.`); + weightFileReader.readAsArrayBuffer(pathToFile[path]); + }); + }); + }; + jsonReader.onerror = (error) => reject(`Failed to read model topology and weights manifest JSON from file '${jsonFile.name}'. BrowserFiles supports loading Keras-style tf.Model artifacts only.`); + jsonReader.readAsText(jsonFile); + }); + } + checkManifestAndWeightFiles(manifest, files) { + const basenames = []; + const fileNames = files.map((file) => basename(file.name)); + const pathToFile = {}; + for (const group of manifest) { + group.paths.forEach((path) => { + const pathBasename = basename(path); + if (basenames.indexOf(pathBasename) !== -1) { + throw new Error(`Duplicate file basename found in weights manifest: '${pathBasename}'`); + } + basenames.push(pathBasename); + if (fileNames.indexOf(pathBasename) === -1) { + throw new Error(`Weight file with basename '${pathBasename}' is not provided.`); + } else { + pathToFile[path] = files[fileNames.indexOf(pathBasename)]; + } + }); + } + if (basenames.length !== files.length) { + throw new Error(`Mismatch in the number of files in weights manifest (${basenames.length}) and the number of weight files provided (${files.length}).`); + } + return pathToFile; + } +} +const browserDownloadsRouter = (url) => { + if (!env().getBool("IS_BROWSER")) { + return null; + } else { + if (!Array.isArray(url) && url.startsWith(BrowserDownloads.URL_SCHEME)) { + return browserDownloads(url.slice(BrowserDownloads.URL_SCHEME.length)); + } else { + return null; + } + } +}; +IORouterRegistry.registerSaveRouter(browserDownloadsRouter); +function browserDownloads(fileNamePrefix = "model") { + return new BrowserDownloads(fileNamePrefix); +} +function browserFiles(files) { + return new BrowserFiles(files); +} + +// node_modules/@tensorflow/tfjs-core/dist/io/progress.js +/** + * @license + * Copyright 2019 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function monitorPromisesProgress(promises, onProgress, startFraction, endFraction) { + checkPromises(promises); + startFraction = startFraction == null ? 0 : startFraction; + endFraction = endFraction == null ? 1 : endFraction; + checkFraction(startFraction, endFraction); + let resolvedPromise = 0; + const registerMonitor = (promise) => { + promise.then((value) => { + const fraction = startFraction + ++resolvedPromise / promises.length * (endFraction - startFraction); + onProgress(fraction); + return value; + }); + return promise; + }; + function checkPromises(promises2) { + assert(promises2 != null && Array.isArray(promises2) && promises2.length > 0, () => "promises must be a none empty array"); + } + function checkFraction(startFraction2, endFraction2) { + assert(startFraction2 >= 0 && startFraction2 <= 1, () => `Progress fraction must be in range [0, 1], but got startFraction ${startFraction2}`); + assert(endFraction2 >= 0 && endFraction2 <= 1, () => `Progress fraction must be in range [0, 1], but got endFraction ${endFraction2}`); + assert(endFraction2 >= startFraction2, () => `startFraction must be no more than endFraction, but got startFraction ${startFraction2} and endFraction ${endFraction2}`); + } + return Promise.all(promises.map(registerMonitor)); +} + +// node_modules/@tensorflow/tfjs-core/dist/io/weights_loader.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +async function loadWeightsAsArrayBuffer(fetchURLs, loadOptions) { + if (loadOptions == null) { + loadOptions = {}; + } + const fetchFunc = loadOptions.fetchFunc == null ? env().platform.fetch : loadOptions.fetchFunc; + const requests = fetchURLs.map((fetchURL) => fetchFunc(fetchURL, loadOptions.requestInit, {isBinary: true})); + const fetchStartFraction = 0; + const fetchEndFraction = 0.5; + const responses = loadOptions.onProgress == null ? await Promise.all(requests) : await monitorPromisesProgress(requests, loadOptions.onProgress, fetchStartFraction, fetchEndFraction); + const bufferPromises = responses.map((response) => response.arrayBuffer()); + const bufferStartFraction = 0.5; + const bufferEndFraction = 1; + const buffers = loadOptions.onProgress == null ? await Promise.all(bufferPromises) : await monitorPromisesProgress(bufferPromises, loadOptions.onProgress, bufferStartFraction, bufferEndFraction); + return buffers; +} +async function loadWeights(manifest, filePathPrefix = "", weightNames, requestInit) { + const fetchWeights = (fetchUrls) => loadWeightsAsArrayBuffer(fetchUrls, {requestInit}); + const loadWeights2 = weightsLoaderFactory(fetchWeights); + return loadWeights2(manifest, filePathPrefix, weightNames); +} +function weightsLoaderFactory(fetchWeightsFunction) { + return async (manifest, filePathPrefix = "", weightNames) => { + const groupIndicesToFetchMap = manifest.map(() => false); + const groupWeightsToFetch = {}; + const weightsFound = weightNames != null ? weightNames.map(() => false) : []; + const allManifestWeightNames = []; + manifest.forEach((manifestGroupConfig, groupIndex) => { + let groupOffset = 0; + manifestGroupConfig.weights.forEach((weightsEntry) => { + const rawDtype = "quantization" in weightsEntry ? weightsEntry.quantization.dtype : weightsEntry.dtype; + const weightsBytes = DTYPE_VALUE_SIZE_MAP[rawDtype] * sizeFromShape(weightsEntry.shape); + const enqueueWeightsForFetchingFn = () => { + groupIndicesToFetchMap[groupIndex] = true; + if (groupWeightsToFetch[groupIndex] == null) { + groupWeightsToFetch[groupIndex] = []; + } + groupWeightsToFetch[groupIndex].push({ + manifestEntry: weightsEntry, + groupOffset, + sizeBytes: weightsBytes + }); + }; + if (weightNames != null) { + weightNames.forEach((weightName, weightIndex) => { + if (weightName === weightsEntry.name) { + enqueueWeightsForFetchingFn(); + weightsFound[weightIndex] = true; + } + }); + } else { + enqueueWeightsForFetchingFn(); + } + allManifestWeightNames.push(weightsEntry.name); + groupOffset += weightsBytes; + }); + }); + if (!weightsFound.every((found) => found)) { + const weightsNotFound = weightNames.filter((_, i) => !weightsFound[i]); + throw new Error(`Could not find weights in manifest with names: ${weightsNotFound.join(", ")}. +Manifest JSON has weights with names: ${allManifestWeightNames.join(", ")}.`); + } + const groupIndicesToFetch = groupIndicesToFetchMap.reduce((accumulator, shouldFetch, i) => { + if (shouldFetch) { + accumulator.push(i); + } + return accumulator; + }, []); + const fetchUrls = []; + groupIndicesToFetch.forEach((i) => { + manifest[i].paths.forEach((filepath) => { + const fetchUrl = filePathPrefix + (!filePathPrefix.endsWith("/") ? "/" : "") + filepath; + fetchUrls.push(fetchUrl); + }); + }); + const buffers = await fetchWeightsFunction(fetchUrls); + const weightsTensorMap = {}; + let bufferIndexOffset = 0; + groupIndicesToFetch.forEach((i) => { + const numBuffers = manifest[i].paths.length; + let groupBytes = 0; + for (let i2 = 0; i2 < numBuffers; i2++) { + groupBytes += buffers[bufferIndexOffset + i2].byteLength; + } + const groupBuffer = new ArrayBuffer(groupBytes); + const groupByteBuffer = new Uint8Array(groupBuffer); + let groupBufferOffset = 0; + for (let i2 = 0; i2 < numBuffers; i2++) { + const buffer10 = new Uint8Array(buffers[bufferIndexOffset + i2]); + groupByteBuffer.set(buffer10, groupBufferOffset); + groupBufferOffset += buffer10.byteLength; + } + const weightsEntries = groupWeightsToFetch[i]; + weightsEntries.forEach((weightsEntry) => { + const byteBuffer = groupBuffer.slice(weightsEntry.groupOffset, weightsEntry.groupOffset + weightsEntry.sizeBytes); + const nameToTensorMap = decodeWeights(byteBuffer, [weightsEntry.manifestEntry]); + for (const name in nameToTensorMap) { + weightsTensorMap[name] = nameToTensorMap[name]; + } + }); + bufferIndexOffset += numBuffers; + }); + return weightsTensorMap; + }; +} + +// node_modules/@tensorflow/tfjs-core/dist/io/http.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +const OCTET_STREAM_MIME_TYPE = "application/octet-stream"; +const JSON_TYPE = "application/json"; +class HTTPRequest { + constructor(path, loadOptions) { + this.DEFAULT_METHOD = "POST"; + if (loadOptions == null) { + loadOptions = {}; + } + this.weightPathPrefix = loadOptions.weightPathPrefix; + this.onProgress = loadOptions.onProgress; + if (loadOptions.fetchFunc != null) { + assert(typeof loadOptions.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 = loadOptions.fetchFunc; + } else { + this.fetch = env().platform.fetch; + } + assert(path != null && path.length > 0, () => "URL path for http must not be null, undefined or empty."); + if (Array.isArray(path)) { + assert(path.length === 2, () => `URL paths for http must have a length of 2, (actual length is ${path.length}).`); + } + this.path = path; + if (loadOptions.requestInit != null && loadOptions.requestInit.body != null) { + throw new Error("requestInit is expected to have no pre-existing body, but has one."); + } + this.requestInit = loadOptions.requestInit || {}; + } + async save(modelArtifacts) { + if (modelArtifacts.modelTopology instanceof ArrayBuffer) { + throw new Error("BrowserHTTPRequest.save() does not support saving model topology in binary formats yet."); + } + const init = Object.assign({method: this.DEFAULT_METHOD}, this.requestInit); + init.body = new FormData(); + const weightsManifest = [{ + paths: ["./model.weights.bin"], + weights: modelArtifacts.weightSpecs + }]; + const modelTopologyAndWeightManifest = { + modelTopology: modelArtifacts.modelTopology, + format: modelArtifacts.format, + generatedBy: modelArtifacts.generatedBy, + convertedBy: modelArtifacts.convertedBy, + userDefinedMetadata: modelArtifacts.userDefinedMetadata, + weightsManifest + }; + init.body.append("model.json", new Blob([JSON.stringify(modelTopologyAndWeightManifest)], {type: JSON_TYPE}), "model.json"); + if (modelArtifacts.weightData != null) { + init.body.append("model.weights.bin", new Blob([modelArtifacts.weightData], {type: OCTET_STREAM_MIME_TYPE}), "model.weights.bin"); + } + const response = await this.fetch(this.path, init); + if (response.ok) { + return { + modelArtifactsInfo: getModelArtifactsInfoForJSON(modelArtifacts), + responses: [response] + }; + } else { + throw new Error(`BrowserHTTPRequest.save() failed due to HTTP response status ${response.status}.`); + } + } + async load() { + const modelConfigRequest = await this.fetch(this.path, this.requestInit); + if (!modelConfigRequest.ok) { + throw new Error(`Request to ${this.path} failed with status code ${modelConfigRequest.status}. Please verify this URL points to the model JSON of the model to load.`); + } + let modelConfig; + try { + modelConfig = await modelConfigRequest.json(); + } catch (e) { + let message = `Failed to parse model JSON of response from ${this.path}.`; + if (this.path.endsWith(".pb")) { + message += " 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."; + } else { + message += " Please make sure the server is serving valid JSON for this request."; + } + throw new Error(message); + } + const modelTopology = modelConfig.modelTopology; + const weightsManifest = modelConfig.weightsManifest; + const generatedBy = modelConfig.generatedBy; + const convertedBy = modelConfig.convertedBy; + const format = modelConfig.format; + const userDefinedMetadata = modelConfig.userDefinedMetadata; + if (modelTopology == null && weightsManifest == null) { + throw new Error(`The JSON from HTTP path ${this.path} contains neither model topology or manifest for weights.`); + } + let weightSpecs; + let weightData; + if (weightsManifest != null) { + const results = await this.loadWeights(weightsManifest); + [weightSpecs, weightData] = results; + } + return { + modelTopology, + weightSpecs, + weightData, + userDefinedMetadata, + generatedBy, + convertedBy, + format + }; + } + async loadWeights(weightsManifest) { + const weightPath = Array.isArray(this.path) ? this.path[1] : this.path; + const [prefix, suffix] = parseUrl(weightPath); + const pathPrefix = this.weightPathPrefix || prefix; + const weightSpecs = []; + for (const entry of weightsManifest) { + weightSpecs.push(...entry.weights); + } + const fetchURLs = []; + weightsManifest.forEach((weightsGroup) => { + weightsGroup.paths.forEach((path) => { + fetchURLs.push(pathPrefix + path + suffix); + }); + }); + const buffers = await loadWeightsAsArrayBuffer(fetchURLs, { + requestInit: this.requestInit, + fetchFunc: this.fetch, + onProgress: this.onProgress + }); + return [weightSpecs, concatenateArrayBuffers(buffers)]; + } +} +HTTPRequest.URL_SCHEME_REGEX = /^https?:\/\//; +function parseUrl(url) { + const lastSlash = url.lastIndexOf("/"); + const lastSearchParam = url.lastIndexOf("?"); + const prefix = url.substring(0, lastSlash); + const suffix = lastSearchParam > lastSlash ? url.substring(lastSearchParam) : ""; + return [prefix + "/", suffix]; +} +function isHTTPScheme(url) { + return url.match(HTTPRequest.URL_SCHEME_REGEX) != null; +} +const httpRouter = (url, loadOptions) => { + if (typeof fetch === "undefined" && (loadOptions == null || loadOptions.fetchFunc == null)) { + return null; + } else { + let isHTTP = true; + if (Array.isArray(url)) { + isHTTP = url.every((urlItem) => isHTTPScheme(urlItem)); + } else { + isHTTP = isHTTPScheme(url); + } + if (isHTTP) { + return http(url, loadOptions); + } + } + return null; +}; +IORouterRegistry.registerSaveRouter(httpRouter); +IORouterRegistry.registerLoadRouter(httpRouter); +function http(path, loadOptions) { + return new HTTPRequest(path, loadOptions); +} +function browserHTTPRequest(path, loadOptions) { + return http(path, loadOptions); +} + +// node_modules/@tensorflow/tfjs-core/dist/io/passthrough.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +class PassthroughLoader { + constructor(modelArtifacts) { + this.modelArtifacts = modelArtifacts; + } + async load() { + return this.modelArtifacts; + } +} +class PassthroughSaver { + constructor(saveHandler) { + this.saveHandler = saveHandler; + } + async save(modelArtifacts) { + return this.saveHandler(modelArtifacts); + } +} +function fromMemory(modelArtifacts, weightSpecs, weightData, trainingConfig) { + if (arguments.length === 1) { + const isModelArtifacts = modelArtifacts.modelTopology != null || modelArtifacts.weightSpecs != null; + if (isModelArtifacts) { + return new PassthroughLoader(modelArtifacts); + } else { + 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."); + return new PassthroughLoader({modelTopology: modelArtifacts}); + } + } else { + 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."); + return new PassthroughLoader({ + modelTopology: modelArtifacts, + weightSpecs, + weightData, + trainingConfig + }); + } +} +function withSaveHandler(saveHandler) { + return new PassthroughSaver(saveHandler); +} + +// node_modules/@tensorflow/tfjs-core/dist/io/io.js +const io_exports = {}; +__export(io_exports, { + browserFiles: () => browserFiles, + browserHTTPRequest: () => browserHTTPRequest, + concatenateArrayBuffers: () => concatenateArrayBuffers, + copyModel: () => copyModel, + decodeWeights: () => decodeWeights, + encodeWeights: () => encodeWeights, + fromMemory: () => fromMemory, + getLoadHandlers: () => getLoadHandlers, + getModelArtifactsInfoForJSON: () => getModelArtifactsInfoForJSON, + getSaveHandlers: () => getSaveHandlers, + http: () => http, + isHTTPScheme: () => isHTTPScheme, + listModels: () => listModels, + loadWeights: () => loadWeights, + moveModel: () => moveModel, + registerLoadRouter: () => registerLoadRouter, + registerSaveRouter: () => registerSaveRouter, + removeModel: () => removeModel, + weightsLoaderFactory: () => weightsLoaderFactory, + withSaveHandler: () => withSaveHandler +}); +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ + +// node_modules/@tensorflow/tfjs-core/dist/ops/confusion_matrix.js +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +function confusionMatrix_(labels, predictions, numClasses) { + const $labels = convertToTensor(labels, "labels", "confusionMatrix"); + const $predictions = convertToTensor(predictions, "predictions", "confusionMatrix"); + assert(numClasses == null || numClasses > 0 && Number.isInteger(numClasses), () => `If provided, numClasses must be a positive integer, but got ${numClasses}`); + assert($labels.rank === 1, () => `Expected the rank of labels to be 1, but got ${$labels.rank}`); + assert($predictions.rank === 1, () => `Expected the rank of predictions to be 1, but got ${$predictions.rank}`); + assert($labels.shape[0] === $predictions.shape[0], () => `Mismatch in the number of examples: ${$labels.shape[0]} vs. ${$predictions.shape[0]}. Labels and predictions should have the same number of elements.`); + assert(numClasses > 0 && Number.isInteger(numClasses), () => `numClasses is required to be a positive integer, but got ${numClasses}`); + const oneHotLabels = oneHot(cast($labels, "int32"), numClasses); + const oneHotPredictions = oneHot(cast($predictions, "int32"), numClasses); + const oneHotLabelsT = transpose(oneHotLabels); + return cast(matMul(oneHotLabelsT, oneHotPredictions), "int32"); +} +const confusionMatrix = op({confusionMatrix_}); + +// node_modules/@tensorflow/tfjs-core/dist/math.js +const math_exports = {}; +__export(math_exports, { + confusionMatrix: () => confusionMatrix +}); +/** + * @license + * Copyright 2018 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ + +// node_modules/@tensorflow/tfjs-core/dist/ops/browser.js +const browser_exports = {}; +__export(browser_exports, { + fromPixels: () => fromPixels, + toPixels: () => toPixels +}); +/** + * @license + * Copyright 2019 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ +let fromPixels2DContext; +function fromPixels_(pixels, numChannels = 3) { + if (numChannels > 4) { + throw new Error("Cannot construct Tensor with more than 4 channels from pixels."); + } + if (pixels == null) { + throw new Error("pixels passed to tf.browser.fromPixels() can not be null"); + } + let isPixelData = false; + let isImageData = false; + let isVideo = false; + let isImage = false; + let isCanvasLike = false; + if (pixels.data instanceof Uint8Array) { + isPixelData = true; + } else if (typeof ImageData !== "undefined" && pixels instanceof ImageData) { + isImageData = true; + } else if (typeof HTMLVideoElement !== "undefined" && pixels instanceof HTMLVideoElement) { + isVideo = true; + } else if (typeof HTMLImageElement !== "undefined" && pixels instanceof HTMLImageElement) { + isImage = true; + } else if (pixels.getContext != null) { + isCanvasLike = true; + } 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 ${pixels.constructor.name}`); + } + if (isVideo) { + const HAVE_CURRENT_DATA_READY_STATE = 2; + if (isVideo && pixels.readyState < HAVE_CURRENT_DATA_READY_STATE) { + throw new Error("The video element has not loaded data yet. Please wait for `loadeddata` event on the