Files
mixly3-server/mixly/boards/default/python_skulpt/__init___d8058b1b.js
2026-01-24 16:13:38 +08:00

1 line
45 KiB
JavaScript

!function(n){"function"==typeof define&&define.amd?define([],n):n()}((function(){"use strict";var n,i,t=Math,e=Number,r=Object.defineProperty,u={sinh:function(n){if(0===n)return n;var i=t.exp(n);return i/2-.5/i},cosh:function(n){var i=t.exp(n);return i/2+.5/i},tanh:function(n){return 0===n?n:n<0?((i=t.exp(2*n))-1)/(i+1):(1-(i=t.exp(-2*n)))/(1+i);var i},asinh:function(n){return n===-1/0?-1/0:t.log(n+t.sqrt(n*n+1))},acosh:function(n){return n>=1?t.log(n+t.sqrt(n*n-1)):NaN},atanh:function(n){return n>=-1&&n<=1?t.log((1+n)/(1-n))/2:NaN},expm1:function(n){return 0===n?n:t.exp(n)-1},log10:function(n){return t.log(n)/t.LN10},log2:function(n){return t.log(n)/t.LN2},log1p:function(n){return 0===n?n:t.log(1+n)},sign:function(n){return isNaN(n)?NaN:n<0?-1:n>0?1:+n},cbrt:function(n){return 0===n?n:n<0?-t.pow(-n,1/3):t.pow(n,1/3)},hypot:function(n,i){for(var e=0,r=0,u=arguments;e<u.length;e++)r+=u[e]*u[e];return t.sqrt(r)},trunc:function(n){return 0===n?n:n<0?t.ceil(n):t.floor(n)},fround:"function"==typeof Float32Array?(i=new Float32Array(1),function(n){return i[0]=n,i[0]}):function(n){return n},clz32:function(n){if(n===-1/0)return 32;if(n<0||(n|=0)<0)return 0;if(!n)return 32;for(var i=31;n>>=1;)i--;return i},imul:function(n,i){return(0|n)*(0|i)|0}},l={isNaN:function(n){return"number"==typeof n&&n!=n},isFinite:function(n){return"number"==typeof n&&n==n&&n!==1/0&&n!==-1/0},isInteger:function(n){return"number"==typeof n&&n!==1/0&&n!==-1/0&&t.floor(n)===n},isSafeInteger:function(n){return"number"==typeof n&&n>-9007199254740992&&n<9007199254740992&&t.floor(n)===n},parseFloat,parseInt},o={EPSILON:2220446049250313e-31,MAX_SAFE_INTEGER:9007199254740991,MIN_SAFE_INTEGER:-9007199254740991};for(n in u)"function"!=typeof t[n]&&(t[n]=u[n]);for(n in l)"function"!=typeof e[n]&&(e[n]=l[n]);try{for(n in r(n={},0,{}),o)n in e||r(e,n,{value:o[n]})}catch(i){for(n in o)n in e||(e[n]=o[n])}}));var $builtinmodule=function(t){var e="numpy.ndarray",r=Number.MAX_SAFE_INTEGER,u=32,l=0,o=1,a=2,s=4,c=1280|o,f=4096,k=function(){this.math=Math};function b(n){return n&&Sk.abstr.typeName(n)===e}function S(n,i){var t,e;for(e=g(n.ao),t=0;t<A(n.ao);++t)e+=i[t]*n.strides[t];return e}function p(n){var i,t;if(!b(n))throw new Error("bad internal call");return t=n,null==(i=Sk.abstr.iter(t))?null:(function(n,i){var t,e;for(t=A(i),n.ao=i,n.size=y(i),n.nd_m1=t-1,n.factors=n.factors||[],n.dims_m1=n.dims_m1||[],n.strides=n.strides||[],n.backstrides=n.backstrides||[],n.bounds=n.bounds||[],n.limits=n.limits||[],n.limits_sizes=n.limits_sizes||[],n.factors[t-1]=1,e=0;e<t;e++)n.dims_m1[e]=N(i)[e]-1,n.strides[e]=$(i)[e],n.backstrides[e]=n.strides[e]*n.dims_m1[e],e>0&&(n.factors[t-e-1]=n.factors[t-e]*N(i)[t-e]),n.bounds[e]=n.bounds[e]||[],n.bounds[e][0]=0,n.bounds[e][1]=N(i)[e]-1,n.limits[e]=n.limits[e]||[],n.limits[e][0]=0,n.limits[e][1]=N(i)[e]-1,n.limits_sizes[e]=n.limits[e][1]-n.limits[e][0]+1;n.translate=S,w(n)}(i,t),i)}function m(n,i){var t,e,r;if(!b(n))throw new Sk.builtin.ValueError("Numpy IterAllButAxis requires an ndarray.");if(e=p(t=n),0==A(t))return e;if(i<0){var u,l=0,o=0;for(u=0;0==o&&u<A(t);)o=E(t,u),u+=1;for(u=1;u<A(t);u++)E(t,u)>0&&E(t,u)<o&&(l=1,o=E(t,u));i=l}return r=i,e.contiguous=0,0!=e.size&&(e.size/=I(t,r)),e.dims_m1[r]=0,e.backstrides[r]=0,e}function h(n){if(n.index+=1,0==n.nd_m1)!function(n){n.dataptr+=n.strides[0],n.coordinates[0]+=1}(n);else if(1==n.nd_m1)!function(n){n.coordinates[1]<n.dims_m1[1]?(n.coordinates[1]+=1,n.dataptr+=n.strides[1]):(n.coordinates[1]=0,n.coordinates[0]+=1,n.dataptr+=n.strides[0]-n.backstrides[1])}(n);else{var i;for(i=n.nd_m1;i>=0;i--)n.coordinates[i]<n.dims_m1[i]?(n.coordinates[i]+=1,n.dataptr+=n.strides[i]):(n.coordinates[i]=0,n.dataptr+=n.backstrides[i])}}function w(n){n.index=0,n.dataptr=0,n.coordinates=[0,n.nd_m1+1]}function d(n){return Sk.ffi.remapToPy(n.v.dtype)}function _(n){return null==n?null:b(n)&&0==A(n)?function(n,i){return i(n[0])}(g(n),d(n)):n}function v(n,i){var t,e;if(Sk.builtin.checkNone(i))throw new Sk.builtin.ValueError("total size of new array must be unchanged");if(Sk.builtin.checkInt(i))t=[Sk.ffi.remapToJs(i)];else{if(!Sk.builtin.checkSequence(i)||Sk.builtin.isinstance(i,Sk.builtin.dict)!=Sk.builtin.bool.false$)throw new Sk.builtin.TypeError("expected sequence object with len >= 0 or a single integer");t=function(n){if(Sk.builtin.checkSequence(n)){var i,t=Sk.builtin.len(n);t=Sk.ffi.remapToJs(t);var e,r=[];for(i=0;i<t;i++)e=n.mp$subscript(i),r.push(e);return r}throw new Error("Internal API-CAll error occured in PyArray_UNPACK_SEQUENCE")}(i)}var r=0,u=-1;for(e=0;e<t.length;e++){if(!Sk.builtin.checkInt(t[e]))throw new Sk.builtin.TypeError("an integer is required");t[e]=Sk.ffi.remapToJs(t[e]),-1===t[e]&&(r+=1,u=e)}if(r>1)throw new Sk.builtin.ValueError("can only specify one unknown dimension");if(1==r){var l,o;if(0===u)o=1===t.length?1:tn(t.slice(1));else{var a=t.slice();a.splice(u,1),o=tn(a)}l=y(n)/o,t[u]=l}if(tn(t)!==y(n))throw new Sk.builtin.ValueError("total size of new array must be unchanged");return t}function y(n){if(b(n))return tn(n.v.shape);throw new Error("Internal API-Call Error occured in PyArray_DATA.",n)}function g(n){if(b(n))return n.v.buffer;throw new Error("Internal API-Call Error occured in PyArray_DATA.",n)}function $(n){if(b(n))return n.v.strides;throw new Error("Internal API-Call Error occured in PyArray_STRIDES.",n)}function E(n,i){if(b(n))return n.v.strides[i];throw new Error("Internal API-Call Error occured in PyArray_STRIDE.",n)}function A(n){if(b(n))return n.v.shape.length;throw new Error("Internal API-Call Error occured in PyArray_NDIM.",n)}function N(n){if(b(n))return n.v.shape;throw new Error("Internal API-Call Error occured in PyArray_DIMS.",n)}function I(n,i){if(b(n))return n.v.shape[i];throw new Error("Internal API-Call Error occured in PyArray_DIM.",n)}function T(n,i,t){if(b(n)){var e=new Sk.builtin.tuple(i.map((function(n){return new Sk.builtin.int_(n)}))),r=Sk.ffi.remapToPy(t);return Sk.misceval.callsim(n.reshape,n,e,r)}throw new Error("Internal API-Call Error occured in PyArray_NewShape.",n)}function x(t,e){var r,u,l,o=[],a=[],s=[];if(null==e)for(n=A(t),i=0;i<n;i++)a[i]=n-1-i;else{if(n=e.length,o=e,n!=A(t))throw new Sk.builtin.ValueError("axes don't match array");for(i=0;i<n;i++)s[i]=-1;for(i=0;i<n;i++){if((r=o[i])<0&&(r=A(t)+r),r<0||r>=A(t))throw new Sk.builtin.ValueError("invalid axis for this array");if(-1!=s[r])throw new Sk.builtin.ValueError("repeated axis in transpose");s[r]=i,a[i]=r}}for(l=function(n){if(b(n))return n.v.flags;throw new Error("Internal API-Call Error occured in PyArray_NewShape.",n)}(t),u=j(Sk.builtin.type(t),d(t),n,N(t),null,null,l,t),i=0;i<n;i++)N(u)[i]=N(t)[a[i]],$(u)[i]=$(t)[a[i]];var c=rn(g(t),N(u),$(u),0,d(u));return Sk.misceval.callsim(Q.array,c)}function C(n,i,t,e,r,u,l){var o,a,s,c=null,f=0,k=0;for(o=0;o<u;o++,f+=i,k+=e){if(null==n[f]||null==t[k])a=Sk.builtin.bool.false$;else if(!(a=Sk.abstr.numberBinOp(n[f],t[k],"Mult")))return;if(0==o)c=a;else{if(!(s=Sk.abstr.numberBinOp(c,a,"Add")))return;c=s}}return s=r,c}function P(n,i,t,e,r,u,l){var o,a,s,c,f=null,k=0,b=0;for(o=0;o<u;o++,k+=i,b+=e){if(null==n[k]||null==t[b])s=Sk.builtin.bool.false$;else{if(null==(a=Sk.misceval.callsim(n[k].conjugate,n[k])))return;if(null==(s=Sk.abstr.numberBinOp(a,t[b],"Mult")))return}if(0===o)f=s;else{if(null==(c=Sk.abstr.numberBinOp(f,s,"Add")))return;f=c}}c=r,r[0]=f}function q(n,i){var t,e=null;if(null===n)throw new Error("Internal API-Call Error occured in PyArray_ObjectType");if(null==i&&(i=u),Sk.builtin.checkNumber(n))t=n;else if(Sk.builtin.checkSequence(n)){if(t=function n(i,t){if(!Sk.builtin.checkSequence(i))return i;var e=Sk.builtin.len(i);if(Sk.builtin.asnum$(e)>0){var r=i.mp$subscript(0);return t>0&&Sk.builtin.checkSequence(r)?n(r,t-1):r}}(n,i),b(t))return d(n)}else if(b(n)){var r=d(n);if(null!=r)return r;var l=Sk.builtin.len(n);Sk.builtin.asnum$(l)>0&&(t=g(n)[0])}try{e=Sk.builtin.type(t)}catch(n){}return e}k.prototype.arange=function(n,i,t){void 0===t&&(t=1),i*=1,t*=1;for(var e=[],r=n*=1;r<i;r+=t)e.push(r);return e};var M=null,O=2,J={complex:3,complex_:3,complex64:3,float:2,float_:2,float64:2,int:1,int_:1,int64:1,bool:0,bool_:0};function B(n){var i=Sk.ffi.remapToJs(n.tp$getattr(Sk.ffi.remapToPy("__name__"))),t=J[i];return null==t?-1:t}function V(n){switch(n){case 3:return Sk.builtin.complex;case 2:return Sk.builtin.float_;case 1:return Sk.builtin.int_;case 0:return Sk.builtin.bool;default:return M}}function R(n,i){var t;if(null==(t=q(n,u)))return O;var e=B(t);return e>=i?e:e<i?e>=0&&i<=3?i:M:void 0}function F(n,i){return i instanceof Sk.builtin.none&&Sk.builtin.checkNone(n)?n:Sk.misceval.callsim(i,n)}function D(n,i){var t,e=l;return function(n){return b(n)}(n)?e:(t=Sk.builtin.getattr(n,new Sk.builtin.str("__array_priority__"),Sk.builtin.none.none$),Sk.builtin.checkNone(t)?i:(t=Sk.builtin.float(t),e=Sk.ffi.remapToJs(t)))}function z(n,i,t,l,k,b,S,p,m){var h,w,d,_;if(i.subarray)throw new Error("subarrays not supported");if(t>u)throw new Sk.builtin.ValueError("number of dimensions must be within [0, "+u+"]");if(_=1,0==(d=1))throw new Sk.builtin.TypeError("Empty data-type");for(w=0;w<t;w++){var v=l[w];if(null!=v){if(v<0)throw new Sk.builtin.ValueError("negative dimensions are not allowed");if((_*=v)==Number.MAX_VALUE)throw new Sk.builtin.ValueError("array is too big.")}}(h={}).nd=t,h.dimensions=null,h.data=null,null==b?(h.flags=c,S&&S&&(h.flags|=a,t>1&&(h.flags&=~o),S=a)):h.flags=S&~f,h.descr=i,h.base=null,h.weakreflist=null,t>0?(h.dimensions=[],h.strides=[],l.map((function(n){h.dimensions.push(n)})),null==k?d=function(n,i,t,e){var u,l=0;for(u=0;u<t;u++)if(1!=i[u]){if(l){1;break}l=1}for(u=t-1;u>=0;u--)n[u]=e,i[u]?e*=i[u]:0,1==i[u]&&(n[u]=r);return e}(h.strides,l,t,d,0,h.flags):(k.map((function(n){h.strides.push(n)})),d*=_)):(h.dimensions=null,h.strides=null,h.flags|=a),null==b?(0==d&&(d=1),b=[],h.flags|=s):h.flags&=~s,h.data=b;var y=new Sk.builtin.tuple((h.dimensions||[]).map((function(n){return new Sk.builtin.int_(n)}))),g=new Sk.builtin.list(h.data),$=h.descr;return Sk.misceval.callsim(Q[e],y,$,g)}function j(n,i,t,e,r,u,l,o){return z(0,i,t,e,r,u,l)}function U(n,i,t,e,r,u){var l,o,a;if(Sk.builtin.type(i)!=Sk.builtin.type(n)?(prior=D(i,0),prior=D(n,0),a>o?Sk.builtin.type(i):Sk.builtin.type(n)):(o=a=0,Sk.builtin.type(n)),null!=t)throw new Error('new_array_for_sum does not support "out" parameter');return l=function(n,i,t,e,r,u,l,o){var a;return null==(a=V(e))?null:j(0,a,i,t,r,u,o)}(0,e,r,u,null,null,0,0),l}function L(n,t,r,l,o,a){if(null==n)throw new Error('Internal PyArray_FromAny API-Call error. "op" must not be null.');(null==t||Sk.builtin.checkNone(t))&&null==(t=q(n,u))&&(t=V(O));var s=[],c={level:0,shape:[]};for(b(n)?(s=g(n),(c={}).level=0,c.shape=N(n)):W(n,s,c),i=0;i<s.length;i++)s[i]=F(s[i],t);var f=Sk.builtin.asnum$(r);if(f>=0&&f>c.shape.length){var k=[];for(i=0;i<f-c.shape.length;i++)k.push(1);c.shape=k.concat(c.shape)}var S=new Sk.builtin.tuple(c.shape.map((function(n){return new Sk.builtin.int_(n)}))),p=new Sk.builtin.list(s);switch(t){case Sk.builtin.int_:t="int";break;case Sk.builtin.float_:t="float"}return Sk.misceval.callsim(Q[e],S,t,p)}function G(n,i,t){var e,r,u;for(e=0;e<n&&i[e]<0;e++);if(e===n)return Sk.abstr.numberBinOp(new Sk.builtin.str("()%s"),new Sk.builtin.str(t),"Mod");for(r=Sk.abstr.numberBinOp(new Sk.builtin.str("(%i"),i[e++],"Mod");e<n;++e)u=i[e]<0?new Sk.builtin.str(",newaxis"):Sk.abstr.numberBinOp(new Sk.builtin.str(",%i"),i[e],"Mod"),r=Sk.abstr.numberBinOp(r,u,"Add");return u=1==e?Sk.abstr.numberBinOp(new Sk.builtin.str(",)%s"),new Sk.builtin.str(t),"Mod"):Sk.abstr.numberBinOp(new Sk.builtin.str(")%s"),new Sk.builtin.str(t),"Mod"),r=Sk.abstr.numberBinOp(r,u,"Add")}function X(n,i,t){var e,r,l,o,a,s,c,f,k,b,S,p,d,_,v=null,y=new Array;if(s=R(n,0),null===(_=V(s=R(i,s))))throw new Sk.builtin.ValueError("Cannot find a common data type.");if(e=L(n,_,0),r=L(i,_,0),0==A(e)||0==A(r))return v=(v=0==A(e)?e:r).nb$multiply.call(e,r);if(a=N(e)[A(e)-1],k=A(r)>1?A(r)-2:0,N(r)[k]!=a&&function(n,i,t,e){var r,u,l,o,a,s,c,f,k;if(u=new Sk.builtin.str("shapes %s and %s not aligned: %d (dim %d) != %d (dim %d)"),s=G(A(n),N(n),""),c=G(A(t),N(t),""),o=new Sk.builtin.int_(i),a=new Sk.builtin.int_(e),f=new Sk.builtin.int_(I(n,i)),k=new Sk.builtin.int_(I(t,e)),u&&s&&c&&o&&a&&f&&k)throw l=new Sk.builtin.tuple([s,c,f,o,k,a]),null!=(r=Sk.abstr.numberBinOp(u,l,"Mod"))?new Sk.builtin.ValueError(r):new Sk.builtin.ValueError("shapes are not aligned")}(e,A(e)-1,r,k),(c=A(e)+A(r)-2)>u)throw new Sk.builtin.ValueError("dot: too many dimensions in result");for(o=0,l=0;l<A(e)-1;l++)y[o++]=N(e)[l];for(l=0;l<A(r)-2;l++)y[o++]=N(r)[l];switch(A(r)>1&&(y[o++]=N(r)[A(r)-1]),b=$(e)[A(e)-1],S=$(r)[k],v=U(e,r,t,c,y,s),s){case 0:case 1:case 2:case 3:d=C;break;default:throw new Sk.builtin.ValueError("dot not available for this type")}if(p=g(v),f=A(e)-1,it1=m(e,f),null==it1)return null;if(it2=m(r,k),null==it2)return null;for(var E,T,x=0;it1.index<it1.size;){for(E=g(it1.ao).slice(it1.dataptr);it2.index<it2.size;)T=g(it2.ao).slice(it2.dataptr),p[x]=d(E,b,T,S,null,a,v),x+=1,h(it2);h(it1),w(it2)}return v}function K(n,i,t,e,r,u,l,o){d(o);var a,s,c=null,f=null;if(0===r)c=e[0],s=(f=new Sk.builtin.str(c)).v.length,i.n+=s,n.str+=f.v;else{for(n.str+="[",i.n+=1,a=0;a<u[0];a++){K(n,i,t,e.slice(l[0]*a),r-1,u.slice(1),l.slice(1),o),a<u[0]-1&&(n.str+=",",n.str+=" ",i.n+=2)}n.str+="]",i.n+=1}return 0}function H(n,i){var t,e,r,u={str:""};return K(u,{n:0},0,g(n),A(n),N(n),$(n),n),t=new Sk.builtin.str(u.str),i?(e=new Sk.builtin.str("array(%s, '%s')"),r=new Sk.builtin.tuple([t,d(n)]),Sk.abstr.numberBinOp(e,r,"Mod")):t}var Y=new k,Q={};function W(n,i,t){if(b(n)&&(n=Sk.misceval.callsim(n.tolist,n)),n instanceof Sk.builtin.list||n instanceof Sk.builtin.tuple){var e,r=function(n,i){var t=i||!0;if(n instanceof Sk.builtin.list){if(t)return n.v;for(var e=[],r=0;r<n.v.length;++r)e.push(Sk.ffi.remapToJs(n.v[r]));return e}return n instanceof Sk.builtin.float_?Sk.builtin.asnum$nofloat(n):Sk.ffi.remapToJs(n)}(n);t.level+=1,t.level>t.shape.length&&t.shape.push(r.length);var u=r.length;for(e=0;e<u;e++)W(r[e],i,t);t.level-=1}else i.push(n)}function Z(n){var i=n.slice(0);i.reverse();for(var t,e=1,r=0,u=i.length;r<u;r++)t=i[r],i[r]=e,e*=t;return i.reverse()}function nn(n,i){for(var t=0,e=0,r=n.length;e<r;e++)t+=n[e]*i[e];return t}function tn(n){var i,t=1;for(i=0;i<n.length;i++)t*=n[i];return t}function en(n,i,t,e,r){var u,l,o,a,s;if(e>=i.length)return n[0];for(l=i[e],o=t[e],a=[],u=0;u<l;u++)s=en(n,i,t,e+1,r),a.push(s),n=n.slice(o);return new Sk.builtin.list(a)}function rn(n,i,t,e){return en(n.slice(0),i,t,0,e)}Q.__doc__=new Sk.builtin.str("\nNumPy\n=====\n\nProvides\n 1. An array object of arbitrary homogeneous items\n 2. Fast mathematical operations over arrays\n 3. Linear Algebra, Fourier Transforms, Random Number Generation\n\nHow to use the documentation\n----------------------------\nDocumentation is available in two forms: docstrings provided\nwith the code, and a loose standing reference guide, available from\n`the NumPy homepage <http://www.scipy.org>`_.\n\nWe recommend exploring the docstrings using\n`IPython <http://ipython.scipy.org>`_, an advanced Python shell with\nTAB-completion and introspection capabilities. See below for further\ninstructions.\n\nThe docstring examples assume that `numpy` has been imported as `np`::\n\n >>> import numpy as np\n\nCode snippets are indicated by three greater-than signs::\n\n >>> x = 42\n >>> x = x + 1\n\nUse the built-in ``help`` function to view a function's docstring::\n\n >>> help(np.sort)\n ... # doctest: +SKIP\n\nFor some objects, ``np.info(obj)`` may provide additional help. This is\nparticularly true if you see the line \"Help on ufunc object:\" at the top\nof the help() page. Ufuncs are implemented in C, not Python, for speed.\nThe native Python help() does not know how to view their help, but our\nnp.info() function does.\n\nTo search for documents containing a keyword, do::\n\n >>> np.lookfor('keyword')\n ... # doctest: +SKIP\n\nGeneral-purpose documents like a glossary and help on the basic concepts\nof numpy are available under the ``doc`` sub-module::\n\n >>> from numpy import doc\n >>> help(doc)\n ... # doctest: +SKIP\n\nAvailable subpackages\n---------------------\ndoc\n Topical documentation on broadcasting, indexing, etc.\nlib\n Basic functions used by several sub-packages.\nrandom\n Core Random Tools\nlinalg\n Core Linear Algebra Tools\nfft\n Core FFT routines\npolynomial\n Polynomial tools\ntesting\n Numpy testing tools\nf2py\n Fortran to Python Interface Generator.\ndistutils\n Enhancements to distutils with support for\n Fortran compilers support and more.\n\nUtilities\n---------\ntest\n Run numpy unittests\nshow_config\n Show numpy build configuration\ndual\n Overwrite certain functions with high-performance Scipy tools\nmatlib\n Make everything matrices.\n__version__\n Numpy version string\n\nViewing documentation using IPython\n-----------------------------------\nStart IPython with the NumPy profile (``ipython -p numpy``), which will\nimport `numpy` under the alias `np`. Then, use the ``cpaste`` command to\npaste examples into the shell. To see which functions are available in\n`numpy`, type ``np.<TAB>`` (where ``<TAB>`` refers to the TAB key), or use\n``np.*cos*?<ENTER>`` (where ``<ENTER>`` refers to the ENTER key) to narrow\ndown the list. To view the docstring for a function, use\n``np.cos?<ENTER>`` (to view the docstring) and ``np.cos??<ENTER>`` (to view\nthe source code).\n\nCopies vs. in-place operation\n-----------------------------\nMost of the functions in `numpy` return a copy of the array argument\n(e.g., `np.sort`). In-place versions of these functions are often\navailable as array methods, i.e. ``x = np.array([1,2,3]); x.sort()``.\nExceptions to this rule are documented.\n\n");function un(n,i){var t,r;if((n instanceof Sk.builtin.list||n instanceof Sk.builtin.tuple)&&(n=Sk.misceval.callsim(Q.array,n)),b(n)){var u=g(n).map((function(n){return r=Sk.builtin.asnum$(n),t=i.call(null,r),new Sk.builtin.float_(t)})),l=new Sk.builtin.tuple(N(n).map((function(n){return new Sk.builtin.int_(n)})));return buffer=new Sk.builtin.list(u),Sk.misceval.callsim(Q[e],l,d(n),buffer)}if(Sk.builtin.checkNumber(n))return r=Sk.builtin.asnum$(n),t=i.call(null,r),new Sk.builtin.float_(t);throw new Sk.builtin.TypeError('Unsupported argument type for "x"')}Q[e]=Sk.misceval.buildClass(Q,(function(n,i){function t(n){return function(i,t){var r,u,l,o,a,s;if(b(t))for(r=g(i),u=g(t),o=[],s=0,len=r.length;s<len;s++)o[s]=Sk.abstr.binary_op_(r[s],u[s],n);else for(r=g(i),o=[],s=0,len=r.length;s<len;s++)o[s]=Sk.abstr.numberBinOp(r[s],t,n);return a=new Sk.builtin.tuple(N(i).map((function(n){return new Sk.builtin.int_(n)}))),l=new Sk.builtin.list(o),Sk.misceval.callsim(Q[e],a,d(i),l)}}function r(n){return function(i,t){var e,r,u;if(b(t))for(e=g(i),r=g(t),u=0,len=e.length;u<len;u++)e[u]=Sk.abstr.binary_op_(e[u],r[u],n);else for(e=g(i),u=0,len=e.length;u<len;u++)e[u]=Sk.abstr.numberBinOp(e[u],t,n);return i}}function u(n){return function(i,t){for(var r=g(i),u=[],l=0,o=r.length;l<o;l++)u[l]=Sk.abstr.numberBinOp(t,r[l],n);var a=new Sk.builtin.tuple(N(i).map((function(n){return new Sk.builtin.int_(n)})));return buffer=new Sk.builtin.list(u),Sk.misceval.callsim(Q[e],a,d(i),buffer)}}function l(n){return function(i){var t=g(i).map((function(i){return Sk.abstr.numberUnaryOp(i,n)})),r=new Sk.builtin.tuple(N(i).map((function(n){return new Sk.builtin.int_(n)})));return buffer=new Sk.builtin.list(t),Sk.misceval.callsim(Q[e],r,d(i),buffer)}}i.__init__=new Sk.builtin.func((function(n,i,t,r,u,l,o){var a={};a.shape=Sk.ffi.remapToJs(i),a.strides=Z(a.shape),a.dtype=t,a.flags=0,r&&r instanceof Sk.builtin.list&&(a.buffer=r.v),n.v=a,n.tp$name=e})),i._internalGenericGetAttr=Sk.generic.setAttr,i.__getattr__=new Sk.builtin.func((function(n,i){if(console.log("enter get"),null!=i&&(Sk.builtin.checkString(i)||"string"==typeof i)){var t=i;switch(Sk.builtin.checkString(i)&&(t=Sk.ffi.remapToJs(i)),t){case"ndim":return new Sk.builtin.int_(A(n));case"dtype":return n.v.dtype;case"shape":return new Sk.builtin.tuple(N(n).map((function(n){return new Sk.builtin.int_(n)})));case"strides":return new Sk.builtin.tuple($(n).map((function(n){return new Sk.builtin.int_(n)})));case"size":return new Sk.builtin.int_(y(n));case"data":return new Sk.builtin.list(g(n));case"T":return A(n)<2?n:Sk.misceval.callsim(n.transpose,n)}}var e;throw void 0!==n.tp$getattr&&(e=n.tp$getattr("__getattribute__")),void 0!==e&&Sk.misceval.callsimOrSuspend(e,new Sk.builtin.str(t)),new Sk.builtin.AttributeError("'"+Sk.abstr.typeName(n)+"' object has no attribute '"+t+"'")})),i.__setattr__=new Sk.builtin.func((function(n,i,t){if(console.log("enter set"),null!=i&&(Sk.builtin.checkString(i)||"string"==typeof i)){var e=i;if(Sk.builtin.checkString(i)&&(e=Sk.ffi.remapToJs(i)),"shape"===e){var r=v(n,t);return n.v.strides=Z(r),void(n.v.shape=r)}}throw new Sk.builtin.AttributeError("'ndarray' object attribute '"+i+"' is readonly")})),i.tolist=new Sk.builtin.func((function(n){var i=Sk.ffi.remapToJs(n);return rn(i.buffer,i.shape,i.strides,i.dtype)})),i.reshape=new Sk.builtin.func((function(n,i,t){Sk.builtin.pyCheckArgs("reshape",arguments,2,3);var r=v(n,i),u=Sk.ffi.remapToPy(r);return Sk.misceval.callsim(Q[e],u,d(n),new Sk.builtin.list(g(n)))})),i.copy=new Sk.builtin.func((function(n,i){Sk.builtin.pyCheckArgs("copy",arguments,1,2);Sk.ffi.remapToJs(n);var t=g(n).map((function(n){return n})),r=new Sk.builtin.tuple(N(n).map((function(n){return new Sk.builtin.int_(n)})));return Sk.misceval.callsim(Q[e],r,d(n),new Sk.builtin.list(t))})),i.fill=new Sk.builtin.func((function(n,i){Sk.builtin.pyCheckArgs("fill",arguments,2,2);var t,e=Sk.ffi.remapToJs(n);e.buffer.map((function(n){return n}));for(t=0;t<e.buffer.length;t++)e.dtype&&(e.buffer[t]=Sk.misceval.callsim(e.dtype,i))})),i.__getslice__=new Sk.builtin.func((function(n,i,t){console.log("enter getslice"),Sk.builtin.pyCheckArgs("[]",arguments,2,3);var r,u,l,o,a,s,c,f=Sk.ffi.remapToJs(n);if(Sk.builtin.checkInt(i)||Sk.builtin.checkInt(t)||Sk.builtin.checkNone(t)||void 0===t)throw new Sk.builtin.ValueError('Index "'+r+'" must be int');if(s=Sk.ffi.remapToJs(i),c=void 0===t||Sk.builtin.checkNone(t)?f.buffer.length:Sk.ffi.remapToJs(i),s<0||c<0)throw new Sk.builtin.IndexError("Use of negative indices is not supported.");for(l=[],r=0,a=s;a<c;a+=1)l[r++]=f.buffer[a];return u=new Sk.builtin.list(l),o=new Sk.builtin.tuple([l.length].map((function(n){return new Sk.builtin.int_(n)}))),Sk.misceval.callsim(Q[e],o,void 0,u)})),i.__setslice__=new Sk.builtin.func((function(n,i,t,e){console.log("enter setslice"),Sk.builtin.pyCheckArgs("[]",arguments,3,2);var r,u,l,o=Sk.ffi.remapToJs(n);if(Sk.builtin.checkInt(i)||Sk.builtin.checkInt(t)||Sk.builtin.checkNone(t)||void 0===t)throw new Sk.builtin.ValueError('Index "'+index+'" must be int');if(u=Sk.ffi.remapToJs(i),l=void 0===t||Sk.builtin.checkNone(t)?o.buffer.length:Sk.ffi.remapToJs(i),u<0||l<0)throw new Sk.builtin.IndexError("Use of negative indices is not supported.");for(r=u;r<l;r+=1)o.buffer[nn(o.strides,r)]=e})),i.__getitem__=new Sk.builtin.func((function(n,i){console.log("enter getitem"),Sk.builtin.pyCheckArgs("[]",arguments,2,2);var t,r,u,l,o,a,s=Sk.ffi.remapToJs(n);if(Sk.builtin.checkInt(i)){var c=Sk.ffi.remapToJs(i);if(s.shape.length>1){for(l=s.strides[0],u=[],t=0,a=c*l,ubound=(c+1)*l;a<ubound;a++)u[t++]=s.buffer[a];return r=new Sk.builtin.list(u),o=new Sk.builtin.tuple(Array.prototype.slice.call(s.shape,1).map((function(n){return new Sk.builtin.int_(n)}))),Sk.misceval.callsim(Q[e],o,void 0,r)}if(c>=0&&c<s.buffer.length)return s.buffer[c];throw new Sk.builtin.IndexError("array index out of range")}if(i instanceof Sk.builtin.tuple){var f=Sk.ffi.remapToJs(i);if(f.length!=A(n))throw new Sk.builtin.ValueError("Tuple must contain values for all dimensions");return s.buffer[nn(s.strides,f)]}if(i instanceof Sk.builtin.slice){var k=Sk.builtin.len(n);return u=[],k=Sk.ffi.remapToJs(k),i.sssiter$(k,(function(i,t){i>=0&&i<k&&u.push(g(n)[i])})),r=new Sk.builtin.list(u),o=new Sk.builtin.tuple([u.length].map((function(n){return new Sk.builtin.int_(n)}))),Sk.misceval.callsim(Q[e],o,void 0,r)}throw new Sk.builtin.ValueError('Index "'+i+'" must be int, slice or tuple')})),i.__setitem__=new Sk.builtin.func((function(n,i,t){console.log("enter setitem");var e=Sk.ffi.remapToJs(n);if(Sk.builtin.pyCheckArgs("[]",arguments,3,3),Sk.builtin.checkInt(i)){var r=Sk.ffi.remapToJs(i);if(e.shape.length>1){var u,l=Sk.ffi.remapToJs(t),o=e.strides[0],a=0,s=(r+1)*o;for(u=r*o;u<s;u++)e.buffer[u]=l[a++]}else{if(!(r>=0&&r<e.buffer.length))throw new Sk.builtin.IndexError("array index out of range");e.buffer[r]=t}}else{if(!(i instanceof Sk.builtin.tuple))throw new Sk.builtin.TypeError('argument "index" must be int or tuple');_key=Sk.ffi.remapToJs(i),e.buffer[nn(e.strides,_key)]=t}})),i.__len__=new Sk.builtin.func((function(n){console.log("enter len");var i=Sk.ffi.remapToJs(n);return new Sk.builtin.int_(i.shape[0])})),i.__iter__=new Sk.builtin.func((function(n){console.log("enter iter");var i={tp$iter:function(){return i},$obj:Sk.ffi.remapToJs(n),$index:0,tp$iternext:function(){if(!(i.$index>=i.$obj.buffer.length))return i.$obj.buffer[i.$index++]}};return i})),i.__str__=new Sk.builtin.func((function(n){return console.log("enter str"),Sk.misceval.callsim(n.__repr__,n)})),i.__repr__=new Sk.builtin.func((function(n){return console.log("enter repr"),H(n,1)})),i.__add__=new Sk.builtin.func(t("Add")),i.__radd__=new Sk.builtin.func(u("Add")),i.__iadd__=new Sk.builtin.func(r("Add")),i.__sub__=new Sk.builtin.func(t("Sub")),i.__rsub__=new Sk.builtin.func(u("Sub")),i.__isub__=new Sk.builtin.func(r("Sub")),i.__mul__=new Sk.builtin.func(t("Mult")),i.__rmul__=new Sk.builtin.func(u("Mult")),i.__imul__=new Sk.builtin.func(r("Mult")),i.__div__=new Sk.builtin.func(t("Div")),i.__rdiv__=new Sk.builtin.func(u("Div")),i.__idiv__=new Sk.builtin.func(r("Div")),i.__floordiv__=new Sk.builtin.func(t("FloorDiv")),i.__rfloordiv__=new Sk.builtin.func(u("FloorDiv")),i.__ifloordiv__=new Sk.builtin.func(r("FloorDiv")),i.__mod__=new Sk.builtin.func(t("Mod")),i.__rmod__=new Sk.builtin.func(u("Mod")),i.__imod__=new Sk.builtin.func(r("Mod")),i.__xor__=new Sk.builtin.func(t("BitXor")),i.__rxor__=new Sk.builtin.func(u("BitXor")),i.__ixor__=new Sk.builtin.func(r("BitXor")),i.__lshift__=new Sk.builtin.func(t("LShift")),i.__rlshift__=new Sk.builtin.func(u("LShift")),i.__ilshift__=new Sk.builtin.func(r("LShift")),i.__rshift__=new Sk.builtin.func(t("RShift")),i.__rrshift__=new Sk.builtin.func(u("RShift")),i.__irshift__=new Sk.builtin.func(r("RShift")),i.__pos__=new Sk.builtin.func(l("UAdd")),i.__neg__=new Sk.builtin.func(l("USub")),i.__eq__=new Sk.builtin.func((function(n,i){return Sk.misceval.callsim(Q.equal,n,i)})),i.__ne__=new Sk.builtin.func((function(n,i){return Sk.misceval.callsim(Q.not_equal,n,i)})),i.__lt__=new Sk.builtin.func((function(n,i){return Sk.misceval.callsim(Q.less,n,i)})),i.__le__=new Sk.builtin.func((function(n,i){return Sk.misceval.callsim(Q.less_equal,n,i)})),i.__gt__=new Sk.builtin.func((function(n,i){return Sk.misceval.callsim(Q.greater,n,i)})),i.__ge__=new Sk.builtin.func((function(n,i){return Sk.misceval.callsim(Q.greater_equal,n,i)})),i.__pow__=new Sk.builtin.func((function(n,i){Sk.builtin.pyCheckArgs("__pow__",arguments,2,2);var t=g(n).map((function(n){return Sk.builtin.pow(n,i)})),r=new Sk.builtin.tuple(N(n).map((function(n){return new Sk.builtin.int_(n)})));return buffer=new Sk.builtin.list(t),Sk.misceval.callsim(Q[e],r,d(n),buffer)})),i.dot=new Sk.builtin.func((function(n,i){return Sk.misceval.callsim(Q.dot,n,i)})),i.__abs__=new Sk.builtin.func((function(n){Sk.builtin.pyCheckArgs("__abs__",arguments,1,1);var i=g(n).map((function(n){return Sk.builtin.abs(n)})),t=new Sk.builtin.tuple(N(n).map((function(n){return new Sk.builtin.int_(n)})));return buffer=new Sk.builtin.list(i),Sk.misceval.callsim(Q[e],t,d(n),buffer)})),i.transpose=new Sk.builtin.func((function(n,i){var t=Sk.builtin.none.none$,e=arguments.length-1;return i=Array.prototype.slice.call(arguments,1),e>1?t=i:1===e&&(t=i[0]),Sk.builtin.checkNone(t)?x(n,null):x(n,Sk.ffi.remapToJs(t))})),i.any=new Sk.builtin.func((function(n,i,t){return Sk.misceval.callsim(Q.any,n,i,t)})),i.all=new Sk.builtin.func((function(n,i,t){return Sk.misceval.callsim(Q.all,n,i,t)})),i.mean=new Sk.builtin.func((function(n,i,t,e,r){return Sk.misceval.callsim(Q.mean,n,i,t,e,r)})),i.sum=new Sk.builtin.func((function(n,i,t,e,r){return Sk.misceval.callsim(Q.sum,n,i,t,e,r)})),i.prod=new Sk.builtin.func((function(n,i,t,e,r){return Sk.misceval.callsim(Q.prod,n,i,t,e,r)}))}),e,[]),Q.pi=Sk.builtin.float_(Y.math?Y.math.PI:Math.PI),Q.e=Sk.builtin.float_(Y.math?Y.math.E:Math.E);var ln=function(n,i){return Sk.builtin.pyCheckArgs("sin",arguments,1,2),un(n,Y.math?Y.math.sin:Math.sin)};ln.co_varnames=["x","out"],ln.$defaults=[0,new Sk.builtin.list([])],Q.sin=new Sk.builtin.func(ln);var on=function(n,i){if(Sk.builtin.pyCheckArgs("sinh",arguments,1,2),!Y.math)throw new Sk.builtin.OperationError("sinh requires math polyfill");return un(n,Y.math.sinh)};on.co_varnames=["x","out"],on.$defaults=[0,new Sk.builtin.list([])],Q.sinh=new Sk.builtin.func(on);var an=function(n,i){return Sk.builtin.pyCheckArgs("arcsin",arguments,1,2),un(n,Y.math?Y.math.asin:Math.asin)};an.co_varnames=["x","out"],an.$defaults=[0,new Sk.builtin.list([])],Q.arcsin=new Sk.builtin.func(an);var sn=function(n,i){return Sk.builtin.pyCheckArgs("cos",arguments,1,2),un(n,Y.math?Y.math.cos:Math.cos)};sn.co_varnames=["x","out"],sn.$defaults=[0,new Sk.builtin.list([])],Q.cos=new Sk.builtin.func(sn);var cn=function(n,i){if(Sk.builtin.pyCheckArgs("cosh",arguments,1,2),!Y.math)throw new Sk.builtin.OperationError("cosh requires math polyfill");return un(n,Y.math.cosh)};cn.co_varnames=["x","out"],cn.$defaults=[0,new Sk.builtin.list([])],Q.cosh=new Sk.builtin.func(cn);var fn=function(n,i){return Sk.builtin.pyCheckArgs("arccos",arguments,1,2),un(n,Y.math?Y.math.acos:Math.acos)};fn.co_varnames=["x","out"],fn.$defaults=[0,new Sk.builtin.list([])],Q.arccos=new Sk.builtin.func(fn);var kn=function(n,i){return Sk.builtin.pyCheckArgs("arctan",arguments,1,2),un(n,Y.math?Y.math.atan:Math.atan)};kn.co_varnames=["x","out"],kn.$defaults=[0,new Sk.builtin.list([])],Q.arctan=new Sk.builtin.func(kn);var bn=function(n,i){return Sk.builtin.pyCheckArgs("tan",arguments,1,2),un(n,Y.math?Y.math.tan:Math.tan)};bn.co_varnames=["x","out"],bn.$defaults=[0,new Sk.builtin.list([])],Q.tan=new Sk.builtin.func(bn);var Sn=function(n,i){if(Sk.builtin.pyCheckArgs("tanh",arguments,1,2),!Y.math)throw new Sk.builtin.OperationError("tanh requires math polyfill");return un(n,Y.math.tanh)};Sn.co_varnames=["x","out"],Sn.$defaults=[0,new Sk.builtin.list([])],Q.tanh=new Sk.builtin.func(Sn);var pn=function(n,i,t){if(Sk.builtin.pyCheckArgs("round",arguments,1,3),!Y.math)throw new Sk.builtin.OperationError("round requires math polyfill");return console.log(un(n,Y.math?Y.math.round:Math.round)),Sk.misceval.callsim(Q.array,un(n,Y.math?Y.math.round:Math.round),Sk.builtin.int_)};pn.co_varnames=["x","decimals","out"],pn.$defaults=[0,0,new Sk.builtin.list([])],Q.round=new Sk.builtin.func(pn);var mn=function(n,i){if(Sk.builtin.pyCheckArgs("ceil",arguments,1,2),!Y.math)throw new Sk.builtin.OperationError("ceil requires math polyfill");return Sk.misceval.callsim(Q.array,un(n,Y.math?Y.math.ceil:Math.ceil),Sk.builtin.int_)};mn.co_varnames=["x","out"],mn.$defaults=[0,new Sk.builtin.list([])],Q.ceil=new Sk.builtin.func(mn);var hn=function(n,i){if(Sk.builtin.pyCheckArgs("floor",arguments,1,2),!Y.math)throw new Sk.builtin.OperationError("floor requires math polyfill");return Sk.misceval.callsim(Q.array,un(n,Y.math?Y.math.floor:Math.floor),Sk.builtin.int_)};hn.co_varnames=["x","out"],hn.$defaults=[0,new Sk.builtin.list([])],Q.floor=new Sk.builtin.func(hn);var wn=function(n,i){return Sk.builtin.pyCheckArgs("exp",arguments,1,2),un(n,Y.math?Y.math.exp:Math.exp)};wn.co_varnames=["x","out"],wn.$defaults=[0,new Sk.builtin.list([])],Q.exp=new Sk.builtin.func(wn);var dn=function(n,i){return Sk.builtin.pyCheckArgs("sqrt",arguments,1,2),un(n,Y.math?Y.math.sqrt:Math.sqrt)};dn.co_varnames=["x","out"],dn.$defaults=[0,new Sk.builtin.list([])],Q.sqrt=new Sk.builtin.func(dn);var _n=function(n,t,r,u,l){Sk.builtin.pyCheckArgs("linspace",arguments,3,5),Sk.builtin.pyCheckType("start","number",Sk.builtin.checkNumber(n)),Sk.builtin.pyCheckType("stop","number",Sk.builtin.checkNumber(t)),void 0===r&&(r=50);var o,a,s,c,f=Sk.builtin.asnum$(r);(void 0===u?o=!0:u.constructor===Sk.builtin.bool&&(o=u.v),void 0===l?a=!1:l.constructor===Sk.builtin.bool&&(a=l.v),start_num=1*Sk.builtin.asnum$(n),stop_num=1*Sk.builtin.asnum$(t),f<=0)?s=[]:o?1==f?s=[start_num]:(c=(stop_num-start_num)/(f-1),(s=Y.arange(0,f).map((function(n){return n*c+start_num})))[s.length-1]=stop_num):(c=(stop_num-start_num)/f,s=Y.arange(0,f).map((function(n){return n*c+start_num})));var k=Sk.builtin.float_;for(i=0;i<s.length;i++)s[i]=Sk.misceval.callsim(k,s[i]);var b=Sk.builtin.list(s),S=new Sk.builtin.tuple([s.length]),p=Sk.misceval.callsim(Q[e],S,k,b);return!0===a?new Sk.builtin.tuple([p,c]):p};_n.co_varnames=["start","stop","num","endpoint","retstep"],_n.$defaults=[0,0,50,!0,!1],Q.linspace=new Sk.builtin.func(_n);var vn=function(n,t,r,u){var l,o,a;Sk.builtin.pyCheckArgs("arange",arguments,1,4),Sk.builtin.pyCheckType("start","number",Sk.builtin.checkNumber(n));u=u||Sk.builtin.none.none$;void 0===t&&void 0===r?(l=Sk.builtin.asnum$(0),o=Sk.builtin.asnum$(n),a=Sk.builtin.asnum$(1)):void 0===r?(l=Sk.builtin.asnum$(n),o=Sk.builtin.asnum$(t),a=Sk.builtin.asnum$(1)):(l=Sk.builtin.asnum$(n),o=Sk.builtin.asnum$(t),a=Sk.builtin.asnum$(r)),u&&u!=Sk.builtin.none.none$||(u=Sk.builtin.checkInt(n)?"int":"float");var s=Y.arange(l,o,a);if(u==Sk.builtin.none.none$)if(Sk.builtin.checkInt(n))for(u="int",i=0;i<s.length;i++)s[i]=Math.floor(s[i]);else for(u="float",i=0;i<s.length;i++)s[i]=new Sk.builtin.float_(s[i]);else if("int"==u)for(i=0;i<s.length;i++)s[i]=Math.floor(s[i]);else if("float"==u)for(i=0;i<s.length;i++)s[i]=new Sk.builtin.float_(s[i]);buffer=new Sk.builtin.list(s);var c=new Sk.builtin.tuple([s.length]);return Sk.misceval.callsim(Q[e],c,u,buffer)};vn.co_varnames=["start","stop","step","dtype"],vn.$defaults=[0,1,1,Sk.builtin.none.none$],Q.arange=new Sk.builtin.func(vn);var yn=function(n,i,t,e,r,u){if(Sk.builtin.pyCheckArgs("array",arguments,1,6),void 0===n)throw new Sk.builtin.TypeError("'"+Sk.abstr.typeName(n)+"' object is undefined");if(null!=u&&!1===Sk.builtin.checkInt(u))throw new Sk.builtin.TypeError('Parameter "ndmin" must be of type "int"');return L(n,i,u)};yn.co_varnames=["object","dtype","copy","order","subok","ndmin"],yn.$defaults=[null,Sk.builtin.none.none$,!0,new Sk.builtin.str("C"),!1,new Sk.builtin.int_(0)],Q.array=new Sk.builtin.func(yn);var gn=function(n,i,t){return Sk.misceval.callsim(Q.array,i,Sk.builtin.bool.false$,t)};Q.asanyarray=new Sk.builtin.func(gn),gn.co_varnames=["a","dtype","order"],gn.$defaults=[null,Sk.builtin.none.none$,Sk.builtin.none.none$];var $n=function(n,i,t){if(Sk.builtin.pyCheckArgs("zeros",arguments,1,3),!Sk.builtin.checkSequence(n)&&!Sk.builtin.checkInt(n))throw new Sk.builtin.TypeError('argument "shape" must int or sequence of ints');if(i instanceof Sk.builtin.list)throw new Sk.builtin.TypeError("'"+Sk.abstr.typeName(i)+"' is not supported for dtype.");var e=new Sk.builtin.float_(0);return Sk.misceval.callsim(Q.full,n,e,i,t)};$n.co_varnames=["shape","dtype","order"],$n.$defaults=[new Sk.builtin.tuple([]),Sk.builtin.none.none$,new Sk.builtin.str("C")],Q.zeros=new Sk.builtin.func($n);var En=function(n,i,t,r){if(Sk.builtin.pyCheckArgs("full",arguments,2,4),!Sk.builtin.checkSequence(n)&&!Sk.builtin.checkInt(n))throw new Sk.builtin.TypeError('argument "shape" must int or sequence of ints');if(t instanceof Sk.builtin.list)throw new Sk.builtin.TypeError("'"+Sk.abstr.typeName(t)+"' is currently not supported for dtype.");var u,l=Sk.ffi.remapToJs(n);Sk.builtin.checkInt(n)&&((u=[]).push(l),l=u);var o,a=tn(l),s=[],c=i;for(o=0;o<a;o++)s[o]=c;if(!t&&Sk.builtin.checkNumber(i)&&(t=Sk.builtin.float_),Sk.builtin.checkClass(t))for(o=0;o<s.length;o++)s[o]!==Sk.builtin.none.none$&&(s[o]=Sk.misceval.callsim(t,s[o]));return Sk.misceval.callsim(Q[e],new Sk.builtin.list(l),t,new Sk.builtin.list(s))};En.co_varnames=["shape","fill_value","dtype","order"],En.$defaults=[new Sk.builtin.tuple([]),Sk.builtin.none.none$,Sk.builtin.none.none$,new Sk.builtin.str("C")],Q.full=new Sk.builtin.func(En);Q.abs=new Sk.builtin.func((function(n){return Sk.builtin.pyCheckArgs("abs",arguments,1,1),1==b(n)?Sk.misceval.callsim(n.__abs__,n):Sk.builtin.abs(n)})),Q.absolute=Q.abs;var An=function(n,i,t,e,r){Sk.builtin.pyCheckArgs("mean",arguments,1,5);var u,l,o,a=new Sk.builtin.float_(0),s=0;if(null!=i&&!Sk.builtin.checkNone(i))throw new Sk.builtin.NotImplementedError("the 'axis' parameter is currently not supported");if(null!=e&&!Sk.builtin.checkNone(e))throw new Sk.builtin.NotImplementedError("the 'out' parameter is currently not supported");if(null!=r&&r!=Sk.builtin.bool.false$)throw new Sk.builtin.NotImplementedError("the 'keepdims' parameter is currently not supported");if(1==b(n)){for(l=g(n),o=new Sk.builtin.int_(y(n)),s=0;s<o.v;s++)a=Sk.abstr.numberBinOp(a,l[s],"Add");u=Sk.abstr.numberBinOp(a,o,"Div")}else u=n;return null==t||Sk.builtin.checkNone(t)||(u=Sk.misceval.callsim(t,u)),u};An.co_varnames=["a","axis","dtype","out","keepdims"],An.$defaults=[null,Sk.builtin.none.none$,Sk.builtin.none.none$,Sk.builtin.none.none$,Sk.builtin.bool.false$],Q.mean=new Sk.builtin.func(An);var Nn=function(n,i,t,e,r){Sk.builtin.pyCheckArgs("sum",arguments,1,5);var u,l,o=new Sk.builtin.float_(0),a=0;if(null!=i&&!Sk.builtin.checkNone(i))throw new Sk.builtin.NotImplementedError("the 'axis' parameter is currently not supported");if(null!=e&&!Sk.builtin.checkNone(e))throw new Sk.builtin.NotImplementedError("the 'out' parameter is currently not supported");if(null!=r&&r!=Sk.builtin.bool.false$)throw new Sk.builtin.NotImplementedError("the 'keepdims' parameter is currently not supported");if(1==b(n))for(u=g(n),l=new Sk.builtin.int_(y(n)),a=0;a<l.v;a++)o=Sk.abstr.numberBinOp(o,u[a],"Add");else o=n;return null==t||Sk.builtin.checkNone(t)||(o=Sk.misceval.callsim(t,o)),o};Nn.co_varnames=["a","axis","dtype","out","keepdims"],Nn.$defaults=[null,Sk.builtin.none.none$,Sk.builtin.none.none$,Sk.builtin.none.none$,Sk.builtin.bool.false$],Q.sum=new Sk.builtin.func(Nn);var In=function(n,i,t,e,r){Sk.builtin.pyCheckArgs("prod",arguments,1,5);var u,l,o=new Sk.builtin.float_(1),a=0;if(null!=i&&!Sk.builtin.checkNone(i))throw new Sk.builtin.NotImplementedError("the 'axis' parameter is currently not supported");if(null!=e&&!Sk.builtin.checkNone(e))throw new Sk.builtin.NotImplementedError("the 'out' parameter is currently not supported");if(null!=r&&r!=Sk.builtin.bool.false$)throw new Sk.builtin.NotImplementedError("the 'keepdims' parameter is currently not supported");if(1==b(n))for(u=g(n),l=new Sk.builtin.int_(y(n)),a=0;a<l.v;a++)o=Sk.abstr.numberBinOp(o,u[a],"Mult");else o=n;return null==t||Sk.builtin.checkNone(t)||(o=Sk.misceval.callsim(t,o)),o};In.co_varnames=["a","axis","dtype","out","keepdims"],In.$defaults=[null,Sk.builtin.none.none$,Sk.builtin.none.none$,Sk.builtin.none.none$,Sk.builtin.bool.false$],Q.prod=new Sk.builtin.func(In);var Tn=function(n,i,t){if(Sk.builtin.pyCheckArgs("ones",arguments,1,3),!Sk.builtin.checkSequence(n)&&!Sk.builtin.checkInt(n))throw new Sk.builtin.TypeError('argument "shape" must int or sequence of ints');if(i instanceof Sk.builtin.list)throw new Sk.builtin.TypeError("'"+Sk.abstr.typeName(i)+"' is not supported for dtype.");var e=new Sk.builtin.float_(1);return Sk.misceval.callsim(Q.full,n,e,i,t)};Tn.co_varnames=["shape","dtype","order"],Tn.$defaults=[new Sk.builtin.tuple([]),Sk.builtin.none.none$,new Sk.builtin.str("C")],Q.ones=new Sk.builtin.func(Tn);var xn=function(n,i,t){if(Sk.builtin.pyCheckArgs("empty",arguments,1,3),!Sk.builtin.checkSequence(n)&&!Sk.builtin.checkInt(n))throw new Sk.builtin.TypeError('argument "shape" must int or sequence of ints');if(i instanceof Sk.builtin.list)throw new Sk.builtin.TypeError("'"+Sk.abstr.typeName(i)+"' is not supported for dtype.");var e=Sk.builtin.none.none$;return Sk.misceval.callsim(Q.full,n,e,i,t)};xn.co_varnames=["shape","dtype","order"],xn.$defaults=[new Sk.builtin.tuple([]),Sk.builtin.none.none$,new Sk.builtin.str("C")],Q.empty=new Sk.builtin.func(xn);var Cn=function(n,i,t){if(Sk.builtin.pyCheckArgs("dot",arguments,2,3),Sk.builtin.checkNone(t)&&(t=null),null!=t&&!b(t))throw new Sk.builtin.TypeError("'out' must be an array");return _(X(n,i,t))};Cn.co_varnames=["a","b","out"],Cn.$defaults=[Sk.builtin.none.none$,Sk.builtin.none.none$,Sk.builtin.none.none$],Q.dot=new Sk.builtin.func(Cn);Q.vdot=new Sk.builtin.func((function(i,t){var e,r,u,l,o,a,s,c=i,f=t,k=[-1,1],b=null,S=null;if(e=R(c,0),null==(b=L(c,a=V(e=R(f,e)),0)))return null;if(null!=(c=T(b,k,"NPY_CORDER"))){if(b=c,null==(S=L(f,a,0)))return null;if(null!=(f=T(S,k,"NPY_CORDER"))){if(I(S=f,0)!=I(b,0))throw new Sk.builtin.ValueError("vectors have different lengths");var p=new Sk.builtin.tuple([0].map((function(n){return new Sk.builtin.int_(n)})));switch(o=Sk.misceval.callsim(Q.zeros,p,a),n=I(b,0),stride1=E(b,0),stride2=E(S,0),r=g(b),u=g(S),l=g(o),e){case 0:case 1:case 2:case 3:s=P;break;default:throw new Sk.builtin.ValueError("function not available for this data type")}return s.call(null,r,stride1,u,stride2,l,n,null),_(o)}}}));var Pn=function(n,i,t,e){Sk.builtin.pyCheckArgs("any",arguments,1,4,!1);var r,u=g(L(n));if(null!=i&&!Sk.builtin.checkNone(i))throw new ValueError('"axis" parameter not supported');if(null!=t&&!Sk.builtin.checkNone(t))throw new ValueError('"out" parameter not supported');for(r=0;r<u.length;r++)if(Sk.builtin.bool(u[r])==Sk.builtin.bool.true$)return Sk.builtin.bool.true$;return Sk.builtin.bool.false$};Pn.co_varnames=["a","axis","out","keepdims"],Pn.$defaults=[Sk.builtin.none.none$,Sk.builtin.none.none$,Sk.builtin.bool.false$],Q.any=new Sk.builtin.func(Pn);var qn=function(n,i,t,e){Sk.builtin.pyCheckArgs("all",arguments,1,4,!1);var r,u=g(L(n));if(null!=i&&!Sk.builtin.checkNone(i))throw new ValueError('"axis" parameter not supported');if(null!=t&&!Sk.builtin.checkNone(t))throw new ValueError('"out" parameter not supported');for(r=0;r<u.length;r++)if(Sk.builtin.bool(u[r])==Sk.builtin.bool.false$)return Sk.builtin.bool.false$;return Sk.builtin.bool.true$};function Mn(n,i,t,e){var r,u=L(i),l=L(t),o=g(u),a=g(l),s=[];if(!(b(i)||Sk.builtin.checkSequence(i)||b(t)||Sk.builtin.checkSequence(t)))return Sk.builtin.bool(Sk.misceval.richCompareBool(i,t,n));if(y(u)!==y(l))if(1===y(u)){var c=o[0];for(f=1;f<y(l);f++)o.push(c);r=N(l)}else{if(1!==y(l))throw new Sk.builtin.ValueError("operands could not be broadcast together with shapes");var f;c=a[0];for(f=1;f<y(u);f++)a.push(c);r=N(u)}else r=N(u);if(null!=e&&!Sk.builtin.checkNone(e))throw new ValueError('"out" parameter not supported');for(f=0;f<o.length;f++)s.push(Sk.builtin.bool(Sk.misceval.richCompareBool(o[f],a[f],n)));return _(T(L(new Sk.builtin.list(s)),r,null))}qn.co_varnames=["a","axis","out","keepdims"],qn.$defaults=[Sk.builtin.none.none$,Sk.builtin.none.none$,Sk.builtin.bool.false$],Q.all=new Sk.builtin.func(qn);var On=function(n,i,t){return Sk.builtin.pyCheckArgs("less",arguments,2,3,!1),Mn("Lt",n,i,t)};On.co_varnames=["a","axis","out","keepdims"],On.$defaults=[Sk.builtin.none.none$,Sk.builtin.none.none$,Sk.builtin.bool.false$],Q.less=new Sk.builtin.func(On);var Jn=function(n,i,t){return Sk.builtin.pyCheckArgs("less_equal",arguments,2,3,!1),Mn("LtE",n,i,t)};Jn.co_varnames=["a","axis","out","keepdims"],Jn.$defaults=[Sk.builtin.none.none$,Sk.builtin.none.none$,Sk.builtin.bool.false$],Q.less_equal=new Sk.builtin.func(Jn);var Bn=function(n,i,t){return Sk.builtin.pyCheckArgs("greater",arguments,2,3,!1),Mn("Gt",n,i,t)};Bn.co_varnames=["a","axis","out","keepdims"],Bn.$defaults=[Sk.builtin.none.none$,Sk.builtin.none.none$,Sk.builtin.bool.false$],Q.greater=new Sk.builtin.func(Bn);var Vn=function(n,i,t){return Sk.builtin.pyCheckArgs("greater_equal",arguments,2,3,!1),Mn("GtE",n,i,t)};Vn.co_varnames=["a","axis","out","keepdims"],Vn.$defaults=[Sk.builtin.none.none$,Sk.builtin.none.none$,Sk.builtin.bool.false$],Q.greater_equal=new Sk.builtin.func(Vn);var Rn=function(n,i,t){return Sk.builtin.pyCheckArgs("equal",arguments,2,3,!1),Mn("Eq",n,i,t)};Rn.co_varnames=["a","axis","out","keepdims"],Rn.$defaults=[Sk.builtin.none.none$,Sk.builtin.none.none$,Sk.builtin.bool.false$],Q.equal=new Sk.builtin.func(Rn);var Fn=function(n,i,t){return Sk.builtin.pyCheckArgs("not_equal",arguments,2,3,!1),Mn("NotEq",n,i,t)};return Fn.co_varnames=["a","axis","out","keepdims"],Fn.$defaults=[Sk.builtin.none.none$,Sk.builtin.none.none$,Sk.builtin.bool.false$],Q.not_equal=new Sk.builtin.func(Fn),Q.identity=new Sk.builtin.func((function(n,i){var t,e,r;Sk.builtin.pyCheckArgs("identity",arguments,1,2,!1),n=new Sk.builtin.int_(n),t=Sk.misceval.callsim(Q.zeros,new Sk.builtin.tuple([n,n]),i);var u=Sk.ffi.remapToJs(n),l=d(t)(1);for(e=0,r=0;e<u;e++,r++)g(t)[nn($(t),[e,r])]=l;return t})),Q.eye=new Sk.builtin.func((function(n,i,t,e){throw new Sk.builtin.NotImplementedError("eye is not yet implemented")})),Q.ones_like=new Sk.builtin.func((function(){throw new Sk.builtin.NotImplementedError("ones_like is not yet implemented")})),Q.empty_like=new Sk.builtin.func((function(){throw new Sk.builtin.NotImplementedError("empty_like is not yet implemented")})),Q.ones_like=new Sk.builtin.func((function(){throw new Sk.builtin.NotImplementedError("ones_like is not yet implemented")})),Q.arctan2=new Sk.builtin.func((function(){throw new Sk.builtin.NotImplementedError("arctan2 is not yet implemented")})),Q.asarray=new Sk.builtin.func(yn),Q};