diff --git a/dist/index.js b/dist/index.js index e8d0b29c..d573a3c0 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1,4 +1,4 @@ -"use strict";var e=function(r,i){return function(){return i||r((i={exports:{}}).exports,i),i.exports}};var es=e(function(pX,rs){"use strict";var fI=require("@stdlib/math/base/assert/is-integer"),pI=require("@stdlib/constants/array/max-typed-array-length");function vI(r){return typeof r=="object"&&r!==null&&typeof r.length=="number"&&fI(r.length)&&r.length>=0&&r.length<=pI}rs.exports=vI});var R=e(function(vX,is){"use strict";var qI=es();is.exports=qI});var fr=e(function(qX,ts){"use strict";function yI(r){return typeof r=="number"}ts.exports=yI});var us=e(function(yX,ss){"use strict";function lI(){return typeof Symbol=="function"&&typeof Symbol("foo")=="symbol"}ss.exports=lI});var C=e(function(lX,as){"use strict";var mI=us();as.exports=mI});var os=e(function(mX,ns){"use strict";var xI=C(),bI=xI();function gI(){return bI&&typeof Symbol.toStringTag=="symbol"}ns.exports=gI});var S=e(function(xX,cs){"use strict";var AI=os();cs.exports=AI});var ps=e(function(bX,fs){"use strict";var PI=require("@stdlib/number/ctor"),OI=PI.prototype.toString;fs.exports=OI});var qs=e(function(gX,vs){"use strict";var dI=ps();function SI(r){try{return dI.call(r),!0}catch(i){return!1}}vs.exports=SI});var pr=e(function(AX,ys){"use strict";var hI=S(),jI=require("@stdlib/utils/native-class"),NI=require("@stdlib/number/ctor"),II=qs(),EI=hI();function wI(r){return typeof r=="object"?r instanceof NI?!0:EI?II(r):jI(r)==="[object Number]":!1}ys.exports=wI});var ms=e(function(PX,ls){"use strict";var RI=fr(),CI=pr();function LI(r){return RI(r)||CI(r)}ls.exports=LI});var p=e(function(OX,bs){"use strict";var xs=require("@stdlib/utils/define-nonenumerable-read-only-property"),vr=ms(),FI=fr(),kI=pr();xs(vr,"isPrimitive",FI);xs(vr,"isObject",kI);bs.exports=vr});var qr=e(function(dX,gs){"use strict";var TI=require("@stdlib/constants/float64/pinf"),_I=require("@stdlib/constants/float64/ninf"),BI=require("@stdlib/math/base/assert/is-integer");function UI(r){return r_I&&BI(r)}gs.exports=UI});var yr=e(function(SX,As){"use strict";var MI=p().isPrimitive,DI=qr();function GI(r){return MI(r)&&DI(r)}As.exports=GI});var lr=e(function(hX,Ps){"use strict";var VI=p().isObject,WI=qr();function HI(r){return VI(r)&&WI(r.valueOf())}Ps.exports=HI});var ds=e(function(jX,Os){"use strict";var XI=yr(),zI=lr();function KI(r){return XI(r)||zI(r)}Os.exports=KI});var v=e(function(NX,hs){"use strict";var Ss=require("@stdlib/utils/define-nonenumerable-read-only-property"),mr=ds(),$I=yr(),ZI=lr();Ss(mr,"isPrimitive",$I);Ss(mr,"isObject",ZI);hs.exports=mr});var xr=e(function(IX,js){"use strict";function YI(r){return typeof r=="string"}js.exports=YI});var Is=e(function(EX,Ns){"use strict";var JI=String.prototype.valueOf;Ns.exports=JI});var ws=e(function(wX,Es){"use strict";var QI=Is();function rE(r){try{return QI.call(r),!0}catch(i){return!1}}Es.exports=rE});var br=e(function(RX,Rs){"use strict";var eE=S(),iE=require("@stdlib/utils/native-class"),tE=ws(),sE=eE();function uE(r){return typeof r=="object"?r instanceof String?!0:sE?tE(r):iE(r)==="[object String]":!1}Rs.exports=uE});var Ls=e(function(CX,Cs){"use strict";var aE=xr(),nE=br();function oE(r){return aE(r)||nE(r)}Cs.exports=oE});var f=e(function(LX,ks){"use strict";var Fs=require("@stdlib/utils/define-nonenumerable-read-only-property"),gr=Ls(),cE=xr(),fE=br();Fs(gr,"isPrimitive",cE);Fs(gr,"isObject",fE);ks.exports=gr});var Ar=e(function(FX,Ts){"use strict";var pE=p().isPrimitive,vE=require("@stdlib/math/base/assert/is-nan");function qE(r){return pE(r)&&vE(r)}Ts.exports=qE});var Pr=e(function(kX,_s){"use strict";var yE=p().isObject,lE=require("@stdlib/math/base/assert/is-nan");function mE(r){return yE(r)&&lE(r.valueOf())}_s.exports=mE});var Us=e(function(TX,Bs){"use strict";var xE=Ar(),bE=Pr();function gE(r){return xE(r)||bE(r)}Bs.exports=gE});var L=e(function(_X,Ds){"use strict";var Ms=require("@stdlib/utils/define-nonenumerable-read-only-property"),Or=Us(),AE=Ar(),PE=Pr();Ms(Or,"isPrimitive",AE);Ms(Or,"isObject",PE);Ds.exports=Or});var Ws=e(function(BX,Vs){"use strict";var OE=R(),dE=v().isPrimitive,dr=f().isPrimitive,Gs=L().isPrimitive,Sr=require("@stdlib/string/format");function SE(r,i,t){var a,n,c;if(!OE(r)&&!dr(r))throw new TypeError(Sr("invalid argument. First argument must be array-like. Value: `%s`.",r));if(arguments.length<2)throw new Error("insufficient arguments. Must provide a search value.");if(arguments.length>2){if(!dE(t))throw new TypeError(Sr("invalid argument. Third argument must be an integer. Value: `%s`.",t));n=t,n<0&&(n=0)}else n=0;if(dr(r)){if(!dr(i))throw new TypeError(Sr("invalid argument. Second argument must be a string. Value: `%s`.",i));return r.indexOf(i,n)!==-1}if(a=r.length,Gs(i)){for(c=n;c2&&(o=U1(c,t),o))throw o;return r==null?!1:(a?n=i.split(c.sep):n=i,D1(r,n))}Hu.exports=G1});var Ku=e(function(b7,zu){"use strict";var V1=f().isPrimitive,W1=x(),H1=require("@stdlib/string/format"),X1=Er(),z1=wr(),K1=Rr();function $1(r,i){var t,a,n,c;if(t=V1(r),!t&&!W1(r))throw new TypeError(H1("invalid argument. Key path must be a string or a key array. Value: `%s`.",r));if(n=z1(),arguments.length>1&&(c=X1(n,i),c))throw c;return t?a=r.split(n.sep):a=r,o;function o(y){return y==null?!1:K1(y,a)}}zu.exports=$1});var Yu=e(function(g7,Zu){"use strict";var Z1=require("@stdlib/utils/define-nonenumerable-read-only-property"),$u=Xu(),Y1=Ku();Z1($u,"factory",Y1);Zu.exports=$u});var Cr=e(function(A7,Qu){"use strict";var J1=f().isPrimitive,Q1=b(),rw=m(),Ju=require("@stdlib/string/format");function ew(r,i){return Q1(i)?rw(i,"sep")&&(r.sep=i.sep,!J1(r.sep))?new TypeError(Ju("invalid option. `%s` option must be a string. Option: `%s`.","sep",r.sep)):null:new TypeError(Ju("invalid argument. Options argument must be an object. Value: `%s`.",i))}Qu.exports=ew});var Lr=e(function(P7,ra){"use strict";function iw(){return{sep:"."}}ra.exports=iw});var ia=e(function(O7,ea){"use strict";function tw(r,i){return r==null?!1:typeof i=="symbol"?i in Object(r):String(i)in Object(r)}ea.exports=tw});var Fr=e(function(d7,ta){"use strict";var sw=ia();ta.exports=sw});var kr=e(function(S7,sa){"use strict";var uw=Fr();function aw(r,i){var t=i.length,a;if(t===0)return!1;for(a=0;a2&&(o=fw(c,t),o))throw o;return r==null?!1:(a?n=i.split(c.sep):n=i,vw(r,n))}ua.exports=qw});var oa=e(function(j7,na){"use strict";var yw=f().isPrimitive,lw=x(),mw=require("@stdlib/string/format"),xw=Cr(),bw=Lr(),gw=kr();function Aw(r,i){var t,a,n,c;if(t=yw(r),!t&&!lw(r))throw new TypeError(mw("invalid argument. Key path must be a string or a key array. Value: `%s`.",r));if(n=bw(),arguments.length>1&&(c=xw(n,i),c))throw c;return t?a=r.split(n.sep):a=r,o;function o(y){return y==null?!1:gw(y,a)}}na.exports=Aw});var pa=e(function(N7,fa){"use strict";var Pw=require("@stdlib/utils/define-nonenumerable-read-only-property"),ca=aa(),Ow=oa();Pw(ca,"factory",Ow);fa.exports=ca});var qa=e(function(I7,va){"use strict";var dw=require("@stdlib/utils/native-class"),Sw=typeof ArrayBuffer=="function";function hw(r){return Sw&&r instanceof ArrayBuffer||dw(r)==="[object ArrayBuffer]"}va.exports=hw});var Tr=e(function(E7,ya){"use strict";var jw=qa();ya.exports=jw});var ma=e(function(w7,la){"use strict";var Nw=typeof ArrayBuffer=="function"?ArrayBuffer:null;la.exports=Nw});var ba=e(function(R7,xa){"use strict";var Iw=Tr(),Ew=require("@stdlib/array/float64"),V=ma();function ww(){var r,i,t;if(typeof V!="function")return!1;try{t=new V(16),r=Iw(t)&&typeof V.isView=="function",r&&(i=new Ew(t),i[0]=-3.14,i[1]=NaN,r=r&&V.isView(i)&&t.byteLength===16&&i[0]===-3.14&&i[1]!==i[1])}catch(a){r=!1}return r}xa.exports=ww});var _r=e(function(C7,ga){"use strict";var Rw=ba();ga.exports=Rw});var Pa=e(function(L7,Aa){"use strict";var Cw=require("@stdlib/utils/eval");function Lw(){var r;try{Cw('"use strict"; (() => {})'),r=!0}catch(i){r=!1}return r}Aa.exports=Lw});var da=e(function(F7,Oa){"use strict";var Fw=Pa();Oa.exports=Fw});var ha=e(function(k7,Sa){"use strict";var kw=require("@stdlib/utils/eval");function Tw(){var r;try{kw('"use strict"; async () => {}'),r=!0}catch(i){r=!1}return r}Sa.exports=Tw});var Na=e(function(T7,ja){"use strict";var _w=ha();ja.exports=_w});var Ea=e(function(_7,Ia){"use strict";var Bw=m();function Uw(){return typeof Symbol=="function"&&typeof Symbol("foo")=="symbol"&&Bw(Symbol,"asyncIterator")&&typeof Symbol.asyncIterator=="symbol"}Ia.exports=Uw});var Ra=e(function(B7,wa){"use strict";var Mw=Ea();wa.exports=Mw});var Fa=e(function(U7,La){"use strict";var Dw=require("@stdlib/utils/global"),Ca=Dw();function Gw(){return typeof Ca.BigInt=="function"&&typeof BigInt=="function"&&typeof Ca.BigInt("1")=="bigint"&&typeof BigInt("1")=="bigint"}La.exports=Gw});var Br=e(function(M7,ka){"use strict";var Vw=Fa();ka.exports=Vw});var _a=e(function(D7,Ta){"use strict";var Ww=require("@stdlib/utils/native-class"),Hw=typeof BigInt64Array=="function";function Xw(r){return Hw&&r instanceof BigInt64Array||Ww(r)==="[object BigInt64Array]"}Ta.exports=Xw});var Ur=e(function(G7,Ba){"use strict";var zw=_a();Ba.exports=zw});var Mr=e(function(V7,Ua){"use strict";function Kw(r){return typeof r=="bigint"}Ua.exports=Kw});var Da=e(function(W7,Ma){"use strict";function $w(r){try{return typeof r.valueOf()=="bigint"}catch(i){return!1}}Ma.exports=$w});var Dr=e(function(H7,Ga){"use strict";var Zw=require("@stdlib/utils/native-class"),Yw=Da();function Jw(r){return typeof r=="object"&&Zw(r)==="[object BigInt]"&&Yw(r)}Ga.exports=Jw});var Wa=e(function(X7,Va){"use strict";var Qw=Mr(),rR=Dr();function eR(r){return Qw(r)||rR(r)}Va.exports=eR});var za=e(function(z7,Xa){"use strict";var Ha=require("@stdlib/utils/define-nonenumerable-read-only-property"),Gr=Wa(),iR=Mr(),tR=Dr();Ha(Gr,"isPrimitive",iR);Ha(Gr,"isObject",tR);Xa.exports=Gr});var Za=e(function(K7,$a){"use strict";var Ka=require("@stdlib/utils/define-nonenumerable-read-only-property"),Vr=require("@stdlib/utils/constant-function"),Wr=Vr(!1),sR=Vr(!1),uR=Vr(!1);Ka(Wr,"isPrimitive",sR);Ka(Wr,"isObject",uR);$a.exports=Wr});var W=e(function($7,Ya){"use strict";var aR=Br(),nR=za(),oR=Za(),Hr;aR()?Hr=nR:Hr=oR;Ya.exports=Hr});var Qa=e(function(Z7,Ja){"use strict";var cR=typeof BigInt64Array=="function"?BigInt64Array:null;Ja.exports=cR});var an=e(function(Y7,un){"use strict";var fR=Ur(),rn=W(),en=Qa(),tn="9007199254740991",sn="9007199254740993";function pR(){var r;if(typeof en!="function")return!1;try{return r=new en([tn,sn]),fR(r)&&rn(r[0])&&r[0].toString()===tn&&rn(r[1])&&r[1].toString()===sn}catch(i){return!1}}un.exports=pR});var on=e(function(J7,nn){"use strict";var vR=an();nn.exports=vR});var fn=e(function(Q7,cn){"use strict";var qR=require("@stdlib/utils/native-class"),yR=typeof BigUint64Array=="function";function lR(r){return yR&&r instanceof BigUint64Array||qR(r)==="[object BigUint64Array]"}cn.exports=lR});var Xr=e(function(rz,pn){"use strict";var mR=fn();pn.exports=mR});var qn=e(function(ez,vn){"use strict";var xR=typeof BigUint64Array=="function"?BigUint64Array:null;vn.exports=xR});var gn=e(function(iz,bn){"use strict";var bR=Xr(),yn=W(),ln=qn(),mn="9223372036854775807",xn="9223372036854775809";function gR(){var r;if(typeof ln!="function")return!1;try{return r=new ln([mn,xn]),bR(r)&&yn(r[0])&&r[0].toString()===mn&&yn(r[1])&&r[1].toString()===xn}catch(i){return!1}}bn.exports=gR});var Pn=e(function(tz,An){"use strict";var AR=gn();An.exports=AR});var dn=e(function(sz,On){"use strict";var PR=require("@stdlib/utils/eval");function OR(){var r;try{PR('"use strict"; class A{};'),r=!0}catch(i){r=!1}return r}On.exports=OR});var hn=e(function(uz,Sn){"use strict";var dR=dn();Sn.exports=dR});var Nn=e(function(az,jn){"use strict";var SR=require("@stdlib/utils/native-class"),hR=typeof DataView=="function";function jR(r){return hR&&r instanceof DataView||SR(r)==="[object DataView]"}jn.exports=jR});var H=e(function(nz,In){"use strict";var NR=Nn();In.exports=NR});var wn=e(function(oz,En){"use strict";var IR=typeof DataView=="function"?DataView:null;En.exports=IR});var Ln=e(function(cz,Cn){"use strict";var ER=H(),wR=require("@stdlib/array/buffer"),Rn=wn();function RR(){var r,i,t;if(typeof Rn!="function")return!1;try{t=new wR(24),i=new Rn(t,8),r=ER(i)&&typeof i.getFloat64=="function"&&typeof i.setFloat64=="function",r&&(i.setFloat64(0,-3.14),i.setFloat64(8,NaN),r=r&&i.buffer===t&&i.byteLength===16&&i.byteOffset===8&&i.getFloat64(0)===-3.14&&i.getFloat64(8)!==i.getFloat64(8))}catch(a){r=!1}return r}Cn.exports=RR});var kn=e(function(fz,Fn){"use strict";var CR=Ln();Fn.exports=CR});var _n=e(function(pz,Tn){"use strict";var LR=typeof Object.defineProperties=="function"?Object.defineProperties:null;Tn.exports=LR});var Un=e(function(vz,Bn){"use strict";var FR=_n();function kR(){try{return FR({},{x:{}}),!0}catch(r){return!1}}Bn.exports=kR});var Dn=e(function(qz,Mn){"use strict";var TR=Un();Mn.exports=TR});var Vn=e(function(yz,Gn){"use strict";var _R=typeof Object.defineProperty=="function"?Object.defineProperty:null;Gn.exports=_R});var Hn=e(function(lz,Wn){"use strict";var BR=Vn();function UR(){try{return BR({},"x",{}),!0}catch(r){return!1}}Wn.exports=UR});var zn=e(function(mz,Xn){"use strict";var MR=Hn();Xn.exports=MR});var $n=e(function(xz,Kn){"use strict";var DR=require("@stdlib/utils/native-class"),GR=typeof Float32Array=="function";function VR(r){return GR&&r instanceof Float32Array||DR(r)==="[object Float32Array]"}Kn.exports=VR});var zr=e(function(bz,Zn){"use strict";var WR=$n();Zn.exports=WR});var Jn=e(function(gz,Yn){"use strict";var HR=typeof Float32Array=="function"?Float32Array:null;Yn.exports=HR});var eo=e(function(Az,ro){"use strict";var XR=zr(),zR=require("@stdlib/constants/float64/pinf"),Qn=Jn();function KR(){var r,i;if(typeof Qn!="function")return!1;try{i=new Qn([1,3.14,-3.14,5e40]),r=XR(i)&&i[0]===1&&i[1]===3.140000104904175&&i[2]===-3.140000104904175&&i[3]===zR}catch(t){r=!1}return r}ro.exports=KR});var to=e(function(Pz,io){"use strict";var $R=eo();io.exports=$R});var uo=e(function(Oz,so){"use strict";var ZR=require("@stdlib/utils/native-class"),YR=typeof Float64Array=="function";function JR(r){return YR&&r instanceof Float64Array||ZR(r)==="[object Float64Array]"}so.exports=JR});var X=e(function(dz,ao){"use strict";var QR=uo();ao.exports=QR});var oo=e(function(Sz,no){"use strict";var rC=typeof Float64Array=="function"?Float64Array:null;no.exports=rC});var po=e(function(hz,fo){"use strict";var eC=X(),co=oo();function iC(){var r,i;if(typeof co!="function")return!1;try{i=new co([1,3.14,-3.14,NaN]),r=eC(i)&&i[0]===1&&i[1]===3.14&&i[2]===-3.14&&i[3]!==i[3]}catch(t){r=!1}return r}fo.exports=iC});var Kr=e(function(jz,vo){"use strict";var tC=po();vo.exports=tC});var yo=e(function(Nz,qo){"use strict";function sC(){}qo.exports=sC});var mo=e(function(Iz,lo){"use strict";var uC=yo();function aC(){return uC.name==="foo"}lo.exports=aC});var bo=e(function(Ez,xo){"use strict";var nC=mo();xo.exports=nC});var Ao=e(function(wz,go){"use strict";var oC=require("@stdlib/utils/eval");function cC(){var r;try{oC('"use strict"; (function* () {})'),r=!0}catch(i){r=!1}return r}go.exports=cC});var $r=e(function(Rz,Po){"use strict";var fC=Ao();Po.exports=fC});var So=e(function(Cz,Oo){"use strict";function pC(){return typeof globalThis=="object"&&typeof globalThis.setTimeout=="function"}Oo.exports=pC});var jo=e(function(Lz,ho){"use strict";var vC=So();ho.exports=vC});var Io=e(function(Fz,No){"use strict";var qC=require("@stdlib/utils/native-class"),yC=typeof Int8Array=="function";function lC(r){return yC&&r instanceof Int8Array||qC(r)==="[object Int8Array]"}No.exports=lC});var Zr=e(function(kz,Eo){"use strict";var mC=Io();Eo.exports=mC});var Ro=e(function(Tz,wo){"use strict";var xC=typeof Int8Array=="function"?Int8Array:null;wo.exports=xC});var Fo=e(function(_z,Lo){"use strict";var bC=Zr(),gC=require("@stdlib/constants/int8/max"),AC=require("@stdlib/constants/int8/min"),Co=Ro();function PC(){var r,i;if(typeof Co!="function")return!1;try{i=new Co([1,3.14,-3.14,gC+1]),r=bC(i)&&i[0]===1&&i[1]===3&&i[2]===-3&&i[3]===AC}catch(t){r=!1}return r}Lo.exports=PC});var To=e(function(Bz,ko){"use strict";var OC=Fo();ko.exports=OC});var Bo=e(function(Uz,_o){"use strict";var dC=require("@stdlib/utils/native-class"),SC=typeof Int16Array=="function";function hC(r){return SC&&r instanceof Int16Array||dC(r)==="[object Int16Array]"}_o.exports=hC});var Yr=e(function(Mz,Uo){"use strict";var jC=Bo();Uo.exports=jC});var Do=e(function(Dz,Mo){"use strict";var NC=typeof Int16Array=="function"?Int16Array:null;Mo.exports=NC});var Wo=e(function(Gz,Vo){"use strict";var IC=Yr(),EC=require("@stdlib/constants/int16/max"),wC=require("@stdlib/constants/int16/min"),Go=Do();function RC(){var r,i;if(typeof Go!="function")return!1;try{i=new Go([1,3.14,-3.14,EC+1]),r=IC(i)&&i[0]===1&&i[1]===3&&i[2]===-3&&i[3]===wC}catch(t){r=!1}return r}Vo.exports=RC});var Xo=e(function(Vz,Ho){"use strict";var CC=Wo();Ho.exports=CC});var Ko=e(function(Wz,zo){"use strict";var LC=require("@stdlib/utils/native-class"),FC=typeof Int32Array=="function";function kC(r){return FC&&r instanceof Int32Array||LC(r)==="[object Int32Array]"}zo.exports=kC});var Jr=e(function(Hz,$o){"use strict";var TC=Ko();$o.exports=TC});var Yo=e(function(Xz,Zo){"use strict";var _C=typeof Int32Array=="function"?Int32Array:null;Zo.exports=_C});var rc=e(function(zz,Qo){"use strict";var BC=Jr(),UC=require("@stdlib/constants/int32/max"),MC=require("@stdlib/constants/int32/min"),Jo=Yo();function DC(){var r,i;if(typeof Jo!="function")return!1;try{i=new Jo([1,3.14,-3.14,UC+1]),r=BC(i)&&i[0]===1&&i[1]===3&&i[2]===-3&&i[3]===MC}catch(t){r=!1}return r}Qo.exports=DC});var ic=e(function(Kz,ec){"use strict";var GC=rc();ec.exports=GC});var sc=e(function($z,tc){"use strict";var VC=m(),z=require("@stdlib/symbol/ctor");function WC(){return typeof z=="function"&&typeof z("foo")=="symbol"&&VC(z,"iterator")&&typeof z.iterator=="symbol"}tc.exports=WC});var Qr=e(function(Zz,uc){"use strict";var HC=sc();uc.exports=HC});var nc=e(function(Yz,ac){"use strict";var XC=typeof Map=="function"?Map:null;ac.exports=XC});var fc=e(function(Jz,cc){"use strict";var oc=nc();function zC(){var r,i,t;if(typeof oc!="function")return!1;try{i={},t=new oc,t.set(i,"beep"),r=t.has(i)&&t.get(i)==="beep"}catch(a){r=!1}return r}cc.exports=zC});var vc=e(function(Qz,pc){"use strict";var KC=fc();pc.exports=KC});var yc=e(function(rK,qc){"use strict";var $C=typeof Buffer=="function"?Buffer:null;qc.exports=$C});var mc=e(function(eK,lc){"use strict";var ZC=E(),K=yc();function YC(){var r,i;if(typeof K!="function")return!1;try{typeof K.from=="function"?i=K.from([1,2,3,4]):i=new K([1,2,3,4]),r=ZC(i)&&i[0]===1&&i[1]===2&&i[2]===3&&i[3]===4}catch(t){r=!1}return r}lc.exports=YC});var bc=e(function(iK,xc){"use strict";var JC=mc();xc.exports=JC});var Ac=e(function(tK,gc){"use strict";var QC=require("@stdlib/utils/eval");function r2(){var r;try{QC('"use strict"; var handler = { "get": function get( t, n ) { return t[ n ] * 100; } }; var target = { "beep": 3.14 }; var p = new Proxy( target, handler ); var x = p.beep; if ( x !== 314 ) { throw new Error( "native Proxy is not supported." ); }'),r=!0}catch(i){r=!1}return r}gc.exports=r2});var Oc=e(function(sK,Pc){"use strict";var e2=Ac();Pc.exports=e2});var Sc=e(function(uK,dc){"use strict";var i2=typeof Set=="function"?Set:null;dc.exports=i2});var Nc=e(function(aK,jc){"use strict";var hc=Sc();function t2(){var r,i,t;if(typeof hc!="function")return!1;try{i={},t=new hc,t.add(i),t.add(i),r=t.has(i)}catch(a){r=!1}return r}jc.exports=t2});var Ec=e(function(nK,Ic){"use strict";var s2=Nc();Ic.exports=s2});var Rc=e(function(oK,wc){"use strict";var u2=require("@stdlib/utils/native-class"),a2=typeof SharedArrayBuffer=="function";function n2(r){return a2&&r instanceof SharedArrayBuffer||u2(r)==="[object SharedArrayBuffer]"}wc.exports=n2});var re=e(function(cK,Cc){"use strict";var o2=Rc();Cc.exports=o2});var Fc=e(function(fK,Lc){"use strict";var c2=typeof SharedArrayBuffer=="function"?SharedArrayBuffer:null;Lc.exports=c2});var Bc=e(function(pK,_c){"use strict";var kc=re(),Tc=Fc();function f2(){var r,i,t;if(typeof Tc!="function")return!1;try{i=new Tc(16),t=i.slice(4,8),r=kc(i)&&kc(t)&&i.byteLength===16&&t.byteLength===4}catch(a){r=!1}return r}_c.exports=f2});var Mc=e(function(vK,Uc){"use strict";var p2=Bc();Uc.exports=p2});var Gc=e(function(qK,Dc){"use strict";var v2=require("@stdlib/utils/native-class"),q2=typeof Uint8Array=="function";function y2(r){return q2&&r instanceof Uint8Array||v2(r)==="[object Uint8Array]"}Dc.exports=y2});var $=e(function(yK,Vc){"use strict";var l2=Gc();Vc.exports=l2});var Hc=e(function(lK,Wc){"use strict";var m2=typeof Uint8Array=="function"?Uint8Array:null;Wc.exports=m2});var Kc=e(function(mK,zc){"use strict";var x2=$(),ee=require("@stdlib/constants/uint8/max"),Xc=Hc();function b2(){var r,i;if(typeof Xc!="function")return!1;try{i=[1,3.14,-3.14,ee+1,ee+2],i=new Xc(i),r=x2(i)&&i[0]===1&&i[1]===3&&i[2]===ee-2&&i[3]===0&&i[4]===1}catch(t){r=!1}return r}zc.exports=b2});var Zc=e(function(xK,$c){"use strict";var g2=Kc();$c.exports=g2});var Jc=e(function(bK,Yc){"use strict";var A2=require("@stdlib/utils/native-class"),P2=typeof Uint8ClampedArray=="function";function O2(r){return P2&&r instanceof Uint8ClampedArray||A2(r)==="[object Uint8ClampedArray]"}Yc.exports=O2});var ie=e(function(gK,Qc){"use strict";var d2=Jc();Qc.exports=d2});var ef=e(function(AK,rf){"use strict";var S2=typeof Uint8ClampedArray=="function"?Uint8ClampedArray:null;rf.exports=S2});var uf=e(function(PK,sf){"use strict";var h2=ie(),tf=ef();function j2(){var r,i;if(typeof tf!="function")return!1;try{i=new tf([-1,0,1,3.14,4.99,255,256]),r=h2(i)&&i[0]===0&&i[1]===0&&i[2]===1&&i[3]===3&&i[4]===5&&i[5]===255&&i[6]===255}catch(t){r=!1}return r}sf.exports=j2});var nf=e(function(OK,af){"use strict";var N2=uf();af.exports=N2});var cf=e(function(dK,of){"use strict";var I2=require("@stdlib/utils/native-class"),E2=typeof Uint16Array=="function";function w2(r){return E2&&r instanceof Uint16Array||I2(r)==="[object Uint16Array]"}of.exports=w2});var te=e(function(SK,ff){"use strict";var R2=cf();ff.exports=R2});var vf=e(function(hK,pf){"use strict";var C2=typeof Uint16Array=="function"?Uint16Array:null;pf.exports=C2});var lf=e(function(jK,yf){"use strict";var L2=te(),se=require("@stdlib/constants/uint16/max"),qf=vf();function F2(){var r,i;if(typeof qf!="function")return!1;try{i=[1,3.14,-3.14,se+1,se+2],i=new qf(i),r=L2(i)&&i[0]===1&&i[1]===3&&i[2]===se-2&&i[3]===0&&i[4]===1}catch(t){r=!1}return r}yf.exports=F2});var xf=e(function(NK,mf){"use strict";var k2=lf();mf.exports=k2});var gf=e(function(IK,bf){"use strict";var T2=require("@stdlib/utils/native-class"),_2=typeof Uint32Array=="function";function B2(r){return _2&&r instanceof Uint32Array||T2(r)==="[object Uint32Array]"}bf.exports=B2});var ue=e(function(EK,Af){"use strict";var U2=gf();Af.exports=U2});var Of=e(function(wK,Pf){"use strict";var M2=typeof Uint32Array=="function"?Uint32Array:null;Pf.exports=M2});var hf=e(function(RK,Sf){"use strict";var D2=ue(),ae=require("@stdlib/constants/uint32/max"),df=Of();function G2(){var r,i;if(typeof df!="function")return!1;try{i=[1,3.14,-3.14,ae+1,ae+2],i=new df(i),r=D2(i)&&i[0]===1&&i[1]===3&&i[2]===ae-2&&i[3]===0&&i[4]===1}catch(t){r=!1}return r}Sf.exports=G2});var Nf=e(function(CK,jf){"use strict";var V2=hf();jf.exports=V2});var ne=e(function(LK,If){"use strict";var W2=v().isPrimitive;function H2(r){return W2(r)&&r>=0}If.exports=H2});var oe=e(function(FK,Ef){"use strict";var X2=v().isObject;function z2(r){return X2(r)&&r.valueOf()>=0}Ef.exports=z2});var Rf=e(function(kK,wf){"use strict";var K2=ne(),$2=oe();function Z2(r){return K2(r)||$2(r)}wf.exports=Z2});var h=e(function(TK,Lf){"use strict";var Cf=require("@stdlib/utils/define-nonenumerable-read-only-property"),ce=Rf(),Y2=ne(),J2=oe();Cf(ce,"isPrimitive",Y2);Cf(ce,"isObject",J2);Lf.exports=ce});var kf=e(function(_K,Ff){"use strict";var Q2=f().isPrimitive,rL=h().isPrimitive,fe=require("@stdlib/string/format"),eL=55296,iL=56319,tL=56320,sL=57343;function uL(r,i){var t,a;if(!Q2(r))throw new TypeError(fe("invalid argument. Must provide a string. Value: `%s`.",r));if(!rL(i))throw new TypeError(fe("invalid argument. Must provide a valid position (i.e., a nonnegative integer). Value: `%s`.",i));if(i>=r.length)throw new RangeError(fe("invalid argument. Must provide a valid position (i.e., within string bounds). Value: `%u`.",i));return t=r.charCodeAt(i),a=r.charCodeAt(i+1),t>=eL&&t<=iL&&a>=tL&&a<=sL}Ff.exports=uL});var _f=e(function(BK,Tf){"use strict";var aL=kf();Tf.exports=aL});var Uf=e(function(UK,Bf){"use strict";function nL(){return typeof WebAssembly=="object"}Bf.exports=nL});var Df=e(function(MK,Mf){"use strict";var oL=Uf();Mf.exports=oL});var Vf=e(function(DK,Gf){"use strict";var cL=typeof WeakMap=="function"?WeakMap:null;Gf.exports=cL});var Xf=e(function(GK,Hf){"use strict";var Wf=Vf();function fL(){var r,i,t;if(typeof Wf!="function")return!1;try{i={},t=new Wf,t.set(i,"beep"),r=t.has(i)&&t.get(i)==="beep"}catch(a){r=!1}return r}Hf.exports=fL});var Kf=e(function(VK,zf){"use strict";var pL=Xf();zf.exports=pL});var Zf=e(function(WK,$f){"use strict";var vL=typeof WeakSet=="function"?WeakSet:null;$f.exports=vL});var Qf=e(function(HK,Jf){"use strict";var Yf=Zf();function qL(){var r,i,t;if(typeof Yf!="function")return!1;try{i={},t=new Yf,t.add(i),t.add(i),r=t.has(i)}catch(a){r=!1}return r}Jf.exports=qL});var ep=e(function(XK,rp){"use strict";var yL=Qf();rp.exports=yL});var tp=e(function(zK,ip){"use strict";var lL=require("@stdlib/string/format");function mL(r,i){if(typeof i!="function")throw new TypeError(lL("invalid argument. Second argument must be callable. Value: `%s`.",i));return r instanceof i}ip.exports=mL});var up=e(function(KK,sp){"use strict";var xL=tp();sp.exports=xL});var np=e(function($K,ap){"use strict";var bL=f().isPrimitive,gL=/(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?[^#]*)?(?:#.*)?/,AL=/[^a-z0-9:\/?#\[\]@!$&'()*+,;=.\-_~%]/i,PL=/%[^0-9a-f]/i,OL=/%[0-9a-f](:?[^0-9a-f]|$)/i,dL=/^\/\//,SL=/^[a-z][a-z0-9+\-.]*$/;function hL(r){var i,t,a,n;return!(!bL(r)||AL.test(r)||PL.test(r)||OL.test(r)||(a=r.match(gL),t=a[1],i=a[2],n=a[3],!t||!t.length||!SL.test(t.toLowerCase()))||!i&&dL.test(n))}ap.exports=hL});var Z=e(function(ZK,op){"use strict";var jL=np();op.exports=jL});var fp=e(function(YK,cp){"use strict";var NL=Z(),IL=/^https?:\/\//;function EL(r){return NL(r)&&IL.test(r)}cp.exports=EL});var vp=e(function(JK,pp){"use strict";var wL=fp();pp.exports=wL});var Y=e(function(QK,qp){"use strict";var RL=require("@stdlib/os/platform"),CL=RL==="win32";qp.exports=CL});var lp=e(function(r$,yp){"use strict";var LL=f().isPrimitive;function FL(r){return LL(r)&&r.length>0&&r.charCodeAt(0)===47}yp.exports=FL});var xp=e(function(e$,mp){"use strict";var kL=f().isPrimitive;function TL(r){var i,t;return!kL(r)||(t=r.length,t===0)?!1:(i=r.charCodeAt(0),i===47||i===92||(i>=65&&i<=90||i>=97&&i<=122)&&t>2&&r.charCodeAt(1)===58&&(i=r.charCodeAt(2),i===47||i===92))}mp.exports=TL});var J=e(function(i$,Pp){"use strict";var bp=require("@stdlib/utils/define-nonenumerable-read-only-property"),_L=Y(),gp=lp(),Ap=xp(),k;_L?k=Ap:k=gp;bp(k,"posix",gp);bp(k,"win32",Ap);Pp.exports=k});var dp=e(function(t$,Op){"use strict";var BL=Z();function UL(r){return BL(r)}Op.exports=UL});var hp=e(function(s$,Sp){"use strict";var ML=dp();Sp.exports=ML});var Ip=e(function(u$,Np){"use strict";var DL=R(),jp=l();function GL(r){return DL(r)&&jp(r.get)&&jp(r.set)}Np.exports=GL});var wp=e(function(a$,Ep){"use strict";var VL=Ip();Ep.exports=VL});var Cp=e(function(n$,Rp){"use strict";var WL=require("@stdlib/utils/property-descriptor");function HL(r,i){var t=WL(r,i);return t!==null&&(typeof t.get=="function"||typeof t.set=="function")}Rp.exports=HL});var Fp=e(function(o$,Lp){"use strict";var XL=Cp();Lp.exports=XL});var Tp=e(function(c$,kp){"use strict";var zL=require("@stdlib/utils/property-descriptor-in");function KL(r,i){var t=zL(r,i);return t!==null&&(typeof t.get=="function"||typeof t.set=="function")}kp.exports=KL});var Bp=e(function(f$,_p){"use strict";var $L=Tp();_p.exports=$L});var Mp=e(function(p$,Up){"use strict";var ZL=f();function YL(r){var i,t;if(!ZL(r)||(i=r.length,!i))return!1;for(t=1;tr[t])return!1;return!0}Up.exports=YL});var Gp=e(function(v$,Dp){"use strict";var JL=Mp();Dp.exports=JL});var Wp=e(function(q$,Vp){"use strict";var QL=f().isPrimitive,rF=48,eF=57,iF=65,tF=90,sF=97,uF=122;function aF(r){var i,t,a;if(!QL(r)||(i=r.length,i===0))return!1;for(a=0;aeF)&&(tuF)&&(ttF))return!1;return!0}Vp.exports=aF});var Xp=e(function(y$,Hp){"use strict";var nF=Wp();Hp.exports=nF});var Qp=e(function(l$,Jp){"use strict";var zp=require("@stdlib/string/base/lowercase"),Kp=require("@stdlib/string/base/replace"),$p=f().isPrimitive,oF=require("@stdlib/string/format"),Zp=/[^a-z0-9]/g;function Yp(r,i){return r=0&&i=0&&r.length<=EF&&hF(r,"callee")&&!jF(r,"callee")}qv.exports=wF});var mv=e(function(S$,lv){"use strict";var RF=uv(),CF=pe(),LF=yv(),qe;RF?qe=CF:qe=LF;lv.exports=qe});var bv=e(function(h$,xv){"use strict";var FF=F(),kF=x(),TF=FF(kF);xv.exports=TF});var Av=e(function(j$,gv){"use strict";var _F=bv();gv.exports=_F});var Ov=e(function(N$,Pv){"use strict";var BF=v().isPrimitive,UF=require("@stdlib/constants/array/max-array-length");function MF(r){return BF(r)&&r>=0&&r<=UF}Pv.exports=MF});var Sv=e(function(I$,dv){"use strict";var DF=Ov();dv.exports=DF});var jv=e(function(E$,hv){"use strict";var GF=require("@stdlib/math/base/assert/is-integer"),VF=require("@stdlib/constants/array/max-array-length");function WF(r){return r!=null&&typeof r!="function"&&typeof r.length=="number"&&GF(r.length)&&r.length>=0&&r.length<=VF}hv.exports=WF});var ye=e(function(w$,Nv){"use strict";var HF=jv();Nv.exports=HF});var Ev=e(function(R$,Iv){"use strict";var XF=require("@stdlib/math/base/assert/is-integer"),zF=require("@stdlib/constants/array/max-array-length");function KF(r){return typeof r=="object"&&r!==null&&typeof r.length=="number"&&XF(r.length)&&r.length>=0&&r.length<=zF}Iv.exports=KF});var Rv=e(function(C$,wv){"use strict";var $F=Ev();wv.exports=$F});var Lv=e(function(L$,Cv){"use strict";var ZF=require("@stdlib/utils/constant-function"),YF=ZF(!1);Cv.exports=YF});var kv=e(function(F$,Fv){"use strict";var JF=require("@stdlib/array/int8"),QF=require("@stdlib/array/uint8"),r4=require("@stdlib/array/uint8c"),e4=require("@stdlib/array/int16"),i4=require("@stdlib/array/uint16"),t4=require("@stdlib/array/int32"),s4=require("@stdlib/array/uint32"),u4=require("@stdlib/array/float32"),a4=require("@stdlib/array/float64"),n4=[a4,u4,t4,s4,e4,i4,JF,QF,r4];Fv.exports=n4});var Tv=e(function(k$,o4){o4.exports=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array"]});var Gv=e(function(T$,Dv){"use strict";var c4=require("@stdlib/utils/constructor-name"),f4=require("@stdlib/utils/function-name"),Uv=require("@stdlib/utils/get-prototype-of"),p4=Kr(),v4=require("@stdlib/array/float64"),_v=kv(),Bv=Tv(),rr=p4()?Uv(v4):Mv;rr=f4(rr)==="TypedArray"?rr:Mv;function Mv(){}function q4(r){var i,t;if(typeof r!="object"||r===null)return!1;if(r instanceof rr)return!0;for(t=0;t<_v.length;t++)if(r instanceof _v[t])return!0;for(;r;){for(i=c4(r),t=0;t/;function E4(r){var i;return j4(r)?(i=N4(r),I4.test(i)):!1}Zv.exports=E4});var Qv=e(function(G$,Jv){"use strict";var w4=Yv();Jv.exports=w4});var eq=e(function(V$,rq){"use strict";var R4=f().isPrimitive,C4=127;function L4(r){var i,t;if(!R4(r)||(i=r.length,!i))return!1;for(t=0;tC4)return!1;return!0}rq.exports=L4});var tq=e(function(W$,iq){"use strict";var F4=eq();iq.exports=F4});var aq=e(function(H$,uq){"use strict";var sq=require("@stdlib/string/format");function k4(r,i,t,a,n){if(arguments.length>3){if(a!=="closed"&&a!=="open")throw new TypeError(sq('invalid argument. Fourth argument must be one of the following: "%s". Value: `%s`.',["closed","open"].join('", "'),a));if(n!=="closed"&&n!=="open")throw new TypeError(sq('invalid argument. Fifth argument must be one of the following: "%s". Value: `%s`.',["closed","open"].join('", "'),n))}return a==="closed"||a===void 0?n==="closed"||n===void 0?r>=i&&r<=t:r>=i&&ri&&r<=t:r>i&&r3){if(a!=="closed"&&a!=="open")throw new TypeError(cq('invalid argument. Fourth argument must be one of the following: "%s". Value: `%s`.',["closed","open"].join('", "'),a));if(n!=="closed"&&n!=="open")throw new TypeError(cq('invalid argument. Fifth argument must be one of the following: "%s". Value: `%s`.',["closed","open"].join('", "'),n))}if(!_4(r)||(c=r.length,c===0))return!1;if(a==="closed"||a===void 0){if(n==="closed"||n===void 0){for(o=0;ot)return!1;return!0}for(o=0;o=t)return!1;return!0}if(n==="closed"||n===void 0){for(o=0;ot)return!1;return!0}for(o=0;o=t)return!1;return!0}fq.exports=B4});var qq=e(function(K$,vq){"use strict";var U4=pq();vq.exports=U4});var lq=e(function($$,yq){"use strict";var M4=require("@stdlib/array/uint8"),D4=require("@stdlib/array/uint16"),G4={uint16:D4,uint8:M4};yq.exports=G4});var gq=e(function(Z$,bq){"use strict";var mq=lq(),xq;function V4(){var r,i;return r=new mq.uint16(1),r[0]=4660,i=new mq.uint8(r.buffer),i[1]===52}xq=V4();bq.exports=xq});var Pq=e(function(Y$,Aq){"use strict";var W4=gq();Aq.exports=W4});var dq=e(function(J$,Oq){"use strict";var H4=f().isPrimitive;function X4(r){var i,t;if(!H4(r)||r.length===0)return!1;for(t=0;tK_)return!1;return!0}px.exports=$_});var yx=e(function($Y,qx){"use strict";var Z_=vx();qx.exports=Z_});var mx=e(function(ZY,lx){"use strict";var Y_=require("@stdlib/fs/read-file").sync,J_=M(),Q_=require("@stdlib/fs/exists").sync,r3={encoding:"utf8"};function e3(){var r;return Q_("/.dockerenv")?!0:(r=Y_("/proc/self/cgroup",r3),r instanceof Error?!1:J_(r,"docker"))}lx.exports=e3});var bx=e(function(YY,xx){"use strict";var i3=mx(),t3=i3();xx.exports=t3});var Ax=e(function(JY,gx){"use strict";var s3=f().isPrimitive,u3=/^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$/i;function a3(r){return!s3(r)||r.length<2||r.length>255?!1:u3.test(r)}gx.exports=a3});var Ox=e(function(QY,Px){"use strict";var n3=Ax();Px.exports=n3});var Sx=e(function(rJ,dx){"use strict";var o3=f().isPrimitive,c3=/^(?:\d+d)?(?:\d+h)?(?:\d+m)?(?:\d+s)?(?:\d+ms)?$/i;function f3(r){return o3(r)?c3.test(r):!1}dx.exports=f3});var jx=e(function(eJ,hx){"use strict";var p3=Sx();hx.exports=p3});var Ix=e(function(iJ,Nx){"use strict";Nx.exports=process});var Rx=e(function(tJ,wx){"use strict";var v3=require("@stdlib/utils/native-class"),q3=b(),Ex=f().isPrimitive,N=Ix();function y3(){return typeof N=="object"&&v3(N)==="[object process]"&&q3(N.versions)&&Ex(N.versions.electron)&&Ex(N.versions.chrome)&&(N.type==="browser"||N.type==="renderer")}wx.exports=y3});var ur=e(function(sJ,Cx){"use strict";var l3=Rx(),m3=l3();Cx.exports=m3});var Fx=e(function(uJ,Lx){"use strict";Lx.exports=process});var Tx=e(function(aJ,kx){"use strict";var x3=ur(),b3=Fx();function g3(){return x3&&b3.type==="browser"}kx.exports=g3});var Bx=e(function(nJ,_x){"use strict";var A3=Tx(),P3=A3();_x.exports=P3});var Mx=e(function(oJ,Ux){"use strict";var O3=require("process");Ux.exports=O3});var Gx=e(function(cJ,Dx){"use strict";var d3=ur(),S3=Mx();function h3(){return d3&&S3.type==="renderer"}Dx.exports=h3});var Wx=e(function(fJ,Vx){"use strict";var j3=Gx(),N3=j3();Vx.exports=N3});var Xx=e(function(pJ,Hx){"use strict";var I3=f().isPrimitive,E3=/@/;function w3(r){return I3(r)&&E3.test(r)}Hx.exports=w3});var Kx=e(function(vJ,zx){"use strict";var R3=Xx();zx.exports=R3});var Zx=e(function(qJ,$x){"use strict";var C3=x();function L3(r){return C3(r)&&r.length===0}$x.exports=L3});var Jx=e(function(yJ,Yx){"use strict";var F3=Zx();Yx.exports=F3});var rb=e(function(lJ,Qx){"use strict";function k3(r){return typeof r=="object"&&r!==null&&r.length===0}Qx.exports=k3});var ib=e(function(mJ,eb){"use strict";var T3=rb();eb.exports=T3});var sb=e(function(xJ,tb){"use strict";function _3(r){return typeof r=="object"&&r!==null&&r.length===0}tb.exports=_3});var ab=e(function(bJ,ub){"use strict";var B3=sb();ub.exports=B3});var ob=e(function(gJ,nb){"use strict";var U3=require("@stdlib/utils/keys"),M3=b(),D3=C(),G3=D3();function V3(r){return!(!M3(r)||U3(r).length>0||G3&&Object.getOwnPropertySymbols(r).length>0)}nb.exports=V3});var fb=e(function(AJ,cb){"use strict";var W3=ob();cb.exports=W3});var Le=e(function(PJ,pb){"use strict";function H3(r){return r===""}pb.exports=H3});var Fe=e(function(OJ,vb){"use strict";var X3=f().isObject;function z3(r){return X3(r)&&r.valueOf()===""}vb.exports=z3});var yb=e(function(dJ,qb){"use strict";var K3=Le(),$3=Fe();function Z3(r){return K3(r)||$3(r)}qb.exports=Z3});var xb=e(function(SJ,mb){"use strict";var lb=require("@stdlib/utils/define-nonenumerable-read-only-property"),ke=yb(),Y3=Le(),J3=Fe();lb(ke,"isPrimitive",Y3);lb(ke,"isObject",J3);mb.exports=ke});var gb=e(function(hJ,bb){"use strict";var Q3=require("@stdlib/utils/property-descriptor-in");function rB(r,i){var t=Q3(r,i);return t!==null&&t.enumerable===!0}bb.exports=rB});var Pb=e(function(jJ,Ab){"use strict";var eB=gb();Ab.exports=eB});var db=e(function(NJ,Ob){"use strict";var iB=require("@stdlib/utils/get-prototype-of"),tB=require("@stdlib/utils/type-of"),sB=g();function uB(r){if(typeof r!="object"||r===null)return!1;if(r instanceof EvalError)return!0;if(sB(r))for(;r;){if(tB(r)==="evalerror")return!0;r=iB(r)}return!1}Ob.exports=uB});var hb=e(function(IJ,Sb){"use strict";var aB=db();Sb.exports=aB});var Te=e(function(EJ,jb){"use strict";var nB=v().isPrimitive;function oB(r){return nB(r)&&r%2===0}jb.exports=oB});var _e=e(function(wJ,Nb){"use strict";var cB=v().isObject;function fB(r){return cB(r)&&r%2===0}Nb.exports=fB});var Eb=e(function(RJ,Ib){"use strict";var pB=Te(),vB=_e();function qB(r){return pB(r)||vB(r)}Ib.exports=qB});var ar=e(function(CJ,Rb){"use strict";var wb=require("@stdlib/utils/define-nonenumerable-read-only-property"),Be=Eb(),yB=Te(),lB=_e();wb(Be,"isPrimitive",yB);wb(Be,"isObject",lB);Rb.exports=Be});var Lb=e(function(LJ,Cb){"use strict";function mB(r){return!r}Cb.exports=mB});var Ue=e(function(FJ,Fb){"use strict";var xB=Lb();Fb.exports=xB});var Tb=e(function(kJ,kb){"use strict";var bB=q(),gB=Ue(),AB=bB(gB);kb.exports=AB});var Me=e(function(TJ,_b){"use strict";var PB=p().isPrimitive,OB=require("@stdlib/math/base/assert/is-finite");function dB(r){return PB(r)&&OB(r)}_b.exports=dB});var De=e(function(_J,Bb){"use strict";var SB=p().isObject,hB=require("@stdlib/math/base/assert/is-finite");function jB(r){return SB(r)&&hB(r.valueOf())}Bb.exports=jB});var Mb=e(function(BJ,Ub){"use strict";var NB=Me(),IB=De();function EB(r){return NB(r)||IB(r)}Ub.exports=EB});var Ve=e(function(UJ,Gb){"use strict";var Db=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ge=Mb(),wB=Me(),RB=De();Db(Ge,"isPrimitive",wB);Db(Ge,"isObject",RB);Gb.exports=Ge});var Hb=e(function(MJ,Wb){"use strict";var We=Ve(),Vb=require("@stdlib/utils/define-nonenumerable-read-only-property"),He=q(),CB=He(We.isPrimitive),LB=He(We.isObject),Xe=He(We);Vb(Xe,"primitives",CB);Vb(Xe,"objects",LB);Wb.exports=Xe});var zb=e(function(DJ,Xb){"use strict";var FB=O();function kB(r){return FB(r)&&r.dtype==="float32"}Xb.exports=kB});var $b=e(function(GJ,Kb){"use strict";var TB=zb();Kb.exports=TB});var Yb=e(function(VJ,Zb){"use strict";var _B=P();function BB(r){return _B(r)&&r.dtype==="float32"}Zb.exports=BB});var Qb=e(function(WJ,Jb){"use strict";var UB=Yb();Jb.exports=UB});var eg=e(function(HJ,rg){"use strict";var MB=w();function DB(r){return MB(r)&&r.dtype==="float32"}rg.exports=DB});var tg=e(function(XJ,ig){"use strict";var GB=eg();ig.exports=GB});var ug=e(function(zJ,sg){"use strict";var VB=O();function WB(r){return VB(r)&&r.dtype==="float64"}sg.exports=WB});var ng=e(function(KJ,ag){"use strict";var HB=ug();ag.exports=HB});var cg=e(function($J,og){"use strict";var XB=P();function zB(r){return XB(r)&&r.dtype==="float64"}og.exports=zB});var pg=e(function(ZJ,fg){"use strict";var KB=cg();fg.exports=KB});var qg=e(function(YJ,vg){"use strict";var $B=w();function ZB(r){return $B(r)&&r.dtype==="float64"}vg.exports=ZB});var lg=e(function(JJ,yg){"use strict";var YB=qg();yg.exports=YB});var xg=e(function(QJ,mg){"use strict";var JB=q(),QB=l(),r8=JB(QB);mg.exports=r8});var gg=e(function(rQ,bg){"use strict";var e8=$r(),i8=require("@stdlib/utils/native-class"),t8=e8();function s8(r){return t8&&i8(r)==="[object Generator]"}bg.exports=s8});var Pg=e(function(eQ,Ag){"use strict";var u8=gg();Ag.exports=u8});var dg=e(function(iQ,Og){"use strict";function a8(r){return r!==null&&typeof r=="object"&&typeof r.next=="function"&&typeof r.return=="function"&&typeof r.throw=="function"}Og.exports=a8});var hg=e(function(tQ,Sg){"use strict";var n8=dg();Sg.exports=n8});var Ng=e(function(sQ,jg){"use strict";var o8=$(),c8=E();function f8(r){return!o8(r)&&!c8(r)||r.length<19?!1:r[0]===31&&r[1]===139&&r[2]===8}jg.exports=f8});var Eg=e(function(uQ,Ig){"use strict";var p8=Ng();Ig.exports=p8});var Rg=e(function(aQ,wg){"use strict";var v8=f().isPrimitive,q8=48,y8=57,l8=65,m8=70,x8=97,b8=102;function g8(r){var i,t,a;if(!v8(r)||(i=r.length,!i))return!1;for(a=0;ay8&&tm8&&tb8)return!1;return!0}wg.exports=g8});var Lg=e(function(nQ,Cg){"use strict";var A8=Rg();Cg.exports=A8});var ze=e(function(oQ,Fg){"use strict";var P8=p().isPrimitive,O8=require("@stdlib/math/base/assert/is-infinite");function d8(r){return P8(r)&&O8(r)}Fg.exports=d8});var Ke=e(function(cQ,kg){"use strict";var S8=p().isObject,h8=require("@stdlib/math/base/assert/is-infinite");function j8(r){return S8(r)&&h8(r.valueOf())}kg.exports=j8});var _g=e(function(fQ,Tg){"use strict";var N8=ze(),I8=Ke();function E8(r){return N8(r)||I8(r)}Tg.exports=E8});var Mg=e(function(pQ,Ug){"use strict";var Bg=require("@stdlib/utils/define-nonenumerable-read-only-property"),$e=_g(),w8=ze(),R8=Ke();Bg($e,"isPrimitive",w8);Bg($e,"isObject",R8);Ug.exports=$e});var Gg=e(function(vQ,Dg){"use strict";var C8=m();function L8(r,i){return r==null||C8(r,i)?!1:typeof i=="symbol"?i in Object(r):String(i)in Object(r)}Dg.exports=L8});var Wg=e(function(qQ,Vg){"use strict";var F8=Gg();Vg.exports=F8});var zg=e(function(yQ,Xg){"use strict";var Ze=v(),Hg=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ye=q(),k8=Ye(Ze.isPrimitive),T8=Ye(Ze.isObject),Je=Ye(Ze);Hg(Je,"primitives",k8);Hg(Je,"objects",T8);Xg.exports=Je});var $g=e(function(lQ,Kg){"use strict";function _8(r){var i=typeof r;return i==="string"||i==="number"||i==="boolean"||i==="symbol"||i==="bigint"||r===null||r===void 0}Kg.exports=_8});var nr=e(function(mQ,Zg){"use strict";var B8=$g();Zg.exports=B8});var Jg=e(function(xQ,Yg){"use strict";var U8=l();function M8(r){var i=typeof r;return r!==null&&(i==="object"||i==="function")&&U8(r.next)}Yg.exports=M8});var Qe=e(function(bQ,Qg){"use strict";var D8=Jg();Qg.exports=D8});var iA=e(function(gQ,eA){"use strict";var G8=nr(),V8=l(),rA=require("@stdlib/symbol/iterator"),W8=Qe();function H8(r){var i;return G8(r)?!1:(i=r[rA],V8(i)&&i.length===0&&W8(r[rA]()))}eA.exports=H8});var sA=e(function(AQ,tA){"use strict";var X8=Qr(),z8=require("@stdlib/utils/constant-function"),K8=iA(),ri;X8()?ri=K8:ri=z8(!1);tA.exports=ri});var aA=e(function(PQ,uA){"use strict";var $8=/^\{[\s\S]*\}$|^\[[\s\S]*\]$/;function Z8(r){if(typeof r!="string"||!$8.test(r))return!1;try{JSON.parse(r)}catch(i){return!1}return!0}uA.exports=Z8});var oA=e(function(OQ,nA){"use strict";var Y8=aA();nA.exports=Y8});var fA=e(function(dQ,cA){"use strict";var J8=f().isPrimitive,Q8=require("@stdlib/string/base/kebabcase");function rU(r){return J8(r)&&Q8(r)===r}cA.exports=rU});var vA=e(function(SQ,pA){"use strict";var eU=fA();pA.exports=eU});var yA=e(function(hQ,qA){"use strict";var iU=I(),tU=v().isPrimitive,sU=require("@stdlib/time/current-year");function uU(r){var i;if(arguments.length)if(iU(r))i=r.getFullYear();else if(tU(r))i=r;else return!1;else i=sU();return i%100===0?i%400===0:i%4===0}qA.exports=uU});var mA=e(function(jQ,lA){"use strict";var aU=yA();lA.exports=aU});var bA=e(function(NQ,xA){"use strict";var nU=require("@stdlib/array/uint8"),oU=require("@stdlib/array/uint16"),cU={uint16:oU,uint8:nU};xA.exports=cU});var OA=e(function(IQ,PA){"use strict";var gA=bA(),AA;function fU(){var r,i;return r=new gA.uint16(1),r[0]=4660,i=new gA.uint8(r.buffer),i[0]===52}AA=fU();PA.exports=AA});var SA=e(function(EQ,dA){"use strict";var pU=OA();dA.exports=pU});var jA=e(function(wQ,hA){"use strict";var vU=f().isPrimitive,qU=/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/;function yU(r){return vU(r)?r==="localhost"||r==="LOCALHOST"||r==="[::1]"||qU.test(r):!1}hA.exports=yU});var IA=e(function(RQ,NA){"use strict";var lU=jA();NA.exports=lU});var wA=e(function(CQ,EA){"use strict";var mU=require("@stdlib/string/lowercase"),xU=require("@stdlib/string/uppercase"),bU=f().isPrimitive;function gU(r){return bU(r)&&r===mU(r)&&r!==xU(r)}EA.exports=gU});var CA=e(function(LQ,RA){"use strict";var AU=wA();RA.exports=AU});var FA=e(function(FQ,LA){"use strict";var PU=m(),OU=l();function dU(r,i){return PU(r,i)&&OU(r[i])}LA.exports=dU});var TA=e(function(kQ,kA){"use strict";var SU=FA();kA.exports=SU});var BA=e(function(TQ,_A){"use strict";var hU=l(),jU=require("@stdlib/object/ctor");function NU(r,i){return r==null?!1:(r=jU(r),typeof i!="symbol"&&(i=String(i)),i in r&&hU(r[i]))}_A.exports=NU});var MA=e(function(_Q,UA){"use strict";var IU=BA();UA.exports=IU});var GA=e(function(BQ,DA){"use strict";var EU=require("@stdlib/utils/constant-function"),wU=EU(!1);DA.exports=wU});var WA=e(function(UQ,VA){"use strict";var RU=GA(),CU=RU();VA.exports=CU});var XA=e(function(MQ,HA){"use strict";var LU=require("@stdlib/slice/multi"),FU=require("@stdlib/utils/constructor-name");function kU(r){return r instanceof LU||FU(r)==="MultiSlice"}HA.exports=kU});var KA=e(function(DQ,zA){"use strict";var TU=XA();zA.exports=TU});var YA=e(function(GQ,ZA){"use strict";var _U=j(),$A=m();function BU(r){return _U(r)&&typeof r.fieldOf=="function"&&typeof r.findField=="function"&&typeof r.ind2key=="function"&&typeof r.key2ind=="function"&&typeof r.lastFieldOf=="function"&&typeof r.subtuple=="function"&&$A(r,"fields")&&$A(r,"orderedFields")}ZA.exports=BU});var QA=e(function(VQ,JA){"use strict";var UU=YA();JA.exports=UU});var iP=e(function(WQ,eP){"use strict";var rP=require("@stdlib/utils/define-nonenumerable-read-only-property"),ei=q(),ii=L(),MU=ei(ii.isPrimitive),DU=ei(ii.isObject),ti=ei(ii);rP(ti,"primitives",MU);rP(ti,"objects",DU);eP.exports=ti});var sP=e(function(HQ,tP){"use strict";var GU=l(),VU=require("@stdlib/regexp/native-function"),WU=require("@stdlib/function/to-string");function HU(r){return GU(r)&&VU.REGEXP.test(WU(r))}tP.exports=HU});var aP=e(function(XQ,uP){"use strict";var XU=sP();uP.exports=XU});var si=e(function(zQ,nP){"use strict";var zU=v().isPrimitive;function KU(r){return zU(r)&&r<0}nP.exports=KU});var ui=e(function(KQ,oP){"use strict";var $U=v().isObject;function ZU(r){return $U(r)&&r.valueOf()<0}oP.exports=ZU});var fP=e(function($Q,cP){"use strict";var YU=si(),JU=ui();function QU(r){return YU(r)||JU(r)}cP.exports=QU});var ni=e(function(ZQ,vP){"use strict";var pP=require("@stdlib/utils/define-nonenumerable-read-only-property"),ai=fP(),rM=si(),eM=ui();pP(ai,"isPrimitive",rM);pP(ai,"isObject",eM);vP.exports=ai});var lP=e(function(YQ,yP){"use strict";var oi=ni(),qP=require("@stdlib/utils/define-nonenumerable-read-only-property"),ci=q(),iM=ci(oi.isPrimitive),tM=ci(oi.isObject),fi=ci(oi);qP(fi,"primitives",iM);qP(fi,"objects",tM);yP.exports=fi});var pi=e(function(JQ,mP){"use strict";var sM=p().isPrimitive;function uM(r){return sM(r)&&r<0}mP.exports=uM});var vi=e(function(QQ,xP){"use strict";var aM=p().isObject;function nM(r){return aM(r)&&r.valueOf()<0}xP.exports=nM});var gP=e(function(rrr,bP){"use strict";var oM=pi(),cM=vi();function fM(r){return oM(r)||cM(r)}bP.exports=fM});var yi=e(function(err,PP){"use strict";var AP=require("@stdlib/utils/define-nonenumerable-read-only-property"),qi=gP(),pM=pi(),vM=vi();AP(qi,"isPrimitive",pM);AP(qi,"isObject",vM);PP.exports=qi});var SP=e(function(irr,dP){"use strict";var li=yi(),OP=require("@stdlib/utils/define-nonenumerable-read-only-property"),mi=q(),qM=mi(li.isPrimitive),yM=mi(li.isObject),xi=mi(li);OP(xi,"primitives",qM);OP(xi,"objects",yM);dP.exports=xi});var bi=e(function(trr,hP){"use strict";var lM=p().isPrimitive,mM=require("@stdlib/constants/float64/ninf");function xM(r){return lM(r)&&1/r===mM}hP.exports=xM});var gi=e(function(srr,jP){"use strict";var bM=p().isObject,gM=require("@stdlib/constants/float64/ninf");function AM(r){return bM(r)&&1/r.valueOf()===gM}jP.exports=AM});var IP=e(function(urr,NP){"use strict";var PM=bi(),OM=gi();function dM(r){return PM(r)||OM(r)}NP.exports=dM});var RP=e(function(arr,wP){"use strict";var EP=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ai=IP(),SM=bi(),hM=gi();EP(Ai,"isPrimitive",SM);EP(Ai,"isObject",hM);wP.exports=Ai});var CP=e(function(nrr,jM){jM.exports=["assert","async_hooks","buffer","child_process","cluster","console","constants","crypto","dgram","dns","domain","events","fs","http","http2","https","_http_agent","_http_client","_http_common","_http_incoming","_http_outgoing","_http_server","inspector","module","net","os","path","perf_hooks","process","punycode","querystring","readline","repl","stream","_stream_readable","_stream_writable","_stream_duplex","_stream_transform","_stream_passthrough","_stream_wrap","string_decoder","sys","timers","tls","_tls_common","_tls_legacy","_tls_wrap","tty","url","util","v8","vm","zlib","v8/tools/splaytree","v8/tools/codemap","v8/tools/consarray","v8/tools/csvparser","v8/tools/profile","v8/tools/profile_view","v8/tools/logreader","v8/tools/tickprocessor","v8/tools/SourceMap","v8/tools/tickprocessor-driver","node-inspect/lib/_inspect","node-inspect/lib/internal/inspect_client","node-inspect/lib/internal/inspect_repl"]});var FP=e(function(orr,LP){"use strict";var NM=require("module"),IM=M(),EM=f().isPrimitive,wM=CP(),RM=NM.builtinModules||wM;function CM(r){return EM(r)?IM(RM,r):!1}LP.exports=CM});var TP=e(function(crr,kP){"use strict";var LM=FP();kP.exports=LM});var BP=e(function(frr,_P){"use strict";function FM(r){return r!==null&&typeof r=="object"&&typeof r.on=="function"&&typeof r.once=="function"&&typeof r.emit=="function"&&typeof r.addListener=="function"&&typeof r.removeListener=="function"&&typeof r.removeAllListeners=="function"&&typeof r.pipe=="function"}_P.exports=FM});var or=e(function(prr,UP){"use strict";var kM=BP();UP.exports=kM});var DP=e(function(vrr,MP){"use strict";var TM=or();function _M(r){return TM(r)&&typeof r._write=="function"&&typeof r._writableState=="object"}MP.exports=_M});var Pi=e(function(qrr,GP){"use strict";var BM=DP();GP.exports=BM});var WP=e(function(yrr,VP){"use strict";var UM=or();function MM(r){return UM(r)&&typeof r._read=="function"&&typeof r._readableState=="object"}VP.exports=MM});var Oi=e(function(lrr,HP){"use strict";var DM=WP();HP.exports=DM});var zP=e(function(mrr,XP){"use strict";var GM=Pi(),VM=Oi();function WM(r){return GM(r)&&VM(r)}XP.exports=WM});var di=e(function(xrr,KP){"use strict";var HM=zP();KP.exports=HM});var $P=e(function(brr,Si){"use strict";function XM(){return Si}Si.exports=XM});var YP=e(function(grr,ZP){"use strict";function zM(){var r=new Error;return r.stack}ZP.exports=zM});var QP=e(function(Arr,JP){"use strict";var KM=B(),$M=$P(),ZM=YP(),YM=/^repl$|^$/,JM=/at REPLServer/;function QM(){var r,i;if(!KM)return!1;for(i=$M();i;){if(YM.test(i.id))return!0;i=i.parent}return r=ZM(),r?JM.test(r):!1}JP.exports=QM});var eO=e(function(Prr,rO){"use strict";var rD=QP();rO.exports=rD});var tO=e(function(Orr,iO){"use strict";var eD=di();function iD(r){return eD(r)&&typeof r._transform=="function"}iO.exports=iD});var uO=e(function(drr,sO){"use strict";var tD=tO();sO.exports=tD});var nO=e(function(Srr,aO){"use strict";var sD=require("@stdlib/utils/property-descriptor");function uD(r,i){var t=sD(r,i);return t!==null&&t.configurable===!1}aO.exports=uD});var cO=e(function(hrr,oO){"use strict";var aD=nO();oO.exports=aD});var pO=e(function(jrr,fO){"use strict";var nD=require("@stdlib/utils/property-descriptor-in");function oD(r,i){var t=nD(r,i);return t!==null&&t.configurable===!1}fO.exports=oD});var qO=e(function(Nrr,vO){"use strict";var cD=pO();vO.exports=cD});var lO=e(function(Irr,yO){"use strict";var fD=m(),pD=Q();function vD(r,i){return fD(r,i)===!1?!1:pD(r,i)===!1}yO.exports=vD});var xO=e(function(Err,mO){"use strict";var qD=lO();mO.exports=qD});var gO=e(function(wrr,bO){"use strict";var yD=require("@stdlib/utils/property-descriptor-in");function lD(r,i){var t=yD(r,i);return t!==null&&t.enumerable===!1}bO.exports=lD});var PO=e(function(Rrr,AO){"use strict";var mD=gO();AO.exports=mD});var SO=e(function(Crr,dO){"use strict";var hi=h(),OO=require("@stdlib/utils/define-nonenumerable-read-only-property"),ji=q(),xD=ji(hi.isPrimitive),bD=ji(hi.isObject),Ni=ji(hi);OO(Ni,"primitives",xD);OO(Ni,"objects",bD);dO.exports=Ni});var Ii=e(function(Lrr,hO){"use strict";var gD=p().isPrimitive;function AD(r){return gD(r)&&r>=0}hO.exports=AD});var Ei=e(function(Frr,jO){"use strict";var PD=p().isObject;function OD(r){return PD(r)&&r.valueOf()>=0}jO.exports=OD});var IO=e(function(krr,NO){"use strict";var dD=Ii(),SD=Ei();function hD(r){return dD(r)||SD(r)}NO.exports=hD});var Ri=e(function(Trr,wO){"use strict";var EO=require("@stdlib/utils/define-nonenumerable-read-only-property"),wi=IO(),jD=Ii(),ND=Ei();EO(wi,"isPrimitive",jD);EO(wi,"isObject",ND);wO.exports=wi});var LO=e(function(_rr,CO){"use strict";var Ci=Ri(),RO=require("@stdlib/utils/define-nonenumerable-read-only-property"),Li=q(),ID=Li(Ci.isPrimitive),ED=Li(Ci.isObject),Fi=Li(Ci);RO(Fi,"primitives",ID);RO(Fi,"objects",ED);CO.exports=Fi});var ki=e(function(Brr,FO){"use strict";var wD=v().isPrimitive;function RD(r){return wD(r)&&r<=0}FO.exports=RD});var Ti=e(function(Urr,kO){"use strict";var CD=v().isObject;function LD(r){return CD(r)&&r.valueOf()<=0}kO.exports=LD});var _O=e(function(Mrr,TO){"use strict";var FD=ki(),kD=Ti();function TD(r){return FD(r)||kD(r)}TO.exports=TD});var Bi=e(function(Drr,UO){"use strict";var BO=require("@stdlib/utils/define-nonenumerable-read-only-property"),_i=_O(),_D=ki(),BD=Ti();BO(_i,"isPrimitive",_D);BO(_i,"isObject",BD);UO.exports=_i});var GO=e(function(Grr,DO){"use strict";var Ui=Bi(),MO=require("@stdlib/utils/define-nonenumerable-read-only-property"),Mi=q(),UD=Mi(Ui.isPrimitive),MD=Mi(Ui.isObject),Di=Mi(Ui);MO(Di,"primitives",UD);MO(Di,"objects",MD);DO.exports=Di});var Gi=e(function(Vrr,VO){"use strict";var DD=p().isPrimitive;function GD(r){return DD(r)&&r<=0}VO.exports=GD});var Vi=e(function(Wrr,WO){"use strict";var VD=p().isObject;function WD(r){return VD(r)&&r.valueOf()<=0}WO.exports=WD});var XO=e(function(Hrr,HO){"use strict";var HD=Gi(),XD=Vi();function zD(r){return HD(r)||XD(r)}HO.exports=zD});var Hi=e(function(Xrr,KO){"use strict";var zO=require("@stdlib/utils/define-nonenumerable-read-only-property"),Wi=XO(),KD=Gi(),$D=Vi();zO(Wi,"isPrimitive",KD);zO(Wi,"isObject",$D);KO.exports=Wi});var YO=e(function(zrr,ZO){"use strict";var Xi=Hi(),$O=require("@stdlib/utils/define-nonenumerable-read-only-property"),zi=q(),ZD=zi(Xi.isPrimitive),YD=zi(Xi.isObject),Ki=zi(Xi);$O(Ki,"primitives",ZD);$O(Ki,"objects",YD);ZO.exports=Ki});var QO=e(function(Krr,JO){"use strict";var JD=O();function QD(r){var i,t,a;if(!JD(r))return!1;if(i=r.shape[0],i!==r.shape[1])return!0;for(t=0;t0?gd(r-1):gd(r+1):!1}Ad.exports=gG});var et=e(function(aer,Od){"use strict";var AG=v().isObject,Pd=ar().isPrimitive;function PG(r){return AG(r)?r>0?Pd(r-1):Pd(r+1):!1}Od.exports=PG});var Sd=e(function(ner,dd){"use strict";var OG=rt(),dG=et();function SG(r){return OG(r)||dG(r)}dd.exports=SG});var Nd=e(function(oer,jd){"use strict";var hd=require("@stdlib/utils/define-nonenumerable-read-only-property"),it=Sd(),hG=rt(),jG=et();hd(it,"isPrimitive",hG);hd(it,"isObject",jG);jd.exports=it});var Ed=e(function(cer,Id){"use strict";var NG=f().isPrimitive,IG=require("@stdlib/string/base/pascalcase");function EG(r){return NG(r)&&IG(r)===r}Id.exports=EG});var Rd=e(function(fer,wd){"use strict";var wG=Ed();wd.exports=wG});var Ld=e(function(per,Cd){"use strict";var RG=d();function CG(r){var i,t,a,n;if(!RG(r))return!1;for(i=r.shape[0]-1,a=0;a0}Md.exports=UG});var st=e(function(mer,Dd){"use strict";var MG=v().isObject;function DG(r){return MG(r)&&r.valueOf()>0}Dd.exports=DG});var Vd=e(function(xer,Gd){"use strict";var GG=tt(),VG=st();function WG(r){return GG(r)||VG(r)}Gd.exports=WG});var at=e(function(ber,Hd){"use strict";var Wd=require("@stdlib/utils/define-nonenumerable-read-only-property"),ut=Vd(),HG=tt(),XG=st();Wd(ut,"isPrimitive",HG);Wd(ut,"isObject",XG);Hd.exports=ut});var Kd=e(function(ger,zd){"use strict";var nt=at(),Xd=require("@stdlib/utils/define-nonenumerable-read-only-property"),ot=q(),zG=ot(nt.isPrimitive),KG=ot(nt.isObject),ct=ot(nt);Xd(ct,"primitives",zG);Xd(ct,"objects",KG);zd.exports=ct});var ft=e(function(Aer,$d){"use strict";var $G=p().isPrimitive;function ZG(r){return $G(r)&&r>0}$d.exports=ZG});var pt=e(function(Per,Zd){"use strict";var YG=p().isObject;function JG(r){return YG(r)&&r.valueOf()>0}Zd.exports=JG});var Jd=e(function(Oer,Yd){"use strict";var QG=ft(),rV=pt();function eV(r){return QG(r)||rV(r)}Yd.exports=eV});var qt=e(function(der,rS){"use strict";var Qd=require("@stdlib/utils/define-nonenumerable-read-only-property"),vt=Jd(),iV=ft(),tV=pt();Qd(vt,"isPrimitive",iV);Qd(vt,"isObject",tV);rS.exports=vt});var tS=e(function(Ser,iS){"use strict";var yt=qt(),eS=require("@stdlib/utils/define-nonenumerable-read-only-property"),lt=q(),sV=lt(yt.isPrimitive),uV=lt(yt.isObject),mt=lt(yt);eS(mt,"primitives",sV);eS(mt,"objects",uV);iS.exports=mt});var xt=e(function(her,sS){"use strict";var aV=p().isPrimitive,nV=require("@stdlib/constants/float64/pinf");function oV(r){return aV(r)&&1/r===nV}sS.exports=oV});var bt=e(function(jer,uS){"use strict";var cV=p().isObject,fV=require("@stdlib/constants/float64/pinf");function pV(r){return cV(r)&&1/r.valueOf()===fV}uS.exports=pV});var nS=e(function(Ner,aS){"use strict";var vV=xt(),qV=bt();function yV(r){return vV(r)||qV(r)}aS.exports=yV});var fS=e(function(Ier,cS){"use strict";var oS=require("@stdlib/utils/define-nonenumerable-read-only-property"),gt=nS(),lV=xt(),mV=bt();oS(gt,"isPrimitive",lV);oS(gt,"isObject",mV);cS.exports=gt});var At=e(function(Eer,pS){"use strict";var xV=p().isPrimitive,bV=require("@stdlib/math/base/assert/is-prime");function gV(r){return xV(r)?bV(r):!1}pS.exports=gV});var Pt=e(function(wer,vS){"use strict";var AV=p().isObject,PV=require("@stdlib/math/base/assert/is-prime");function OV(r){return AV(r)?PV(r.valueOf()):!1}vS.exports=OV});var yS=e(function(Rer,qS){"use strict";var dV=At(),SV=Pt();function hV(r){return dV(r)||SV(r)}qS.exports=hV});var xS=e(function(Cer,mS){"use strict";var lS=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ot=yS(),jV=At(),NV=Pt();lS(Ot,"isPrimitive",jV);lS(Ot,"isObject",NV);mS.exports=Ot});var gS=e(function(Ler,bS){"use strict";var IV=q(),EV=nr(),wV=IV(EV);bS.exports=wV});var PS=e(function(Fer,AS){"use strict";var RV=gS();AS.exports=RV});var SS=e(function(ker,dS){"use strict";var CV=l(),OS=m();function LV(r){return CV(r)&&typeof r.NAME=="string"&&OS(r,"state")&&OS(r,"seed")}dS.exports=LV});var jS=e(function(Ter,hS){"use strict";var FV=SS();hS.exports=FV});var dt=e(function(_er,NS){"use strict";var kV=p().isPrimitive;function TV(r){return kV(r)&&r>=0&&r<=1}NS.exports=TV});var St=e(function(Ber,IS){"use strict";var _V=p().isObject;function BV(r){return _V(r)&&r.valueOf()>=0&&r.valueOf()<=1}IS.exports=BV});var wS=e(function(Uer,ES){"use strict";var UV=dt(),MV=St();function DV(r){return UV(r)||MV(r)}ES.exports=DV});var jt=e(function(Mer,CS){"use strict";var RS=require("@stdlib/utils/define-nonenumerable-read-only-property"),ht=wS(),GV=dt(),VV=St();RS(ht,"isPrimitive",GV);RS(ht,"isObject",VV);CS.exports=ht});var kS=e(function(Der,FS){"use strict";var Nt=jt(),LS=require("@stdlib/utils/define-nonenumerable-read-only-property"),It=q(),WV=It(Nt.isPrimitive),HV=It(Nt.isObject),Et=It(Nt);LS(Et,"primitives",WV);LS(Et,"objects",HV);FS.exports=Et});var _S=e(function(Ger,TS){"use strict";var XV=f().isPrimitive,zV=T().isPrimitive,KV=h().isPrimitive;function $V(r){return XV(r)||zV(r)||KV(r)}TS.exports=$V});var US=e(function(Ver,BS){"use strict";var ZV=_S();BS.exports=ZV});var DS=e(function(Wer,MS){"use strict";var YV=Object.prototype.isPrototypeOf,JV=require("@stdlib/string/format");function QV(r,i){var t=typeof i;if(i===null||t!=="object"&&t!=="function")throw new TypeError(JV("invalid argument. Second argument must be either an object (except null) or a function. Value: `%s`.",i));return t=typeof r,r===null||t!=="object"&&t!=="function"?!1:YV.call(i,r)}MS.exports=QV});var VS=e(function(Her,GS){"use strict";var rW=DS();GS.exports=rW});var HS=e(function(Xer,WS){"use strict";var eW=require("@stdlib/utils/get-prototype-of"),iW=require("@stdlib/utils/type-of"),tW=g();function sW(r){if(typeof r!="object"||r===null)return!1;if(r instanceof RangeError)return!0;if(tW(r))for(;r;){if(iW(r)==="rangeerror")return!0;r=eW(r)}return!1}WS.exports=sW});var zS=e(function(zer,XS){"use strict";var uW=HS();XS.exports=uW});var $S=e(function(Ker,KS){"use strict";var aW=require("@stdlib/utils/property-descriptor");function nW(r,i){var t=aW(r,i);return t!==null&&t.configurable===!1&&(t.writable===!1||typeof t.get=="function"&&t.set===void 0)}KS.exports=nW});var YS=e(function($er,ZS){"use strict";var oW=$S();ZS.exports=oW});var QS=e(function(Zer,JS){"use strict";var cW=require("@stdlib/utils/property-descriptor-in");function fW(r,i){var t=cW(r,i);return t!==null&&t.configurable===!1&&(t.writable===!1||typeof t.get=="function"&&t.set===void 0)}JS.exports=fW});var eh=e(function(Yer,rh){"use strict";var pW=QS();rh.exports=pW});var th=e(function(Jer,ih){"use strict";var vW=require("@stdlib/utils/property-descriptor");function qW(r,i){var t=vW(r,i);return t!==null&&(t.writable===!0||typeof t.get=="function"&&typeof t.set=="function")}ih.exports=qW});var uh=e(function(Qer,sh){"use strict";var yW=th();sh.exports=yW});var nh=e(function(rir,ah){"use strict";var lW=require("@stdlib/utils/property-descriptor-in");function mW(r,i){var t=lW(r,i);return t!==null&&(t.writable===!0||typeof t.get=="function"&&typeof t.set=="function")}ah.exports=mW});var ch=e(function(eir,oh){"use strict";var xW=nh();oh.exports=xW});var ph=e(function(iir,fh){"use strict";var bW=require("@stdlib/utils/property-descriptor");function gW(r,i){var t=bW(r,i);return t!==null&&(t.writable!==void 0||typeof t.get=="function")}fh.exports=gW});var qh=e(function(tir,vh){"use strict";var AW=ph();vh.exports=AW});var lh=e(function(sir,yh){"use strict";var PW=require("@stdlib/utils/property-descriptor-in");function OW(r,i){var t=PW(r,i);return t!==null&&(t.writable!==void 0||typeof t.get=="function")}yh.exports=OW});var xh=e(function(uir,mh){"use strict";var dW=lh();mh.exports=dW});var gh=e(function(air,bh){"use strict";var SW=require("@stdlib/utils/get-prototype-of"),hW=require("@stdlib/utils/type-of"),jW=g();function NW(r){if(typeof r!="object"||r===null)return!1;if(r instanceof ReferenceError)return!0;if(jW(r))for(;r;){if(hW(r)==="referenceerror")return!0;r=SW(r)}return!1}bh.exports=NW});var Ph=e(function(nir,Ah){"use strict";var IW=gh();Ah.exports=IW});var dh=e(function(oir,Oh){"use strict";var EW=f().isPrimitive,wW=require("@stdlib/regexp/regexp").REGEXP;function RW(r){return EW(r)&&wW.test(r)}Oh.exports=RW});var hh=e(function(cir,Sh){"use strict";var CW=dh();Sh.exports=CW});var Nh=e(function(fir,jh){"use strict";var LW=f().isPrimitive,FW=J().posix;function kW(r){return LW(r)&&!FW(r)}jh.exports=kW});var Eh=e(function(pir,Ih){"use strict";var TW=f().isPrimitive,_W=J().win32;function BW(r){return TW(r)&&!_W(r)}Ih.exports=BW});var Fh=e(function(vir,Lh){"use strict";var wh=require("@stdlib/utils/define-nonenumerable-read-only-property"),UW=Y(),Rh=Nh(),Ch=Eh(),U;UW?U=Ch:U=Rh;wh(U,"posix",Rh);wh(U,"win32",Ch);Lh.exports=U});var Th=e(function(qir,kh){"use strict";var MW=f().isPrimitive,DW=/(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?[^#]*)?(?:#.*)?/,GW=/[^a-z0-9:\/?#\[\]@!$&'()*+,;=.\-_~%]/i,VW=/%[^0-9a-f]/i,WW=/%[0-9a-f](:?[^0-9a-f]|$)/i,HW=/^\/\//,XW=/^[a-z][a-z0-9+\-.]*$/;function zW(r){var i,t,a,n;return!MW(r)||GW.test(r)||VW.test(r)||WW.test(r)?!1:(a=r.match(DW),t=a[1],i=a[2],n=a[3],!!(!t||!t.length||!XW.test(t.toLowerCase())||!i&&HW.test(n)))}kh.exports=zW});var Bh=e(function(yir,_h){"use strict";var KW=Th();_h.exports=KW});var wt=e(function(lir,Uh){"use strict";var $W=p().isPrimitive,ZW=require("@stdlib/math/base/assert/is-safe-integer");function YW(r){return $W(r)&&ZW(r)}Uh.exports=YW});var Rt=e(function(mir,Mh){"use strict";var JW=p().isObject,QW=require("@stdlib/math/base/assert/is-safe-integer");function r9(r){return JW(r)&&QW(r.valueOf())}Mh.exports=r9});var Gh=e(function(xir,Dh){"use strict";var e9=wt(),i9=Rt();function t9(r){return e9(r)||i9(r)}Dh.exports=t9});var Lt=e(function(bir,Wh){"use strict";var Vh=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ct=Gh(),s9=wt(),u9=Rt();Vh(Ct,"isPrimitive",s9);Vh(Ct,"isObject",u9);Wh.exports=Ct});var zh=e(function(gir,Xh){"use strict";var Hh=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ft=q(),kt=Lt(),a9=Ft(kt.isPrimitive),n9=Ft(kt.isObject),Tt=Ft(kt);Hh(Tt,"primitives",a9);Hh(Tt,"objects",n9);Xh.exports=Tt});var Zh=e(function(Air,$h){"use strict";var Kh=X(),o9=require("@stdlib/array/base/assert/has-same-values");function c9(r,i){return Kh(r)&&Kh(i)?o9(r,i):!1}$h.exports=c9});var Jh=e(function(Pir,Yh){"use strict";var f9=Zh();Yh.exports=f9});var e0=e(function(Oir,r0){"use strict";var Qh=require("@stdlib/utils/native-class");function p9(r,i){return Qh(r)===Qh(i)}r0.exports=p9});var t0=e(function(dir,i0){"use strict";var v9=e0();i0.exports=v9});var u0=e(function(Sir,s0){"use strict";function q9(r,i){return typeof r==typeof i}s0.exports=q9});var n0=e(function(hir,a0){"use strict";var y9=u0();a0.exports=y9});var f0=e(function(jir,c0){"use strict";var l9=require("@stdlib/complex/base/assert/is-same-value"),o0=sr();function m9(r,i){return r===i?r===0?1/r===1/i:!0:r!==r&&i!==i?!0:o0(r)&&o0(i)?l9(r,i):!1}c0.exports=m9});var v0=e(function(Nir,p0){"use strict";var x9=f0();p0.exports=x9});var l0=e(function(Iir,y0){"use strict";var b9=require("@stdlib/complex/base/assert/is-same-value-zero"),q0=sr();function g9(r,i){return r===i||r!==r&&i!==i?!0:q0(r)&&q0(i)?b9(r,i):!1}y0.exports=g9});var x0=e(function(Eir,m0){"use strict";var A9=l0();m0.exports=A9});var g0=e(function(wir,b0){"use strict";var P9=f().isPrimitive,O9=require("@stdlib/regexp/semver").REGEXP;function d9(r){return P9(r)&&O9.test(r)}b0.exports=d9});var P0=e(function(Rir,A0){"use strict";var S9=g0();A0.exports=S9});var d0=e(function(Cir,O0){"use strict";var h9=d(),j9=require("@stdlib/math/base/special/floor"),N9=require("@stdlib/math/base/assert/is-odd");function I9(r){var i,t,a,n,c,o;if(!h9(r))return!1;for(t=r.shape[0],a=j9(t/2),i=t-1,c=0;c=0&&r<=uH}Zj.exports=aH});var Qj=e(function(gtr,Jj){"use strict";var nH=Yj();Jj.exports=nH});var eN=e(function(Atr,rN){"use strict";var oH=h().isPrimitive,cH=require("@stdlib/constants/array/max-typed-array-length");function fH(r){return r!==null&&typeof r=="object"&&oH(r.length)&&r.length<=cH&&typeof r.BYTES_PER_ELEMENT=="number"&&typeof r.byteOffset=="number"&&typeof r.byteLength=="number"}rN.exports=fH});var tN=e(function(Ptr,iN){"use strict";var pH=eN();iN.exports=pH});var uN=e(function(Otr,sN){"use strict";var vH=f().isPrimitive,qH=require("@stdlib/regexp/unc-path").REGEXP;function yH(r){return vH(r)&&qH.test(r)}sN.exports=yH});var nN=e(function(dtr,aN){"use strict";var lH=uN();aN.exports=lH});var cN=e(function(Str,oN){"use strict";function mH(r){return r===void 0}oN.exports=mH});var pN=e(function(htr,fN){"use strict";var xH=cN();fN.exports=xH});var qN=e(function(jtr,vN){"use strict";function bH(r){return r==null}vN.exports=bH});var lN=e(function(Ntr,yN){"use strict";var gH=qN();yN.exports=gH});var gN=e(function(Itr,bN){"use strict";var AH=j(),PH=x(),OH=p().isPrimitive,mN=require("@stdlib/math/base/utils/absolute-difference"),xN=require("@stdlib/constants/float64/sqrt-eps");function dH(r){var i,t;if(PH(r)){for(i=0,t=0;t1||r[t]<0)return!1;i+=r[t]}return mN(i,1)<=xN}if(AH(r)){for(i=0,t=0;t1||r[t]<0)return!1;i+=r[t]}return mN(i,1)<=xN}return!1}bN.exports=dH});var PN=e(function(Etr,AN){"use strict";var SH=gN();AN.exports=SH});var dN=e(function(wtr,ON){"use strict";var hH=require("@stdlib/string/lowercase"),jH=require("@stdlib/string/uppercase"),NH=f().isPrimitive;function IH(r){return NH(r)&&r===jH(r)&&r!==hH(r)}ON.exports=IH});var hN=e(function(Rtr,SN){"use strict";var EH=dN();SN.exports=EH});var NN=e(function(Ctr,jN){"use strict";var wH=require("@stdlib/utils/get-prototype-of"),RH=require("@stdlib/utils/type-of"),CH=g();function LH(r){if(typeof r!="object"||r===null)return!1;if(r instanceof URIError)return!0;if(CH(r))for(;r;){if(RH(r)==="urierror")return!0;r=wH(r)}return!1}jN.exports=LH});var EN=e(function(Ltr,IN){"use strict";var FH=NN();IN.exports=FH});var CN=e(function(Ftr,RN){"use strict";var wN;function kH(){var r="";return r+="try {",r+="return this === self;",r+="} catch ( err ) {",r+="return false;",r+="}",new Function(r)()}wN=kH();RN.exports=wN});var kN=e(function(ktr,FN){"use strict";var TH=require("@stdlib/utils/global"),_H=B(),LN=b(),BH=CN(),UH=TH();function MH(){return _H===!1&&typeof WorkerGlobalScope=="object"&&LN(WorkerNavigator)&&navigator instanceof WorkerNavigator&&LN(WorkerLocation)&&location instanceof WorkerLocation&&typeof self=="object"&&self===UH&&BH===!0&&typeof importScripts=="function"}FN.exports=MH});var _N=e(function(Ttr,TN){"use strict";var DH=kN(),GH=DH();TN.exports=GH});var UN=e(function(_tr,BN){"use strict";var VH=f().isPrimitive,WH=require("@stdlib/regexp/whitespace"),HH=new RegExp("^"+WH.REGEXP.source+"+$");function XH(r){return VH(r)?HH.test(r):!1}BN.exports=XH});var DN=e(function(Btr,MN){"use strict";var zH=UN();MN.exports=zH});var VN=e(function(Utr,GN){"use strict";var KH=require("@stdlib/utils/property-descriptor");function $H(r,i){var t=KH(r,i);return t!==null&&(t.writable===!0||typeof t.set=="function")}GN.exports=$H});var HN=e(function(Mtr,WN){"use strict";var ZH=VN();WN.exports=ZH});var zN=e(function(Dtr,XN){"use strict";var YH=require("@stdlib/utils/property-descriptor-in");function JH(r,i){var t=YH(r,i);return t!==null&&(t.writable===!0||typeof t.set=="function")}XN.exports=JH});var $N=e(function(Gtr,KN){"use strict";var QH=zN();KN.exports=QH});var YN=e(function(Vtr,ZN){"use strict";var rX=require("@stdlib/utils/property-descriptor");function eX(r,i){var t=rX(r,i);return t!==null&&t.configurable===!1&&typeof t.set=="function"&&t.get===void 0}ZN.exports=eX});var QN=e(function(Wtr,JN){"use strict";var iX=YN();JN.exports=iX});var eI=e(function(Htr,rI){"use strict";var tX=require("@stdlib/utils/property-descriptor-in");function sX(r,i){var t=tX(r,i);return t!==null&&t.configurable===!1&&typeof t.set=="function"&&t.get===void 0}rI.exports=sX});var tI=e(function(Xtr,iI){"use strict";var uX=eI();iI.exports=uX});var uI=e(function(ztr,sI){"use strict";var aX=j(),nX=require("@stdlib/string/format");function oX(r){if(typeof r!="function")throw new TypeError(nX("invalid argument. Must provide a function. Value: `%s`.",r));return i;function i(t){var a,n;if(!aX(t)||(a=t.length,a===0))return!1;for(n=0;n=0&&r.length<=mI}rs.exports=xI});var R=e(function(AX,is){"use strict";var bI=es();is.exports=bI});var pr=e(function(PX,ts){"use strict";function gI(r){return typeof r=="number"}ts.exports=gI});var us=e(function(OX,ss){"use strict";function AI(){return typeof Symbol=="function"&&typeof Symbol("foo")=="symbol"}ss.exports=AI});var C=e(function(dX,as){"use strict";var PI=us();as.exports=PI});var os=e(function(SX,ns){"use strict";var OI=C(),dI=OI();function SI(){return dI&&typeof Symbol.toStringTag=="symbol"}ns.exports=SI});var S=e(function(hX,cs){"use strict";var hI=os();cs.exports=hI});var ps=e(function(jX,fs){"use strict";var jI=require("@stdlib/number/ctor"),NI=jI.prototype.toString;fs.exports=NI});var qs=e(function(NX,vs){"use strict";var II=ps();function EI(r){try{return II.call(r),!0}catch(i){return!1}}vs.exports=EI});var vr=e(function(IX,ys){"use strict";var wI=S(),RI=require("@stdlib/utils/native-class"),CI=require("@stdlib/number/ctor"),LI=qs(),FI=wI();function kI(r){return typeof r=="object"?r instanceof CI?!0:FI?LI(r):RI(r)==="[object Number]":!1}ys.exports=kI});var ms=e(function(EX,ls){"use strict";var TI=pr(),_I=vr();function BI(r){return TI(r)||_I(r)}ls.exports=BI});var p=e(function(wX,bs){"use strict";var xs=require("@stdlib/utils/define-nonenumerable-read-only-property"),qr=ms(),UI=pr(),MI=vr();xs(qr,"isPrimitive",UI);xs(qr,"isObject",MI);bs.exports=qr});var yr=e(function(RX,gs){"use strict";var DI=require("@stdlib/constants/float64/pinf"),GI=require("@stdlib/constants/float64/ninf"),VI=require("@stdlib/math/base/assert/is-integer");function WI(r){return rGI&&VI(r)}gs.exports=WI});var lr=e(function(CX,As){"use strict";var HI=p().isPrimitive,XI=yr();function zI(r){return HI(r)&&XI(r)}As.exports=zI});var mr=e(function(LX,Ps){"use strict";var KI=p().isObject,$I=yr();function ZI(r){return KI(r)&&$I(r.valueOf())}Ps.exports=ZI});var ds=e(function(FX,Os){"use strict";var YI=lr(),JI=mr();function QI(r){return YI(r)||JI(r)}Os.exports=QI});var v=e(function(kX,hs){"use strict";var Ss=require("@stdlib/utils/define-nonenumerable-read-only-property"),xr=ds(),rE=lr(),eE=mr();Ss(xr,"isPrimitive",rE);Ss(xr,"isObject",eE);hs.exports=xr});var br=e(function(TX,js){"use strict";function iE(r){return typeof r=="string"}js.exports=iE});var Is=e(function(_X,Ns){"use strict";var tE=String.prototype.valueOf;Ns.exports=tE});var ws=e(function(BX,Es){"use strict";var sE=Is();function uE(r){try{return sE.call(r),!0}catch(i){return!1}}Es.exports=uE});var gr=e(function(UX,Rs){"use strict";var aE=S(),nE=require("@stdlib/utils/native-class"),oE=ws(),cE=aE();function fE(r){return typeof r=="object"?r instanceof String?!0:cE?oE(r):nE(r)==="[object String]":!1}Rs.exports=fE});var Ls=e(function(MX,Cs){"use strict";var pE=br(),vE=gr();function qE(r){return pE(r)||vE(r)}Cs.exports=qE});var f=e(function(DX,ks){"use strict";var Fs=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ar=Ls(),yE=br(),lE=gr();Fs(Ar,"isPrimitive",yE);Fs(Ar,"isObject",lE);ks.exports=Ar});var Pr=e(function(GX,Ts){"use strict";var mE=p().isPrimitive,xE=require("@stdlib/math/base/assert/is-nan");function bE(r){return mE(r)&&xE(r)}Ts.exports=bE});var Or=e(function(VX,_s){"use strict";var gE=p().isObject,AE=require("@stdlib/math/base/assert/is-nan");function PE(r){return gE(r)&&AE(r.valueOf())}_s.exports=PE});var Us=e(function(WX,Bs){"use strict";var OE=Pr(),dE=Or();function SE(r){return OE(r)||dE(r)}Bs.exports=SE});var L=e(function(HX,Ds){"use strict";var Ms=require("@stdlib/utils/define-nonenumerable-read-only-property"),dr=Us(),hE=Pr(),jE=Or();Ms(dr,"isPrimitive",hE);Ms(dr,"isObject",jE);Ds.exports=dr});var Ws=e(function(XX,Vs){"use strict";var NE=R(),IE=v().isPrimitive,Sr=f().isPrimitive,Gs=L().isPrimitive,hr=require("@stdlib/string/format");function EE(r,i,t){var a,n,c;if(!NE(r)&&!Sr(r))throw new TypeError(hr("invalid argument. First argument must be array-like. Value: `%s`.",r));if(arguments.length<2)throw new Error("insufficient arguments. Must provide a search value.");if(arguments.length>2){if(!IE(t))throw new TypeError(hr("invalid argument. Third argument must be an integer. Value: `%s`.",t));n=t,n<0&&(n=0)}else n=0;if(Sr(r)){if(!Sr(i))throw new TypeError(hr("invalid argument. Second argument must be a string. Value: `%s`.",i));return r.indexOf(i,n)!==-1}if(a=r.length,Gs(i)){for(c=n;c2&&(o=W1(c,t),o))throw o;return r==null?!1:(a?n=i.split(c.sep):n=i,X1(r,n))}Hu.exports=z1});var Ku=e(function(j7,zu){"use strict";var K1=f().isPrimitive,$1=x(),Z1=require("@stdlib/string/format"),Y1=wr(),J1=Rr(),Q1=Cr();function rw(r,i){var t,a,n,c;if(t=K1(r),!t&&!$1(r))throw new TypeError(Z1("invalid argument. Key path must be a string or a key array. Value: `%s`.",r));if(n=J1(),arguments.length>1&&(c=Y1(n,i),c))throw c;return t?a=r.split(n.sep):a=r,o;function o(y){return y==null?!1:Q1(y,a)}}zu.exports=rw});var Yu=e(function(N7,Zu){"use strict";var ew=require("@stdlib/utils/define-nonenumerable-read-only-property"),$u=Xu(),iw=Ku();ew($u,"factory",iw);Zu.exports=$u});var Lr=e(function(I7,Qu){"use strict";var tw=f().isPrimitive,sw=b(),uw=m(),Ju=require("@stdlib/string/format");function aw(r,i){return sw(i)?uw(i,"sep")&&(r.sep=i.sep,!tw(r.sep))?new TypeError(Ju("invalid option. `%s` option must be a string. Option: `%s`.","sep",r.sep)):null:new TypeError(Ju("invalid argument. Options argument must be an object. Value: `%s`.",i))}Qu.exports=aw});var Fr=e(function(E7,ra){"use strict";function nw(){return{sep:"."}}ra.exports=nw});var ia=e(function(w7,ea){"use strict";function ow(r,i){return r==null?!1:typeof i=="symbol"?i in Object(r):String(i)in Object(r)}ea.exports=ow});var kr=e(function(R7,ta){"use strict";var cw=ia();ta.exports=cw});var Tr=e(function(C7,sa){"use strict";var fw=kr();function pw(r,i){var t=i.length,a;if(t===0)return!1;for(a=0;a2&&(o=lw(c,t),o))throw o;return r==null?!1:(a?n=i.split(c.sep):n=i,xw(r,n))}ua.exports=bw});var oa=e(function(F7,na){"use strict";var gw=f().isPrimitive,Aw=x(),Pw=require("@stdlib/string/format"),Ow=Lr(),dw=Fr(),Sw=Tr();function hw(r,i){var t,a,n,c;if(t=gw(r),!t&&!Aw(r))throw new TypeError(Pw("invalid argument. Key path must be a string or a key array. Value: `%s`.",r));if(n=dw(),arguments.length>1&&(c=Ow(n,i),c))throw c;return t?a=r.split(n.sep):a=r,o;function o(y){return y==null?!1:Sw(y,a)}}na.exports=hw});var pa=e(function(k7,fa){"use strict";var jw=require("@stdlib/utils/define-nonenumerable-read-only-property"),ca=aa(),Nw=oa();jw(ca,"factory",Nw);fa.exports=ca});var qa=e(function(T7,va){"use strict";var Iw=require("@stdlib/utils/native-class"),Ew=typeof ArrayBuffer=="function";function ww(r){return Ew&&r instanceof ArrayBuffer||Iw(r)==="[object ArrayBuffer]"}va.exports=ww});var _r=e(function(_7,ya){"use strict";var Rw=qa();ya.exports=Rw});var ma=e(function(B7,la){"use strict";var Cw=typeof ArrayBuffer=="function"?ArrayBuffer:null;la.exports=Cw});var ba=e(function(U7,xa){"use strict";var Lw=_r(),Fw=require("@stdlib/array/float64"),V=ma();function kw(){var r,i,t;if(typeof V!="function")return!1;try{t=new V(16),r=Lw(t)&&typeof V.isView=="function",r&&(i=new Fw(t),i[0]=-3.14,i[1]=NaN,r=r&&V.isView(i)&&t.byteLength===16&&i[0]===-3.14&&i[1]!==i[1])}catch(a){r=!1}return r}xa.exports=kw});var Br=e(function(M7,ga){"use strict";var Tw=ba();ga.exports=Tw});var Pa=e(function(D7,Aa){"use strict";var _w=require("@stdlib/utils/eval");function Bw(){var r;try{_w('"use strict"; (() => {})'),r=!0}catch(i){r=!1}return r}Aa.exports=Bw});var da=e(function(G7,Oa){"use strict";var Uw=Pa();Oa.exports=Uw});var ha=e(function(V7,Sa){"use strict";var Mw=require("@stdlib/utils/eval");function Dw(){var r;try{Mw('"use strict"; async () => {}'),r=!0}catch(i){r=!1}return r}Sa.exports=Dw});var Na=e(function(W7,ja){"use strict";var Gw=ha();ja.exports=Gw});var Ea=e(function(H7,Ia){"use strict";var Vw=m();function Ww(){return typeof Symbol=="function"&&typeof Symbol("foo")=="symbol"&&Vw(Symbol,"asyncIterator")&&typeof Symbol.asyncIterator=="symbol"}Ia.exports=Ww});var Ra=e(function(X7,wa){"use strict";var Hw=Ea();wa.exports=Hw});var Fa=e(function(z7,La){"use strict";var Xw=require("@stdlib/utils/global"),Ca=Xw();function zw(){return typeof Ca.BigInt=="function"&&typeof BigInt=="function"&&typeof Ca.BigInt("1")=="bigint"&&typeof BigInt("1")=="bigint"}La.exports=zw});var Ur=e(function(K7,ka){"use strict";var Kw=Fa();ka.exports=Kw});var _a=e(function($7,Ta){"use strict";var $w=require("@stdlib/utils/native-class"),Zw=typeof BigInt64Array=="function";function Yw(r){return Zw&&r instanceof BigInt64Array||$w(r)==="[object BigInt64Array]"}Ta.exports=Yw});var Mr=e(function(Z7,Ba){"use strict";var Jw=_a();Ba.exports=Jw});var Dr=e(function(Y7,Ua){"use strict";function Qw(r){return typeof r=="bigint"}Ua.exports=Qw});var Da=e(function(J7,Ma){"use strict";function rR(r){try{return typeof r.valueOf()=="bigint"}catch(i){return!1}}Ma.exports=rR});var Gr=e(function(Q7,Ga){"use strict";var eR=require("@stdlib/utils/native-class"),iR=Da();function tR(r){return typeof r=="object"&&eR(r)==="[object BigInt]"&&iR(r)}Ga.exports=tR});var Wa=e(function(rz,Va){"use strict";var sR=Dr(),uR=Gr();function aR(r){return sR(r)||uR(r)}Va.exports=aR});var za=e(function(ez,Xa){"use strict";var Ha=require("@stdlib/utils/define-nonenumerable-read-only-property"),Vr=Wa(),nR=Dr(),oR=Gr();Ha(Vr,"isPrimitive",nR);Ha(Vr,"isObject",oR);Xa.exports=Vr});var Za=e(function(iz,$a){"use strict";var Ka=require("@stdlib/utils/define-nonenumerable-read-only-property"),Wr=require("@stdlib/utils/constant-function"),Hr=Wr(!1),cR=Wr(!1),fR=Wr(!1);Ka(Hr,"isPrimitive",cR);Ka(Hr,"isObject",fR);$a.exports=Hr});var W=e(function(tz,Ya){"use strict";var pR=Ur(),vR=za(),qR=Za(),Xr;pR()?Xr=vR:Xr=qR;Ya.exports=Xr});var Qa=e(function(sz,Ja){"use strict";var yR=typeof BigInt64Array=="function"?BigInt64Array:null;Ja.exports=yR});var an=e(function(uz,un){"use strict";var lR=Mr(),rn=W(),en=Qa(),tn="9007199254740991",sn="9007199254740993";function mR(){var r;if(typeof en!="function")return!1;try{return r=new en([tn,sn]),lR(r)&&rn(r[0])&&r[0].toString()===tn&&rn(r[1])&&r[1].toString()===sn}catch(i){return!1}}un.exports=mR});var on=e(function(az,nn){"use strict";var xR=an();nn.exports=xR});var fn=e(function(nz,cn){"use strict";var bR=require("@stdlib/utils/native-class"),gR=typeof BigUint64Array=="function";function AR(r){return gR&&r instanceof BigUint64Array||bR(r)==="[object BigUint64Array]"}cn.exports=AR});var zr=e(function(oz,pn){"use strict";var PR=fn();pn.exports=PR});var qn=e(function(cz,vn){"use strict";var OR=typeof BigUint64Array=="function"?BigUint64Array:null;vn.exports=OR});var gn=e(function(fz,bn){"use strict";var dR=zr(),yn=W(),ln=qn(),mn="9223372036854775807",xn="9223372036854775809";function SR(){var r;if(typeof ln!="function")return!1;try{return r=new ln([mn,xn]),dR(r)&&yn(r[0])&&r[0].toString()===mn&&yn(r[1])&&r[1].toString()===xn}catch(i){return!1}}bn.exports=SR});var Pn=e(function(pz,An){"use strict";var hR=gn();An.exports=hR});var dn=e(function(vz,On){"use strict";var jR=require("@stdlib/utils/eval");function NR(){var r;try{jR('"use strict"; class A{};'),r=!0}catch(i){r=!1}return r}On.exports=NR});var hn=e(function(qz,Sn){"use strict";var IR=dn();Sn.exports=IR});var Nn=e(function(yz,jn){"use strict";var ER=require("@stdlib/utils/native-class"),wR=typeof DataView=="function";function RR(r){return wR&&r instanceof DataView||ER(r)==="[object DataView]"}jn.exports=RR});var H=e(function(lz,In){"use strict";var CR=Nn();In.exports=CR});var wn=e(function(mz,En){"use strict";var LR=typeof DataView=="function"?DataView:null;En.exports=LR});var Ln=e(function(xz,Cn){"use strict";var FR=H(),kR=require("@stdlib/array/buffer"),Rn=wn();function TR(){var r,i,t;if(typeof Rn!="function")return!1;try{t=new kR(24),i=new Rn(t,8),r=FR(i)&&typeof i.getFloat64=="function"&&typeof i.setFloat64=="function",r&&(i.setFloat64(0,-3.14),i.setFloat64(8,NaN),r=r&&i.buffer===t&&i.byteLength===16&&i.byteOffset===8&&i.getFloat64(0)===-3.14&&i.getFloat64(8)!==i.getFloat64(8))}catch(a){r=!1}return r}Cn.exports=TR});var kn=e(function(bz,Fn){"use strict";var _R=Ln();Fn.exports=_R});var _n=e(function(gz,Tn){"use strict";var BR=typeof Object.defineProperties=="function"?Object.defineProperties:null;Tn.exports=BR});var Un=e(function(Az,Bn){"use strict";var UR=_n();function MR(){try{return UR({},{x:{}}),!0}catch(r){return!1}}Bn.exports=MR});var Dn=e(function(Pz,Mn){"use strict";var DR=Un();Mn.exports=DR});var Vn=e(function(Oz,Gn){"use strict";var GR=typeof Object.defineProperty=="function"?Object.defineProperty:null;Gn.exports=GR});var Hn=e(function(dz,Wn){"use strict";var VR=Vn();function WR(){try{return VR({},"x",{}),!0}catch(r){return!1}}Wn.exports=WR});var zn=e(function(Sz,Xn){"use strict";var HR=Hn();Xn.exports=HR});var $n=e(function(hz,Kn){"use strict";var XR=require("@stdlib/utils/native-class"),zR=typeof Float32Array=="function";function KR(r){return zR&&r instanceof Float32Array||XR(r)==="[object Float32Array]"}Kn.exports=KR});var X=e(function(jz,Zn){"use strict";var $R=$n();Zn.exports=$R});var Jn=e(function(Nz,Yn){"use strict";var ZR=typeof Float32Array=="function"?Float32Array:null;Yn.exports=ZR});var eo=e(function(Iz,ro){"use strict";var YR=X(),JR=require("@stdlib/constants/float64/pinf"),Qn=Jn();function QR(){var r,i;if(typeof Qn!="function")return!1;try{i=new Qn([1,3.14,-3.14,5e40]),r=YR(i)&&i[0]===1&&i[1]===3.140000104904175&&i[2]===-3.140000104904175&&i[3]===JR}catch(t){r=!1}return r}ro.exports=QR});var to=e(function(Ez,io){"use strict";var r2=eo();io.exports=r2});var uo=e(function(wz,so){"use strict";var e2=require("@stdlib/utils/native-class"),i2=typeof Float64Array=="function";function t2(r){return i2&&r instanceof Float64Array||e2(r)==="[object Float64Array]"}so.exports=t2});var z=e(function(Rz,ao){"use strict";var s2=uo();ao.exports=s2});var oo=e(function(Cz,no){"use strict";var u2=typeof Float64Array=="function"?Float64Array:null;no.exports=u2});var po=e(function(Lz,fo){"use strict";var a2=z(),co=oo();function n2(){var r,i;if(typeof co!="function")return!1;try{i=new co([1,3.14,-3.14,NaN]),r=a2(i)&&i[0]===1&&i[1]===3.14&&i[2]===-3.14&&i[3]!==i[3]}catch(t){r=!1}return r}fo.exports=n2});var Kr=e(function(Fz,vo){"use strict";var o2=po();vo.exports=o2});var yo=e(function(kz,qo){"use strict";function c2(){}qo.exports=c2});var mo=e(function(Tz,lo){"use strict";var f2=yo();function p2(){return f2.name==="foo"}lo.exports=p2});var bo=e(function(_z,xo){"use strict";var v2=mo();xo.exports=v2});var Ao=e(function(Bz,go){"use strict";var q2=require("@stdlib/utils/eval");function y2(){var r;try{q2('"use strict"; (function* () {})'),r=!0}catch(i){r=!1}return r}go.exports=y2});var $r=e(function(Uz,Po){"use strict";var l2=Ao();Po.exports=l2});var So=e(function(Mz,Oo){"use strict";function m2(){return typeof globalThis=="object"&&typeof globalThis.setTimeout=="function"}Oo.exports=m2});var jo=e(function(Dz,ho){"use strict";var x2=So();ho.exports=x2});var Io=e(function(Gz,No){"use strict";var b2=require("@stdlib/utils/native-class"),g2=typeof Int8Array=="function";function A2(r){return g2&&r instanceof Int8Array||b2(r)==="[object Int8Array]"}No.exports=A2});var Zr=e(function(Vz,Eo){"use strict";var P2=Io();Eo.exports=P2});var Ro=e(function(Wz,wo){"use strict";var O2=typeof Int8Array=="function"?Int8Array:null;wo.exports=O2});var Fo=e(function(Hz,Lo){"use strict";var d2=Zr(),S2=require("@stdlib/constants/int8/max"),h2=require("@stdlib/constants/int8/min"),Co=Ro();function j2(){var r,i;if(typeof Co!="function")return!1;try{i=new Co([1,3.14,-3.14,S2+1]),r=d2(i)&&i[0]===1&&i[1]===3&&i[2]===-3&&i[3]===h2}catch(t){r=!1}return r}Lo.exports=j2});var To=e(function(Xz,ko){"use strict";var N2=Fo();ko.exports=N2});var Bo=e(function(zz,_o){"use strict";var I2=require("@stdlib/utils/native-class"),E2=typeof Int16Array=="function";function w2(r){return E2&&r instanceof Int16Array||I2(r)==="[object Int16Array]"}_o.exports=w2});var Yr=e(function(Kz,Uo){"use strict";var R2=Bo();Uo.exports=R2});var Do=e(function($z,Mo){"use strict";var C2=typeof Int16Array=="function"?Int16Array:null;Mo.exports=C2});var Wo=e(function(Zz,Vo){"use strict";var L2=Yr(),F2=require("@stdlib/constants/int16/max"),k2=require("@stdlib/constants/int16/min"),Go=Do();function T2(){var r,i;if(typeof Go!="function")return!1;try{i=new Go([1,3.14,-3.14,F2+1]),r=L2(i)&&i[0]===1&&i[1]===3&&i[2]===-3&&i[3]===k2}catch(t){r=!1}return r}Vo.exports=T2});var Xo=e(function(Yz,Ho){"use strict";var _2=Wo();Ho.exports=_2});var Ko=e(function(Jz,zo){"use strict";var B2=require("@stdlib/utils/native-class"),U2=typeof Int32Array=="function";function M2(r){return U2&&r instanceof Int32Array||B2(r)==="[object Int32Array]"}zo.exports=M2});var Jr=e(function(Qz,$o){"use strict";var D2=Ko();$o.exports=D2});var Yo=e(function(rK,Zo){"use strict";var G2=typeof Int32Array=="function"?Int32Array:null;Zo.exports=G2});var rc=e(function(eK,Qo){"use strict";var V2=Jr(),W2=require("@stdlib/constants/int32/max"),H2=require("@stdlib/constants/int32/min"),Jo=Yo();function X2(){var r,i;if(typeof Jo!="function")return!1;try{i=new Jo([1,3.14,-3.14,W2+1]),r=V2(i)&&i[0]===1&&i[1]===3&&i[2]===-3&&i[3]===H2}catch(t){r=!1}return r}Qo.exports=X2});var ic=e(function(iK,ec){"use strict";var z2=rc();ec.exports=z2});var sc=e(function(tK,tc){"use strict";var K2=m(),K=require("@stdlib/symbol/ctor");function $2(){return typeof K=="function"&&typeof K("foo")=="symbol"&&K2(K,"iterator")&&typeof K.iterator=="symbol"}tc.exports=$2});var Qr=e(function(sK,uc){"use strict";var Z2=sc();uc.exports=Z2});var nc=e(function(uK,ac){"use strict";var Y2=typeof Map=="function"?Map:null;ac.exports=Y2});var fc=e(function(aK,cc){"use strict";var oc=nc();function J2(){var r,i,t;if(typeof oc!="function")return!1;try{i={},t=new oc,t.set(i,"beep"),r=t.has(i)&&t.get(i)==="beep"}catch(a){r=!1}return r}cc.exports=J2});var vc=e(function(nK,pc){"use strict";var Q2=fc();pc.exports=Q2});var yc=e(function(oK,qc){"use strict";var rC=typeof Buffer=="function"?Buffer:null;qc.exports=rC});var mc=e(function(cK,lc){"use strict";var eC=E(),$=yc();function iC(){var r,i;if(typeof $!="function")return!1;try{typeof $.from=="function"?i=$.from([1,2,3,4]):i=new $([1,2,3,4]),r=eC(i)&&i[0]===1&&i[1]===2&&i[2]===3&&i[3]===4}catch(t){r=!1}return r}lc.exports=iC});var bc=e(function(fK,xc){"use strict";var tC=mc();xc.exports=tC});var Ac=e(function(pK,gc){"use strict";var sC=require("@stdlib/utils/eval");function uC(){var r;try{sC('"use strict"; var handler = { "get": function get( t, n ) { return t[ n ] * 100; } }; var target = { "beep": 3.14 }; var p = new Proxy( target, handler ); var x = p.beep; if ( x !== 314 ) { throw new Error( "native Proxy is not supported." ); }'),r=!0}catch(i){r=!1}return r}gc.exports=uC});var Oc=e(function(vK,Pc){"use strict";var aC=Ac();Pc.exports=aC});var Sc=e(function(qK,dc){"use strict";var nC=typeof Set=="function"?Set:null;dc.exports=nC});var Nc=e(function(yK,jc){"use strict";var hc=Sc();function oC(){var r,i,t;if(typeof hc!="function")return!1;try{i={},t=new hc,t.add(i),t.add(i),r=t.has(i)}catch(a){r=!1}return r}jc.exports=oC});var Ec=e(function(lK,Ic){"use strict";var cC=Nc();Ic.exports=cC});var Rc=e(function(mK,wc){"use strict";var fC=require("@stdlib/utils/native-class"),pC=typeof SharedArrayBuffer=="function";function vC(r){return pC&&r instanceof SharedArrayBuffer||fC(r)==="[object SharedArrayBuffer]"}wc.exports=vC});var re=e(function(xK,Cc){"use strict";var qC=Rc();Cc.exports=qC});var Fc=e(function(bK,Lc){"use strict";var yC=typeof SharedArrayBuffer=="function"?SharedArrayBuffer:null;Lc.exports=yC});var Bc=e(function(gK,_c){"use strict";var kc=re(),Tc=Fc();function lC(){var r,i,t;if(typeof Tc!="function")return!1;try{i=new Tc(16),t=i.slice(4,8),r=kc(i)&&kc(t)&&i.byteLength===16&&t.byteLength===4}catch(a){r=!1}return r}_c.exports=lC});var Mc=e(function(AK,Uc){"use strict";var mC=Bc();Uc.exports=mC});var Gc=e(function(PK,Dc){"use strict";var xC=require("@stdlib/utils/native-class"),bC=typeof Uint8Array=="function";function gC(r){return bC&&r instanceof Uint8Array||xC(r)==="[object Uint8Array]"}Dc.exports=gC});var Z=e(function(OK,Vc){"use strict";var AC=Gc();Vc.exports=AC});var Hc=e(function(dK,Wc){"use strict";var PC=typeof Uint8Array=="function"?Uint8Array:null;Wc.exports=PC});var Kc=e(function(SK,zc){"use strict";var OC=Z(),ee=require("@stdlib/constants/uint8/max"),Xc=Hc();function dC(){var r,i;if(typeof Xc!="function")return!1;try{i=[1,3.14,-3.14,ee+1,ee+2],i=new Xc(i),r=OC(i)&&i[0]===1&&i[1]===3&&i[2]===ee-2&&i[3]===0&&i[4]===1}catch(t){r=!1}return r}zc.exports=dC});var Zc=e(function(hK,$c){"use strict";var SC=Kc();$c.exports=SC});var Jc=e(function(jK,Yc){"use strict";var hC=require("@stdlib/utils/native-class"),jC=typeof Uint8ClampedArray=="function";function NC(r){return jC&&r instanceof Uint8ClampedArray||hC(r)==="[object Uint8ClampedArray]"}Yc.exports=NC});var ie=e(function(NK,Qc){"use strict";var IC=Jc();Qc.exports=IC});var ef=e(function(IK,rf){"use strict";var EC=typeof Uint8ClampedArray=="function"?Uint8ClampedArray:null;rf.exports=EC});var uf=e(function(EK,sf){"use strict";var wC=ie(),tf=ef();function RC(){var r,i;if(typeof tf!="function")return!1;try{i=new tf([-1,0,1,3.14,4.99,255,256]),r=wC(i)&&i[0]===0&&i[1]===0&&i[2]===1&&i[3]===3&&i[4]===5&&i[5]===255&&i[6]===255}catch(t){r=!1}return r}sf.exports=RC});var nf=e(function(wK,af){"use strict";var CC=uf();af.exports=CC});var cf=e(function(RK,of){"use strict";var LC=require("@stdlib/utils/native-class"),FC=typeof Uint16Array=="function";function kC(r){return FC&&r instanceof Uint16Array||LC(r)==="[object Uint16Array]"}of.exports=kC});var te=e(function(CK,ff){"use strict";var TC=cf();ff.exports=TC});var vf=e(function(LK,pf){"use strict";var _C=typeof Uint16Array=="function"?Uint16Array:null;pf.exports=_C});var lf=e(function(FK,yf){"use strict";var BC=te(),se=require("@stdlib/constants/uint16/max"),qf=vf();function UC(){var r,i;if(typeof qf!="function")return!1;try{i=[1,3.14,-3.14,se+1,se+2],i=new qf(i),r=BC(i)&&i[0]===1&&i[1]===3&&i[2]===se-2&&i[3]===0&&i[4]===1}catch(t){r=!1}return r}yf.exports=UC});var xf=e(function(kK,mf){"use strict";var MC=lf();mf.exports=MC});var gf=e(function(TK,bf){"use strict";var DC=require("@stdlib/utils/native-class"),GC=typeof Uint32Array=="function";function VC(r){return GC&&r instanceof Uint32Array||DC(r)==="[object Uint32Array]"}bf.exports=VC});var ue=e(function(_K,Af){"use strict";var WC=gf();Af.exports=WC});var Of=e(function(BK,Pf){"use strict";var HC=typeof Uint32Array=="function"?Uint32Array:null;Pf.exports=HC});var hf=e(function(UK,Sf){"use strict";var XC=ue(),ae=require("@stdlib/constants/uint32/max"),df=Of();function zC(){var r,i;if(typeof df!="function")return!1;try{i=[1,3.14,-3.14,ae+1,ae+2],i=new df(i),r=XC(i)&&i[0]===1&&i[1]===3&&i[2]===ae-2&&i[3]===0&&i[4]===1}catch(t){r=!1}return r}Sf.exports=zC});var Nf=e(function(MK,jf){"use strict";var KC=hf();jf.exports=KC});var ne=e(function(DK,If){"use strict";var $C=v().isPrimitive;function ZC(r){return $C(r)&&r>=0}If.exports=ZC});var oe=e(function(GK,Ef){"use strict";var YC=v().isObject;function JC(r){return YC(r)&&r.valueOf()>=0}Ef.exports=JC});var Rf=e(function(VK,wf){"use strict";var QC=ne(),rL=oe();function eL(r){return QC(r)||rL(r)}wf.exports=eL});var h=e(function(WK,Lf){"use strict";var Cf=require("@stdlib/utils/define-nonenumerable-read-only-property"),ce=Rf(),iL=ne(),tL=oe();Cf(ce,"isPrimitive",iL);Cf(ce,"isObject",tL);Lf.exports=ce});var kf=e(function(HK,Ff){"use strict";var sL=f().isPrimitive,uL=h().isPrimitive,fe=require("@stdlib/string/format"),aL=55296,nL=56319,oL=56320,cL=57343;function fL(r,i){var t,a;if(!sL(r))throw new TypeError(fe("invalid argument. Must provide a string. Value: `%s`.",r));if(!uL(i))throw new TypeError(fe("invalid argument. Must provide a valid position (i.e., a nonnegative integer). Value: `%s`.",i));if(i>=r.length)throw new RangeError(fe("invalid argument. Must provide a valid position (i.e., within string bounds). Value: `%u`.",i));return t=r.charCodeAt(i),a=r.charCodeAt(i+1),t>=aL&&t<=nL&&a>=oL&&a<=cL}Ff.exports=fL});var _f=e(function(XK,Tf){"use strict";var pL=kf();Tf.exports=pL});var Uf=e(function(zK,Bf){"use strict";function vL(){return typeof WebAssembly=="object"}Bf.exports=vL});var Df=e(function(KK,Mf){"use strict";var qL=Uf();Mf.exports=qL});var Vf=e(function($K,Gf){"use strict";var yL=typeof WeakMap=="function"?WeakMap:null;Gf.exports=yL});var Xf=e(function(ZK,Hf){"use strict";var Wf=Vf();function lL(){var r,i,t;if(typeof Wf!="function")return!1;try{i={},t=new Wf,t.set(i,"beep"),r=t.has(i)&&t.get(i)==="beep"}catch(a){r=!1}return r}Hf.exports=lL});var Kf=e(function(YK,zf){"use strict";var mL=Xf();zf.exports=mL});var Zf=e(function(JK,$f){"use strict";var xL=typeof WeakSet=="function"?WeakSet:null;$f.exports=xL});var Qf=e(function(QK,Jf){"use strict";var Yf=Zf();function bL(){var r,i,t;if(typeof Yf!="function")return!1;try{i={},t=new Yf,t.add(i),t.add(i),r=t.has(i)}catch(a){r=!1}return r}Jf.exports=bL});var ep=e(function(r$,rp){"use strict";var gL=Qf();rp.exports=gL});var tp=e(function(e$,ip){"use strict";var AL=require("@stdlib/string/format");function PL(r,i){if(typeof i!="function")throw new TypeError(AL("invalid argument. Second argument must be callable. Value: `%s`.",i));return r instanceof i}ip.exports=PL});var up=e(function(i$,sp){"use strict";var OL=tp();sp.exports=OL});var np=e(function(t$,ap){"use strict";var dL=f().isPrimitive,SL=/(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?[^#]*)?(?:#.*)?/,hL=/[^a-z0-9:\/?#\[\]@!$&'()*+,;=.\-_~%]/i,jL=/%[^0-9a-f]/i,NL=/%[0-9a-f](:?[^0-9a-f]|$)/i,IL=/^\/\//,EL=/^[a-z][a-z0-9+\-.]*$/;function wL(r){var i,t,a,n;return!(!dL(r)||hL.test(r)||jL.test(r)||NL.test(r)||(a=r.match(SL),t=a[1],i=a[2],n=a[3],!t||!t.length||!EL.test(t.toLowerCase()))||!i&&IL.test(n))}ap.exports=wL});var Y=e(function(s$,op){"use strict";var RL=np();op.exports=RL});var fp=e(function(u$,cp){"use strict";var CL=Y(),LL=/^https?:\/\//;function FL(r){return CL(r)&&LL.test(r)}cp.exports=FL});var vp=e(function(a$,pp){"use strict";var kL=fp();pp.exports=kL});var J=e(function(n$,qp){"use strict";var TL=require("@stdlib/os/platform"),_L=TL==="win32";qp.exports=_L});var lp=e(function(o$,yp){"use strict";var BL=f().isPrimitive;function UL(r){return BL(r)&&r.length>0&&r.charCodeAt(0)===47}yp.exports=UL});var xp=e(function(c$,mp){"use strict";var ML=f().isPrimitive;function DL(r){var i,t;return!ML(r)||(t=r.length,t===0)?!1:(i=r.charCodeAt(0),i===47||i===92||(i>=65&&i<=90||i>=97&&i<=122)&&t>2&&r.charCodeAt(1)===58&&(i=r.charCodeAt(2),i===47||i===92))}mp.exports=DL});var Q=e(function(f$,Pp){"use strict";var bp=require("@stdlib/utils/define-nonenumerable-read-only-property"),GL=J(),gp=lp(),Ap=xp(),k;GL?k=Ap:k=gp;bp(k,"posix",gp);bp(k,"win32",Ap);Pp.exports=k});var dp=e(function(p$,Op){"use strict";var VL=Y();function WL(r){return VL(r)}Op.exports=WL});var hp=e(function(v$,Sp){"use strict";var HL=dp();Sp.exports=HL});var Ip=e(function(q$,Np){"use strict";var XL=R(),jp=l();function zL(r){return XL(r)&&jp(r.get)&&jp(r.set)}Np.exports=zL});var wp=e(function(y$,Ep){"use strict";var KL=Ip();Ep.exports=KL});var Cp=e(function(l$,Rp){"use strict";var $L=require("@stdlib/utils/property-descriptor");function ZL(r,i){var t=$L(r,i);return t!==null&&(typeof t.get=="function"||typeof t.set=="function")}Rp.exports=ZL});var Fp=e(function(m$,Lp){"use strict";var YL=Cp();Lp.exports=YL});var Tp=e(function(x$,kp){"use strict";var JL=require("@stdlib/utils/property-descriptor-in");function QL(r,i){var t=JL(r,i);return t!==null&&(typeof t.get=="function"||typeof t.set=="function")}kp.exports=QL});var Bp=e(function(b$,_p){"use strict";var rF=Tp();_p.exports=rF});var Mp=e(function(g$,Up){"use strict";var eF=f();function iF(r){var i,t;if(!eF(r)||(i=r.length,!i))return!1;for(t=1;tr[t])return!1;return!0}Up.exports=iF});var Gp=e(function(A$,Dp){"use strict";var tF=Mp();Dp.exports=tF});var Wp=e(function(P$,Vp){"use strict";var sF=f().isPrimitive,uF=48,aF=57,nF=65,oF=90,cF=97,fF=122;function pF(r){var i,t,a;if(!sF(r)||(i=r.length,i===0))return!1;for(a=0;aaF)&&(tfF)&&(toF))return!1;return!0}Vp.exports=pF});var Xp=e(function(O$,Hp){"use strict";var vF=Wp();Hp.exports=vF});var Qp=e(function(d$,Jp){"use strict";var zp=require("@stdlib/string/base/lowercase"),Kp=require("@stdlib/string/base/replace"),$p=f().isPrimitive,qF=require("@stdlib/string/format"),Zp=/[^a-z0-9]/g;function Yp(r,i){return r=0&&i=0&&r.length<=FF&&wF(r,"callee")&&!RF(r,"callee")}qv.exports=kF});var mv=e(function(C$,lv){"use strict";var TF=uv(),_F=pe(),BF=yv(),qe;TF?qe=_F:qe=BF;lv.exports=qe});var bv=e(function(L$,xv){"use strict";var UF=F(),MF=x(),DF=UF(MF);xv.exports=DF});var Av=e(function(F$,gv){"use strict";var GF=bv();gv.exports=GF});var Ov=e(function(k$,Pv){"use strict";var VF=v().isPrimitive,WF=require("@stdlib/constants/array/max-array-length");function HF(r){return VF(r)&&r>=0&&r<=WF}Pv.exports=HF});var Sv=e(function(T$,dv){"use strict";var XF=Ov();dv.exports=XF});var jv=e(function(_$,hv){"use strict";var zF=require("@stdlib/math/base/assert/is-integer"),KF=require("@stdlib/constants/array/max-array-length");function $F(r){return r!=null&&typeof r!="function"&&typeof r.length=="number"&&zF(r.length)&&r.length>=0&&r.length<=KF}hv.exports=$F});var ye=e(function(B$,Nv){"use strict";var ZF=jv();Nv.exports=ZF});var Ev=e(function(U$,Iv){"use strict";var YF=require("@stdlib/math/base/assert/is-integer"),JF=require("@stdlib/constants/array/max-array-length");function QF(r){return typeof r=="object"&&r!==null&&typeof r.length=="number"&&YF(r.length)&&r.length>=0&&r.length<=JF}Iv.exports=QF});var Rv=e(function(M$,wv){"use strict";var r4=Ev();wv.exports=r4});var Lv=e(function(D$,Cv){"use strict";var e4=require("@stdlib/utils/constant-function"),i4=e4(!1);Cv.exports=i4});var kv=e(function(G$,Fv){"use strict";var t4=require("@stdlib/array/int8"),s4=require("@stdlib/array/uint8"),u4=require("@stdlib/array/uint8c"),a4=require("@stdlib/array/int16"),n4=require("@stdlib/array/uint16"),o4=require("@stdlib/array/int32"),c4=require("@stdlib/array/uint32"),f4=require("@stdlib/array/float32"),p4=require("@stdlib/array/float64"),v4=[p4,f4,o4,c4,a4,n4,t4,s4,u4];Fv.exports=v4});var Tv=e(function(V$,q4){q4.exports=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array"]});var Gv=e(function(W$,Dv){"use strict";var y4=require("@stdlib/utils/constructor-name"),l4=require("@stdlib/utils/function-name"),Uv=require("@stdlib/utils/get-prototype-of"),m4=Kr(),x4=require("@stdlib/array/float64"),_v=kv(),Bv=Tv(),er=m4()?Uv(x4):Mv;er=l4(er)==="TypedArray"?er:Mv;function Mv(){}function b4(r){var i,t;if(typeof r!="object"||r===null)return!1;if(r instanceof er)return!0;for(t=0;t<_v.length;t++)if(r instanceof _v[t])return!0;for(;r;){for(i=y4(r),t=0;t/;function F4(r){var i;return R4(r)?(i=C4(r),L4.test(i)):!1}Zv.exports=F4});var Qv=e(function(Z$,Jv){"use strict";var k4=Yv();Jv.exports=k4});var eq=e(function(Y$,rq){"use strict";var T4=f().isPrimitive,_4=127;function B4(r){var i,t;if(!T4(r)||(i=r.length,!i))return!1;for(t=0;t_4)return!1;return!0}rq.exports=B4});var tq=e(function(J$,iq){"use strict";var U4=eq();iq.exports=U4});var aq=e(function(Q$,uq){"use strict";var sq=require("@stdlib/string/format");function M4(r,i,t,a,n){if(arguments.length>3){if(a!=="closed"&&a!=="open")throw new TypeError(sq('invalid argument. Fourth argument must be one of the following: "%s". Value: `%s`.',["closed","open"].join('", "'),a));if(n!=="closed"&&n!=="open")throw new TypeError(sq('invalid argument. Fifth argument must be one of the following: "%s". Value: `%s`.',["closed","open"].join('", "'),n))}return a==="closed"||a===void 0?n==="closed"||n===void 0?r>=i&&r<=t:r>=i&&ri&&r<=t:r>i&&r3){if(a!=="closed"&&a!=="open")throw new TypeError(cq('invalid argument. Fourth argument must be one of the following: "%s". Value: `%s`.',["closed","open"].join('", "'),a));if(n!=="closed"&&n!=="open")throw new TypeError(cq('invalid argument. Fifth argument must be one of the following: "%s". Value: `%s`.',["closed","open"].join('", "'),n))}if(!G4(r)||(c=r.length,c===0))return!1;if(a==="closed"||a===void 0){if(n==="closed"||n===void 0){for(o=0;ot)return!1;return!0}for(o=0;o=t)return!1;return!0}if(n==="closed"||n===void 0){for(o=0;ot)return!1;return!0}for(o=0;o=t)return!1;return!0}fq.exports=V4});var qq=e(function(iZ,vq){"use strict";var W4=pq();vq.exports=W4});var lq=e(function(tZ,yq){"use strict";var H4=require("@stdlib/array/uint8"),X4=require("@stdlib/array/uint16"),z4={uint16:X4,uint8:H4};yq.exports=z4});var gq=e(function(sZ,bq){"use strict";var mq=lq(),xq;function K4(){var r,i;return r=new mq.uint16(1),r[0]=4660,i=new mq.uint8(r.buffer),i[1]===52}xq=K4();bq.exports=xq});var Pq=e(function(uZ,Aq){"use strict";var $4=gq();Aq.exports=$4});var dq=e(function(aZ,Oq){"use strict";var Z4=f().isPrimitive;function Y4(r){var i,t;if(!Z4(r)||r.length===0)return!1;for(t=0;tQ3)return!1;return!0}px.exports=r_});var yx=e(function(tJ,qx){"use strict";var e_=vx();qx.exports=e_});var mx=e(function(sJ,lx){"use strict";var i_=require("@stdlib/fs/read-file").sync,t_=M(),s_=require("@stdlib/fs/exists").sync,u_={encoding:"utf8"};function a_(){var r;return s_("/.dockerenv")?!0:(r=i_("/proc/self/cgroup",u_),r instanceof Error?!1:t_(r,"docker"))}lx.exports=a_});var bx=e(function(uJ,xx){"use strict";var n_=mx(),o_=n_();xx.exports=o_});var Ax=e(function(aJ,gx){"use strict";var c_=f().isPrimitive,f_=/^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$/i;function p_(r){return!c_(r)||r.length<2||r.length>255?!1:f_.test(r)}gx.exports=p_});var Ox=e(function(nJ,Px){"use strict";var v_=Ax();Px.exports=v_});var Sx=e(function(oJ,dx){"use strict";var q_=f().isPrimitive,y_=/^(?:\d+d)?(?:\d+h)?(?:\d+m)?(?:\d+s)?(?:\d+ms)?$/i;function l_(r){return q_(r)?y_.test(r):!1}dx.exports=l_});var jx=e(function(cJ,hx){"use strict";var m_=Sx();hx.exports=m_});var Ix=e(function(fJ,Nx){"use strict";Nx.exports=process});var Rx=e(function(pJ,wx){"use strict";var x_=require("@stdlib/utils/native-class"),b_=b(),Ex=f().isPrimitive,N=Ix();function g_(){return typeof N=="object"&&x_(N)==="[object process]"&&b_(N.versions)&&Ex(N.versions.electron)&&Ex(N.versions.chrome)&&(N.type==="browser"||N.type==="renderer")}wx.exports=g_});var ar=e(function(vJ,Cx){"use strict";var A_=Rx(),P_=A_();Cx.exports=P_});var Fx=e(function(qJ,Lx){"use strict";Lx.exports=process});var Tx=e(function(yJ,kx){"use strict";var O_=ar(),d_=Fx();function S_(){return O_&&d_.type==="browser"}kx.exports=S_});var Bx=e(function(lJ,_x){"use strict";var h_=Tx(),j_=h_();_x.exports=j_});var Mx=e(function(mJ,Ux){"use strict";var N_=require("process");Ux.exports=N_});var Gx=e(function(xJ,Dx){"use strict";var I_=ar(),E_=Mx();function w_(){return I_&&E_.type==="renderer"}Dx.exports=w_});var Wx=e(function(bJ,Vx){"use strict";var R_=Gx(),C_=R_();Vx.exports=C_});var Xx=e(function(gJ,Hx){"use strict";var L_=f().isPrimitive,F_=/@/;function k_(r){return L_(r)&&F_.test(r)}Hx.exports=k_});var Kx=e(function(AJ,zx){"use strict";var T_=Xx();zx.exports=T_});var Zx=e(function(PJ,$x){"use strict";var __=x();function B_(r){return __(r)&&r.length===0}$x.exports=B_});var Jx=e(function(OJ,Yx){"use strict";var U_=Zx();Yx.exports=U_});var rb=e(function(dJ,Qx){"use strict";function M_(r){return typeof r=="object"&&r!==null&&r.length===0}Qx.exports=M_});var ib=e(function(SJ,eb){"use strict";var D_=rb();eb.exports=D_});var sb=e(function(hJ,tb){"use strict";function G_(r){return typeof r=="object"&&r!==null&&r.length===0}tb.exports=G_});var ab=e(function(jJ,ub){"use strict";var V_=sb();ub.exports=V_});var ob=e(function(NJ,nb){"use strict";var W_=require("@stdlib/utils/keys"),H_=b(),X_=C(),z_=X_();function K_(r){return!(!H_(r)||W_(r).length>0||z_&&Object.getOwnPropertySymbols(r).length>0)}nb.exports=K_});var fb=e(function(IJ,cb){"use strict";var $_=ob();cb.exports=$_});var Le=e(function(EJ,pb){"use strict";function Z_(r){return r===""}pb.exports=Z_});var Fe=e(function(wJ,vb){"use strict";var Y_=f().isObject;function J_(r){return Y_(r)&&r.valueOf()===""}vb.exports=J_});var yb=e(function(RJ,qb){"use strict";var Q_=Le(),rB=Fe();function eB(r){return Q_(r)||rB(r)}qb.exports=eB});var xb=e(function(CJ,mb){"use strict";var lb=require("@stdlib/utils/define-nonenumerable-read-only-property"),ke=yb(),iB=Le(),tB=Fe();lb(ke,"isPrimitive",iB);lb(ke,"isObject",tB);mb.exports=ke});var gb=e(function(LJ,bb){"use strict";var sB=require("@stdlib/utils/property-descriptor-in");function uB(r,i){var t=sB(r,i);return t!==null&&t.enumerable===!0}bb.exports=uB});var Pb=e(function(FJ,Ab){"use strict";var aB=gb();Ab.exports=aB});var db=e(function(kJ,Ob){"use strict";var nB=require("@stdlib/utils/get-prototype-of"),oB=require("@stdlib/utils/type-of"),cB=g();function fB(r){if(typeof r!="object"||r===null)return!1;if(r instanceof EvalError)return!0;if(cB(r))for(;r;){if(oB(r)==="evalerror")return!0;r=nB(r)}return!1}Ob.exports=fB});var hb=e(function(TJ,Sb){"use strict";var pB=db();Sb.exports=pB});var Te=e(function(_J,jb){"use strict";var vB=v().isPrimitive;function qB(r){return vB(r)&&r%2===0}jb.exports=qB});var _e=e(function(BJ,Nb){"use strict";var yB=v().isObject;function lB(r){return yB(r)&&r%2===0}Nb.exports=lB});var Eb=e(function(UJ,Ib){"use strict";var mB=Te(),xB=_e();function bB(r){return mB(r)||xB(r)}Ib.exports=bB});var nr=e(function(MJ,Rb){"use strict";var wb=require("@stdlib/utils/define-nonenumerable-read-only-property"),Be=Eb(),gB=Te(),AB=_e();wb(Be,"isPrimitive",gB);wb(Be,"isObject",AB);Rb.exports=Be});var Lb=e(function(DJ,Cb){"use strict";function PB(r){return!r}Cb.exports=PB});var Ue=e(function(GJ,Fb){"use strict";var OB=Lb();Fb.exports=OB});var Tb=e(function(VJ,kb){"use strict";var dB=q(),SB=Ue(),hB=dB(SB);kb.exports=hB});var Me=e(function(WJ,_b){"use strict";var jB=p().isPrimitive,NB=require("@stdlib/math/base/assert/is-finite");function IB(r){return jB(r)&&NB(r)}_b.exports=IB});var De=e(function(HJ,Bb){"use strict";var EB=p().isObject,wB=require("@stdlib/math/base/assert/is-finite");function RB(r){return EB(r)&&wB(r.valueOf())}Bb.exports=RB});var Mb=e(function(XJ,Ub){"use strict";var CB=Me(),LB=De();function FB(r){return CB(r)||LB(r)}Ub.exports=FB});var Ve=e(function(zJ,Gb){"use strict";var Db=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ge=Mb(),kB=Me(),TB=De();Db(Ge,"isPrimitive",kB);Db(Ge,"isObject",TB);Gb.exports=Ge});var Hb=e(function(KJ,Wb){"use strict";var We=Ve(),Vb=require("@stdlib/utils/define-nonenumerable-read-only-property"),He=q(),_B=He(We.isPrimitive),BB=He(We.isObject),Xe=He(We);Vb(Xe,"primitives",_B);Vb(Xe,"objects",BB);Wb.exports=Xe});var zb=e(function($J,Xb){"use strict";var UB=O();function MB(r){return UB(r)&&r.dtype==="float32"}Xb.exports=MB});var $b=e(function(ZJ,Kb){"use strict";var DB=zb();Kb.exports=DB});var Yb=e(function(YJ,Zb){"use strict";var GB=P();function VB(r){return GB(r)&&r.dtype==="float32"}Zb.exports=VB});var Qb=e(function(JJ,Jb){"use strict";var WB=Yb();Jb.exports=WB});var eg=e(function(QJ,rg){"use strict";var HB=w();function XB(r){return HB(r)&&r.dtype==="float32"}rg.exports=XB});var tg=e(function(rQ,ig){"use strict";var zB=eg();ig.exports=zB});var ug=e(function(eQ,sg){"use strict";var KB=O();function $B(r){return KB(r)&&r.dtype==="float64"}sg.exports=$B});var ng=e(function(iQ,ag){"use strict";var ZB=ug();ag.exports=ZB});var cg=e(function(tQ,og){"use strict";var YB=P();function JB(r){return YB(r)&&r.dtype==="float64"}og.exports=JB});var pg=e(function(sQ,fg){"use strict";var QB=cg();fg.exports=QB});var qg=e(function(uQ,vg){"use strict";var r8=w();function e8(r){return r8(r)&&r.dtype==="float64"}vg.exports=e8});var lg=e(function(aQ,yg){"use strict";var i8=qg();yg.exports=i8});var xg=e(function(nQ,mg){"use strict";var t8=q(),s8=l(),u8=t8(s8);mg.exports=u8});var gg=e(function(oQ,bg){"use strict";var a8=$r(),n8=require("@stdlib/utils/native-class"),o8=a8();function c8(r){return o8&&n8(r)==="[object Generator]"}bg.exports=c8});var Pg=e(function(cQ,Ag){"use strict";var f8=gg();Ag.exports=f8});var dg=e(function(fQ,Og){"use strict";function p8(r){return r!==null&&typeof r=="object"&&typeof r.next=="function"&&typeof r.return=="function"&&typeof r.throw=="function"}Og.exports=p8});var hg=e(function(pQ,Sg){"use strict";var v8=dg();Sg.exports=v8});var Ng=e(function(vQ,jg){"use strict";var q8=Z(),y8=E();function l8(r){return!q8(r)&&!y8(r)||r.length<19?!1:r[0]===31&&r[1]===139&&r[2]===8}jg.exports=l8});var Eg=e(function(qQ,Ig){"use strict";var m8=Ng();Ig.exports=m8});var Rg=e(function(yQ,wg){"use strict";var x8=f().isPrimitive,b8=48,g8=57,A8=65,P8=70,O8=97,d8=102;function S8(r){var i,t,a;if(!x8(r)||(i=r.length,!i))return!1;for(a=0;ag8&&tP8&&td8)return!1;return!0}wg.exports=S8});var Lg=e(function(lQ,Cg){"use strict";var h8=Rg();Cg.exports=h8});var ze=e(function(mQ,Fg){"use strict";var j8=p().isPrimitive,N8=require("@stdlib/math/base/assert/is-infinite");function I8(r){return j8(r)&&N8(r)}Fg.exports=I8});var Ke=e(function(xQ,kg){"use strict";var E8=p().isObject,w8=require("@stdlib/math/base/assert/is-infinite");function R8(r){return E8(r)&&w8(r.valueOf())}kg.exports=R8});var _g=e(function(bQ,Tg){"use strict";var C8=ze(),L8=Ke();function F8(r){return C8(r)||L8(r)}Tg.exports=F8});var Mg=e(function(gQ,Ug){"use strict";var Bg=require("@stdlib/utils/define-nonenumerable-read-only-property"),$e=_g(),k8=ze(),T8=Ke();Bg($e,"isPrimitive",k8);Bg($e,"isObject",T8);Ug.exports=$e});var Gg=e(function(AQ,Dg){"use strict";var _8=m();function B8(r,i){return r==null||_8(r,i)?!1:typeof i=="symbol"?i in Object(r):String(i)in Object(r)}Dg.exports=B8});var Wg=e(function(PQ,Vg){"use strict";var U8=Gg();Vg.exports=U8});var zg=e(function(OQ,Xg){"use strict";var Ze=v(),Hg=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ye=q(),M8=Ye(Ze.isPrimitive),D8=Ye(Ze.isObject),Je=Ye(Ze);Hg(Je,"primitives",M8);Hg(Je,"objects",D8);Xg.exports=Je});var $g=e(function(dQ,Kg){"use strict";function G8(r){var i=typeof r;return i==="string"||i==="number"||i==="boolean"||i==="symbol"||i==="bigint"||r===null||r===void 0}Kg.exports=G8});var or=e(function(SQ,Zg){"use strict";var V8=$g();Zg.exports=V8});var Jg=e(function(hQ,Yg){"use strict";var W8=l();function H8(r){var i=typeof r;return r!==null&&(i==="object"||i==="function")&&W8(r.next)}Yg.exports=H8});var Qe=e(function(jQ,Qg){"use strict";var X8=Jg();Qg.exports=X8});var iA=e(function(NQ,eA){"use strict";var z8=or(),K8=l(),rA=require("@stdlib/symbol/iterator"),$8=Qe();function Z8(r){var i;return z8(r)?!1:(i=r[rA],K8(i)&&i.length===0&&$8(r[rA]()))}eA.exports=Z8});var sA=e(function(IQ,tA){"use strict";var Y8=Qr(),J8=require("@stdlib/utils/constant-function"),Q8=iA(),ri;Y8()?ri=Q8:ri=J8(!1);tA.exports=ri});var aA=e(function(EQ,uA){"use strict";var rU=/^\{[\s\S]*\}$|^\[[\s\S]*\]$/;function eU(r){if(typeof r!="string"||!rU.test(r))return!1;try{JSON.parse(r)}catch(i){return!1}return!0}uA.exports=eU});var oA=e(function(wQ,nA){"use strict";var iU=aA();nA.exports=iU});var fA=e(function(RQ,cA){"use strict";var tU=f().isPrimitive,sU=require("@stdlib/string/base/kebabcase");function uU(r){return tU(r)&&sU(r)===r}cA.exports=uU});var vA=e(function(CQ,pA){"use strict";var aU=fA();pA.exports=aU});var yA=e(function(LQ,qA){"use strict";var nU=I(),oU=v().isPrimitive,cU=require("@stdlib/time/current-year");function fU(r){var i;if(arguments.length)if(nU(r))i=r.getFullYear();else if(oU(r))i=r;else return!1;else i=cU();return i%100===0?i%400===0:i%4===0}qA.exports=fU});var mA=e(function(FQ,lA){"use strict";var pU=yA();lA.exports=pU});var bA=e(function(kQ,xA){"use strict";var vU=require("@stdlib/array/uint8"),qU=require("@stdlib/array/uint16"),yU={uint16:qU,uint8:vU};xA.exports=yU});var OA=e(function(TQ,PA){"use strict";var gA=bA(),AA;function lU(){var r,i;return r=new gA.uint16(1),r[0]=4660,i=new gA.uint8(r.buffer),i[0]===52}AA=lU();PA.exports=AA});var SA=e(function(_Q,dA){"use strict";var mU=OA();dA.exports=mU});var jA=e(function(BQ,hA){"use strict";var xU=f().isPrimitive,bU=/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/;function gU(r){return xU(r)?r==="localhost"||r==="LOCALHOST"||r==="[::1]"||bU.test(r):!1}hA.exports=gU});var IA=e(function(UQ,NA){"use strict";var AU=jA();NA.exports=AU});var wA=e(function(MQ,EA){"use strict";var PU=require("@stdlib/string/lowercase"),OU=require("@stdlib/string/uppercase"),dU=f().isPrimitive;function SU(r){return dU(r)&&r===PU(r)&&r!==OU(r)}EA.exports=SU});var CA=e(function(DQ,RA){"use strict";var hU=wA();RA.exports=hU});var FA=e(function(GQ,LA){"use strict";var jU=m(),NU=l();function IU(r,i){return jU(r,i)&&NU(r[i])}LA.exports=IU});var TA=e(function(VQ,kA){"use strict";var EU=FA();kA.exports=EU});var BA=e(function(WQ,_A){"use strict";var wU=l(),RU=require("@stdlib/object/ctor");function CU(r,i){return r==null?!1:(r=RU(r),typeof i!="symbol"&&(i=String(i)),i in r&&wU(r[i]))}_A.exports=CU});var MA=e(function(HQ,UA){"use strict";var LU=BA();UA.exports=LU});var GA=e(function(XQ,DA){"use strict";var FU=require("@stdlib/utils/constant-function"),kU=FU(!1);DA.exports=kU});var WA=e(function(zQ,VA){"use strict";var TU=GA(),_U=TU();VA.exports=_U});var XA=e(function(KQ,HA){"use strict";var BU=require("@stdlib/slice/multi"),UU=require("@stdlib/utils/constructor-name");function MU(r){return r instanceof BU||UU(r)==="MultiSlice"}HA.exports=MU});var KA=e(function($Q,zA){"use strict";var DU=XA();zA.exports=DU});var YA=e(function(ZQ,ZA){"use strict";var GU=j(),$A=m();function VU(r){return GU(r)&&typeof r.fieldOf=="function"&&typeof r.findField=="function"&&typeof r.ind2key=="function"&&typeof r.key2ind=="function"&&typeof r.lastFieldOf=="function"&&typeof r.subtuple=="function"&&$A(r,"fields")&&$A(r,"orderedFields")}ZA.exports=VU});var QA=e(function(YQ,JA){"use strict";var WU=YA();JA.exports=WU});var iP=e(function(JQ,eP){"use strict";var rP=require("@stdlib/utils/define-nonenumerable-read-only-property"),ei=q(),ii=L(),HU=ei(ii.isPrimitive),XU=ei(ii.isObject),ti=ei(ii);rP(ti,"primitives",HU);rP(ti,"objects",XU);eP.exports=ti});var sP=e(function(QQ,tP){"use strict";var zU=l(),KU=require("@stdlib/regexp/native-function"),$U=require("@stdlib/function/to-string");function ZU(r){return zU(r)&&KU.REGEXP.test($U(r))}tP.exports=ZU});var aP=e(function(rrr,uP){"use strict";var YU=sP();uP.exports=YU});var si=e(function(err,nP){"use strict";var JU=v().isPrimitive;function QU(r){return JU(r)&&r<0}nP.exports=QU});var ui=e(function(irr,oP){"use strict";var rM=v().isObject;function eM(r){return rM(r)&&r.valueOf()<0}oP.exports=eM});var fP=e(function(trr,cP){"use strict";var iM=si(),tM=ui();function sM(r){return iM(r)||tM(r)}cP.exports=sM});var ni=e(function(srr,vP){"use strict";var pP=require("@stdlib/utils/define-nonenumerable-read-only-property"),ai=fP(),uM=si(),aM=ui();pP(ai,"isPrimitive",uM);pP(ai,"isObject",aM);vP.exports=ai});var lP=e(function(urr,yP){"use strict";var oi=ni(),qP=require("@stdlib/utils/define-nonenumerable-read-only-property"),ci=q(),nM=ci(oi.isPrimitive),oM=ci(oi.isObject),fi=ci(oi);qP(fi,"primitives",nM);qP(fi,"objects",oM);yP.exports=fi});var pi=e(function(arr,mP){"use strict";var cM=p().isPrimitive;function fM(r){return cM(r)&&r<0}mP.exports=fM});var vi=e(function(nrr,xP){"use strict";var pM=p().isObject;function vM(r){return pM(r)&&r.valueOf()<0}xP.exports=vM});var gP=e(function(orr,bP){"use strict";var qM=pi(),yM=vi();function lM(r){return qM(r)||yM(r)}bP.exports=lM});var yi=e(function(crr,PP){"use strict";var AP=require("@stdlib/utils/define-nonenumerable-read-only-property"),qi=gP(),mM=pi(),xM=vi();AP(qi,"isPrimitive",mM);AP(qi,"isObject",xM);PP.exports=qi});var SP=e(function(frr,dP){"use strict";var li=yi(),OP=require("@stdlib/utils/define-nonenumerable-read-only-property"),mi=q(),bM=mi(li.isPrimitive),gM=mi(li.isObject),xi=mi(li);OP(xi,"primitives",bM);OP(xi,"objects",gM);dP.exports=xi});var bi=e(function(prr,hP){"use strict";var AM=p().isPrimitive,PM=require("@stdlib/constants/float64/ninf");function OM(r){return AM(r)&&1/r===PM}hP.exports=OM});var gi=e(function(vrr,jP){"use strict";var dM=p().isObject,SM=require("@stdlib/constants/float64/ninf");function hM(r){return dM(r)&&1/r.valueOf()===SM}jP.exports=hM});var IP=e(function(qrr,NP){"use strict";var jM=bi(),NM=gi();function IM(r){return jM(r)||NM(r)}NP.exports=IM});var RP=e(function(yrr,wP){"use strict";var EP=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ai=IP(),EM=bi(),wM=gi();EP(Ai,"isPrimitive",EM);EP(Ai,"isObject",wM);wP.exports=Ai});var CP=e(function(lrr,RM){RM.exports=["assert","async_hooks","buffer","child_process","cluster","console","constants","crypto","dgram","dns","domain","events","fs","http","http2","https","_http_agent","_http_client","_http_common","_http_incoming","_http_outgoing","_http_server","inspector","module","net","os","path","perf_hooks","process","punycode","querystring","readline","repl","stream","_stream_readable","_stream_writable","_stream_duplex","_stream_transform","_stream_passthrough","_stream_wrap","string_decoder","sys","timers","tls","_tls_common","_tls_legacy","_tls_wrap","tty","url","util","v8","vm","zlib","v8/tools/splaytree","v8/tools/codemap","v8/tools/consarray","v8/tools/csvparser","v8/tools/profile","v8/tools/profile_view","v8/tools/logreader","v8/tools/tickprocessor","v8/tools/SourceMap","v8/tools/tickprocessor-driver","node-inspect/lib/_inspect","node-inspect/lib/internal/inspect_client","node-inspect/lib/internal/inspect_repl"]});var FP=e(function(mrr,LP){"use strict";var CM=require("module"),LM=M(),FM=f().isPrimitive,kM=CP(),TM=CM.builtinModules||kM;function _M(r){return FM(r)?LM(TM,r):!1}LP.exports=_M});var TP=e(function(xrr,kP){"use strict";var BM=FP();kP.exports=BM});var BP=e(function(brr,_P){"use strict";function UM(r){return r!==null&&typeof r=="object"&&typeof r.on=="function"&&typeof r.once=="function"&&typeof r.emit=="function"&&typeof r.addListener=="function"&&typeof r.removeListener=="function"&&typeof r.removeAllListeners=="function"&&typeof r.pipe=="function"}_P.exports=UM});var cr=e(function(grr,UP){"use strict";var MM=BP();UP.exports=MM});var DP=e(function(Arr,MP){"use strict";var DM=cr();function GM(r){return DM(r)&&typeof r._write=="function"&&typeof r._writableState=="object"}MP.exports=GM});var Pi=e(function(Prr,GP){"use strict";var VM=DP();GP.exports=VM});var WP=e(function(Orr,VP){"use strict";var WM=cr();function HM(r){return WM(r)&&typeof r._read=="function"&&typeof r._readableState=="object"}VP.exports=HM});var Oi=e(function(drr,HP){"use strict";var XM=WP();HP.exports=XM});var zP=e(function(Srr,XP){"use strict";var zM=Pi(),KM=Oi();function $M(r){return zM(r)&&KM(r)}XP.exports=$M});var di=e(function(hrr,KP){"use strict";var ZM=zP();KP.exports=ZM});var $P=e(function(jrr,Si){"use strict";function YM(){return Si}Si.exports=YM});var YP=e(function(Nrr,ZP){"use strict";function JM(){var r=new Error;return r.stack}ZP.exports=JM});var QP=e(function(Irr,JP){"use strict";var QM=B(),rD=$P(),eD=YP(),iD=/^repl$|^$/,tD=/at REPLServer/;function sD(){var r,i;if(!QM)return!1;for(i=rD();i;){if(iD.test(i.id))return!0;i=i.parent}return r=eD(),r?tD.test(r):!1}JP.exports=sD});var eO=e(function(Err,rO){"use strict";var uD=QP();rO.exports=uD});var tO=e(function(wrr,iO){"use strict";var aD=di();function nD(r){return aD(r)&&typeof r._transform=="function"}iO.exports=nD});var uO=e(function(Rrr,sO){"use strict";var oD=tO();sO.exports=oD});var nO=e(function(Crr,aO){"use strict";var cD=require("@stdlib/utils/property-descriptor");function fD(r,i){var t=cD(r,i);return t!==null&&t.configurable===!1}aO.exports=fD});var cO=e(function(Lrr,oO){"use strict";var pD=nO();oO.exports=pD});var pO=e(function(Frr,fO){"use strict";var vD=require("@stdlib/utils/property-descriptor-in");function qD(r,i){var t=vD(r,i);return t!==null&&t.configurable===!1}fO.exports=qD});var qO=e(function(krr,vO){"use strict";var yD=pO();vO.exports=yD});var lO=e(function(Trr,yO){"use strict";var lD=m(),mD=rr();function xD(r,i){return lD(r,i)===!1?!1:mD(r,i)===!1}yO.exports=xD});var xO=e(function(_rr,mO){"use strict";var bD=lO();mO.exports=bD});var gO=e(function(Brr,bO){"use strict";var gD=require("@stdlib/utils/property-descriptor-in");function AD(r,i){var t=gD(r,i);return t!==null&&t.enumerable===!1}bO.exports=AD});var PO=e(function(Urr,AO){"use strict";var PD=gO();AO.exports=PD});var SO=e(function(Mrr,dO){"use strict";var hi=h(),OO=require("@stdlib/utils/define-nonenumerable-read-only-property"),ji=q(),OD=ji(hi.isPrimitive),dD=ji(hi.isObject),Ni=ji(hi);OO(Ni,"primitives",OD);OO(Ni,"objects",dD);dO.exports=Ni});var Ii=e(function(Drr,hO){"use strict";var SD=p().isPrimitive;function hD(r){return SD(r)&&r>=0}hO.exports=hD});var Ei=e(function(Grr,jO){"use strict";var jD=p().isObject;function ND(r){return jD(r)&&r.valueOf()>=0}jO.exports=ND});var IO=e(function(Vrr,NO){"use strict";var ID=Ii(),ED=Ei();function wD(r){return ID(r)||ED(r)}NO.exports=wD});var Ri=e(function(Wrr,wO){"use strict";var EO=require("@stdlib/utils/define-nonenumerable-read-only-property"),wi=IO(),RD=Ii(),CD=Ei();EO(wi,"isPrimitive",RD);EO(wi,"isObject",CD);wO.exports=wi});var LO=e(function(Hrr,CO){"use strict";var Ci=Ri(),RO=require("@stdlib/utils/define-nonenumerable-read-only-property"),Li=q(),LD=Li(Ci.isPrimitive),FD=Li(Ci.isObject),Fi=Li(Ci);RO(Fi,"primitives",LD);RO(Fi,"objects",FD);CO.exports=Fi});var ki=e(function(Xrr,FO){"use strict";var kD=v().isPrimitive;function TD(r){return kD(r)&&r<=0}FO.exports=TD});var Ti=e(function(zrr,kO){"use strict";var _D=v().isObject;function BD(r){return _D(r)&&r.valueOf()<=0}kO.exports=BD});var _O=e(function(Krr,TO){"use strict";var UD=ki(),MD=Ti();function DD(r){return UD(r)||MD(r)}TO.exports=DD});var Bi=e(function($rr,UO){"use strict";var BO=require("@stdlib/utils/define-nonenumerable-read-only-property"),_i=_O(),GD=ki(),VD=Ti();BO(_i,"isPrimitive",GD);BO(_i,"isObject",VD);UO.exports=_i});var GO=e(function(Zrr,DO){"use strict";var Ui=Bi(),MO=require("@stdlib/utils/define-nonenumerable-read-only-property"),Mi=q(),WD=Mi(Ui.isPrimitive),HD=Mi(Ui.isObject),Di=Mi(Ui);MO(Di,"primitives",WD);MO(Di,"objects",HD);DO.exports=Di});var Gi=e(function(Yrr,VO){"use strict";var XD=p().isPrimitive;function zD(r){return XD(r)&&r<=0}VO.exports=zD});var Vi=e(function(Jrr,WO){"use strict";var KD=p().isObject;function $D(r){return KD(r)&&r.valueOf()<=0}WO.exports=$D});var XO=e(function(Qrr,HO){"use strict";var ZD=Gi(),YD=Vi();function JD(r){return ZD(r)||YD(r)}HO.exports=JD});var Hi=e(function(rer,KO){"use strict";var zO=require("@stdlib/utils/define-nonenumerable-read-only-property"),Wi=XO(),QD=Gi(),rG=Vi();zO(Wi,"isPrimitive",QD);zO(Wi,"isObject",rG);KO.exports=Wi});var YO=e(function(eer,ZO){"use strict";var Xi=Hi(),$O=require("@stdlib/utils/define-nonenumerable-read-only-property"),zi=q(),eG=zi(Xi.isPrimitive),iG=zi(Xi.isObject),Ki=zi(Xi);$O(Ki,"primitives",eG);$O(Ki,"objects",iG);ZO.exports=Ki});var QO=e(function(ier,JO){"use strict";var tG=O();function sG(r){var i,t,a;if(!tG(r))return!1;if(i=r.shape[0],i!==r.shape[1])return!0;for(t=0;t0?gd(r-1):gd(r+1):!1}Ad.exports=SG});var et=e(function(yer,Od){"use strict";var hG=v().isObject,Pd=nr().isPrimitive;function jG(r){return hG(r)?r>0?Pd(r-1):Pd(r+1):!1}Od.exports=jG});var Sd=e(function(ler,dd){"use strict";var NG=rt(),IG=et();function EG(r){return NG(r)||IG(r)}dd.exports=EG});var Nd=e(function(mer,jd){"use strict";var hd=require("@stdlib/utils/define-nonenumerable-read-only-property"),it=Sd(),wG=rt(),RG=et();hd(it,"isPrimitive",wG);hd(it,"isObject",RG);jd.exports=it});var Ed=e(function(xer,Id){"use strict";var CG=f().isPrimitive,LG=require("@stdlib/string/base/pascalcase");function FG(r){return CG(r)&&LG(r)===r}Id.exports=FG});var Rd=e(function(ber,wd){"use strict";var kG=Ed();wd.exports=kG});var Ld=e(function(ger,Cd){"use strict";var TG=d();function _G(r){var i,t,a,n;if(!TG(r))return!1;for(i=r.shape[0]-1,a=0;a0}Md.exports=WG});var st=e(function(Ser,Dd){"use strict";var HG=v().isObject;function XG(r){return HG(r)&&r.valueOf()>0}Dd.exports=XG});var Vd=e(function(her,Gd){"use strict";var zG=tt(),KG=st();function $G(r){return zG(r)||KG(r)}Gd.exports=$G});var at=e(function(jer,Hd){"use strict";var Wd=require("@stdlib/utils/define-nonenumerable-read-only-property"),ut=Vd(),ZG=tt(),YG=st();Wd(ut,"isPrimitive",ZG);Wd(ut,"isObject",YG);Hd.exports=ut});var Kd=e(function(Ner,zd){"use strict";var nt=at(),Xd=require("@stdlib/utils/define-nonenumerable-read-only-property"),ot=q(),JG=ot(nt.isPrimitive),QG=ot(nt.isObject),ct=ot(nt);Xd(ct,"primitives",JG);Xd(ct,"objects",QG);zd.exports=ct});var ft=e(function(Ier,$d){"use strict";var rV=p().isPrimitive;function eV(r){return rV(r)&&r>0}$d.exports=eV});var pt=e(function(Eer,Zd){"use strict";var iV=p().isObject;function tV(r){return iV(r)&&r.valueOf()>0}Zd.exports=tV});var Jd=e(function(wer,Yd){"use strict";var sV=ft(),uV=pt();function aV(r){return sV(r)||uV(r)}Yd.exports=aV});var qt=e(function(Rer,rS){"use strict";var Qd=require("@stdlib/utils/define-nonenumerable-read-only-property"),vt=Jd(),nV=ft(),oV=pt();Qd(vt,"isPrimitive",nV);Qd(vt,"isObject",oV);rS.exports=vt});var tS=e(function(Cer,iS){"use strict";var yt=qt(),eS=require("@stdlib/utils/define-nonenumerable-read-only-property"),lt=q(),cV=lt(yt.isPrimitive),fV=lt(yt.isObject),mt=lt(yt);eS(mt,"primitives",cV);eS(mt,"objects",fV);iS.exports=mt});var xt=e(function(Ler,sS){"use strict";var pV=p().isPrimitive,vV=require("@stdlib/constants/float64/pinf");function qV(r){return pV(r)&&1/r===vV}sS.exports=qV});var bt=e(function(Fer,uS){"use strict";var yV=p().isObject,lV=require("@stdlib/constants/float64/pinf");function mV(r){return yV(r)&&1/r.valueOf()===lV}uS.exports=mV});var nS=e(function(ker,aS){"use strict";var xV=xt(),bV=bt();function gV(r){return xV(r)||bV(r)}aS.exports=gV});var fS=e(function(Ter,cS){"use strict";var oS=require("@stdlib/utils/define-nonenumerable-read-only-property"),gt=nS(),AV=xt(),PV=bt();oS(gt,"isPrimitive",AV);oS(gt,"isObject",PV);cS.exports=gt});var At=e(function(_er,pS){"use strict";var OV=p().isPrimitive,dV=require("@stdlib/math/base/assert/is-prime");function SV(r){return OV(r)?dV(r):!1}pS.exports=SV});var Pt=e(function(Ber,vS){"use strict";var hV=p().isObject,jV=require("@stdlib/math/base/assert/is-prime");function NV(r){return hV(r)?jV(r.valueOf()):!1}vS.exports=NV});var yS=e(function(Uer,qS){"use strict";var IV=At(),EV=Pt();function wV(r){return IV(r)||EV(r)}qS.exports=wV});var xS=e(function(Mer,mS){"use strict";var lS=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ot=yS(),RV=At(),CV=Pt();lS(Ot,"isPrimitive",RV);lS(Ot,"isObject",CV);mS.exports=Ot});var gS=e(function(Der,bS){"use strict";var LV=q(),FV=or(),kV=LV(FV);bS.exports=kV});var PS=e(function(Ger,AS){"use strict";var TV=gS();AS.exports=TV});var SS=e(function(Ver,dS){"use strict";var _V=l(),OS=m();function BV(r){return _V(r)&&typeof r.NAME=="string"&&OS(r,"state")&&OS(r,"seed")}dS.exports=BV});var jS=e(function(Wer,hS){"use strict";var UV=SS();hS.exports=UV});var dt=e(function(Her,NS){"use strict";var MV=p().isPrimitive;function DV(r){return MV(r)&&r>=0&&r<=1}NS.exports=DV});var St=e(function(Xer,IS){"use strict";var GV=p().isObject;function VV(r){return GV(r)&&r.valueOf()>=0&&r.valueOf()<=1}IS.exports=VV});var wS=e(function(zer,ES){"use strict";var WV=dt(),HV=St();function XV(r){return WV(r)||HV(r)}ES.exports=XV});var jt=e(function(Ker,CS){"use strict";var RS=require("@stdlib/utils/define-nonenumerable-read-only-property"),ht=wS(),zV=dt(),KV=St();RS(ht,"isPrimitive",zV);RS(ht,"isObject",KV);CS.exports=ht});var kS=e(function($er,FS){"use strict";var Nt=jt(),LS=require("@stdlib/utils/define-nonenumerable-read-only-property"),It=q(),$V=It(Nt.isPrimitive),ZV=It(Nt.isObject),Et=It(Nt);LS(Et,"primitives",$V);LS(Et,"objects",ZV);FS.exports=Et});var _S=e(function(Zer,TS){"use strict";var YV=f().isPrimitive,JV=T().isPrimitive,QV=h().isPrimitive;function rW(r){return YV(r)||JV(r)||QV(r)}TS.exports=rW});var US=e(function(Yer,BS){"use strict";var eW=_S();BS.exports=eW});var DS=e(function(Jer,MS){"use strict";var iW=Object.prototype.isPrototypeOf,tW=require("@stdlib/string/format");function sW(r,i){var t=typeof i;if(i===null||t!=="object"&&t!=="function")throw new TypeError(tW("invalid argument. Second argument must be either an object (except null) or a function. Value: `%s`.",i));return t=typeof r,r===null||t!=="object"&&t!=="function"?!1:iW.call(i,r)}MS.exports=sW});var VS=e(function(Qer,GS){"use strict";var uW=DS();GS.exports=uW});var HS=e(function(rir,WS){"use strict";var aW=require("@stdlib/utils/get-prototype-of"),nW=require("@stdlib/utils/type-of"),oW=g();function cW(r){if(typeof r!="object"||r===null)return!1;if(r instanceof RangeError)return!0;if(oW(r))for(;r;){if(nW(r)==="rangeerror")return!0;r=aW(r)}return!1}WS.exports=cW});var zS=e(function(eir,XS){"use strict";var fW=HS();XS.exports=fW});var $S=e(function(iir,KS){"use strict";var pW=require("@stdlib/utils/property-descriptor");function vW(r,i){var t=pW(r,i);return t!==null&&t.configurable===!1&&(t.writable===!1||typeof t.get=="function"&&t.set===void 0)}KS.exports=vW});var YS=e(function(tir,ZS){"use strict";var qW=$S();ZS.exports=qW});var QS=e(function(sir,JS){"use strict";var yW=require("@stdlib/utils/property-descriptor-in");function lW(r,i){var t=yW(r,i);return t!==null&&t.configurable===!1&&(t.writable===!1||typeof t.get=="function"&&t.set===void 0)}JS.exports=lW});var eh=e(function(uir,rh){"use strict";var mW=QS();rh.exports=mW});var th=e(function(air,ih){"use strict";var xW=require("@stdlib/utils/property-descriptor");function bW(r,i){var t=xW(r,i);return t!==null&&(t.writable===!0||typeof t.get=="function"&&typeof t.set=="function")}ih.exports=bW});var uh=e(function(nir,sh){"use strict";var gW=th();sh.exports=gW});var nh=e(function(oir,ah){"use strict";var AW=require("@stdlib/utils/property-descriptor-in");function PW(r,i){var t=AW(r,i);return t!==null&&(t.writable===!0||typeof t.get=="function"&&typeof t.set=="function")}ah.exports=PW});var ch=e(function(cir,oh){"use strict";var OW=nh();oh.exports=OW});var ph=e(function(fir,fh){"use strict";var dW=require("@stdlib/utils/property-descriptor");function SW(r,i){var t=dW(r,i);return t!==null&&(t.writable!==void 0||typeof t.get=="function")}fh.exports=SW});var qh=e(function(pir,vh){"use strict";var hW=ph();vh.exports=hW});var lh=e(function(vir,yh){"use strict";var jW=require("@stdlib/utils/property-descriptor-in");function NW(r,i){var t=jW(r,i);return t!==null&&(t.writable!==void 0||typeof t.get=="function")}yh.exports=NW});var xh=e(function(qir,mh){"use strict";var IW=lh();mh.exports=IW});var gh=e(function(yir,bh){"use strict";var EW=require("@stdlib/utils/get-prototype-of"),wW=require("@stdlib/utils/type-of"),RW=g();function CW(r){if(typeof r!="object"||r===null)return!1;if(r instanceof ReferenceError)return!0;if(RW(r))for(;r;){if(wW(r)==="referenceerror")return!0;r=EW(r)}return!1}bh.exports=CW});var Ph=e(function(lir,Ah){"use strict";var LW=gh();Ah.exports=LW});var dh=e(function(mir,Oh){"use strict";var FW=f().isPrimitive,kW=require("@stdlib/regexp/regexp").REGEXP;function TW(r){return FW(r)&&kW.test(r)}Oh.exports=TW});var hh=e(function(xir,Sh){"use strict";var _W=dh();Sh.exports=_W});var Nh=e(function(bir,jh){"use strict";var BW=f().isPrimitive,UW=Q().posix;function MW(r){return BW(r)&&!UW(r)}jh.exports=MW});var Eh=e(function(gir,Ih){"use strict";var DW=f().isPrimitive,GW=Q().win32;function VW(r){return DW(r)&&!GW(r)}Ih.exports=VW});var Fh=e(function(Air,Lh){"use strict";var wh=require("@stdlib/utils/define-nonenumerable-read-only-property"),WW=J(),Rh=Nh(),Ch=Eh(),U;WW?U=Ch:U=Rh;wh(U,"posix",Rh);wh(U,"win32",Ch);Lh.exports=U});var Th=e(function(Pir,kh){"use strict";var HW=f().isPrimitive,XW=/(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?[^#]*)?(?:#.*)?/,zW=/[^a-z0-9:\/?#\[\]@!$&'()*+,;=.\-_~%]/i,KW=/%[^0-9a-f]/i,$W=/%[0-9a-f](:?[^0-9a-f]|$)/i,ZW=/^\/\//,YW=/^[a-z][a-z0-9+\-.]*$/;function JW(r){var i,t,a,n;return!HW(r)||zW.test(r)||KW.test(r)||$W.test(r)?!1:(a=r.match(XW),t=a[1],i=a[2],n=a[3],!!(!t||!t.length||!YW.test(t.toLowerCase())||!i&&ZW.test(n)))}kh.exports=JW});var Bh=e(function(Oir,_h){"use strict";var QW=Th();_h.exports=QW});var wt=e(function(dir,Uh){"use strict";var r9=p().isPrimitive,e9=require("@stdlib/math/base/assert/is-safe-integer");function i9(r){return r9(r)&&e9(r)}Uh.exports=i9});var Rt=e(function(Sir,Mh){"use strict";var t9=p().isObject,s9=require("@stdlib/math/base/assert/is-safe-integer");function u9(r){return t9(r)&&s9(r.valueOf())}Mh.exports=u9});var Gh=e(function(hir,Dh){"use strict";var a9=wt(),n9=Rt();function o9(r){return a9(r)||n9(r)}Dh.exports=o9});var Lt=e(function(jir,Wh){"use strict";var Vh=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ct=Gh(),c9=wt(),f9=Rt();Vh(Ct,"isPrimitive",c9);Vh(Ct,"isObject",f9);Wh.exports=Ct});var zh=e(function(Nir,Xh){"use strict";var Hh=require("@stdlib/utils/define-nonenumerable-read-only-property"),Ft=q(),kt=Lt(),p9=Ft(kt.isPrimitive),v9=Ft(kt.isObject),Tt=Ft(kt);Hh(Tt,"primitives",p9);Hh(Tt,"objects",v9);Xh.exports=Tt});var Zh=e(function(Iir,$h){"use strict";var Kh=X(),q9=require("@stdlib/array/base/assert/has-same-values");function y9(r,i){return Kh(r)&&Kh(i)?q9(r,i):!1}$h.exports=y9});var Jh=e(function(Eir,Yh){"use strict";var l9=Zh();Yh.exports=l9});var e0=e(function(wir,r0){"use strict";var Qh=z(),m9=require("@stdlib/array/base/assert/has-same-values");function x9(r,i){return Qh(r)&&Qh(i)?m9(r,i):!1}r0.exports=x9});var t0=e(function(Rir,i0){"use strict";var b9=e0();i0.exports=b9});var a0=e(function(Cir,u0){"use strict";var s0=require("@stdlib/utils/native-class");function g9(r,i){return s0(r)===s0(i)}u0.exports=g9});var o0=e(function(Lir,n0){"use strict";var A9=a0();n0.exports=A9});var f0=e(function(Fir,c0){"use strict";function P9(r,i){return typeof r==typeof i}c0.exports=P9});var v0=e(function(kir,p0){"use strict";var O9=f0();p0.exports=O9});var l0=e(function(Tir,y0){"use strict";var d9=require("@stdlib/complex/base/assert/is-same-value"),q0=ur();function S9(r,i){return r===i?r===0?1/r===1/i:!0:r!==r&&i!==i?!0:q0(r)&&q0(i)?d9(r,i):!1}y0.exports=S9});var x0=e(function(_ir,m0){"use strict";var h9=l0();m0.exports=h9});var A0=e(function(Bir,g0){"use strict";var j9=require("@stdlib/complex/base/assert/is-same-value-zero"),b0=ur();function N9(r,i){return r===i||r!==r&&i!==i?!0:b0(r)&&b0(i)?j9(r,i):!1}g0.exports=N9});var O0=e(function(Uir,P0){"use strict";var I9=A0();P0.exports=I9});var S0=e(function(Mir,d0){"use strict";var E9=f().isPrimitive,w9=require("@stdlib/regexp/semver").REGEXP;function R9(r){return E9(r)&&w9.test(r)}d0.exports=R9});var j0=e(function(Dir,h0){"use strict";var C9=S0();h0.exports=C9});var I0=e(function(Gir,N0){"use strict";var L9=d(),F9=require("@stdlib/math/base/special/floor"),k9=require("@stdlib/math/base/assert/is-odd");function T9(r){var i,t,a,n,c,o;if(!L9(r))return!1;for(t=r.shape[0],a=F9(t/2),i=t-1,c=0;c=0&&r<=qH}eN.exports=yH});var sN=e(function(Etr,tN){"use strict";var lH=iN();tN.exports=lH});var aN=e(function(wtr,uN){"use strict";var mH=h().isPrimitive,xH=require("@stdlib/constants/array/max-typed-array-length");function bH(r){return r!==null&&typeof r=="object"&&mH(r.length)&&r.length<=xH&&typeof r.BYTES_PER_ELEMENT=="number"&&typeof r.byteOffset=="number"&&typeof r.byteLength=="number"}uN.exports=bH});var oN=e(function(Rtr,nN){"use strict";var gH=aN();nN.exports=gH});var fN=e(function(Ctr,cN){"use strict";var AH=f().isPrimitive,PH=require("@stdlib/regexp/unc-path").REGEXP;function OH(r){return AH(r)&&PH.test(r)}cN.exports=OH});var vN=e(function(Ltr,pN){"use strict";var dH=fN();pN.exports=dH});var yN=e(function(Ftr,qN){"use strict";function SH(r){return r===void 0}qN.exports=SH});var mN=e(function(ktr,lN){"use strict";var hH=yN();lN.exports=hH});var bN=e(function(Ttr,xN){"use strict";function jH(r){return r==null}xN.exports=jH});var AN=e(function(_tr,gN){"use strict";var NH=bN();gN.exports=NH});var SN=e(function(Btr,dN){"use strict";var IH=j(),EH=x(),wH=p().isPrimitive,PN=require("@stdlib/math/base/utils/absolute-difference"),ON=require("@stdlib/constants/float64/sqrt-eps");function RH(r){var i,t;if(EH(r)){for(i=0,t=0;t1||r[t]<0)return!1;i+=r[t]}return PN(i,1)<=ON}if(IH(r)){for(i=0,t=0;t1||r[t]<0)return!1;i+=r[t]}return PN(i,1)<=ON}return!1}dN.exports=RH});var jN=e(function(Utr,hN){"use strict";var CH=SN();hN.exports=CH});var IN=e(function(Mtr,NN){"use strict";var LH=require("@stdlib/string/lowercase"),FH=require("@stdlib/string/uppercase"),kH=f().isPrimitive;function TH(r){return kH(r)&&r===FH(r)&&r!==LH(r)}NN.exports=TH});var wN=e(function(Dtr,EN){"use strict";var _H=IN();EN.exports=_H});var CN=e(function(Gtr,RN){"use strict";var BH=require("@stdlib/utils/get-prototype-of"),UH=require("@stdlib/utils/type-of"),MH=g();function DH(r){if(typeof r!="object"||r===null)return!1;if(r instanceof URIError)return!0;if(MH(r))for(;r;){if(UH(r)==="urierror")return!0;r=BH(r)}return!1}RN.exports=DH});var FN=e(function(Vtr,LN){"use strict";var GH=CN();LN.exports=GH});var _N=e(function(Wtr,TN){"use strict";var kN;function VH(){var r="";return r+="try {",r+="return this === self;",r+="} catch ( err ) {",r+="return false;",r+="}",new Function(r)()}kN=VH();TN.exports=kN});var MN=e(function(Htr,UN){"use strict";var WH=require("@stdlib/utils/global"),HH=B(),BN=b(),XH=_N(),zH=WH();function KH(){return HH===!1&&typeof WorkerGlobalScope=="object"&&BN(WorkerNavigator)&&navigator instanceof WorkerNavigator&&BN(WorkerLocation)&&location instanceof WorkerLocation&&typeof self=="object"&&self===zH&&XH===!0&&typeof importScripts=="function"}UN.exports=KH});var GN=e(function(Xtr,DN){"use strict";var $H=MN(),ZH=$H();DN.exports=ZH});var WN=e(function(ztr,VN){"use strict";var YH=f().isPrimitive,JH=require("@stdlib/regexp/whitespace"),QH=new RegExp("^"+JH.REGEXP.source+"+$");function rX(r){return YH(r)?QH.test(r):!1}VN.exports=rX});var XN=e(function(Ktr,HN){"use strict";var eX=WN();HN.exports=eX});var KN=e(function($tr,zN){"use strict";var iX=require("@stdlib/utils/property-descriptor");function tX(r,i){var t=iX(r,i);return t!==null&&(t.writable===!0||typeof t.set=="function")}zN.exports=tX});var ZN=e(function(Ztr,$N){"use strict";var sX=KN();$N.exports=sX});var JN=e(function(Ytr,YN){"use strict";var uX=require("@stdlib/utils/property-descriptor-in");function aX(r,i){var t=uX(r,i);return t!==null&&(t.writable===!0||typeof t.set=="function")}YN.exports=aX});var rI=e(function(Jtr,QN){"use strict";var nX=JN();QN.exports=nX});var iI=e(function(Qtr,eI){"use strict";var oX=require("@stdlib/utils/property-descriptor");function cX(r,i){var t=oX(r,i);return t!==null&&t.configurable===!1&&typeof t.set=="function"&&t.get===void 0}eI.exports=cX});var sI=e(function(rsr,tI){"use strict";var fX=iI();tI.exports=fX});var aI=e(function(esr,uI){"use strict";var pX=require("@stdlib/utils/property-descriptor-in");function vX(r,i){var t=pX(r,i);return t!==null&&t.configurable===!1&&typeof t.set=="function"&&t.get===void 0}uI.exports=vX});var oI=e(function(isr,nI){"use strict";var qX=aI();nI.exports=qX});var fI=e(function(tsr,cI){"use strict";var yX=j(),lX=require("@stdlib/string/format");function mX(r){if(typeof r!="function")throw new TypeError(lX("invalid argument. Must provide a function. Value: `%s`.",r));return i;function i(t){var a,n;if(!yX(t)||(a=t.length,a===0))return!1;for(n=0;n= 0 &&\n\t\tvalue.length <= MAX_LENGTH\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCollection;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a collection.\n*\n* @module @stdlib/assert/is-collection\n*\n* @example\n* var isCollection = require( '@stdlib/assert/is-collection' );\n*\n* var bool = isCollection( [] );\n* // returns true\n*\n* bool = isCollection( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasSymbolSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Symbol` support.\n*\n* @module @stdlib/assert/has-symbol-support\n*\n* @example\n* var hasSymbolSupport = require( '@stdlib/assert/has-symbol-support' );\n*\n* var bool = hasSymbolSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasSymbols = require( './../../has-symbol-support' );\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasToStringTagSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `toStringTag` support.\n*\n* @module @stdlib/assert/has-tostringtag-support\n*\n* @example\n* var hasToStringTagSupport = require( '@stdlib/assert/has-tostringtag-support' );\n*\n* var bool = hasToStringTagSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Number = require( '@stdlib/number/ctor' );\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nmodule.exports = toString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar toString = require( './tostring.js' ); // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = test;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasToStringTag = require( './../../has-tostringtag-support' );\nvar nativeClass = require( '@stdlib/utils/native-class' );\nvar Number = require( '@stdlib/number/ctor' );\nvar test = require( './try2serialize.js' );\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert/is-number\n*\n* @example\n* var isNumber = require( '@stdlib/assert/is-number' );\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* var isNumber = require( '@stdlib/assert/is-number' ).isPrimitive;\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* var isNumber = require( '@stdlib/assert/is-number' ).isObject;\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar PINF = require( '@stdlib/constants/float64/pinf' );\nvar NINF = require( '@stdlib/constants/float64/ninf' );\nvar isInt = require( '@stdlib/math/base/assert/is-integer' );\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar isInt = require( './integer.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\nvar isInt = require( './integer.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert/is-integer\n*\n* @example\n* var isInteger = require( '@stdlib/assert/is-integer' );\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* var isInteger = require( '@stdlib/assert/is-integer' ).isPrimitive;\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* var isInteger = require( '@stdlib/assert/is-integer' ).isObject;\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nmodule.exports = valueOf;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar valueOf = require( './valueof.js' ); // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = test;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasToStringTag = require( './../../has-tostringtag-support' );\nvar nativeClass = require( '@stdlib/utils/native-class' );\nvar test = require( './try2valueof.js' );\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert/is-string\n*\n* @example\n* var isString = require( '@stdlib/assert/is-string' );\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* var isString = require( '@stdlib/assert/is-string' ).isObject;\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* var isString = require( '@stdlib/assert/is-string' ).isPrimitive;\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar isNan = require( '@stdlib/math/base/assert/is-nan' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a `NaN` number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a `NaN` number primitive\n*\n* @example\n* var bool = isnan( NaN );\n* // returns true\n*\n* @example\n* var bool = isnan( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isnan( new Number( NaN ) );\n* // returns false\n*/\nfunction isnan( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisNan( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isnan;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\nvar isNan = require( '@stdlib/math/base/assert/is-nan' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value of `NaN`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value of `NaN`\n*\n* @example\n* var bool = isnan( NaN );\n* // returns false\n*\n* @example\n* var bool = isnan( new Number( NaN ) );\n* // returns true\n*/\nfunction isnan( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisNan( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isnan;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is `NaN`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is `NaN`\n*\n* @example\n* var bool = isnan( NaN );\n* // returns true\n*\n* @example\n* var bool = isnan( new Number( NaN ) );\n* // returns true\n*\n* @example\n* var bool = isnan( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isnan( null );\n* // returns false\n*/\nfunction isnan( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isnan;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is `NaN`.\n*\n* @module @stdlib/assert/is-nan\n*\n* @example\n* var isnan = require( '@stdlib/assert/is-nan' );\n*\n* var bool = isnan( NaN );\n* // returns true\n*\n* bool = isnan( new Number( NaN ) );\n* // returns true\n*\n* bool = isnan( 3.14 );\n* // returns false\n*\n* bool = isnan( null );\n* // returns false\n*\n* @example\n* var isnan = require( '@stdlib/assert/is-nan' ).isPrimitive;\n*\n* var bool = isnan( NaN );\n* // returns true\n*\n* bool = isnan( 3.14 );\n* // returns false\n*\n* bool = isnan( new Number( NaN ) );\n* // returns false\n*\n* @example\n* var isnan = require( '@stdlib/assert/is-nan' ).isObject;\n*\n* var bool = isnan( NaN );\n* // returns false\n*\n* bool = isnan( new Number( NaN ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isCollection = require( './../../is-collection' );\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isnan = require( './../../is-nan' ).isPrimitive;\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Tests if an array-like value contains a search value.\n*\n* @param {(Collection|string)} val - input value\n* @param {*} searchValue - search value\n* @param {integer} [position=0] - position at which to start searching for `searchValue`\n* @throws {TypeError} first argument must be array-like\n* @throws {Error} must provide a search value\n* @throws {TypeError} second argument must be a string when the first argument is a string\n* @throws {TypeError} third argument must be an integer\n* @returns {boolean} boolean indicating whether one value contains another\n*\n* @example\n* var bool = contains( 'last man standing', 'stand' );\n* // returns true\n*\n* @example\n* var bool = contains( [ 1, 2, 3, 4 ], 2 );\n* // returns true\n*\n* @example\n* var bool = contains( 'presidential election', 'president' );\n* // returns true\n*\n* @example\n* var bool = contains( [ NaN, 2, 3, 4 ], NaN );\n* // returns true\n*\n* @example\n* var bool = contains( 'javaScript', 'js' );\n* // returns false\n*\n* @example\n* var bool = contains( [ 1, 2, 3, {} ], {} );\n* // returns false\n*\n* @example\n* var bool = contains( 'Hidden Treasures', '' );\n* // returns true\n*/\nfunction contains( val, searchValue, position ) {\n\tvar len;\n\tvar pos;\n\tvar i;\n\tif ( !isCollection( val ) && !isString( val ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be array-like. Value: `%s`.', val ) );\n\t}\n\tif ( arguments.length < 2 ) {\n\t\tthrow new Error( 'insufficient arguments. Must provide a search value.' );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tif ( !isInteger( position ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be an integer. Value: `%s`.', position ) );\n\t\t}\n\t\tpos = position;\n\t\tif ( pos < 0 ) {\n\t\t\tpos = 0;\n\t\t}\n\t} else {\n\t\tpos = 0;\n\t}\n\tif ( isString( val ) ) {\n\t\tif ( !isString( searchValue ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a string. Value: `%s`.', searchValue ) );\n\t\t}\n\t\treturn val.indexOf( searchValue, pos ) !== -1;\n\t}\n\tlen = val.length;\n\tif ( isnan( searchValue ) ) {\n\t\tfor ( i = pos; i < len; i++ ) {\n\t\t\tif ( isnan( val[ i ] ) ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\tfor ( i = pos; i < len; i++ ) {\n\t\tif ( val[ i ] === searchValue ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = contains;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if an array-like value contains another value.\n*\n* @module @stdlib/assert/contains\n*\n* @example\n* var contains = require( '@stdlib/assert/contains' );\n*\n* var bool = contains( 'Hello World', 'World' );\n* // returns true\n*\n* bool = contains( 'Hello World', 'world' );\n* // returns false\n*\n* bool = contains( [ 1, 2, 3, 4 ], 2 );\n* // returns true\n*\n* bool = contains( [ NaN, 2, 3, 4 ], NaN );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\nvar getDay = Date.prototype.getDay; // non-generic\n\n\n// EXPORTS //\n\nmodule.exports = getDay;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar getDay = require( './getday.js' );\n\n\n// MAIN //\n\n/**\n* Attempts to call a `Date` method.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if able to call a `Date` method\n*/\nfunction test( value ) {\n\ttry {\n\t\tgetDay.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = test;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasToStringTag = require( './../../has-tostringtag-support' );\nvar nativeClass = require( '@stdlib/utils/native-class' );\nvar test = require( './try2getday.js' );\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a `Date` object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a `Date` object\n*\n* @example\n* var bool = isDateObject( new Date() );\n* // returns true\n*\n* @example\n* var bool = isDateObject( '2017-01-01' );\n* // returns false\n*/\nfunction isDateObject( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Date ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Date]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isDateObject;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a `Date` object.\n*\n* @module @stdlib/assert/is-date-object\n*\n* @example\n* var isDateObject = require( '@stdlib/assert/is-date-object' );\n*\n* var bool = isDateObject( new Date() );\n* // returns true\n*\n* bool = isDateObject( '2017-01-01' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an `Error` object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an `Error` object\n*\n* @example\n* var bool = isError( new Error( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isError( {} );\n* // returns false\n*/\nfunction isError( value ) {\n\tif ( typeof value !== 'object' || value === null ) {\n\t\treturn false;\n\t}\n\t// Check for `Error` objects from the same realm (same Node.js `vm` or same `Window` object)...\n\tif ( value instanceof Error ) {\n\t\treturn true;\n\t}\n\t// Walk the prototype tree until we find an object having the desired native class...\n\twhile ( value ) {\n\t\tif ( nativeClass( value ) === '[object Error]' ) {\n\t\t\treturn true;\n\t\t}\n\t\tvalue = getPrototypeOf( value );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isError;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an `Error` object.\n*\n* @module @stdlib/assert/is-error\n*\n* @example\n* var isError = require( '@stdlib/assert/is-error' );\n*\n* var bool = isError( new Error( 'beep' ) );\n* // returns true\n*\n* bool = isError( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar f;\n\n\n// FUNCTIONS //\n\n/**\n* Tests if a value is an array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an array\n*\n* @example\n* var bool = isArray( [] );\n* // returns true\n*\n* @example\n* var bool = isArray( {} );\n* // returns false\n*/\nfunction isArray( value ) {\n\treturn ( nativeClass( value ) === '[object Array]' );\n}\n\n\n// MAIN //\n\nif ( Array.isArray ) {\n\tf = Array.isArray;\n} else {\n\tf = isArray;\n}\n\n\n// EXPORTS //\n\nmodule.exports = f;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array.\n*\n* @module @stdlib/assert/is-array\n*\n* @example\n* var isArray = require( '@stdlib/assert/is-array' );\n*\n* var bool = isArray( [] );\n* // returns true\n*\n* bool = isArray( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isArray = require( './../../../is-array' );\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Returns a function which tests if every element in an array passes a test condition.\n*\n* @param {Function} predicate - function to apply\n* @throws {TypeError} must provide a function\n* @returns {Function} an array function\n*\n* @example\n* var isOdd = require( '@stdlib/assert/is-odd' );\n*\n* var arr1 = [ 1, 3, 5, 7 ];\n* var arr2 = [ 3, 5, 8 ];\n*\n* var validate = arrayfcn( isOdd );\n*\n* var bool = validate( arr1 );\n* // returns true\n*\n* bool = validate( arr2 );\n* // returns false\n*/\nfunction arrayfcn( predicate ) {\n\tif ( typeof predicate !== 'function' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Must provide a function. Value: `%s`.', predicate ) );\n\t}\n\treturn every;\n\n\t/**\n\t* Tests if every element in an array passes a test condition.\n\t*\n\t* @private\n\t* @param {*} value - value to test\n\t* @returns {boolean} boolean indicating whether a value is an array for which all elements pass a test condition\n\t*/\n\tfunction every( value ) {\n\t\tvar len;\n\t\tvar i;\n\t\tif ( !isArray( value ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tlen = value.length;\n\t\tif ( len === 0 ) {\n\t\t\treturn false;\n\t\t}\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tif ( predicate( value[ i ] ) === false ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = arrayfcn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a function which tests if every element in an array passes a test condition.\n*\n* @module @stdlib/assert/tools/array-function\n*\n* @example\n* var isOdd = require( '@stdlib/assert/is-odd' );\n* var arrayfcn = require( '@stdlib/assert/tools/array-function' );\n*\n* var arr1 = [ 1, 3, 5, 7 ];\n* var arr2 = [ 3, 5, 8 ];\n*\n* var validate = arrayfcn( isOdd );\n*\n* var bool = validate( arr1 );\n* // returns true\n*\n* bool = validate( arr2 );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is object-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is object-like\n*\n* @example\n* var bool = isObjectLike( {} );\n* // returns true\n*\n* @example\n* var bool = isObjectLike( [] );\n* // returns true\n*\n* @example\n* var bool = isObjectLike( null );\n* // returns false\n*/\nfunction isObjectLike( value ) {\n\treturn (\n\t\tvalue !== null &&\n\t\ttypeof value === 'object'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isObjectLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is object-like.\n*\n* @module @stdlib/assert/is-object-like\n*\n* @example\n* var isObjectLike = require( '@stdlib/assert/is-object-like' );\n*\n* var bool = isObjectLike( {} );\n* // returns true\n*\n* bool = isObjectLike( [] );\n* // returns true\n*\n* bool = isObjectLike( null );\n* // returns false\n*\n* @example\n* var isObjectLike = require( '@stdlib/assert/is-object-like' ).isObjectLikeArray;\n*\n* var bool = isObjectLike( [ {}, [] ] );\n* // returns true\n*\n* bool = isObjectLike( [ {}, '3.0' ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-function' );\nvar main = require( './main.js' );\n\n\n// VARIABLES //\n\nvar isObjectLikeArray = arrayfun( main );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isObjectLikeArray', isObjectLikeArray );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isObjectLike = require( './../../is-object-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Buffer instance.\n*\n* @param {*} value - value to validate\n* @returns {boolean} boolean indicating if a value is a Buffer instance\n*\n* @example\n* var v = isBuffer( new Buffer( 'beep' ) );\n* // returns true\n*\n* @example\n* var v = isBuffer( new Buffer( [1,2,3,4] ) );\n* // returns true\n*\n* @example\n* var v = isBuffer( {} );\n* // returns false\n*\n* @example\n* var v = isBuffer( [] );\n* // returns false\n*/\nfunction isBuffer( value ) {\n\treturn (\n\t\tisObjectLike( value ) &&\n\t\t(\n\t\t\t// eslint-disable-next-line no-underscore-dangle\n\t\t\tvalue._isBuffer || // for envs missing Object.prototype.constructor (e.g., Safari 5-7)\n\t\t\t(\n\t\t\t\tvalue.constructor &&\n\n\t\t\t\t// WARNING: `typeof` is not a foolproof check, as certain envs consider RegExp and NodeList instances to be functions\n\t\t\t\ttypeof value.constructor.isBuffer === 'function' &&\n\t\t\t\tvalue.constructor.isBuffer( value )\n\t\t\t)\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBuffer;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Buffer instance.\n*\n* @module @stdlib/assert/is-buffer\n*\n* @example\n* var isBuffer = require( '@stdlib/assert/is-buffer' );\n*\n* var v = isBuffer( new Buffer( 'beep' ) );\n* // returns true\n*\n* v = isBuffer( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\nvar exec = RegExp.prototype.exec; // non-generic\n\n\n// EXPORTS //\n\nmodule.exports = exec;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar exec = require( './exec.js' );\n\n\n// MAIN //\n\n/**\n* Attempts to call a `RegExp` method.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if able to call a `RegExp` method\n*/\nfunction test( value ) {\n\ttry {\n\t\texec.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = test;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasToStringTag = require( './../../has-tostringtag-support' );\nvar nativeClass = require( '@stdlib/utils/native-class' );\nvar test = require( './try2exec.js' );\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a regular expression.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a regular expression\n*\n* @example\n* var bool = isRegExp( /\\.+/ );\n* // returns true\n*\n* @example\n* var bool = isRegExp( {} );\n* // returns false\n*/\nfunction isRegExp( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof RegExp ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object RegExp]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isRegExp;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a regular expression.\n*\n* @module @stdlib/assert/is-regexp\n*\n* @example\n* var isRegExp = require( '@stdlib/assert/is-regexp' );\n*\n* var bool = isRegExp( /\\.+/ );\n* // returns true\n*\n* bool = isRegExp( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar objectKeys = require( '@stdlib/utils/keys' );\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar isDate = require( './../../is-date-object' );\nvar isError = require( './../../is-error' );\nvar isBuffer = require( './../../is-buffer' );\nvar isRegExp = require( './../../is-regexp' );\n\n\n// MAIN //\n\n/**\n* Tests for deep equality between two values.\n*\n* @param {*} a - first comparison value\n* @param {*} b - second comparison value\n* @returns {boolean} boolean indicating if `a` is deep equal to `b`\n*\n* @example\n* var bool = deepEqual( [ 1, 2, 3 ], [ 1, 2, 3 ] );\n* // returns true\n*\n* @example\n* var bool = deepEqual( [ 1, 2, 3 ], [ 1, 2, '3' ] );\n* // returns false\n*\n* @example\n* var bool = deepEqual( { 'a': 2 }, { 'a': [ 2 ] } );\n* // returns false\n*\n* @example\n* var bool = deepEqual( [], {} );\n* // returns false\n*\n* @example\n* var bool = deepEqual( null, null );\n* // returns true\n*/\nfunction deepEqual( a, b ) {\n\tvar aKeys;\n\tvar bKeys;\n\tvar typeA;\n\tvar typeB;\n\tvar key;\n\tvar i;\n\n\ttypeA = typeof a;\n\ttypeB = typeof b;\n\tif ( a === null || typeA !== 'object' ) {\n\t\tif ( b === null || typeB !== 'object' ) {\n\t\t\treturn a === b;\n\t\t}\n\t\treturn false;\n\t}\n\t// Case: `a` is of type 'object'\n\tif ( typeB !== 'object' ) {\n\t\treturn false;\n\t}\n\tif ( getPrototypeOf( a ) !== getPrototypeOf( b ) ) {\n\t\treturn false;\n\t}\n\tif ( isDate( a ) ) {\n\t\treturn a.getTime() === b.getTime();\n\t}\n\tif ( isRegExp( a ) ) {\n\t\treturn a.source === b.source && a.flags === b.flags;\n\t}\n\tif ( isError( a ) ) {\n\t\tif ( a.message !== b.message || a.name !== b.name ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\tif ( isBuffer( a ) ) {\n\t\tif ( a.length !== b.length ) {\n\t\t\treturn false;\n\t\t}\n\t\tfor ( i = 0; i < a.length; i++ ) {\n\t\t\tif ( a[ i ] !== b[ i ] ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\taKeys = objectKeys( a );\n\tbKeys = objectKeys( b );\n\tif ( aKeys.length !== bKeys.length ) {\n\t\treturn false;\n\t}\n\taKeys.sort();\n\tbKeys.sort();\n\n\t// Cheap key test:\n\tfor ( i = 0; i < aKeys.length; i++ ) {\n\t\tif ( aKeys[ i ] !== bKeys[ i ] ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\t// Possibly expensive deep equality test for each corresponding key:\n\tfor ( i = 0; i < aKeys.length; i++ ) {\n\t\tkey = aKeys[ i ];\n\t\tif ( !deepEqual( a[ key ], b[ key ] ) ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn typeA === typeB;\n}\n\n\n// EXPORTS //\n\nmodule.exports = deepEqual;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for deep equality between two values.\n*\n* @module @stdlib/assert/deep-equal\n*\n* @example\n* var deepEqual = require( '@stdlib/assert/deep-equal' );\n*\n* var bool = deepEqual( [ 1, 2, 3 ], [ 1, 2, 3 ] );\n* // returns true\n*\n* bool = deepEqual( [ 1, 2, 3 ], [ 1, 2, '3' ] );\n* // returns false\n*\n* bool = deepEqual( { 'a': 2 }, { 'a': [ 2 ] } );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isArray = require( './../../is-array' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an object; e.g., `{}`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an object\n*\n* @example\n* var bool = isObject( {} );\n* // returns true\n*\n* @example\n* var bool = isObject( null );\n* // returns false\n*/\nfunction isObject( value ) {\n\treturn (\n\t\ttypeof value === 'object' &&\n\t\tvalue !== null &&\n\t\t!isArray( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isObject;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an object.\n*\n* @module @stdlib/assert/is-object\n*\n* @example\n* var isObject = require( '@stdlib/assert/is-object' );\n*\n* var bool = isObject( {} );\n* // returns true\n*\n* bool = isObject( true );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar typeOf = require( '@stdlib/utils/type-of' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a function.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a function\n*\n* @example\n* function beep() {\n* return 'beep';\n* }\n*\n* var bool = isFunction( beep );\n* // returns true\n*/\nfunction isFunction( value ) {\n\t// Note: cannot use `typeof` directly, as various browser engines incorrectly return `'function'` when operating on non-function objects, such as regular expressions and NodeLists.\n\treturn ( typeOf( value ) === 'function' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFunction;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a function.\n*\n* @module @stdlib/assert/is-function\n*\n* @example\n* var isFunction = require( '@stdlib/assert/is-function' );\n*\n* function beep() {\n* return 'beep';\n* }\n*\n* var bool = isFunction( beep );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasOwnProp;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object has a specified property.\n*\n* @module @stdlib/assert/has-own-property\n*\n* @example\n* var hasOwnProp = require( '@stdlib/assert/has-own-property' );\n*\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* bool = hasOwnProp( beep, 'bop' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isObject = require( './../../is-object' );\nvar isFunction = require( './../../is-function' );\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar hasOwnProp = require( './../../has-own-property' );\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar objectPrototype = Object.prototype;\n\n\n// FUNCTIONS //\n\n/**\n* Tests that an object only has own properties.\n*\n* @private\n* @param {Object} obj - value to test\n* @returns {boolean} boolean indicating if an object only has own properties\n*/\nfunction ownProps( obj ) {\n\tvar key;\n\n\t// NOTE: possibility of perf boost if key enumeration order is known (see http://stackoverflow.com/questions/18531624/isplainobject-thing).\n\tfor ( key in obj ) {\n\t\tif ( !hasOwnProp( obj, key ) ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// MAIN //\n\n/**\n* Tests if a value is a plain object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a plain object\n*\n* @example\n* var bool = isPlainObject( {} );\n* // returns true\n*\n* @example\n* var bool = isPlainObject( null );\n* // returns false\n*/\nfunction isPlainObject( value ) {\n\tvar proto;\n\n\t// Screen for obvious non-objects...\n\tif ( !isObject( value ) ) {\n\t\treturn false;\n\t}\n\t// Objects with no prototype (e.g., `Object.create( null )`) are plain...\n\tproto = getPrototypeOf( value );\n\tif ( !proto ) {\n\t\treturn true;\n\t}\n\t// Objects having a prototype are plain if and only if they are constructed with a global `Object` function and the prototype points to the prototype of a plain object...\n\treturn (\n\t\t// Cannot have own `constructor` property:\n\t\t!hasOwnProp( value, 'constructor' ) &&\n\n\t\t// Prototype `constructor` property must be a function (see also https://bugs.jquery.com/ticket/9897 and http://stackoverflow.com/questions/18531624/isplainobject-thing):\n\t\thasOwnProp( proto, 'constructor' ) &&\n\t\tisFunction( proto.constructor ) &&\n\t\tnativeClass( proto.constructor ) === '[object Function]' &&\n\n\t\t// Test for object-specific method:\n\t\thasOwnProp( proto, 'isPrototypeOf' ) &&\n\t\tisFunction( proto.isPrototypeOf ) &&\n\n\t\t(\n\t\t\t// Test if the prototype matches the global `Object` prototype (same realm):\n\t\t\tproto === objectPrototype ||\n\n\t\t\t// Test that all properties are own properties (cross-realm; *most* likely a plain object):\n\t\t\townProps( value )\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPlainObject;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a plain object.\n*\n* @module @stdlib/assert/is-plain-object\n*\n* @example\n* var isPlainObject = require( '@stdlib/assert/is-plain-object' );\n*\n* var bool = isPlainObject( {} );\n* // returns true\n*\n* bool = isPlainObject( null );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isObject = require( './../../is-plain-object' );\nvar hasOwnProp = require( './../../has-own-property' );\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Validates function options.\n*\n* @private\n* @param {Object} opts - destination for function options\n* @param {Options} options - function options\n* @param {string} [options.sep] - key path separator\n* @returns {(Error|null)} error or null\n*\n* @example\n* var opts = {};\n* var options = {\n* 'sep': '/'\n* };\n* var err = validate( opts, options );\n* if ( err ) {\n* throw err;\n* }\n*/\nfunction validate( opts, options ) {\n\tif ( !isObject( options ) ) {\n\t\treturn new TypeError( format( 'invalid argument. Options argument must be an object. Value: `%s`.', options ) );\n\t}\n\tif ( hasOwnProp( options, 'sep' ) ) {\n\t\topts.sep = options.sep;\n\t\tif ( !isString( opts.sep ) ) {\n\t\t\treturn new TypeError( format( 'invalid option. `%s` option must be a string. Option: `%s`.', 'sep', opts.sep ) );\n\t\t}\n\t}\n\treturn null;\n}\n\n\n// EXPORTS //\n\nmodule.exports = validate;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Returns default options.\n*\n* @private\n* @returns {Object} default options\n*/\nfunction defaults() {\n\treturn {\n\t\t'sep': '.'\n\t};\n}\n\n\n// EXPORTS //\n\nmodule.exports = defaults;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasOwnProp = require( './../../has-own-property' );\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating whether an object has a nested property.\n*\n* @private\n* @param {*} v - value to test\n* @param {Array} props - list of properties defining a key path\n* @returns {boolean} boolean indicating whether an object has a nested property\n*/\nfunction deepHasOwnProp( v, props ) {\n\tvar len = props.length;\n\tvar i;\n\tif ( len === 0 ) {\n\t\treturn false;\n\t}\n\tfor ( i = 0; i < len; i++ ) {\n\t\tif ( hasOwnProp( v, props[ i ] ) ) {\n\t\t\tv = v[ props[ i ] ];\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = deepHasOwnProp;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isArray = require( './../../is-array' );\nvar format = require( '@stdlib/string/format' );\nvar validate = require( './validate.js' );\nvar defaults = require( './defaults.js' );\nvar has = require( './has.js' );\n\n\n// MAIN //\n\n/**\n* Tests whether an object contains a nested key path.\n*\n* @param {*} value - value to test\n* @param {(string|Array)} path - key path\n* @param {Options} [options] - function options\n* @param {string} [options.sep='.'] - key path separator\n* @throws {TypeError} second argument must be a string or key array\n* @throws {TypeError} options argument must be an object\n* @throws {TypeError} must provide valid options\n* @returns {boolean} boolean indicating whether an object has a nested property\n*\n* @example\n* var obj = { 'a': { 'b': { 'c': 'd' } } };\n* var bool = deepHasOwnProp( obj, 'a.b.c' );\n* // returns true\n*\n* @example\n* var arr = [\n* {\n* 'a': [\n* {\n* 'b': [\n* { 'c': 'd' },\n* { 'e': 'f' }\n* ]\n* }\n* ]\n* }\n* ];\n* var bool = deepHasOwnProp( arr, '0.a.0.b.0.c' );\n* // returns true\n*\n* @example\n* var obj = { 'a': { 'b': { 'c': 'd' } } };\n* var bool = deepHasOwnProp( obj, [ 'a', 'b', 'c' ] );\n* // returns true\n*\n* @example\n* var obj = { 'a': { 'b': { 'c': 'd' } } };\n* var bool = deepHasOwnProp( obj, 'a/b/c', {\n* 'sep': '/'\n* });\n* // returns true\n*/\nfunction deepHasOwnProp( value, path, options ) {\n\tvar isStr;\n\tvar props;\n\tvar opts;\n\tvar err;\n\n\tisStr = isString( path );\n\tif ( !isStr && !isArray( path ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Key path must be a string or a key array. Value: `%s`.', path ) );\n\t}\n\topts = defaults();\n\tif ( arguments.length > 2 ) {\n\t\terr = validate( opts, options );\n\t\tif ( err ) {\n\t\t\tthrow err;\n\t\t}\n\t}\n\tif ( value === void 0 || value === null ) {\n\t\treturn false;\n\t}\n\tif ( isStr ) {\n\t\tprops = path.split( opts.sep );\n\t} else {\n\t\tprops = path;\n\t}\n\treturn has( value, props );\n}\n\n\n// EXPORTS //\n\nmodule.exports = deepHasOwnProp;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isArray = require( './../../is-array' );\nvar format = require( '@stdlib/string/format' );\nvar validate = require( './validate.js' );\nvar defaults = require( './defaults.js' );\nvar has = require( './has.js' );\n\n\n// MAIN //\n\n/**\n* Returns a function which tests whether an object has a nested key path.\n*\n* @param {(string|Array)} path - key path\n* @param {Options} [options] - function options\n* @param {string} [options.sep='.'] - key path separator\n* @throws {TypeError} first argument must be a string or key array\n* @throws {TypeError} options argument must be an object\n* @throws {TypeError} must provide valid options\n* @returns {Function} function which tests whether an object has a nested key path\n*\n* @example\n* var has = factory( 'a/b/c', {\n* 'sep': '/'\n* });\n*/\nfunction factory( path, options ) {\n\tvar isStr;\n\tvar props;\n\tvar opts;\n\tvar err;\n\tisStr = isString( path );\n\tif ( !isStr && !isArray( path ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Key path must be a string or a key array. Value: `%s`.', path ) );\n\t}\n\topts = defaults();\n\tif ( arguments.length > 1 ) {\n\t\terr = validate( opts, options );\n\t\tif ( err ) {\n\t\t\tthrow err;\n\t\t}\n\t}\n\tif ( isStr ) {\n\t\tprops = path.split( opts.sep );\n\t} else {\n\t\tprops = path;\n\t}\n\treturn deepHasOwnProp;\n\n\t/**\n\t* Returns a boolean indicating whether an object has a nested key path.\n\t*\n\t* @private\n\t* @param {*} value - value to test\n\t* @returns {boolean} boolean indicating whether an object has a nested property\n\t*\n\t* @example\n\t* var obj = { 'a': { 'b': { 'c': 'd' } } };\n\t* var bool = deepHasOwnProp( obj );\n\t*/\n\tfunction deepHasOwnProp( value ) {\n\t\tif ( value === void 0 || value === null ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn has( value, props );\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = factory;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object contains a nested key path.\n*\n* @module @stdlib/assert/deep-has-own-property\n*\n* @example\n* var deepHasOwnProp = require( '@stdlib/assert/deep-has-own-property' );\n*\n* var obj = {\n* 'a': {\n* 'b': {\n* 'c': 'd'\n* }\n* }\n* };\n*\n* var bool = deepHasOwnProp( obj, 'a.b.c' );\n* // returns true\n*\n* bool = deepHasOwnProp( obj, [ 'a', 'b', 'c' ] );\n* // returns true\n*\n* @example\n* var factory = require( '@stdlib/assert/deep-has-own-property' ).factory;\n*\n* var has = factory( 'a/b/c', {\n* 'sep': '/'\n* });\n*\n* var obj = {\n* 'a': {\n* 'b': {\n* 'c': 'd'\n* }\n* }\n* };\n*\n* var bool = has( obj );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar factory = require( './factory.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'factory', factory );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isObject = require( './../../is-plain-object' );\nvar hasOwnProp = require( './../../has-own-property' );\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Validates function options.\n*\n* @private\n* @param {Object} opts - destination for function options\n* @param {Options} options - function options\n* @param {string} [options.sep] - key path separator\n* @returns {(Error|null)} error or null\n*\n* @example\n* var opts = {};\n* var options = {\n* 'sep': '/'\n* };\n* var err = validate( opts, options );\n* if ( err ) {\n* throw err;\n* }\n*/\nfunction validate( opts, options ) {\n\tif ( !isObject( options ) ) {\n\t\treturn new TypeError( format( 'invalid argument. Options argument must be an object. Value: `%s`.', options ) );\n\t}\n\tif ( hasOwnProp( options, 'sep' ) ) {\n\t\topts.sep = options.sep;\n\t\tif ( !isString( opts.sep ) ) {\n\t\t\treturn new TypeError( format( 'invalid option. `%s` option must be a string. Option: `%s`.', 'sep', opts.sep ) );\n\t\t}\n\t}\n\treturn null;\n}\n\n\n// EXPORTS //\n\nmodule.exports = validate;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Returns default options.\n*\n* @private\n* @returns {Object} default options\n*/\nfunction defaults() {\n\treturn {\n\t\t'sep': '.'\n\t};\n}\n\n\n// EXPORTS //\n\nmodule.exports = defaults;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property, either own or inherited.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasProp( value, property ) {\n\tif ( value === void 0 || value === null ) {\n\t\treturn false;\n\t}\n\tif ( typeof property === 'symbol' ) {\n\t\treturn property in Object( value );\n\t}\n\treturn ( String( property ) in Object( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasProp;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object has a specified property, either own or inherited.\n*\n* @module @stdlib/assert/has-property\n*\n* @example\n* var hasProp = require( '@stdlib/assert/has-property' );\n*\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasProp( beep, 'boop' );\n* // returns true\n*\n* bool = hasProp( beep, 'bop' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasProp = require( './../../has-property' );\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating whether an object has a nested property.\n*\n* @private\n* @param {*} v - value to test\n* @param {Array} props - list of properties defining a key path\n* @returns {boolean} boolean indicating whether an object has a nested property\n*/\nfunction deepHasProp( v, props ) {\n\tvar len = props.length;\n\tvar i;\n\tif ( len === 0 ) {\n\t\treturn false;\n\t}\n\tfor ( i = 0; i < len; i++ ) {\n\t\tif ( hasProp( v, props[i] ) ) {\n\t\t\tv = v[ props[ i ] ];\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = deepHasProp;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isArray = require( './../../is-array' );\nvar format = require( '@stdlib/string/format' );\nvar validate = require( './validate.js' );\nvar defaults = require( './defaults.js' );\nvar has = require( './has.js' );\n\n\n// MAIN //\n\n/**\n* Tests whether an object contains a nested key path, either own or inherited.\n*\n* @param {*} value - value to test\n* @param {(string|Array)} path - key path\n* @param {Options} [options] - function options\n* @param {string} [options.sep='.'] - key path separator\n* @throws {TypeError} second argument must be a string or key array\n* @throws {TypeError} options argument must be an object\n* @throws {TypeError} must provide valid options\n* @returns {boolean} boolean indicating whether an object has a nested property\n*\n* @example\n* function Foo() {\n* return this;\n* }\n* Foo.prototype.b = {\n* 'c': 'd'\n* };\n*\n* var obj = {\n* 'a': new Foo()\n* };\n*\n* var bool = deepHasProp( obj, 'a.b.c' );\n* // returns true\n*\n* @example\n* var arr = [\n* {\n* 'a': [\n* {\n* 'b': [\n* { 'c': 'd' },\n* { 'e': 'f' }\n* ]\n* }\n* ]\n* }\n* ];\n* var bool = deepHasProp( arr, '0.a.0.b.0.c' );\n* // returns true\n*\n* @example\n* var obj = { 'a': { 'b': { 'c': 'd' } } };\n* var bool = deepHasProp( obj, [ 'a', 'b', 'c' ] );\n* // returns true\n*\n* @example\n* var obj = { 'a': { 'b': { 'c': 'd' } } };\n* var bool = deepHasProp( obj, 'a/b/c', {\n* 'sep': '/'\n* });\n* // returns true\n*/\nfunction deepHasProp( value, path, options ) {\n\tvar isStr;\n\tvar props;\n\tvar opts;\n\tvar err;\n\n\tisStr = isString( path );\n\tif ( !isStr && !isArray( path ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Key path must be a string or a key array. Value: `%s`.', path ) );\n\t}\n\topts = defaults();\n\tif ( arguments.length > 2 ) {\n\t\terr = validate( opts, options );\n\t\tif ( err ) {\n\t\t\tthrow err;\n\t\t}\n\t}\n\tif ( value === void 0 || value === null ) {\n\t\treturn false;\n\t}\n\tif ( isStr ) {\n\t\tprops = path.split( opts.sep );\n\t} else {\n\t\tprops = path;\n\t}\n\treturn has( value, props );\n}\n\n\n// EXPORTS //\n\nmodule.exports = deepHasProp;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isArray = require( './../../is-array' );\nvar format = require( '@stdlib/string/format' );\nvar validate = require( './validate.js' );\nvar defaults = require( './defaults.js' );\nvar has = require( './has.js' );\n\n\n// MAIN //\n\n/**\n* Returns a function which tests whether an object has a nested key path, either own or inherited.\n*\n* @param {(string|Array)} path - key path\n* @param {Options} [options] - function options\n* @param {string} [options.sep='.'] - key path separator\n* @throws {TypeError} first argument must be a string or key array\n* @throws {TypeError} options argument must be an object\n* @throws {TypeError} must provide valid options\n* @returns {Function} function which tests whether an object has a nested key path\n*\n* @example\n* var has = factory( 'a/b/c', {\n* 'sep': '/'\n* });\n*/\nfunction factory( path, options ) {\n\tvar isStr;\n\tvar props;\n\tvar opts;\n\tvar err;\n\tisStr = isString( path );\n\tif ( !isStr && !isArray( path ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Key path must be a string or a key array. Value: `%s`.', path ) );\n\t}\n\topts = defaults();\n\tif ( arguments.length > 1 ) {\n\t\terr = validate( opts, options );\n\t\tif ( err ) {\n\t\t\tthrow err;\n\t\t}\n\t}\n\tif ( isStr ) {\n\t\tprops = path.split( opts.sep );\n\t} else {\n\t\tprops = path;\n\t}\n\treturn deepHasProp;\n\n\t/**\n\t* Returns a boolean indicating whether an object has a nested key path, either own or inherited.\n\t*\n\t* @private\n\t* @param {*} value - value to test\n\t* @returns {boolean} boolean indicating whether an object has a nested property\n\t*\n\t* @example\n\t* var obj = { 'a': { 'b': { 'c': 'd' } } };\n\t* var bool = deepHasProp( obj );\n\t*/\n\tfunction deepHasProp( value ) {\n\t\tif ( value === void 0 || value === null ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn has( value, props );\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = factory;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object contains a nested key path, either own or inherited.\n*\n* @module @stdlib/assert/deep-has-property\n*\n* @example\n* var deepHasProp = require( '@stdlib/assert/deep-has-property' );\n*\n* function Foo() {\n* return this;\n* }\n* Foo.prototype.b = {\n* 'c': 'd'\n* };\n*\n* var obj = {\n* 'a': new Foo()\n* };\n*\n* var bool = deepHasProp( obj, 'a.b.c' );\n* // returns true\n*\n* bool = deepHasProp( obj, [ 'a', 'b', 'c' ] );\n* // returns true\n*\n* @example\n* var factory = require( '@stdlib/assert/deep-has-property' ).factory;\n*\n* var has = factory( 'a/b/c', {\n* 'sep': '/'\n* });\n*\n* function Foo() {\n* return this;\n* }\n* Foo.prototype.b = {\n* 'c': 'd'\n* };\n*\n* var obj = {\n* 'a': new Foo()\n* };\n*\n* var bool = has( obj );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar factory = require( './factory.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'factory', factory );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasArrayBuffer = ( typeof ArrayBuffer === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is an ArrayBuffer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an ArrayBuffer\n*\n* @example\n* var ArrayBuffer = require( '@stdlib/array/buffer' );\n*\n* var bool = isArrayBuffer( new ArrayBuffer( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isArrayBuffer( [] );\n* // returns false\n*/\nfunction isArrayBuffer( value ) {\n\treturn (\n\t\t( hasArrayBuffer && value instanceof ArrayBuffer ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object ArrayBuffer]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArrayBuffer;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an ArrayBuffer.\n*\n* @module @stdlib/assert/is-arraybuffer\n*\n* @example\n* var ArrayBuffer = require( '@stdlib/array/buffer' );\n* var isArrayBuffer = require( '@stdlib/assert/is-arraybuffer' );\n*\n* var bool = isArrayBuffer( new ArrayBuffer( 10 ) );\n* // returns true\n*\n* bool = isArrayBuffer( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof ArrayBuffer === 'function' ) ? ArrayBuffer : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isArrayBuffer = require( './../../is-arraybuffer' );\nvar Float64Array = require( '@stdlib/array/float64' );\nvar GlobalArrayBuffer = require( './arraybuffer.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `ArrayBuffer` support.\n*\n* @returns {boolean} boolean indicating if an environment has `ArrayBuffer` support\n*\n* @example\n* var bool = hasArrayBufferSupport();\n* // returns \n*/\nfunction hasArrayBufferSupport() {\n\tvar bool;\n\tvar view;\n\tvar buf;\n\n\tif ( typeof GlobalArrayBuffer !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tbuf = new GlobalArrayBuffer( 16 );\n\t\tbool = ( isArrayBuffer( buf ) && typeof GlobalArrayBuffer.isView === 'function' );\n\t\tif ( bool ) {\n\t\t\tview = new Float64Array( buf );\n\t\t\tview[ 0 ] = -3.14;\n\t\t\tview[ 1 ] = NaN;\n\t\t\tbool = (\n\t\t\t\tbool &&\n\t\t\t\tGlobalArrayBuffer.isView( view ) &&\n\t\t\t\tbuf.byteLength === 16 &&\n\t\t\t\tview[ 0 ] === -3.14 &&\n\t\t\t\tview[ 1 ] !== view[ 1 ]\n\t\t\t);\n\t\t}\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasArrayBufferSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `ArrayBuffer` support.\n*\n* @module @stdlib/assert/has-arraybuffer-support\n*\n* @example\n* var hasArrayBufferSupport = require( '@stdlib/assert/has-arraybuffer-support' );\n*\n* var bool = hasArrayBufferSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar evil = require( '@stdlib/utils/eval' );\n\n\n// MAIN //\n\n/**\n* Tests for native arrow function support.\n*\n* @returns {boolean} boolean indicating if an environment has native arrow function support\n*\n* @example\n* var bool = hasArrowFunctionSupport();\n* // returns \n*/\nfunction hasArrowFunctionSupport() {\n\tvar bool;\n\ttry {\n\t\tevil( '\"use strict\"; (() => {})' );\n\t\tbool = true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasArrowFunctionSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native arrow function support.\n*\n* @module @stdlib/assert/has-arrow-function-support\n*\n* @example\n* var hasArrowFunctionSupport = require( '@stdlib/assert/has-arrow-function-support' );\n*\n* var bool = hasArrowFunctionSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar evil = require( '@stdlib/utils/eval' );\n\n\n// MAIN //\n\n/**\n* Tests for native `async/await` support.\n*\n* @returns {boolean} boolean indicating if an environment has native `async`/`await` support\n*\n* @example\n* var bool = hasAsyncAwaitSupport();\n* if ( bool ) {\n* console.log( 'Environment has native async/await support.' );\n* } else {\n* console.log( 'Environment lacks native async/await support.' );\n* }\n*/\nfunction hasAsyncAwaitSupport() {\n\tvar bool;\n\ttry {\n\t\tevil( '\"use strict\"; async () => {}' );\n\t\tbool = true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasAsyncAwaitSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `async`/`await` support.\n*\n* @module @stdlib/assert/has-async-await-support\n*\n* @example\n* var hasAsyncAwaitSupport = require( '@stdlib/assert/has-async-await-support' );\n*\n* var bool = hasAsyncAwaitSupport();\n* if ( bool ) {\n* console.log( 'Environment has native async/await support.' );\n* } else {\n* console.log( 'Environment lacks native async/await support.' );\n* }\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable stdlib/require-globals */\n\n'use strict';\n\n// MODULES //\n\nvar hasOwnProp = require( './../../has-own-property' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Symbol.asyncIterator` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol.asyncIterator` support\n*\n* @example\n* var bool = hasAsyncIteratorSymbolSupport();\n* // returns \n*/\nfunction hasAsyncIteratorSymbolSupport() { // eslint-disable-line id-length\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol' &&\n\t\thasOwnProp( Symbol, 'asyncIterator' ) &&\n\t\ttypeof Symbol.asyncIterator === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasAsyncIteratorSymbolSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Symbol.asyncIterator` support.\n*\n* @module @stdlib/assert/has-async-iterator-symbol-support\n*\n* @example\n* var hasAsyncIteratorSymbolSupport = require( '@stdlib/assert/has-async-iterator-symbol-support' );\n*\n* var bool = hasAsyncIteratorSymbolSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar getGlobal = require( '@stdlib/utils/global' );\n\n\n// VARIABLES //\n\nvar Global = getGlobal();\n\n\n// MAIN //\n\n/**\n* Tests for native `BigInt` support.\n*\n* @returns {boolean} boolean indicating if an environment has `BigInt` support\n*\n* @example\n* var bool = hasBigIntSupport();\n* // returns \n*/\nfunction hasBigIntSupport() {\n\treturn (\n\t\ttypeof Global.BigInt === 'function' &&\n\t\ttypeof BigInt === 'function' && // eslint-disable-line stdlib/require-globals\n\t\ttypeof Global.BigInt( '1' ) === 'bigint' &&\n\t\ttypeof BigInt( '1' ) === 'bigint' // eslint-disable-line stdlib/require-globals, no-undef\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasBigIntSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `BigInt` support.\n*\n* @module @stdlib/assert/has-bigint-support\n*\n* @example\n* var hasBigIntSupport = require( '@stdlib/assert/has-bigint-support' );\n*\n* var bool = hasBigIntSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasBigInt64Array = ( typeof BigInt64Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a BigInt64Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether the value is a BigInt64Array\n*\n* @example\n* var bool = isBigInt64Array( new BigInt64Array( 2 ) );\n* // returns true\n*\n* @example\n* var bool = isBigInt64Array( [] );\n* // returns false\n*\n* @example\n* var bool = isBigInt64Array( 123 );\n* // returns false\n*/\nfunction isBigInt64Array( value ) {\n\treturn (\n\t\t( hasBigInt64Array && value instanceof BigInt64Array ) || // eslint-disable-line stdlib/require-globals, no-undef\n\t\tnativeClass( value ) === '[object BigInt64Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBigInt64Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a BigInt64Array.\n*\n* @module @stdlib/assert/is-bigint64array\n*\n* @example\n* var isBigInt64Array = require( '@stdlib/assert/is-bigint64array' );\n*\n* var value = new BigInt64Array( 2 );\n* var bool = isBigInt64Array( value );\n* // returns true\n*\n* bool = isBigInt64Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isBigInt64Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isBigInt64Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a BigInt primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a BigInt primitive\n*/\nfunction isBigInt( value ) {\n\treturn ( typeof value === 'bigint' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBigInt;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Attempts to call a `BigInt` method.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if able to call a `BigInt` method\n*/\nfunction test( value ) {\n\ttry {\n\t\treturn (\n\t\t\t// Objects created via `Object.create( null )` have no `valueOf()` method:\n\t\t\ttypeof value.valueOf() === 'bigint'\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = test;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\nvar test = require( './try2valueof.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a BigInt object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a BigInt object\n*/\nfunction BigInt( value ) {\n\treturn (\n\t\ttypeof value === 'object' &&\n\t\tnativeClass( value ) === '[object BigInt]' &&\n\t\ttest( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = BigInt;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a BigInt.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a BigInt\n*/\nfunction isBigInt( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBigInt;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar isSymbol = require( './generic.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( isSymbol, 'isPrimitive', isPrimitive );\nsetReadOnly( isSymbol, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = isSymbol;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar constantFunction = require( '@stdlib/utils/constant-function' );\n\n\n// MAIN //\n\nvar isBigInt = constantFunction( false );\nvar isPrimitive = constantFunction( false );\nvar isObject = constantFunction( false );\n\nsetReadOnly( isBigInt, 'isPrimitive', isPrimitive );\nsetReadOnly( isBigInt, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = isBigInt;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a BigInt.\n*\n* @module @stdlib/assert/is-bigint\n*\n* @example\n* var BigInt = require( '@stdlib/bigint/ctor' );\n* var isBigInt = require( '@stdlib/assert/is-bigint' );\n*\n* var bool = isBigInt( BigInt( '1' ) );\n* // returns true\n*\n* bool = isBigInt( Object( BigInt( '1' ) ) );\n* // returns true\n*\n* bool = isBigInt( {} );\n* // returns false\n*\n* @example\n* var isBigInt = require( '@stdlib/assert/is-bigint' ).isPrimitive;\n*\n* var bool = isBigInt( BigInt( '1' ) );\n* // returns true\n*\n* bool = isBigInt( Object( BigInt( '1' ) ) );\n* // returns false\n*\n* bool = isBigInt( {} );\n* // returns false\n*\n* @example\n* var isBigIntObject = require( '@stdlib/assert/is-bigint' ).isObject;\n*\n* var bool = isBigIntObject( BigInt( '1' ) );\n* // returns false\n*\n* bool = isBigIntObject( Object( BigInt( '1' ) ) );\n* // returns true\n*\n* bool = isBigIntObject( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar hasBigInts = require( './../../has-bigint-support' );\nvar main = require( './main.js' );\nvar polyfill = require( './polyfill.js' );\n\n\n// MAIN //\n\nvar isBigInt;\nif ( hasBigInts() ) {\n\tisBigInt = main;\n} else {\n\tisBigInt = polyfill;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBigInt;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof BigInt64Array === 'function' ) ? BigInt64Array : null; // eslint-disable-line stdlib/require-globals, no-undef\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isBigInt64Array = require( './../../is-bigint64array' );\nvar isBigInt = require( './../../is-bigint' );\nvar GlobalBigInt64Array = require( './bigint64array.js' );\n\n\n// VARIABLES //\n\nvar MAX_FLOAT64_INTEGER = '9007199254740991'; // 2^53-1\nvar MAX_FLOAT64_INTEGER_P2 = '9007199254740993';\n\n\n// MAIN //\n\n/**\n* Tests for native `BigInt64Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `BigInt64Array` support\n*\n* @example\n* var bool = hasBigInt64ArraySupport();\n* // returns \n*/\nfunction hasBigInt64ArraySupport() {\n\tvar arr;\n\tif ( typeof GlobalBigInt64Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalBigInt64Array([\n\t\t\tMAX_FLOAT64_INTEGER,\n\t\t\tMAX_FLOAT64_INTEGER_P2\n\t\t]);\n\t\treturn (\n\t\t\tisBigInt64Array( arr ) &&\n\t\t\tisBigInt( arr[ 0 ] ) &&\n\t\t\tarr[ 0 ].toString() === MAX_FLOAT64_INTEGER &&\n\t\t\tisBigInt( arr[ 1 ] ) &&\n\t\t\tarr[ 1 ].toString() === MAX_FLOAT64_INTEGER_P2\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasBigInt64ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `BigInt64Array` support.\n*\n* @module @stdlib/assert/has-bigint64array-support\n*\n* @example\n* var hasBigInt64ArraySupport = require( '@stdlib/assert/has-bigint64array-support' );\n*\n* var bool = hasBigInt64ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasBigInt64ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasBigInt64ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasBigUint64Array = ( typeof BigUint64Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a BigUint64Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether the value is a BigUint64Array\n*\n* @example\n* var value = new BigUint64Array( 2 );\n* var bool = isBigUint64Array( value );\n* // returns true\n*\n* @example\n* var bool = isBigUint64Array( [] );\n* // returns false\n*\n* @example\n* var bool = isBigUint64Array( 123 );\n* // returns false\n*/\nfunction isBigUint64Array( value ) {\n\treturn (\n\t\t( hasBigUint64Array && value instanceof BigUint64Array ) || // eslint-disable-line stdlib/require-globals, no-undef\n\t\tnativeClass( value ) === '[object BigUint64Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBigUint64Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a BigUint64Array.\n*\n* @module @stdlib/assert/is-biguint64array\n*\n* @example\n* var isBigUint64Array = require( '@stdlib/assert/is-biguint64array' );\n*\n* var value = new BigUint64Array( 2 );\n* var bool = isBigUint64Array( value );\n* // returns true\n*\n* bool = isBigUint64Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isBigUint64Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isBigUint64Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof BigUint64Array === 'function' ) ? BigUint64Array : null; // eslint-disable-line stdlib/require-globals, no-undef\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isBigUint64Array = require( './../../is-biguint64array' );\nvar isBigInt = require( './../../is-bigint' );\nvar GlobalBigUint64Array = require( './biguint64array.js' );\n\n\n// VARIABLES //\n\nvar MAX_SIGNED_INT64 = '9223372036854775807'; // 2**63 - 1\nvar MAX_SIGNED_INT64_P2 = '9223372036854775809';\n\n\n// MAIN //\n\n/**\n* Tests for native `BigUint64Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `BigUint64Array` support\n*\n* @example\n* var bool = hasBigUint64ArraySupport();\n* // returns \n*/\nfunction hasBigUint64ArraySupport() {\n\tvar arr;\n\tif ( typeof GlobalBigUint64Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalBigUint64Array([\n\t\t\tMAX_SIGNED_INT64,\n\t\t\tMAX_SIGNED_INT64_P2\n\t\t]);\n\t\treturn (\n\t\t\tisBigUint64Array( arr ) &&\n\t\t\tisBigInt( arr[ 0 ] ) &&\n\t\t\tarr[ 0 ].toString() === MAX_SIGNED_INT64 &&\n\t\t\tisBigInt( arr[ 1 ] ) &&\n\t\t\tarr[ 1 ].toString() === MAX_SIGNED_INT64_P2\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasBigUint64ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `BigUint64Array` support.\n*\n* @module @stdlib/assert/has-biguint64array-support\n*\n* @example\n* var hasBigUint64ArraySupport = require( '@stdlib/assert/has-biguint64array-support' );\n*\n* var bool = hasBigUint64ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasBigUint64ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasBigUint64ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar evil = require( '@stdlib/utils/eval' );\n\n\n// MAIN //\n\n/**\n* Tests for native `class` support.\n*\n* @returns {boolean} boolean indicating if an environment has native `class` support\n*\n* @example\n* var bool = hasClassSupport();\n* if ( bool ) {\n* console.log( 'Environment has native class support.' );\n* } else {\n* console.log( 'Environment lacks native class support.' );\n* }\n*/\nfunction hasClassSupport() {\n\tvar bool;\n\ttry {\n\t\tevil( '\"use strict\"; class A{};' );\n\t\tbool = true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasClassSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `class` support.\n*\n* @module @stdlib/assert/has-class-support\n*\n* @example\n* var hasClassSupport = require( '@stdlib/assert/has-class-support' );\n*\n* var bool = hasClassSupport();\n* if ( bool ) {\n* console.log( 'Environment has native class support.' );\n* } else {\n* console.log( 'Environment lacks native class support.' );\n* }\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasDataView = ( typeof DataView === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a `DataView`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a DataView\n*\n* @example\n* var ArrayBuffer = require( '@stdlib/array/buffer' );\n* var DataView = require( '@stdlib/array/dataview' );\n*\n* var bool = isDataView( new DataView( new ArrayBuffer( 10 ) ) );\n* // returns true\n*\n* @example\n* var bool = isDataView( [] );\n* // returns false\n*/\nfunction isDataView( value ) {\n\treturn (\n\t\t( hasDataView && value instanceof DataView ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object DataView]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isDataView;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a `DataView`.\n*\n* @module @stdlib/assert/is-dataview\n*\n* @example\n* var ArrayBuffer = require( '@stdlib/array/buffer' );\n* var DataView = require( '@stdlib/array/dataview' );\n* var isDataView = require( '@stdlib/assert/is-dataview' );\n*\n* var bool = isDataView( new DataView( new ArrayBuffer( 10 ) ) );\n* // returns true\n*\n* bool = isDataView( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof DataView === 'function' ) ? DataView : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isDataView = require( './../../is-dataview' );\nvar ArrayBuffer = require( '@stdlib/array/buffer' );\nvar GlobalDataView = require( './dataview.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `DataView` support.\n*\n* @returns {boolean} boolean indicating if an environment has `DataView` support\n*\n* @example\n* var bool = hasDataViewSupport();\n* // returns \n*/\nfunction hasDataViewSupport() {\n\tvar bool;\n\tvar view;\n\tvar buf;\n\n\tif ( typeof GlobalDataView !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tbuf = new ArrayBuffer( 24 );\n\t\tview = new GlobalDataView( buf, 8 );\n\t\tbool = ( isDataView( view ) && typeof view.getFloat64 === 'function' && typeof view.setFloat64 === 'function' );\n\t\tif ( bool ) {\n\t\t\tview.setFloat64( 0, -3.14 );\n\t\t\tview.setFloat64( 8, NaN );\n\t\t\tbool = (\n\t\t\t\tbool &&\n\t\t\t\tview.buffer === buf &&\n\t\t\t\tview.byteLength === 16 &&\n\t\t\t\tview.byteOffset === 8 &&\n\t\t\t\tview.getFloat64( 0 ) === -3.14 &&\n\t\t\t\tview.getFloat64( 8 ) !== view.getFloat64( 8 )\n\t\t\t);\n\t\t}\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasDataViewSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `DataView` support.\n*\n* @module @stdlib/assert/has-dataview-support\n*\n* @example\n* var hasDataViewSupport = require( '@stdlib/assert/has-dataview-support' );\n*\n* var bool = hasDataViewSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperties === 'function' ) ? Object.defineProperties : null;\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar defineProperties = require( './define_properties.js' );\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperties` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperties` support\n*\n* @example\n* var bool = hasDefinePropertiesSupport();\n* // returns \n*/\nfunction hasDefinePropertiesSupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperties( {}, {\n\t\t\t'x': {}\n\t\t});\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasDefinePropertiesSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for `Object.defineProperties` support.\n*\n* @module @stdlib/assert/has-define-properties-support\n*\n* @example\n* var hasDefinePropertiesSupport = require( '@stdlib/assert/has-define-properties-support' );\n*\n* var bool = hasDefinePropertiesSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar defineProperty = require( './define_property.js' );\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasDefinePropertySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for `Object.defineProperty` support.\n*\n* @module @stdlib/assert/has-define-property-support\n*\n* @example\n* var hasDefinePropertySupport = require( '@stdlib/assert/has-define-property-support' );\n*\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Float32Array.\n*\n* @module @stdlib/assert/is-float32array\n*\n* @example\n* var isFloat32Array = require( '@stdlib/assert/is-float32array' );\n*\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* bool = isFloat32Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFloat32Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFloat32Array = require( './../../is-float32array' );\nvar PINF = require( '@stdlib/constants/float64/pinf' );\nvar GlobalFloat32Array = require( './float32array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasFloat32ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Float32Array` support.\n*\n* @module @stdlib/assert/has-float32array-support\n*\n* @example\n* var hasFloat32ArraySupport = require( '@stdlib/assert/has-float32array-support' );\n*\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasFloat32ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasFloat32ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasFloat64Array = ( typeof Float64Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float64Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float64Array\n*\n* @example\n* var bool = isFloat64Array( new Float64Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat64Array( [] );\n* // returns false\n*/\nfunction isFloat64Array( value ) {\n\treturn (\n\t\t( hasFloat64Array && value instanceof Float64Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float64Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFloat64Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Float64Array.\n*\n* @module @stdlib/assert/is-float64array\n*\n* @example\n* var isFloat64Array = require( '@stdlib/assert/is-float64array' );\n*\n* var bool = isFloat64Array( new Float64Array( 10 ) );\n* // returns true\n*\n* bool = isFloat64Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFloat64Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isFloat64Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float64Array === 'function' ) ? Float64Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFloat64Array = require( './../../is-float64array' );\nvar GlobalFloat64Array = require( './float64array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Float64Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float64Array` support\n*\n* @example\n* var bool = hasFloat64ArraySupport();\n* // returns \n*/\nfunction hasFloat64ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat64Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat64Array( [ 1.0, 3.14, -3.14, NaN ] );\n\t\tbool = (\n\t\t\tisFloat64Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.14 &&\n\t\t\tarr[ 2 ] === -3.14 &&\n\t\t\tarr[ 3 ] !== arr[ 3 ]\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasFloat64ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Float64Array` support.\n*\n* @module @stdlib/assert/has-float64array-support\n*\n* @example\n* var hasFloat64ArraySupport = require( '@stdlib/assert/has-float64array-support' );\n*\n* var bool = hasFloat64ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasFloat64ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasFloat64ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Dummy function.\n*\n* @private\n*/\nfunction foo() {\n\t// No-op...\n}\n\n\n// EXPORTS //\n\nmodule.exports = foo;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar foo = require( './foo.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native function `name` support.\n*\n* @returns {boolean} boolean indicating if an environment has function `name` support\n*\n* @example\n* var bool = hasFunctionNameSupport();\n* // returns \n*/\nfunction hasFunctionNameSupport() {\n\treturn ( foo.name === 'foo' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasFunctionNameSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native function `name` support.\n*\n* @module @stdlib/assert/has-function-name-support\n*\n* @example\n* var hasFunctionNameSupport = require( '@stdlib/assert/has-function-name-support' );\n*\n* var bool = hasFunctionNameSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar evil = require( '@stdlib/utils/eval' );\n\n\n// MAIN //\n\n/**\n* Tests for native `function*()` support.\n*\n* @returns {boolean} boolean indicating if an environment has native `function*()` support\n*\n* @example\n* var bool = hasGeneratorSupport();\n* // returns \n*/\nfunction hasGeneratorSupport() {\n\tvar bool;\n\ttry {\n\t\tevil( '\"use strict\"; (function* () {})' );\n\t\tbool = true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasGeneratorSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `function*()` support.\n*\n* @module @stdlib/assert/has-generator-support\n*\n* @example\n* var hasGeneratorSupport = require( '@stdlib/assert/has-generator-support' );\n*\n* var bool = hasGeneratorSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2019 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for `globalThis` support.\n*\n* @returns {boolean} boolean indicating if an environment has `globalThis` support\n*\n* @example\n* var bool = hasGlobalThisSupport();\n* // returns \n*/\nfunction hasGlobalThisSupport() {\n\treturn (\n\t\ttypeof globalThis === 'object' &&\n\t\ttypeof globalThis.setTimeout === 'function' // eslint-disable-line no-undef\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasGlobalThisSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2019 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for `globalThis` support.\n*\n* @module @stdlib/assert/has-globalthis-support\n*\n* @example\n* var hasGlobalThisSupport = require( '@stdlib/assert/has-globalthis-support' );\n*\n* var bool = hasGlobalThisSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasInt8Array = ( typeof Int8Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is an Int8Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an Int8Array\n*\n* @example\n* var bool = isInt8Array( new Int8Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isInt8Array( [] );\n* // returns false\n*/\nfunction isInt8Array( value ) {\n\treturn (\n\t\t( hasInt8Array && value instanceof Int8Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Int8Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInt8Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an Int8Array.\n*\n* @module @stdlib/assert/is-int8array\n*\n* @example\n* var isInt8Array = require( '@stdlib/assert/is-int8array' );\n*\n* var bool = isInt8Array( new Int8Array( 10 ) );\n* // returns true\n*\n* bool = isInt8Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isInt8Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isInt8Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Int8Array === 'function' ) ? Int8Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInt8Array = require( './../../is-int8array' );\nvar INT8_MAX = require( '@stdlib/constants/int8/max' );\nvar INT8_MIN = require( '@stdlib/constants/int8/min' );\nvar GlobalInt8Array = require( './int8array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Int8Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Int8Array` support\n*\n* @example\n* var bool = hasInt8ArraySupport();\n* // returns \n*/\nfunction hasInt8ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalInt8Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalInt8Array( [ 1, 3.14, -3.14, INT8_MAX+1 ] );\n\t\tbool = (\n\t\t\tisInt8Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === -3 && // truncation\n\t\t\tarr[ 3 ] === INT8_MIN // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasInt8ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Int8Array` support.\n*\n* @module @stdlib/assert/has-int8array-support\n*\n* @example\n* var hasInt8ArraySupport = require( '@stdlib/assert/has-int8array-support' );\n*\n* var bool = hasInt8ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasInt8ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasInt8ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasInt16Array = ( typeof Int16Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is an Int16Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an Int16Array\n*\n* @example\n* var bool = isInt16Array( new Int16Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isInt16Array( [] );\n* // returns false\n*/\nfunction isInt16Array( value ) {\n\treturn (\n\t\t( hasInt16Array && value instanceof Int16Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Int16Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInt16Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an Int16Array.\n*\n* @module @stdlib/assert/is-int16array\n*\n* @example\n* var isInt16Array = require( '@stdlib/assert/is-int16array' );\n*\n* var bool = isInt16Array( new Int16Array( 10 ) );\n* // returns true\n*\n* bool = isInt16Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isInt16Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isInt16Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Int16Array === 'function' ) ? Int16Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInt16Array = require( './../../is-int16array' );\nvar INT16_MAX = require( '@stdlib/constants/int16/max' );\nvar INT16_MIN = require( '@stdlib/constants/int16/min' );\nvar GlobalInt16Array = require( './int16array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Int16Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Int16Array` support\n*\n* @example\n* var bool = hasInt16ArraySupport();\n* // returns \n*/\nfunction hasInt16ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalInt16Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalInt16Array( [ 1, 3.14, -3.14, INT16_MAX+1 ] );\n\t\tbool = (\n\t\t\tisInt16Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === -3 && // truncation\n\t\t\tarr[ 3 ] === INT16_MIN // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasInt16ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Int16Array` support.\n*\n* @module @stdlib/assert/has-int16array-support\n*\n* @example\n* var hasInt16ArraySupport = require( '@stdlib/assert/has-int16array-support' );\n*\n* var bool = hasInt16ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasInt16ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasInt16ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasInt32Array = ( typeof Int32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is an Int32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an Int32Array\n*\n* @example\n* var bool = isInt32Array( new Int32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isInt32Array( [] );\n* // returns false\n*/\nfunction isInt32Array( value ) {\n\treturn (\n\t\t( hasInt32Array && value instanceof Int32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Int32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInt32Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an Int32Array.\n*\n* @module @stdlib/assert/is-int32array\n*\n* @example\n* var isInt32Array = require( '@stdlib/assert/is-int32array' );\n*\n* var bool = isInt32Array( new Int32Array( 10 ) );\n* // returns true\n*\n* bool = isInt32Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isInt32Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isInt32Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Int32Array === 'function' ) ? Int32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInt32Array = require( './../../is-int32array' );\nvar INT32_MAX = require( '@stdlib/constants/int32/max' );\nvar INT32_MIN = require( '@stdlib/constants/int32/min' );\nvar GlobalInt32Array = require( './int32array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Int32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Int32Array` support\n*\n* @example\n* var bool = hasInt32ArraySupport();\n* // returns \n*/\nfunction hasInt32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalInt32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalInt32Array( [ 1, 3.14, -3.14, INT32_MAX+1 ] );\n\t\tbool = (\n\t\t\tisInt32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === -3 && // truncation\n\t\t\tarr[ 3 ] === INT32_MIN // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasInt32ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Int32Array` support.\n*\n* @module @stdlib/assert/has-int32array-support\n*\n* @example\n* var hasInt32ArraySupport = require( '@stdlib/assert/has-int32array-support' );\n*\n* var bool = hasInt32ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasInt32ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasInt32ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasOwnProp = require( './../../has-own-property' );\nvar Symbol = require( '@stdlib/symbol/ctor' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Symbol.iterator` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol.iterator` support\n*\n* @example\n* var bool = hasIteratorSymbolSupport();\n* // returns \n*/\nfunction hasIteratorSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol' &&\n\t\thasOwnProp( Symbol, 'iterator' ) &&\n\t\ttypeof Symbol.iterator === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasIteratorSymbolSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Symbol.iterator` support.\n*\n* @module @stdlib/assert/has-iterator-symbol-support\n*\n* @example\n* var hasIteratorSymbolSupport = require( '@stdlib/assert/has-iterator-symbol-support' );\n*\n* var bool = hasIteratorSymbolSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Map === 'function' ) ? Map : null;\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar GlobalMap = require( './map.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Map` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Map` support\n*\n* @example\n* var bool = hasMapSupport();\n* // returns \n*/\nfunction hasMapSupport() {\n\tvar bool;\n\tvar key;\n\tvar map;\n\n\tif ( typeof GlobalMap !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tkey = {};\n\t\tmap = new GlobalMap();\n\t\tmap.set( key, 'beep' );\n\t\tbool = (\n\t\t\tmap.has( key ) &&\n\t\t\tmap.get( key ) === 'beep'\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasMapSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Map` support.\n*\n* @module @stdlib/assert/has-map-support\n*\n* @example\n* var hasMapSupport = require( '@stdlib/assert/has-map-support' );\n*\n* var bool = hasMapSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Buffer === 'function' ) ? Buffer : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isBuffer = require( './../../is-buffer' );\nvar GlobalBuffer = require( './buffer.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Buffer` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Buffer` support\n*\n* @example\n* var bool = hasNodeBufferSupport();\n* // returns \n*/\nfunction hasNodeBufferSupport() {\n\tvar bool;\n\tvar b;\n\n\tif ( typeof GlobalBuffer !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tif ( typeof GlobalBuffer.from === 'function' ) {\n\t\t\tb = GlobalBuffer.from( [ 1, 2, 3, 4 ] );\n\t\t} else {\n\t\t\tb = new GlobalBuffer( [ 1, 2, 3, 4 ] ); // Note: this is deprecated behavior starting in Node v6 (see https://nodejs.org/api/buffer.html#buffer_new_buffer_array)\n\t\t}\n\t\tbool = (\n\t\t\tisBuffer( b ) &&\n\t\t\tb[ 0 ] === 1 &&\n\t\t\tb[ 1 ] === 2 &&\n\t\t\tb[ 2 ] === 3 &&\n\t\t\tb[ 3 ] === 4\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasNodeBufferSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Buffer` support.\n*\n* @module @stdlib/assert/has-node-buffer-support\n*\n* @example\n* var hasNodeBufferSupport = require( '@stdlib/assert/has-node-buffer-support' );\n*\n* var bool = hasNodeBufferSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar evil = require( '@stdlib/utils/eval' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Proxy` support.\n*\n* @returns {boolean} boolean indicating if an environment has native `Proxy` support\n*\n* @example\n* var bool = hasProxySupport();\n* // returns \n*/\nfunction hasProxySupport() {\n\tvar bool;\n\ttry {\n\t\tevil( '\"use strict\"; var handler = { \"get\": function get( t, n ) { return t[ n ] * 100; } }; var target = { \"beep\": 3.14 }; var p = new Proxy( target, handler ); var x = p.beep; if ( x !== 314 ) { throw new Error( \"native Proxy is not supported.\" ); }' );\n\t\tbool = true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasProxySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Proxy` support.\n*\n* @module @stdlib/assert/has-proxy-support\n*\n* @example\n* var hasProxySupport = require( '@stdlib/assert/has-proxy-support' );\n*\n* var bool = hasProxySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Set === 'function' ) ? Set : null;\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar GlobalSet = require( './set.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Set` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Set` support\n*\n* @example\n* var bool = hasSetSupport();\n* // returns \n*/\nfunction hasSetSupport() {\n\tvar bool;\n\tvar val;\n\tvar set;\n\n\tif ( typeof GlobalSet !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tval = {};\n\t\tset = new GlobalSet();\n\t\tset.add( val );\n\t\tset.add( val );\n\t\tbool = set.has( val );\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasSetSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Set` support.\n*\n* @module @stdlib/assert/has-set-support\n*\n* @example\n* var hasSetSupport = require( '@stdlib/assert/has-set-support' );\n*\n* var bool = hasSetSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasSharedArrayBuffer = ( typeof SharedArrayBuffer === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a `SharedArrayBuffer`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a `SharedArrayBuffer`\n*\n* @example\n* var SharedArrayBuffer = require( '@stdlib/array/shared-buffer' );\n*\n* try {\n* var bool = isSharedArrayBuffer( new SharedArrayBuffer( 10 ) );\n* // returns true\n* } catch ( err ) {\n* console.log( 'Environment does not support SharedArrayBuffers.' );\n* }\n*\n* @example\n* var bool = isSharedArrayBuffer( [] );\n* // returns false\n*/\nfunction isSharedArrayBuffer( value ) {\n\treturn (\n\t\t( hasSharedArrayBuffer && value instanceof SharedArrayBuffer ) || // eslint-disable-line stdlib/require-globals, no-undef\n\t\tnativeClass( value ) === '[object SharedArrayBuffer]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSharedArrayBuffer;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a `SharedArrayBuffer`.\n*\n* @module @stdlib/assert/is-sharedarraybuffer\n*\n* @example\n* var SharedArrayBuffer = require( '@stdlib/array/shared-buffer' );\n* var isSharedArrayBuffer = require( '@stdlib/assert/is-sharedarraybuffer' );\n*\n* var bool;\n* try {\n* bool = isSharedArrayBuffer( new SharedArrayBuffer( 10 ) );\n* // returns true\n* } catch ( err ) {\n* console.log( 'Environment does not support SharedArrayBuffers.' );\n* }\n* bool = isSharedArrayBuffer( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof SharedArrayBuffer === 'function' ) ? SharedArrayBuffer : null; // eslint-disable-line no-undef, stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isSharedArrayBuffer = require( './../../is-sharedarraybuffer' );\nvar GlobalSharedArrayBuffer = require( './sharedarraybuffer.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `SharedArrayBuffer` support.\n*\n* @returns {boolean} boolean indicating if an environment has `SharedArrayBuffer` support\n*\n* @example\n* var bool = hasSharedArrayBufferSupport();\n* // returns \n*/\nfunction hasSharedArrayBufferSupport() { // eslint-disable-line id-length\n\tvar bool;\n\tvar b1;\n\tvar b2;\n\n\tif ( typeof GlobalSharedArrayBuffer !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tb1 = new GlobalSharedArrayBuffer( 16 );\n\t\tb2 = b1.slice( 4, 8 );\n\t\tbool = (\n\t\t\tisSharedArrayBuffer( b1 ) &&\n\t\t\tisSharedArrayBuffer( b2 ) &&\n\t\t\tb1.byteLength === 16 &&\n\t\t\tb2.byteLength === 4\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasSharedArrayBufferSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `SharedArrayBuffer` support.\n*\n* @module @stdlib/assert/has-sharedarraybuffer-support\n*\n* @example\n* var hasSharedArrayBufferSupport = require( '@stdlib/assert/has-sharedarraybuffer-support' );\n*\n* var bool = hasSharedArrayBufferSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasUint8Array = ( typeof Uint8Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint8Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint8Array\n*\n* @example\n* var bool = isUint8Array( new Uint8Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint8Array( [] );\n* // returns false\n*/\nfunction isUint8Array( value ) {\n\treturn (\n\t\t( hasUint8Array && value instanceof Uint8Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint8Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUint8Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Uint8Array.\n*\n* @module @stdlib/assert/is-uint8array\n*\n* @example\n* var isUint8Array = require( '@stdlib/assert/is-uint8array' );\n*\n* var bool = isUint8Array( new Uint8Array( 10 ) );\n* // returns true\n*\n* bool = isUint8Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isUint8Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isUint8Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint8Array === 'function' ) ? Uint8Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isUint8Array = require( './../../is-uint8array' );\nvar UINT8_MAX = require( '@stdlib/constants/uint8/max' );\nvar GlobalUint8Array = require( './uint8array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint8Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint8Array` support\n*\n* @example\n* var bool = hasUint8ArraySupport();\n* // returns \n*/\nfunction hasUint8ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint8Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT8_MAX+1, UINT8_MAX+2 ];\n\t\tarr = new GlobalUint8Array( arr );\n\t\tbool = (\n\t\t\tisUint8Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT8_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasUint8ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Uint8Array` support.\n*\n* @module @stdlib/assert/has-uint8array-support\n*\n* @example\n* var hasUint8ArraySupport = require( '@stdlib/assert/has-uint8array-support' );\n*\n* var bool = hasUint8ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasUint8ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasUint8ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasUint8ClampedArray = ( typeof Uint8ClampedArray === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint8ClampedArray.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint8ClampedArray\n*\n* @example\n* var bool = isUint8ClampedArray( new Uint8ClampedArray( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint8ClampedArray( [] );\n* // returns false\n*/\nfunction isUint8ClampedArray( value ) {\n\treturn (\n\t\t( hasUint8ClampedArray && value instanceof Uint8ClampedArray ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint8ClampedArray]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUint8ClampedArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Uint8ClampedArray.\n*\n* @module @stdlib/assert/is-uint8clampedarray\n*\n* @example\n* var isUint8ClampedArray = require( '@stdlib/assert/is-uint8clampedarray' );\n*\n* var bool = isUint8ClampedArray( new Uint8ClampedArray( 10 ) );\n* // returns true\n*\n* bool = isUint8ClampedArray( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isUint8ClampedArray = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isUint8ClampedArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint8ClampedArray === 'function' ) ? Uint8ClampedArray : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isUint8ClampedArray = require( './../../is-uint8clampedarray' );\nvar GlobalUint8ClampedArray = require( './uint8clampedarray.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint8ClampedArray` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint8ClampedArray` support\n*\n* @example\n* var bool = hasUint8ClampedArraySupport();\n* // returns \n*/\nfunction hasUint8ClampedArraySupport() { // eslint-disable-line id-length\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint8ClampedArray !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalUint8ClampedArray( [ -1, 0, 1, 3.14, 4.99, 255, 256 ] );\n\t\tbool = (\n\t\t\tisUint8ClampedArray( arr ) &&\n\t\t\tarr[ 0 ] === 0 && // clamped\n\t\t\tarr[ 1 ] === 0 &&\n\t\t\tarr[ 2 ] === 1 &&\n\t\t\tarr[ 3 ] === 3 && // round to nearest\n\t\t\tarr[ 4 ] === 5 && // round to nearest\n\t\t\tarr[ 5 ] === 255 &&\n\t\t\tarr[ 6 ] === 255 // clamped\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasUint8ClampedArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Uint8ClampedArray` support.\n*\n* @module @stdlib/assert/has-uint8clampedarray-support\n*\n* @example\n* var hasUint8ClampedArraySupport = require( '@stdlib/assert/has-uint8clampedarray-support' );\n*\n* var bool = hasUint8ClampedArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasUint8ClampedArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasUint8ClampedArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasUint16Array = ( typeof Uint16Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint16Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint16Array\n*\n* @example\n* var bool = isUint16Array( new Uint16Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint16Array( [] );\n* // returns false\n*/\nfunction isUint16Array( value ) {\n\treturn (\n\t\t( hasUint16Array && value instanceof Uint16Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint16Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUint16Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Uint16Array.\n*\n* @module @stdlib/assert/is-uint16array\n*\n* @example\n* var isUint16Array = require( '@stdlib/assert/is-uint16array' );\n*\n* var bool = isUint16Array( new Uint16Array( 10 ) );\n* // returns true\n*\n* bool = isUint16Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isUint16Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isUint16Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint16Array === 'function' ) ? Uint16Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isUint16Array = require( './../../is-uint16array' );\nvar UINT16_MAX = require( '@stdlib/constants/uint16/max' );\nvar GlobalUint16Array = require( './uint16array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint16Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint16Array` support\n*\n* @example\n* var bool = hasUint16ArraySupport();\n* // returns \n*/\nfunction hasUint16ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint16Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT16_MAX+1, UINT16_MAX+2 ];\n\t\tarr = new GlobalUint16Array( arr );\n\t\tbool = (\n\t\t\tisUint16Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT16_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasUint16ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Uint16Array` support.\n*\n* @module @stdlib/assert/has-uint16array-support\n*\n* @example\n* var hasUint16ArraySupport = require( '@stdlib/assert/has-uint16array-support' );\n*\n* var bool = hasUint16ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasUint16ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasUint16ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUint32Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Uint32Array.\n*\n* @module @stdlib/assert/is-uint32array\n*\n* @example\n* var isUint32Array = require( '@stdlib/assert/is-uint32array' );\n*\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* bool = isUint32Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isUint32Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isUint32Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isUint32Array = require( './../../is-uint32array' );\nvar UINT32_MAX = require( '@stdlib/constants/uint32/max' );\nvar GlobalUint32Array = require( './uint32array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasUint32ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Uint32Array` support.\n*\n* @module @stdlib/assert/has-uint32array-support\n*\n* @example\n* var hasUint32ArraySupport = require( '@stdlib/assert/has-uint32array-support' );\n*\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasUint32ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasUint32ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert/is-nonnegative-integer\n*\n* @example\n* var isNonNegativeInteger = require( '@stdlib/assert/is-nonnegative-integer' );\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* var isNonNegativeInteger = require( '@stdlib/assert/is-nonnegative-integer' ).isPrimitive;\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* var isNonNegativeInteger = require( '@stdlib/assert/is-nonnegative-integer' ).isObject;\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isNonNegativeInteger = require( './../../is-nonnegative-integer' ).isPrimitive;\nvar format = require( '@stdlib/string/format' );\n\n\n// VARIABLES //\n\n// Range for a high surrogate\nvar OxD800 = 0xD800|0; // 55296\nvar OxDBFF = 0xDBFF|0; // 56319\n\n// Range for a low surrogate\nvar OxDC00 = 0xDC00|0; // 56320\nvar OxDFFF = 0xDFFF|0; // 57343\n\n\n// MAIN //\n\n/**\n* Tests if a position in a string marks the start of a UTF-16 surrogate pair.\n*\n* @private\n* @param {string} str - input string\n* @param {NonNegativeInteger} pos - position in string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} position must be a valid index in string\n* @returns {boolean} boolean indicating whether the string has a surrogate pair at a position\n*\n* @example\n* var out = hasUTF16SurrogatePairAt( '\uD83C\uDF37', 0 );\n* // returns true\n*\n* @example\n* var out = hasUTF16SurrogatePairAt( '\uD83C\uDF37', 1 );\n* // returns false\n*/\nfunction hasUTF16SurrogatePairAt( str, pos ) {\n\tvar ch1;\n\tvar ch2;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Must provide a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( pos ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Must provide a valid position (i.e., a nonnegative integer). Value: `%s`.', pos ) );\n\t}\n\tif ( pos >= str.length ) {\n\t\tthrow new RangeError( format( 'invalid argument. Must provide a valid position (i.e., within string bounds). Value: `%u`.', pos ) );\n\t}\n\tch1 = str.charCodeAt( pos );\n\tch2 = str.charCodeAt( pos + 1 );\n\treturn ch1 >= OxD800 && ch1 <= OxDBFF && ch2 >= OxDC00 && ch2 <= OxDFFF;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasUTF16SurrogatePairAt;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a position in a string marks the start of a UTF-16 surrogate pair.\n*\n* @module @stdlib/assert/has-utf16-surrogate-pair-at\n*\n* @example\n* var hasUTF16SurrogatePairAt = require( '@stdlib/assert/has-utf16-surrogate-pair-at' );\n*\n* var bool = hasUTF16SurrogatePairAt( '\uD83C\uDF37', 0 );\n* // returns true\n*\n* bool = hasUTF16SurrogatePairAt( '\uD83C\uDF37', 1 );\n* // returns false\n*/\n\n// MODULES //\n\nvar hasUTF16SurrogatePairAt = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasUTF16SurrogatePairAt;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native WebAssembly support.\n*\n* @returns {boolean} boolean indicating if an environment has native WebAssembly support\n*\n* @example\n* var bool = hasWebAssemblySupport();\n* // returns \n*/\nfunction hasWebAssemblySupport() {\n\treturn ( typeof WebAssembly === 'object' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasWebAssemblySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native WebAssembly support.\n*\n* @module @stdlib/assert/has-wasm-support\n*\n* @example\n* var hasWebAssemblySupport = require( '@stdlib/assert/has-wasm-support' );\n*\n* var bool = hasWebAssemblySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof WeakMap === 'function' ) ? WeakMap : null;\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar GlobalWeakMap = require( './weakmap.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `WeakMap` support.\n*\n* @returns {boolean} boolean indicating if an environment has `WeakMap` support\n*\n* @example\n* var bool = hasWeakMapSupport();\n* // returns \n*/\nfunction hasWeakMapSupport() {\n\tvar bool;\n\tvar key;\n\tvar wm;\n\n\tif ( typeof GlobalWeakMap !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tkey = {};\n\t\twm = new GlobalWeakMap();\n\t\twm.set( key, 'beep' );\n\t\tbool = (\n\t\t\twm.has( key ) &&\n\t\t\twm.get( key ) === 'beep'\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasWeakMapSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `WeakMap` support.\n*\n* @module @stdlib/assert/has-weakmap-support\n*\n* @example\n* var hasWeakMapSupport = require( '@stdlib/assert/has-weakmap-support' );\n*\n* var bool = hasWeakMapSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof WeakSet === 'function' ) ? WeakSet : null;\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar GlobalWeakSet = require( './weakset.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `WeakSet` support.\n*\n* @returns {boolean} boolean indicating if an environment has `WeakSet` support\n*\n* @example\n* var bool = hasWeakSetSupport();\n* // returns \n*/\nfunction hasWeakSetSupport() {\n\tvar bool;\n\tvar val;\n\tvar ws;\n\n\tif ( typeof GlobalWeakSet !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tval = {};\n\t\tws = new GlobalWeakSet();\n\t\tws.add( val );\n\t\tws.add( val );\n\t\tbool = ws.has( val );\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasWeakSetSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `WeakSet` support.\n*\n* @module @stdlib/assert/has-weakset-support\n*\n* @example\n* var hasWeakSetSupport = require( '@stdlib/assert/has-weakset-support' );\n*\n* var bool = hasWeakSetSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Tests whether a value has in its prototype chain a specified constructor as a prototype property.\n*\n* @param {*} value - value to test\n* @param {Function} constructor - constructor to test against\n* @throws {TypeError} constructor must be callable\n* @returns {boolean} boolean indicating whether a value is an instance of a provided constructor\n*\n* @example\n* var bool = instanceOf( [], Array );\n* // returns true\n*\n* @example\n* var bool = instanceOf( {}, Object ); // exception\n* // returns true\n*\n* @example\n* var bool = instanceOf( 'beep', String );\n* // returns false\n*\n* @example\n* var bool = instanceOf( null, Object );\n* // returns false\n*\n* @example\n* var bool = instanceOf( 5, Object );\n* // returns false\n*/\nfunction instanceOf( value, constructor ) {\n\t// TODO: replace with `isCallable` check\n\tif ( typeof constructor !== 'function' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be callable. Value: `%s`.', constructor ) );\n\t}\n\treturn ( value instanceof constructor );\n}\n\n\n// EXPORTS //\n\nmodule.exports = instanceOf;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a value has in its prototype chain a specified constructor as a prototype property.\n*\n* @module @stdlib/assert/instance-of\n*\n* @example\n* var instanceOf = require( '@stdlib/assert/instance-of' );\n*\n* var bool = instanceOf( [], Array );\n* // returns true\n*\n* bool = instanceOf( {}, Object ); // exception\n* // returns true\n*\n* bool = instanceOf( 'beep', String );\n* // returns false\n*\n* bool = instanceOf( null, Object );\n* // returns false\n*\n* bool = instanceOf( 5, Object );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\n/**\n* Matches parts of a URI according to RFC 3986.\n*\n* ```text\n* : [ ? ] [ # ]\n* ```\n*\n* Regular expression: `/(?:([^:\\/?#]+):)?(?:\\/\\/([^\\/?#]*))?([^?#]*)(?:\\?[^#]*)?(?:#.*)?/`\n*\n* - `(?:([^:\\/?#]+):)`\n*\n* - match the scheme, including the `:`, but only capture the scheme name\n*\n* - `?`\n*\n* - match the scheme zero or one times\n*\n* - `(?:\\/\\/([^\\/?#]*))`\n*\n* - match the hierarchical part which is everything which is not a `/`, `#`, or `?`, but only capture whatever comes after the `//`\n*\n* - `?`\n*\n* - match the hierarchical part zero or one times\n*\n* - `([^?#]*)`\n*\n* - capture everything (the path) until meeting a `?` or `#`\n*\n* - `(?:\\?[^#]*)`\n*\n* - match, but don't capture, a query\n*\n* - `?`\n*\n* - match the query zero or one times\n*\n* - `(?:#.*)`\n*\n* - match, but don't capture, a fragment\n*\n* - `?`\n*\n* - match the fragment zero or one times\n*\n* @private\n* @constant\n* @type {RegExp}\n* @default /(?:([^:\\/?#]+):)?(?:\\/\\/([^\\/?#]*))?([^?#]*)(?:\\?[^#]*)?(?:#.*)?/\n*/\nvar RE_URI = /(?:([^:\\/?#]+):)?(?:\\/\\/([^\\/?#]*))?([^?#]*)(?:\\?[^#]*)?(?:#.*)?/; // eslint-disable-line no-useless-escape\n\n// Illegal characters (anything which is not in between the square brackets):\nvar RE_ILLEGALS = /[^a-z0-9:\\/?#\\[\\]@!$&'()*+,;=.\\-_~%]/i; // eslint-disable-line no-useless-escape\n\n// Incomplete HEX escapes:\nvar RE_HEX1 = /%[^0-9a-f]/i;\nvar RE_HEX2 = /%[0-9a-f](:?[^0-9a-f]|$)/i;\n\n// If authority is not present, path must not begin with '//'\nvar RE_PATH = /^\\/\\//;\n\n// Scheme must begin with a letter, then consist of letters, digits, '+', '.', or '-' => e.g., 'http', 'https', 'ftp'\nvar RE_SCHEME = /^[a-z][a-z0-9+\\-.]*$/;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a URI.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a URI\n*\n* @example\n* var bool = isURI( 'http://google.com' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'http://localhost/' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'http://example.w3.org/path%20with%20spaces.html' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'http://example.w3.org/%20' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'ftp://ftp.is.co.za/rfc/rfc1808.txt' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'ftp://ftp.is.co.za/../../../rfc/rfc1808.txt' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'http://www.ietf.org/rfc/rfc2396.txt' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'ldap://[2001:db8::7]/c=GB?objectClass?one' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'mailto:John.Doe@example.com' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'news:comp.infosystems.www.servers.unix' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'tel:+1-816-555-1212' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'telnet://192.0.2.16:80/' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'urn:oasis:names:specification:docbook:dtd:xml:4.1.2' );\n* // returns true\n*\n* @example\n* // No scheme:\n* var bool = isURI( '' );\n* // returns false\n*\n* @example\n* // No scheme:\n* var bool = isURI( 'foo' );\n* // returns false\n*\n* @example\n* // No scheme:\n* var bool = isURI( 'foo@bar' );\n* // returns false\n*\n* @example\n* // No scheme:\n* var bool = isURI( '://foo/' );\n* // returns false\n*\n* @example\n* // Illegal characters:\n* var bool = isURI( 'http://' );\n* // returns false\n*\n* @example\n* // Invalid path:\n* var bool = isURI( 'http:////foo.html' );\n* // returns false\n*\n* @example\n* // Incomplete hex escapes...\n* var bool = isURI( 'http://example.w3.org/%a' );\n* // returns false\n*\n* @example\n* var bool = isURI( 'http://example.w3.org/%a/foo' );\n* // returns false\n*\n* @example\n* var bool = isURI( 'http://example.w3.org/%at' );\n* // returns false\n*/\nfunction isURI( value ) {\n\tvar authority;\n\tvar scheme;\n\tvar parts;\n\tvar path;\n\n\tif ( !isString( value ) ) {\n\t\treturn false;\n\t}\n\t// Check for illegal characters:\n\tif ( RE_ILLEGALS.test( value ) ) {\n\t\treturn false;\n\t}\n\t// Check for incomplete HEX escapes:\n\tif (\n\t\tRE_HEX1.test( value ) ||\n\t\tRE_HEX2.test( value )\n\t) {\n\t\treturn false;\n\t}\n\t// Split the string into various URI components:\n\tparts = value.match( RE_URI );\n\tscheme = parts[ 1 ];\n\tauthority = parts[ 2 ];\n\tpath = parts[ 3 ];\n\n\t// Scheme is required and must be valid:\n\tif (\n\t\t!scheme ||\n\t\t!scheme.length ||\n\t\t!RE_SCHEME.test( scheme.toLowerCase() )\n\t) {\n\t\treturn false;\n\t}\n\t// If authority is not present, path must not begin with `//`:\n\tif (\n\t\t!authority &&\n\t\tRE_PATH.test( path )\n\t) {\n\t\treturn false;\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isURI;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a URI.\n*\n* @module @stdlib/assert/is-uri\n*\n* @example\n* var isURI = require( '@stdlib/assert/is-uri' );\n*\n* var bool = isURI( 'http://google.com' );\n* // returns true\n*\n* bool = isURI( 'http://localhost/' );\n* // returns true\n*\n* bool = isURI( 'http://example.w3.org/path%20with%20spaces.html' );\n* // returns true\n*\n* bool = isURI( 'http://example.w3.org/%20' );\n* // returns true\n*\n* bool = isURI( 'ftp://ftp.is.co.za/rfc/rfc1808.txt' );\n* // returns true\n*\n* bool = isURI( 'ftp://ftp.is.co.za/../../../rfc/rfc1808.txt' );\n* // returns true\n*\n* bool = isURI( 'http://www.ietf.org/rfc/rfc2396.txt' );\n* // returns true\n*\n* bool = isURI( 'ldap://[2001:db8::7]/c=GB?objectClass?one' );\n* // returns true\n*\n* bool = isURI( 'mailto:John.Doe@example.com' );\n* // returns true\n*\n* bool = isURI( 'news:comp.infosystems.www.servers.unix' );\n* // returns true\n*\n* bool = isURI( 'tel:+1-816-555-1212' );\n* // returns true\n*\n* bool = isURI( 'telnet://192.0.2.16:80/' );\n* // returns true\n*\n* bool = isURI( 'urn:oasis:names:specification:docbook:dtd:xml:4.1.2' );\n* // returns true\n*\n* // No scheme:\n* bool = isURI( '' );\n* // returns false\n*\n* // No scheme:\n* bool = isURI( 'foo' );\n* // returns false\n*\n* // No scheme:\n* bool = isURI( 'foo@bar' );\n* // returns false\n*\n* // No scheme:\n* bool = isURI( '://foo/' );\n* // returns false\n*\n* // Illegal characters:\n* bool = isURI( 'http://' );\n* // returns false\n*\n* // Invalid path:\n* bool = isURI( 'http:////foo.html' );\n* // returns false\n*\n* // Incomplete hex escapes...\n* bool = isURI( 'http://example.w3.org/%a' );\n* // returns false\n*\n* bool = isURI( 'http://example.w3.org/%a/foo' );\n* // returns false\n*\n* bool = isURI( 'http://example.w3.org/%at' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isURI = require( './../../is-uri' );\n\n\n// VARIABLES //\n\nvar RE_HTTPS = /^https?:\\/\\//;\n\n\n// MAIN //\n\n/**\n* Tests whether a value is an absolute HTTP(S) URI.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an absolute URI\n*\n* @example\n* var bool = isAbsoluteHttpURI( 'https://example.com' );\n* // returns true\n*\n* @example\n* var bool = isAbsoluteHttpURI( 'https://example.com/docs#heading' );\n* // returns true\n*\n* @example\n* var bool = isAbsoluteHttpURI( 'ftp://example.com' );\n* // returns false\n*\n* @example\n* var bool = isAbsoluteHttpURI( '/dashboard' );\n* // returns false\n*\n* @example\n* var bool = isAbsoluteHttpURI( './png.json' );\n* // returns false\n*\n* @example\n* var bool = isAbsoluteHttpURI( null );\n* // returns false\n*/\nfunction isAbsoluteHttpURI( value ) {\n\treturn isURI( value ) && RE_HTTPS.test( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAbsoluteHttpURI;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a value is an absolute HTTP(S) URI.\n*\n* @module @stdlib/assert/is-absolute-http-uri\n*\n* @example\n* var isAbsoluteHttpURI = require( '@stdlib/assert/is-absolute-http-uri' );\n*\n* var bool = isAbsoluteHttpURI( 'http://example.com' );\n* // returns true\n*\n* bool = isAbsoluteHttpURI( './beep/boop' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the current process is running on Windows.\n*\n* @module @stdlib/assert/is-windows\n* @type {boolean}\n*\n* @example\n* var PLATFORM = require( '@stdlib/os/platform' );\n* var IS_WINDOWS = require( '@stdlib/assert/is-windows' );\n*\n* if ( IS_WINDOWS ) {\n* console.log( 'Running on Windows...' );\n* } else {\n* console.log( 'Running on %s...', PLATFORM );\n* }\n*/\n\n// MODULES //\n\nvar PLATFORM = require( '@stdlib/os/platform' );\n\n\n// MAIN //\n\n/**\n* Boolean indicating if the current process is running on Windows.\n*\n* @constant\n* @type {boolean}\n*/\nvar IS_WINDOWS = ( PLATFORM === 'win32' );\n\n\n// EXPORTS //\n\nmodule.exports = IS_WINDOWS;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a POSIX absolute path.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a POSIX absolute path\n*\n* @example\n* var bool = isAbsolutePath( '/foo/bar/baz' );\n* // returns true\n*\n* @example\n* var bool = isAbsolutePath( 'foo/bar/baz' );\n* // returns false\n*/\nfunction isAbsolutePath( value ) {\n\t// Must be string longer than `0` characters and start with a forward slash '/':\n\treturn (\n\t\tisString( value ) &&\n\t\tvalue.length > 0 &&\n\t\tvalue.charCodeAt( 0 ) === 47\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAbsolutePath;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Windows absolute path.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a Windows absolute path\n*\n* @example\n* var bool = isAbsolutePath( 'C:\\\\foo\\\\bar\\\\baz' );\n* // returns true\n*\n* @example\n* var bool = isAbsolutePath( 'foo\\\\bar\\\\baz' );\n* // returns false\n*/\nfunction isAbsolutePath( value ) {\n\tvar code;\n\tvar len;\n\tif ( !isString( value ) ) {\n\t\treturn false;\n\t}\n\tlen = value.length;\n\tif ( len === 0 ) {\n\t\treturn false;\n\t}\n\tcode = value.charCodeAt( 0 );\n\n\t// Check if the string begins with either a forward '/' or backward slash '\\\\':\n\tif ( code === 47 || code === 92 ) {\n\t\treturn true;\n\t}\n\t// Check for a device root (e.g., C:\\\\)...\n\tif (\n\t\t(code >= 65 && code <= 90) || // A-Z\n\t\t(code >= 97 && code <= 122) // a-z\n\t) {\n\t\t// Check if the string has a colon ':' character:\n\t\tif ( len > 2 && value.charCodeAt( 1 ) === 58 ) {\n\t\t\tcode = value.charCodeAt( 2 );\n\n\t\t\t// Check for either a forward or backward slash:\n\t\t\tif ( code === 47 || code === 92 ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAbsolutePath;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an absolute path.\n*\n* @module @stdlib/assert/is-absolute-path\n*\n* @example\n* var IS_WINDOWS = require( '@stdlib/assert/is-windows' );\n* var isAbsolutePath = require( '@stdlib/assert/is-absolute-path' );\n*\n* var bool;\n* if ( IS_WINDOWS ) {\n* bool = isAbsolutePath( 'C:\\\\foo\\\\bar\\\\baz' );\n* // returns true\n* } else {\n* bool = isAbsolutePath( '/foo/bar/baz' );\n* // returns true\n* }\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar IS_WINDOWS = require( './../../is-windows' );\nvar isAbsolutePathPosix = require( './posix.js' );\nvar isAbsolutePathWin32 = require( './win32.js' );\n\n\n// MAIN //\n\nvar isAbsolutePath;\nif ( IS_WINDOWS ) {\n\tisAbsolutePath = isAbsolutePathWin32;\n} else {\n\tisAbsolutePath = isAbsolutePathPosix;\n}\nsetReadOnly( isAbsolutePath, 'posix', isAbsolutePathPosix );\nsetReadOnly( isAbsolutePath, 'win32', isAbsolutePathWin32 );\n\n\n// EXPORTS //\n\nmodule.exports = isAbsolutePath;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isURI = require( './../../is-uri' );\n\n\n// MAIN //\n\n/**\n* Tests whether a value is an absolute URI.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an absolute URI\n*\n* @example\n* var bool = isAbsoluteURI( 'https://example.com' );\n* // returns true\n*\n* @example\n* var bool = isAbsoluteURI( 'https://example.com/docs#heading' );\n* // returns true\n*\n* @example\n* var bool = isAbsoluteURI( '/dashboard' );\n* // returns false\n*\n* @example\n* var bool = isAbsoluteURI( './png.json' );\n* // returns false\n*\n* @example\n* var bool = isAbsoluteURI( null );\n* // returns false\n*/\nfunction isAbsoluteURI( value ) {\n\treturn isURI( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAbsoluteURI;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a value is an absolute URI.\n*\n* @module @stdlib/assert/is-absolute-uri\n*\n* @example\n* var isAbsoluteURI = require( '@stdlib/assert/is-absolute-uri' );\n*\n* var bool = isAbsoluteURI( 'http://example.com' );\n* // returns true\n*\n* bool = isAbsoluteURI( './beep/boop' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isCollection = require( './../../is-collection' );\nvar isFunction = require( './../../is-function' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array-like object supporting the accessor (get/set) protocol.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an accessor array\n*\n* @example\n* var Complex128Array = require( '@stdlib/array/complex128' );\n*\n* var bool = isAccessorArray( new Complex128Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isAccessorArray( [] );\n* // returns false\n*\n* @example\n* var bool = isAccessorArray( {} );\n* // returns false\n*/\nfunction isAccessorArray( value ) {\n\treturn (\n\t\tisCollection( value ) &&\n\t\tisFunction( value.get ) &&\n\t\tisFunction( value.set )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAccessorArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object supporting the accessor (get/set) protocol.\n*\n* @module @stdlib/assert/is-accessor-array\n*\n* @example\n* var Complex128Array = require( '@stdlib/array/complex128array' );\n* var isAccessorArray = require( '@stdlib/assert/is-accessor-array' );\n*\n* var bool = isAccessorArray( new Complex128Array( 10 ) );\n* // returns true\n*\n* bool = isAccessorArray( [] );\n* // returns false\n*\n* bool = isAccessorArray( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptor = require( '@stdlib/utils/property-descriptor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property has an accessor descriptor.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property has an accessor descriptor\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function getter() {\n* return 'beep';\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'get': getter\n* });\n*\n* var bool = isAccessorProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isAccessorProperty( obj, 'beep' );\n* // returns true\n*/\nfunction isAccessorProperty( value, property ) {\n\tvar desc = propertyDescriptor( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\t(\n\t\t\ttypeof desc.get === 'function' ||\n\t\t\ttypeof desc.set === 'function'\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAccessorProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property has an accessor descriptor.\n*\n* @module @stdlib/assert/is-accessor-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isAccessorProperty = require( '@stdlib/assert/is-accessor-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function getter() {\n* return 'beep';\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'get': getter\n* });\n*\n* var bool = isAccessorProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isAccessorProperty( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property has an accessor descriptor.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property has an accessor descriptor\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function getter() {\n* return 'beep';\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'get': getter\n* });\n*\n* var bool = isAccessorPropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isAccessorPropertyIn( obj, 'beep' );\n* // returns true\n*/\nfunction isAccessorPropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\t(\n\t\t\ttypeof desc.get === 'function' ||\n\t\t\ttypeof desc.set === 'function'\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAccessorPropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property has an accessor descriptor.\n*\n* @module @stdlib/assert/is-accessor-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isAccessorPropertyIn = require( '@stdlib/assert/is-accessor-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function getter() {\n* return 'beep';\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'get': getter\n* });\n*\n* var bool = isAccessorPropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isAccessorPropertyIn( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an alphagram.\n*\n* @param {*} x - value to test\n* @returns {boolean} boolean indicating if a value is an alphagram\n*\n* @example\n* var out = isAlphagram( 'beep' );\n* // returns true\n*\n* @example\n* var out = isAlphagram( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var out = isAlphagram( 'zba' );\n* // returns false\n*\n* @example\n* var out = isAlphagram( '' );\n* // returns false\n*\n* @example\n* var out = isAlphagram( 123 );\n* // returns false\n*/\nfunction isAlphagram( x ) {\n\tvar len;\n\tvar i;\n\n\tif ( !isString( x ) ) {\n\t\treturn false;\n\t}\n\tlen = x.length;\n\tif ( !len ) {\n\t\treturn false;\n\t}\n\tfor ( i = 1; i < len; i++ ) {\n\t\tif ( x[ i-1 ] > x[ i ] ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAlphagram;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an alphagram.\n*\n* @module @stdlib/assert/is-alphagram\n*\n* @example\n* var isAlphagram = require( '@stdlib/assert/is-alphagram' );\n*\n* var out = isAlphagram( 'beep' );\n* // returns true\n*\n* out = isAlphagram( 'zba' );\n* // returns false\n*\n* out = isAlphagram( '' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\n// Character codes:\nvar ZERO = 48;\nvar NINE = 57;\nvar A = 65;\nvar Z = 90;\nvar a = 97;\nvar z = 122;\n\n\n// MAIN //\n\n/**\n* Tests whether a string contains only alphanumeric characters.\n*\n* @param {*} x - value to test\n* @returns {boolean} boolean indicating if a string contains only alphanumeric characters\n*\n* @example\n* var out = isAlphaNumeric( 'abc123def456' );\n* // returns true\n*\n* @example\n* var out = isAlphaNumeric( '0xffffff' );\n* // returns true\n*\n* @example\n* var out = isAlphaNumeric( '123' );\n* // returns true\n*\n* @example\n* var out = isAlphaNumeric( '' );\n* // returns false\n*\n* @example\n* var out = isAlphaNumeric( 123 );\n* // returns false\n*/\nfunction isAlphaNumeric( x ) {\n\tvar len;\n\tvar ch;\n\tvar i;\n\tif ( !isString( x ) ) {\n\t\treturn false;\n\t}\n\tlen = x.length;\n\tif ( len === 0 ) {\n\t\treturn false;\n\t}\n\tfor ( i = 0; i < len; i++ ) {\n\t\tch = x.charCodeAt( i );\n\t\tif (\n\t\t\t(ch < ZERO || ch > NINE) &&\n\t\t\t(ch < a || ch > z) &&\n\t\t\t(ch < A || ch > Z)\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAlphaNumeric;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a string contains only alphanumeric characters.\n*\n* @module @stdlib/assert/is-alphanumeric\n*\n* @example\n* var isAlphaNumeric = require( '@stdlib/assert/is-alphanumeric' );\n*\n* var out = isAlphaNumeric( 'abc123a' );\n* // returns true\n*\n* out = isAlphaNumeric( '0xffffff' );\n* // returns true\n*\n* out = isAlphaNumeric( '' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar lowercase = require( '@stdlib/string/base/lowercase' );\nvar replace = require( '@stdlib/string/base/replace' );\nvar isString = require( './../../is-string' ).isPrimitive;\nvar format = require( '@stdlib/string/format' );\n\n\n// VARIABLES //\n\nvar RE_NON_ALPHANUMERIC = /[^a-z0-9]/g;\n\n\n// FUNCTIONS //\n\n/**\n* Comparator function for sorting characters in ascending order.\n*\n* @private\n* @param {string} a - character\n* @param {string} b - character\n* @returns {number} comparison value\n*/\nfunction ascending( a, b ) {\n\tif ( a < b ) {\n\t\treturn -1;\n\t}\n\tif ( a === b ) {\n\t\treturn 0;\n\t}\n\treturn 1;\n}\n\n\n// MAIN //\n\n/**\n* Tests if a value is an anagram.\n*\n* @param {string} str - comparison string\n* @param {*} x - value to test\n* @throws {TypeError} first argument must be a string\n* @returns {boolean} boolean indicating if a value is an anagram\n*\n* @example\n* var bool = isAnagram( 'I am a weakish speller', 'William Shakespeare' );\n* // returns true\n*\n* @example\n* var bool = isAnagram( 'bat', 'tabba' );\n* // returns false\n*/\nfunction isAnagram( str, x ) {\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isString( x ) ) {\n\t\treturn false;\n\t}\n\tstr = replace( lowercase( str ), RE_NON_ALPHANUMERIC, '' );\n\tx = replace( lowercase( x ), RE_NON_ALPHANUMERIC, '' );\n\tif ( str.length !== x.length ) {\n\t\treturn false;\n\t}\n\tstr = str.split( '' ).sort( ascending ).join( '' );\n\tx = x.split( '' ).sort( ascending ).join( '' );\n\treturn ( str === x );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAnagram;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an anagram.\n*\n* @module @stdlib/assert/is-anagram\n*\n* @example\n* var isAnagram = require( '@stdlib/assert/is-anagram' );\n*\n* var bool = isAnagram( 'I am a weakish speller', 'William Shakespeare' );\n* // returns true\n*\n* bool = isAnagram( 'bat', 'tabba' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// MAIN //\n\n/**\n* Tests whether a value is an `arguments` object.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an `arguments` object\n*\n* @example\n* function foo() {\n* return arguments;\n* }\n*\n* var bool = isArguments( foo() );\n* // returns true\n*\n* @example\n* var bool = isArguments( [] );\n* // returns false\n*/\nfunction isArguments( value ) {\n\treturn ( nativeClass( value ) === '[object Arguments]' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArguments;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isArguments = require( './main.js' );\n\n\n// VARIABLES //\n\nvar bool;\n\n\n// FUNCTIONS //\n\n/**\n* Detects whether an environment returns the expected internal class of the `arguments` object.\n*\n* @private\n* @returns {boolean} boolean indicating whether an environment behaves as expected\n*\n* @example\n* var bool = detect();\n* // returns \n*/\nfunction detect() {\n\treturn isArguments( arguments );\n}\n\n\n// MAIN //\n\nbool = detect();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if an object's own property is enumerable.\n*\n* @private\n* @name isEnumerableProperty\n* @type {Function}\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is enumerable\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = isEnumerableProperty( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = isEnumerableProperty( beep, 'hasOwnProperty' );\n* // returns false\n*/\nvar isEnumerableProperty = Object.prototype.propertyIsEnumerable;\n\n\n// EXPORTS //\n\nmodule.exports = isEnumerableProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isEnum = require( './native.js' );\n\n\n// VARIABLES //\n\nvar bool;\n\n\n// FUNCTIONS //\n\n/**\n* Detects whether an environment has a bug where String indices are not detected as \"enumerable\" properties. Observed in Node v0.10.\n*\n* @private\n* @returns {boolean} boolean indicating whether an environment has the bug\n*/\nfunction detect() {\n\treturn !isEnum.call( 'beep', '0' );\n}\n\n\n// MAIN //\n\nbool = detect();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' );\nvar isnan = require( './../../is-nan' ).isPrimitive;\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar isEnum = require( './native.js' );\nvar hasStringEnumBug = require( './has_string_enumerability_bug.js' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property is enumerable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is enumerable\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = isEnumerableProperty( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = isEnumerableProperty( beep, 'hasOwnProperty' );\n* // returns false\n*/\nfunction isEnumerableProperty( value, property ) {\n\tvar bool;\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\tbool = isEnum.call( value, property );\n\tif ( !bool && hasStringEnumBug && isString( value ) ) {\n\t\t// Note: we only check for indices, as properties attached to a `String` object are properly detected as enumerable above.\n\t\tproperty = +property;\n\t\treturn (\n\t\t\t!isnan( property ) &&\n\t\t\tisInteger( property ) &&\n\t\t\tproperty >= 0 &&\n\t\t\tproperty < value.length\n\t\t);\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEnumerableProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property is enumerable.\n*\n* @module @stdlib/assert/is-enumerable-property\n*\n* @example\n* var isEnumerableProperty = require( '@stdlib/assert/is-enumerable-property' );\n*\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = isEnumerableProperty( beep, 'boop' );\n* // returns true\n*\n* bool = isEnumerableProperty( beep, 'hasOwnProperty' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasOwnProp = require( './../../has-own-property' );\nvar isEnumerableProperty = require( './../../is-enumerable-property' );\nvar isArray = require( './../../is-array' );\nvar isInteger = require( '@stdlib/math/base/assert/is-integer' );\nvar MAX_LENGTH = require( '@stdlib/constants/uint32/max' );\n\n\n// MAIN //\n\n/**\n* Tests whether a value is an `arguments` object.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an `arguments` object\n*\n* @example\n* function foo() {\n* return arguments;\n* }\n*\n* var bool = isArguments( foo() );\n* // returns true\n*\n* @example\n* var bool = isArguments( [] );\n* // returns false\n*/\nfunction isArguments( value ) {\n\treturn (\n\t\tvalue !== null &&\n\t\ttypeof value === 'object' &&\n\t\t!isArray( value ) &&\n\t\ttypeof value.length === 'number' &&\n\t\tisInteger( value.length ) &&\n\t\tvalue.length >= 0 &&\n\t\tvalue.length <= MAX_LENGTH &&\n\t\thasOwnProp( value, 'callee' ) &&\n\t\t!isEnumerableProperty( value, 'callee' )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArguments;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an `arguments` object.\n*\n* @module @stdlib/assert/is-arguments\n*\n* @example\n* var isArguments = require( '@stdlib/assert/is-arguments' );\n*\n* function foo() {\n* return arguments;\n* }\n*\n* var bool = isArguments( foo() );\n* // returns true\n*\n* bool = isArguments( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar hasArgumentsClass = require( './detect.js' );\nvar main = require( './main.js' );\nvar polyfill = require( './polyfill.js' );\n\n\n// MAIN //\n\nvar isArguments;\nif ( hasArgumentsClass ) {\n\tisArguments = main;\n} else {\n\tisArguments = polyfill;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArguments;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar arrayfun = require( './../../tools/array-function' );\nvar isArray = require( './../../is-array' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array of arrays.\n*\n* @name isArrayArray\n* @type {Function}\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an array of arrays\n*\n* @example\n* var bool = isArrayArray( [ [], [] ] );\n* // returns true\n*\n* bool = isArrayArray( [ {}, {} ] );\n* // returns false\n*\n* bool = isArrayArray( [] );\n* // returns false\n*/\nvar isArrayArray = arrayfun( isArray );\n\n\n// EXPORTS //\n\nmodule.exports = isArrayArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array of arrays.\n*\n* @module @stdlib/assert/is-array-array\n*\n* @example\n* var isArrayArray = require( '@stdlib/assert/is-array-array' );\n*\n* var bool = isArrayArray( [ [], [] ] );\n* // returns true\n*\n* bool = isArrayArray( [ {}, {} ] );\n* // returns false\n*\n* bool = isArrayArray( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar MAX_ARRAY_LENGTH = require( '@stdlib/constants/array/max-array-length' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a valid array length.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a valid array length\n*\n* @example\n* var bool = isArrayLength( 3 );\n* // returns true\n*\n* @example\n* var bool = isArrayLength( 3.14 );\n* // returns false\n*/\nfunction isArrayLength( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0 &&\n\t\tvalue <= MAX_ARRAY_LENGTH\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArrayLength;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a valid array length.\n*\n* @module @stdlib/assert/is-array-length\n*\n* @example\n* var isArrayLength = require( '@stdlib/assert/is-array-length' );\n*\n* var bool = isArrayLength( 5 );\n* // returns true\n*\n* bool = isArrayLength( 2.0e200 );\n* // returns false\n*\n* bool = isArrayLength( -3.14 );\n* // returns false\n*\n* bool = isArrayLength( null );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( '@stdlib/math/base/assert/is-integer' );\nvar MAX_LENGTH = require( '@stdlib/constants/array/max-array-length' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is array-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is array-like\n*\n* @example\n* var bool = isArrayLike( [] );\n* // returns true\n*\n* @example\n* var bool = isArrayLike( {'length':10} );\n* // returns true\n*/\nfunction isArrayLike( value ) {\n\treturn (\n\t\tvalue !== void 0 &&\n\t\tvalue !== null &&\n\t\ttypeof value !== 'function' &&\n\t\ttypeof value.length === 'number' &&\n\t\tisInteger( value.length ) &&\n\t\tvalue.length >= 0 &&\n\t\tvalue.length <= MAX_LENGTH\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is array-like.\n*\n* @module @stdlib/assert/is-array-like\n*\n* @example\n* var isArrayLike = require( '@stdlib/assert/is-array-like' );\n*\n* var bool = isArrayLike( [] );\n* // returns true\n*\n* bool = isArrayLike( { 'length': 10 } );\n* // returns true\n*\n* bool = isArrayLike( 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( '@stdlib/math/base/assert/is-integer' );\nvar MAX_LENGTH = require( '@stdlib/constants/array/max-array-length' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array-like object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is an array-like object\n*\n* @example\n* var bool = isArrayLikeObject( [] );\n* // returns true\n*\n* @example\n* var bool = isArrayLikeObject( { 'length':10 } );\n* // returns true\n*\n* @example\n* var bool = isArrayLikeObject( 'beep' );\n* // returns false\n*/\nfunction isArrayLikeObject( value ) {\n\treturn (\n\t\ttypeof value === 'object' &&\n\t\tvalue !== null &&\n\t\ttypeof value.length === 'number' &&\n\t\tisInteger( value.length ) &&\n\t\tvalue.length >= 0 &&\n\t\tvalue.length <= MAX_LENGTH\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArrayLikeObject;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object.\n*\n* @module @stdlib/assert/is-array-like-object\n*\n* @example\n* var isArrayLikeObject = require( '@stdlib/assert/is-array-like-object' );\n*\n* var bool = isArrayLikeObject( [] );\n* // returns true\n*\n* bool = isArrayLikeObject( { 'length':10 } );\n* // returns true\n*\n* bool = isArrayLikeObject( 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar constantFunction = require( '@stdlib/utils/constant-function' );\n\n\n// MAIN //\n\nvar isArrayBufferView = constantFunction( false );\n\n\n// EXPORTS //\n\nmodule.exports = isArrayBufferView;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Int8Array = require( '@stdlib/array/int8' );\nvar Uint8Array = require( '@stdlib/array/uint8' );\nvar Uint8ClampedArray = require( '@stdlib/array/uint8c' );\nvar Int16Array = require( '@stdlib/array/int16' );\nvar Uint16Array = require( '@stdlib/array/uint16' );\nvar Int32Array = require( '@stdlib/array/int32' );\nvar Uint32Array = require( '@stdlib/array/uint32' );\nvar Float32Array = require( '@stdlib/array/float32' );\nvar Float64Array = require( '@stdlib/array/float64' );\n\n\n// MAIN //\n\nvar CTORS = [\n\tFloat64Array,\n\tFloat32Array,\n\tInt32Array,\n\tUint32Array,\n\tInt16Array,\n\tUint16Array,\n\tInt8Array,\n\tUint8Array,\n\tUint8ClampedArray\n];\n\n\n// EXPORTS //\n\nmodule.exports = CTORS;\n", "[\n\t\"Int8Array\",\n\t\"Uint8Array\",\n\t\"Uint8ClampedArray\",\n\t\"Int16Array\",\n\t\"Uint16Array\",\n\t\"Int32Array\",\n\t\"Uint32Array\",\n\t\"Float32Array\",\n\t\"Float64Array\"\n]\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar ctorName = require( '@stdlib/utils/constructor-name' );\nvar fcnName = require( '@stdlib/utils/function-name' );\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar hasFloat64ArraySupport = require( './../../has-float64array-support' );\nvar Float64Array = require( '@stdlib/array/float64' );\nvar CTORS = require( './ctors.js' );\nvar NAMES = require( './names.json' );\n\n\n// VARIABLES //\n\n// Abstract `TypedArray` class:\nvar TypedArray = ( hasFloat64ArraySupport() ) ? getPrototypeOf( Float64Array ) : Dummy; // eslint-disable-line max-len\n\n// Ensure abstract typed array class has expected name:\nTypedArray = ( fcnName( TypedArray ) === 'TypedArray' ) ? TypedArray : Dummy;\n\n\n// FUNCTIONS //\n\n/**\n* Dummy constructor.\n*\n* @private\n*/\nfunction Dummy() {} // eslint-disable-line no-empty-function\n\n\n// MAIN //\n\n/**\n* Tests if a value is a typed array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a typed array\n*\n* @example\n* var Int8Array = require( '@stdlib/array/int8' );\n*\n* var bool = isTypedArray( new Int8Array( 10 ) );\n* // returns true\n*/\nfunction isTypedArray( value ) {\n\tvar v;\n\tvar i;\n\n\tif ( typeof value !== 'object' || value === null ) {\n\t\treturn false;\n\t}\n\t// Check for the abstract class...\n\tif ( value instanceof TypedArray ) {\n\t\treturn true;\n\t}\n\t// Check for typed array objects from the same realm (same Node.js `vm` or same `Window` object)...\n\tfor ( i = 0; i < CTORS.length; i++ ) {\n\t\tif ( value instanceof CTORS[ i ] ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\t// Walk the prototype tree until we find an object having a desired class...\n\twhile ( value ) {\n\t\tv = ctorName( value );\n\t\tfor ( i = 0; i < NAMES.length; i++ ) {\n\t\t\tif ( NAMES[ i ] === v ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\tvalue = getPrototypeOf( value );\n\t}\n\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isTypedArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a typed array.\n*\n* @module @stdlib/assert/is-typed-array\n*\n* @example\n* var Int8Array = require( '@stdlib/array/int8' );\n* var isTypedArray = require( '@stdlib/assert/is-typed-array' );\n*\n* var bool = isTypedArray( new Int8Array( 10 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isTypedArray = require( './../../is-typed-array' );\nvar isDataView = require( './../../is-dataview' );\n\n\n// MAIN //\n\n/**\n* Polyfill for determining whether an object is an array buffer view.\n*\n* ## Notes\n*\n* - This polyfill should only be used in environments which do not provide native `ArrayBuffer.isView` support.\n* - The implementation checks whether a value is a data view or typed array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an array buffer view\n*\n* @example\n* var Int8Array = require( '@stdlib/array/int8' );\n* var bool = isArrayBufferView( new Int8Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isArrayBufferView( [] );\n* // returns false\n*/\nfunction isArrayBufferView( value ) {\n\treturn isTypedArray( value ) || isDataView( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArrayBufferView;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar ArrayBuffer = require( '@stdlib/array/buffer' );\n\n\n// MAIN //\n\n/**\n* Determines whether an object is an array buffer view.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an array buffer view\n*\n* @example\n* var Int8Array = require( '@stdlib/array/int8' );\n* var bool = isArrayBufferView( new Int8Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isArrayBufferView( [] );\n* // returns false\n*/\nfunction isArrayBufferView( value ) {\n\treturn ArrayBuffer.isView( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArrayBufferView;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an `ArrayBuffer` view.\n*\n* @module @stdlib/assert/is-arraybuffer-view\n*\n* @example\n* var isArrayBufferView = require( '@stdlib/assert/is-arraybuffer-view' );\n* var Int32Array = require( '@stdlib/array/int32' );\n*\n* var bool = isArrayBufferView( new Int32Array( 10 ) );\n* // returns true\n*\n* bool = isArrayBufferView( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar hasArrayBufferSupport = require( './../../has-arraybuffer-support' );\nvar isFunction = require( './../../is-function' );\nvar ArrayBuffer = require( '@stdlib/array/buffer' );\nvar noArraybuffer = require( './no_arraybuffer.js' );\nvar polyfill = require( './polyfill.js' );\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar isArrayBufferView;\nif ( hasArrayBufferSupport() ) {\n\tif ( isFunction( ArrayBuffer.isView ) ) {\n\t\tisArrayBufferView = main;\n\t} else {\n\t\tisArrayBufferView = polyfill;\n\t}\n} else {\n\tisArrayBufferView = noArraybuffer;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArrayBufferView;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFunction = require( './../../is-function' );\nvar function2string = require( '@stdlib/function/to-string' );\n\n\n// VARIABLES //\n\nvar RE_ARROW_FUNCTION = /^(?:\\([^)]*\\) *|[^=]*)=>/;\n\n\n// MAIN //\n\n/**\n* Tests whether a value is an arrow function.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an arrow function\n*\n* @example\n* var arrow = () => {};\n* var bool = isArrowFunction( arrow );\n* // returns true\n*\n* @example\n* function beep() {\n* return 'beep';\n* }\n*\n* var bool = isArrowFunction( beep );\n* // returns false\n*/\nfunction isArrowFunction( value ) {\n\tvar str;\n\tif ( !isFunction( value ) ) {\n\t\treturn false;\n\t}\n\tstr = function2string( value );\n\treturn RE_ARROW_FUNCTION.test( str );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArrowFunction;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an arrow function.\n*\n* @module @stdlib/assert/is-arrow-function\n*\n* @example\n* var isArrowFunction = require( '@stdlib/assert/is-arrow-function' );\n*\n* var beep = () => 'beep';\n*\n* var bool = isArrowFunction( beep );\n* // returns true\n\n* function boop() {\n* return 'boop';\n* }\n*\n* bool = isArrowFunction( boop );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\nvar MAX_ASCII = 127;\n\n\n// MAIN //\n\n/**\n* Tests whether a character belongs to the ASCII character set and whether this is true for all characters in a provided string.\n*\n* @param {*} x - value to test\n* @returns {boolean} boolean indicating if a string has all ASCII characters\n*\n* @example\n* var out = isASCII( 'beep' );\n* // returns true\n*\n* @example\n* var out = isASCII( '\u00C8' );\n* // returns false\n*\n* @example\n* var out = isASCII( '' );\n* // returns false\n*\n* @example\n* var out = isASCII( 123 );\n* // returns false\n*/\nfunction isASCII( x ) {\n\tvar len;\n\tvar i;\n\tif ( !isString( x ) ) {\n\t\treturn false;\n\t}\n\tlen = x.length;\n\tif ( !len ) {\n\t\treturn false;\n\t}\n\tfor ( i = 0; i < len; i++ ) {\n\t\tif ( x.charCodeAt( i ) > MAX_ASCII ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isASCII;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a character belongs to the ASCII character set and whether this is true for all characters in a provided string.\n*\n* @module @stdlib/assert/is-ascii\n*\n* @example\n* var isASCII = require( '@stdlib/assert/is-ascii' );\n*\n* var out = isASCII( 'beep' );\n* // returns true\n*\n* out = isASCII( '\u00C8' );\n* // returns false\n*\n* out = isASCII( '' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is between two values.\n*\n* @param {*} value - value to test\n* @param {*} a - left comparison value\n* @param {*} b - right comparison value\n* @param {string} [left=\"closed\"] - indicates whether the left comparison value is inclusive\n* @param {string} [right=\"closed\"] - indicates whether the right comparison value is inclusive\n* @throws {TypeError} `left` must be a recognized string\n* @throws {TypeError} `right` must be a recognized string\n* @returns {boolean} boolean indicating whether a value is between two values\n*\n* @example\n* var bool = isBetween( 3.14, 3.0, 4.0 );\n* // returns true\n*\n* @example\n* var bool = isBetween( 4.5, 3.0, 4.0 );\n* // returns false\n*\n* @example\n* var bool = isBetween( 3.14, 3.14, 4.0 );\n* // returns true\n*\n* @example\n* var bool = isBetween( 3.14, 3.14, 4.0, 'open', 'closed' );\n* // returns false\n*\n* @example\n* var bool = isBetween( 3.14, 3.0, 3.14 );\n* // returns true\n*\n* @example\n* var bool = isBetween( 3.14, 3.0, 3.14, 'closed', 'open' );\n* // returns false\n*/\nfunction isBetween( value, a, b, left, right ) {\n\tif ( arguments.length > 3 ) {\n\t\tif ( left !== 'closed' && left !== 'open' ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Fourth argument must be one of the following: \"%s\". Value: `%s`.', [ 'closed', 'open' ].join( '\", \"' ), left ) );\n\t\t}\n\t\tif ( right !== 'closed' && right !== 'open' ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Fifth argument must be one of the following: \"%s\". Value: `%s`.', [ 'closed', 'open' ].join( '\", \"' ), right ) );\n\t\t}\n\t}\n\tif ( left === 'closed' || left === void 0 ) {\n\t\tif ( right === 'closed' || right === void 0 ) {\n\t\t\treturn ( value >= a && value <= b );\n\t\t}\n\t\treturn ( value >= a && value < b );\n\t}\n\tif ( right === 'closed' || right === void 0 ) {\n\t\treturn ( value > a && value <= b );\n\t}\n\treturn ( value > a && value < b );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBetween;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is between two values.\n*\n* @module @stdlib/assert/is-between\n*\n* @example\n* var isBetween = require( '@stdlib/assert/is-between' );\n*\n* var bool = isBetween( 3.14, 3.0, 4.0 );\n* // returns true\n*\n* bool = isBetween( 4.5, 3.0, 4.0 );\n* // returns false\n*\n* bool = isBetween( 3.14, 3.14, 4.0 );\n* // returns true\n*\n* bool = isBetween( 3.14, 3.14, 4.0, 'open', 'closed' );\n* // returns false\n*\n* bool = isBetween( 3.14, 3.0, 3.14 );\n* // returns true\n*\n* bool = isBetween( 3.14, 3.0, 3.14, 'closed', 'open' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isCollection = require( './../../is-collection' );\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array-like object where every element is between two values.\n*\n* @param {*} value - value to test\n* @param {*} a - left comparison value\n* @param {*} b - right comparison value\n* @param {string} [left=\"closed\"] - indicates whether the left comparison value is inclusive\n* @param {string} [right=\"closed\"] - indicates whether the right comparison value is inclusive\n* @throws {TypeError} `left` must be a recognized string\n* @throws {TypeError} `right` must be a recognized string\n* @returns {boolean} boolean indicating whether a value is an array-like object where every element is between two values\n*\n* @example\n* var arr = [ 3.0, 3.14, 4.0 ];\n* var bool = isBetweenArray( arr, 3.0, 4.0 );\n* // returns true\n*\n* @example\n* var arr = [ 3.0, 3.14, 4.0 ];\n* var bool = isBetweenArray( arr, 3.14, 4.0 );\n* // returns false\n*\n* @example\n* var arr = [ 3.0, 3.14, 4.0 ];\n* var bool = isBetweenArray( arr, 3.0, 3.14 );\n* // returns false\n*\n* @example\n* var arr = [ 3.0, 3.14, 4.0 ];\n* var bool = isBetweenArray( arr, 3.0, 4.0, 'open', 'closed' );\n* // returns false\n*\n* @example\n* var arr = [ 3.0, 3.14, 4.0 ];\n* var bool = isBetweenArray( arr, 3.0, 4.0, 'closed', 'open' );\n* // returns false\n*/\nfunction isBetweenArray( value, a, b, left, right ) {\n\tvar len;\n\tvar i;\n\tif ( arguments.length > 3 ) {\n\t\tif ( left !== 'closed' && left !== 'open' ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Fourth argument must be one of the following: \"%s\". Value: `%s`.', [ 'closed', 'open' ].join( '\", \"' ), left ) );\n\t\t}\n\t\tif ( right !== 'closed' && right !== 'open' ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Fifth argument must be one of the following: \"%s\". Value: `%s`.', [ 'closed', 'open' ].join( '\", \"' ), right ) );\n\t\t}\n\t}\n\tif ( !isCollection( value ) ) {\n\t\treturn false;\n\t}\n\tlen = value.length;\n\tif ( len === 0 ) {\n\t\treturn false;\n\t}\n\tif ( left === 'closed' || left === void 0 ) {\n\t\tif ( right === 'closed' || right === void 0 ) {\n\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\tif ( value[ i ] < a || value[ i ] > b ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tif ( value[ i ] < a || value[ i ] >= b ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\tif ( right === 'closed' || right === void 0 ) {\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tif ( value[ i ] <= a || value[ i ] > b ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\tfor ( i = 0; i < len; i++ ) {\n\t\tif ( value[ i ] <= a || value[ i ] >= b ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBetweenArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object where every element is between two values.\n*\n* @module @stdlib/assert/is-between-array\n*\n* @example\n* var isBetweenArray = require( '@stdlib/assert/is-between-array' );\n*\n* var arr = [ 3.0, 3.14, 4.0 ];\n*\n* var bool = isBetweenArray( arr, 3.0, 4.0 );\n* // returns true\n*\n* bool = isBetweenArray( arr, 3.14, 4.0 );\n* // returns false\n*\n* bool = isBetweenArray( arr, 3.0, 3.14 );\n* // returns false\n*\n* bool = isBetweenArray( arr, 3.0, 4.0, 'open', 'closed' );\n* // returns false\n*\n* bool = isBetweenArray( arr, 3.0, 4.0, 'closed', 'open' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Uint8Array = require( '@stdlib/array/uint8' );\nvar Uint16Array = require( '@stdlib/array/uint16' );\n\n\n// MAIN //\n\nvar ctors = {\n\t'uint16': Uint16Array,\n\t'uint8': Uint8Array\n};\n\n\n// EXPORTS //\n\nmodule.exports = ctors;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar ctors = require( './ctors.js' );\n\n\n// VARIABLES //\n\nvar bool;\n\n\n// FUNCTIONS //\n\n/**\n* Returns a boolean indicating if an environment is big endian.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment is big endian\n*\n* @example\n* var bool = isBigEndian();\n* // returns \n*/\nfunction isBigEndian() {\n\tvar uint16view;\n\tvar uint8view;\n\n\tuint16view = new ctors[ 'uint16' ]( 1 );\n\n\t/*\n\t* Set the uint16 view to a value having distinguishable lower and higher order words.\n\t*\n\t* 4660 => 0x1234 => 0x12 0x34 => '00010010 00110100' => (0x12,0x34) == (18,52)\n\t*/\n\tuint16view[ 0 ] = 0x1234;\n\n\t// Create a uint8 view on top of the uint16 buffer:\n\tuint8view = new ctors[ 'uint8' ]( uint16view.buffer );\n\n\t// If big endian, the least significant byte will be last...\n\treturn ( uint8view[ 1 ] === 0x34 );\n}\n\n\n// MAIN //\n\nbool = isBigEndian();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if an environment is big endian.\n*\n* @module @stdlib/assert/is-big-endian\n*\n* @example\n* var IS_BIG_ENDIAN = require( '@stdlib/assert/is-big-endian' );\n*\n* var bool = IS_BIG_ENDIAN;\n* // returns \n*/\n\n// MODULES //\n\nvar IS_BIG_ENDIAN = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = IS_BIG_ENDIAN;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a binary string.\n*\n* @param {*} str - value to test\n* @returns {boolean} boolean indicating if an input value is a binary string\n*\n* @example\n* var bool = isBinaryString( '1000101' );\n* // returns true\n*\n* @example\n* var bool = isBinaryString( 'beep' );\n* // returns false\n*\n* @example\n* var bool = isBinaryString( '' );\n* // returns false\n*/\nfunction isBinaryString( str ) {\n\tvar ch;\n\tvar i;\n\tif ( !isString( str ) ) {\n\t\treturn false;\n\t}\n\tif ( str.length === 0 ) {\n\t\treturn false;\n\t}\n\tfor ( i = 0; i < str.length; i++ ) {\n\t\tch = str[ i ];\n\t\tif ( ch !== '1' && ch !== '0' ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBinaryString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a binary string.\n*\n* @module @stdlib/assert/is-binary-string\n*\n* @example\n* var isBinaryString = require( '@stdlib/assert/is-binary-string' );\n*\n* var bool = isBinaryString( '1000101' );\n* // returns true\n*\n* bool = isBinaryString( 'beep' );\n* // returns false\n*\n* bool = isBinaryString( '' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\nvar RE = /^[\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u0085\\u00A0\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000\\uFEFF]*$/;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a blank string (i.e., an empty string or a string consisting only of whitespace characters).\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if an input value is a blank string\n*\n* @example\n* var bool = isBlankString( ' ' );\n* // returns true\n*\n* @example\n* var bool = isBlankString( '' );\n* // returns true\n*\n* @example\n* var bool = isBlankString( '\\t\\t\\t' );\n* // returns true\n*\n* @example\n* var bool = isBlankString( '\\r\\n\\r\\n' );\n* // returns true\n*\n* @example\n* var bool = isBlankString( 'beep' );\n* // returns false\n*/\nfunction isBlankString( value ) {\n\tif ( !isString( value ) ) {\n\t\treturn false;\n\t}\n\treturn RE.test( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBlankString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a blank string (i.e., an empty string or a string consisting only of whitespace characters).\n*\n* @module @stdlib/assert/is-blank-string\n*\n* @example\n* var isBlankString = require( '@stdlib/assert/is-blank-string' );\n*\n* var bool = isBlankString( ' ' );\n* // returns true\n*\n* bool = isBlankString( '' );\n* // returns true\n*\n* bool = isBlankString( 'beep' );\n* // returns false\n*\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a boolean primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a boolean primitive\n*\n* @example\n* var bool = isBoolean( true );\n* // returns true\n*\n* @example\n* var bool = isBoolean( false );\n* // returns true\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n*\n* var bool = isBoolean( new Boolean( true ) );\n* // returns false\n*/\nfunction isBoolean( value ) {\n\treturn ( typeof value === 'boolean' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBoolean;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Boolean.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nmodule.exports = toString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar toString = require( './tostring.js' ); // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = test;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasToStringTag = require( './../../has-tostringtag-support' );\nvar nativeClass = require( '@stdlib/utils/native-class' );\nvar Boolean = require( '@stdlib/boolean/ctor' );\nvar test = require( './try2serialize.js' );\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a boolean object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a boolean object\n*\n* @example\n* var bool = isBoolean( true );\n* // returns false\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n*\n* var bool = isBoolean( new Boolean( false ) );\n* // returns true\n*/\nfunction isBoolean( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Boolean ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Boolean]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBoolean;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a boolean.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a boolean\n*\n* @example\n* var bool = isBoolean( false );\n* // returns true\n*\n* @example\n* var bool = isBoolean( true );\n* // returns true\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n*\n* var bool = isBoolean( new Boolean( false ) );\n* // returns true\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n*\n* var bool = isBoolean( new Boolean( true ) );\n* // returns true\n*/\nfunction isBoolean( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBoolean;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a boolean.\n*\n* @module @stdlib/assert/is-boolean\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n* var isBoolean = require( '@stdlib/assert/is-boolean' );\n*\n* var bool = isBoolean( false );\n* // returns true\n*\n* bool = isBoolean( new Boolean( false ) );\n* // returns true\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n* var isBoolean = require( '@stdlib/assert/is-boolean' ).isPrimitive;\n*\n* var bool = isBoolean( false );\n* // returns true\n*\n* bool = isBoolean( new Boolean( true ) );\n* // returns false\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n* var isBoolean = require( '@stdlib/assert/is-boolean' ).isObject;\n*\n* var bool = isBoolean( true );\n* // returns false\n*\n* bool = isBoolean( new Boolean( false ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isArrayLike = require( './../../../is-array-like' );\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Returns a function which tests if every element in an array-like object passes a test condition.\n*\n* @param {Function} predicate - function to apply\n* @throws {TypeError} must provide a function\n* @returns {Function} an array-like object function\n*\n* @example\n* var isOdd = require( '@stdlib/assert/is-odd' );\n*\n* var arr1 = [ 1, 3, 5, 7 ];\n* var arr2 = [ 3, 5, 8 ];\n*\n* var validate = arraylikefcn( isOdd );\n*\n* var bool = validate( arr1 );\n* // returns true\n*\n* bool = validate( arr2 );\n* // returns false\n*/\nfunction arraylikefcn( predicate ) {\n\tif ( typeof predicate !== 'function' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Must provide a function. Value: `%s`.', predicate ) );\n\t}\n\treturn every;\n\n\t/**\n\t* Tests if every element in an array-like object passes a test condition.\n\t*\n\t* @private\n\t* @param {*} value - value to test\n\t* @returns {boolean} boolean indicating whether a value is an array-like object for which all elements pass a test condition\n\t*/\n\tfunction every( value ) {\n\t\tvar len;\n\t\tvar i;\n\t\tif ( !isArrayLike( value ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tlen = value.length;\n\t\tif ( len === 0 ) {\n\t\t\treturn false;\n\t\t}\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tif ( predicate( value[ i ] ) === false ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = arraylikefcn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a function which tests if every element in an array-like object passes a test condition.\n*\n* @module @stdlib/assert/tools/array-like-function\n*\n* @example\n* var isOdd = require( '@stdlib/assert/is-odd' );\n* var arraylikefcn = require( '@stdlib/assert/tools/array-like-function' );\n*\n* var arr1 = [ 1, 3, 5, 7 ];\n* var arr2 = [ 3, 5, 8 ];\n*\n* var validate = arraylikefcn( isOdd );\n*\n* var bool = validate( arr1 );\n* // returns true\n*\n* bool = validate( arr2 );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object of booleans.\n*\n* @module @stdlib/assert/is-boolean-array\n*\n* @example\n* var isBooleanArray = require( '@stdlib/assert/is-boolean-array' );\n*\n* var bool = isBooleanArray( [ true, false, true ] );\n* // returns true\n*\n* bool = isBooleanArray( [ true, 'abc', false ] );\n* // returns false\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n* var isBooleanArray = require( '@stdlib/assert/is-boolean-array' ).primitives;\n*\n* var bool = isBooleanArray( [ true, false ] );\n* // returns true\n*\n* bool = isBooleanArray( [ false, new Boolean( true ) ] );\n* // returns false\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n* var isBooleanArray = require( '@stdlib/assert/is-boolean-array' ).objects;\n*\n* var bool = isBooleanArray( [ new Boolean( false ), new Boolean( true ) ] );\n* // returns true\n*\n* bool = isBooleanArray( [ new Boolean( false ), true ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isBoolean = require( './../../is-boolean' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isBoolean.isPrimitive );\nvar isObjectArray = arrayfun( isBoolean.isObject );\n\n\n// MAIN //\n\nvar isBooleanArray = arrayfun( isBoolean );\nsetReadOnly( isBooleanArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isBooleanArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isBooleanArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a symbol primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a symbol primitive\n*/\nfunction isSymbol( value ) {\n\treturn ( typeof value === 'symbol' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSymbol;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/*\n* Note: we wrap `toString` to allow loading this file in non-ES2015 environments.\n*/\n\n// MAIN //\n\n/**\n* Attempts to serialize a value as a symbol.\n*\n* @private\n* @param {*} value - value to serialize\n* @returns {string} serialized value\n*/\nfunction toStr( value ) {\n\t// Non-generic:\n\treturn Symbol.prototype.toString.call( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = toStr;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar toStr = require( './tostring.js' );\n\n\n// VARIABLES //\n\nvar RE = /^Symbol\\(.*\\)$/;\n\n\n// MAIN //\n\n/**\n* Attempts to call a `Symbol` method.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if able to call a `Symbol` method\n*/\nfunction test( value ) {\n\ttry {\n\t\treturn (\n\t\t\t// Objects created via `Object.create( null )` have no `valueOf()` method:\n\t\t\ttypeof value.valueOf() === 'symbol' &&\n\n\t\t\t// Test output of a non-generic method:\n\t\t\tRE.test( toStr( value ) )\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = test;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\nvar test = require( './try2tostring.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a symbol object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a symbol object\n*/\nfunction isSymbol( value ) {\n\treturn (\n\t\ttypeof value === 'object' &&\n\t\tnativeClass( value ) === '[object Symbol]' &&\n\t\ttest( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSymbol;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a symbol.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a symbol\n*/\nfunction isSymbol( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSymbol;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar isSymbol = require( './generic.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( isSymbol, 'isPrimitive', isPrimitive );\nsetReadOnly( isSymbol, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = isSymbol;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar constantFunction = require( '@stdlib/utils/constant-function' );\n\n\n// MAIN //\n\nvar isSymbol = constantFunction( false );\nvar isPrimitive = constantFunction( false );\nvar isObject = constantFunction( false );\n\nsetReadOnly( isSymbol, 'isPrimitive', isPrimitive );\nsetReadOnly( isSymbol, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = isSymbol;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a symbol.\n*\n* @module @stdlib/assert/is-symbol\n*\n* @example\n* var Symbol = require( '@stdlib/symbol/ctor' );\n* var isSymbol = require( '@stdlib/assert/is-symbol' );\n*\n* var bool = isSymbol( Symbol( 'beep' ) );\n* // returns true\n*\n* bool = isSymbol( Object( Symbol( 'beep' ) ) );\n* // returns true\n*\n* bool = isSymbol( {} );\n* // returns false\n*\n* @example\n* var Symbol = require( '@stdlib/symbol/ctor' );\n* var isSymbol = require( '@stdlib/assert/is-symbol' ).isPrimitive;\n*\n* var bool = isSymbol( Symbol( 'beep' ) );\n* // returns true\n*\n* bool = isSymbol( Object( Symbol( 'beep' ) ) );\n* // returns false\n*\n* bool = isSymbol( {} );\n* // returns false\n*\n* @example\n* var Symbol = require( '@stdlib/symbol/ctor' );\n* var isSymbolObject = require( '@stdlib/assert/is-symbol' ).isObject;\n*\n* var bool = isSymbolObject( Symbol( 'beep' ) );\n* // returns false\n*\n* bool = isSymbolObject( Object( Symbol( 'beep' ) ) );\n* // returns true\n*\n* bool = isSymbolObject( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar hasSymbols = require( './../../has-symbol-support' );\nvar main = require( './main.js' );\nvar polyfill = require( './polyfill.js' );\n\n\n// MAIN //\n\nvar isSymbol;\nif ( hasSymbols() ) {\n\tisSymbol = main;\n} else {\n\tisSymbol = polyfill;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSymbol;\n\n// exports: { \"isPrimitive\": \"isSymbol.isPrimitive\", \"isObject\": \"isSymbol.isObject\" }\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isBoolean = require( './../../is-boolean' ).isObject;\nvar isNumber = require( './../../is-number' ).isObject;\nvar isString = require( './../../is-string' ).isObject;\nvar isSymbol = require( './../../is-symbol' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a JavaScript boxed primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a JavaScript boxed primitive\n*\n* @example\n* var bool = isBoxedPrimitive( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isBoxedPrimitive( new Number( 3.21 ) );\n* // returns true\n*\n* @example\n* var Symbol = require( '@stdlib/symbol/ctor' );\n* var bool = isBoxedPrimitive( Object( Symbol( 'beep' ) ) );\n* // returns true\n*\n* @example\n* var bool = isBoxedPrimitive( true );\n* // returns false\n*\n* @example\n* var bool = isBoxedPrimitive( {} );\n* // returns false\n*\n* @example\n* var Symbol = require( '@stdlib/symbol/ctor' );\n* var bool = isBoxedPrimitive( Symbol( 'beep' ) );\n* // returns false\n*/\nfunction isBoxedPrimitive( value ) {\n\tif ( typeof value !== 'object' ) {\n\t\treturn false;\n\t}\n\treturn (\n\t\tisBoolean( value ) ||\n\t\tisNumber( value ) ||\n\t\tisString( value ) ||\n\t\tisSymbol( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBoxedPrimitive;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a JavaScript boxed primitive.\n*\n* @module @stdlib/assert/is-boxed-primitive\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n* var isBoxedPrimitive = require( '@stdlib/assert/is-boxed-primitive' );\n*\n* var bool = isBoxedPrimitive( new Boolean( true ) );\n* // returns true\n*\n* bool = isBoxedPrimitive( true );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar toStr = Object.prototype.toString;\n\n\n// MAIN //\n\n/**\n* Returns the internal class of a provided value.\n*\n* @private\n* @param {*} value - input value\n* @returns {string} internal class\n*/\nfunction toString( value ) { // eslint-disable-line stdlib/no-redeclare\n\treturn toStr.call( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = toString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar Global;\n\n\n// FUNCTIONS //\n\n/**\n* Test if the global scope is bound to the \"global\" variable present in Node.js environments. When creating a new function using the `Function(){}` constructor, the execution scope aliased by the `this` variable is the global scope.\n*\n* @private\n* @returns {boolean} boolean indicating if global scope is bound to \"global\" variable\n*/\nfunction globalScope() {\n\tvar fcn = '';\n\tfcn += 'try {';\n\tfcn += 'return this === global;';\n\tfcn += '} catch ( err ) {';\n\tfcn += 'return false;';\n\tfcn += '}';\n\treturn (new Function( fcn ))(); // eslint-disable-line no-new-func, stdlib/require-globals\n}\n\n\n// MAIN //\n\nGlobal = globalScope();\n\n\n// EXPORTS //\n\nmodule.exports = Global;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar proc = require( 'process' );\nvar getGlobal = require( '@stdlib/utils/global' );\nvar nativeClass = require( '@stdlib/utils/native-class' );\nvar isObject = require( './../../is-plain-object' );\nvar isString = require( './../../is-string' ).isPrimitive;\nvar toStr = require( './to_string.js' );\nvar globalScope = require( './global_scope.js' );\n\n\n// VARIABLES //\n\nvar Global = getGlobal();\nvar RE = /node|io\\.js/;\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating if the runtime is Node.js.\n*\n* @returns {boolean} boolean indicating if runtime is Node.js\n*\n* @example\n* var bool = isNode();\n* // returns \n*/\nfunction isNode() {\n\treturn (\n\t\t// Check for presence of `global` variable:\n\t\ttypeof global === 'object' &&\n\n\t\t// Check that the `global` variable matches the determined global variable:\n\t\tglobal === Global &&\n\n\t\t// Check for a circular reference to the global variable:\n\t\tGlobal === Global.global &&\n\n\t\t// Check that the global variable has the expected internal class:\n\t\t(\n\t\t\t// Node < v7\n\t\t\tnativeClass( Global ) === '[object global]' ||\n\n\t\t\t// Node >= v7 (https://github.com/nodejs/node/issues/9274)\n\t\t\tnativeClass( Global ) === '[object Object]'\n\t\t) &&\n\n\t\t// Check that the `global` variable is equal to the global scope:\n\t\tglobalScope === true &&\n\n\t\t// Check for a `require` global variable:\n\t\ttypeof require === 'function' &&\n\n\t\t// Check for a `process` global variable:\n\t\ttypeof proc === 'object' &&\n\n\t\t// Check that the `process` global variable has the expected internal class (NOTE: we use `toStr`, rather than `nativecClass` to address changes introduced in Node >= v14.6.0; see https://github.com/stdlib-js/stdlib/issues/375):\n\t\ttoStr( proc ) === '[object process]' &&\n\n\t\t// Check for a `versions` property:\n\t\tisObject( proc.versions ) &&\n\n\t\t// Check for a `node` property:\n\t\tisString( proc.versions.node ) &&\n\n\t\t/* eslint-disable node/no-unsupported-features/es-builtins */\n\t\t(\n\t\t\t// `process.release` was added in Node v3.0.0 via io.js:\n\t\t\ttypeof proc.release === 'undefined' ||\n\n\t\t\t(\n\t\t\t\t// Check for a `release` property:\n\t\t\t\tisObject( proc.release ) &&\n\n\t\t\t\t// Check for a `name` property:\n\t\t\t\tisString( proc.release.name ) &&\n\n\t\t\t\t// Check that the release name contains either `node` or `io.js` (in Node.js/io.js, the release name is read-only):\n\t\t\t\tRE.test( proc.release.name )\n\t\t\t)\n\t\t)\n\t\t/* eslint-enable node/no-unsupported-features/es-builtins */\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNode;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the runtime is Node.js.\n*\n* @module @stdlib/assert/is-node\n*\n* @example\n* var IS_NODE = require( '@stdlib/assert/is-node' );\n*\n* var bool = IS_NODE;\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar bool = main();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar scope;\n\n\n// FUNCTIONS //\n\n/**\n* Test if the global scope is bound to the \"window\" variable present in browser environments. When creating a new function using the `Function(){}` constructor, the execution scope aliased by the `this` variable is the global scope.\n*\n* @private\n* @returns {boolean} boolean indicating if global scope is bound to \"window\" variable\n*/\nfunction globalScope() {\n\tvar fcn = '';\n\tfcn += 'try {';\n\tfcn += 'return this === window;';\n\tfcn += '} catch ( err ) {';\n\tfcn += 'return false;';\n\tfcn += '}';\n\treturn (new Function( fcn ))(); // eslint-disable-line stdlib/require-globals, no-new-func\n}\n\n\n// MAIN //\n\nscope = globalScope();\n\n\n// EXPORTS //\n\nmodule.exports = scope;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* global window */\n\n'use strict';\n\n// MODULES //\n\nvar getGlobal = require( '@stdlib/utils/global' );\nvar IS_NODE = require( './../../is-node' );\nvar globalScope = require( './global_scope.js' );\n\n\n// VARIABLES //\n\nvar Global = getGlobal();\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating if the runtime is a web browser.\n*\n* @returns {boolean} boolean indicating if runtime is a web browser\n*\n* @example\n* var bool = isBrowser();\n* // returns \n*/\nfunction isBrowser() {\n\treturn (\n\t\t// Check that we are not running in a Node.js runtime:\n\t\tIS_NODE === false &&\n\n\t\t// Check for presence of `window` variable:\n\t\ttypeof window === 'object' &&\n\n\t\t// Check that the `window` variable matches the determined global variable:\n\t\twindow === Global &&\n\n\t\t// Check that the `window` variable is equal to the global scope:\n\t\tglobalScope === true\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBrowser;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the runtime is a web browser.\n*\n* @module @stdlib/assert/is-browser\n*\n* @example\n* var IS_BROWSER = require( '@stdlib/assert/is-browser' );\n*\n* var bool = IS_BROWSER;\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar bool = main();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar camelcase = require( '@stdlib/string/base/camelcase' );\n\n\n// MAIN //\n\n/**\n* Tests if a string is in camelcase.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a string is in camelcase\n*\n* @example\n* var bool = isCamelcase( 'beepBoop' );\n* // returns true\n*\n* @example\n* var bool = isCamelcase( 'beepBoop123' );\n* // returns true\n*\n* @example\n* var bool = isCamelcase( 'beep Boop' );\n* // returns false\n*\n* @example\n* var bool = isCamelcase( 'beep' );\n* // returns true\n*/\nfunction isCamelcase( value ) {\n\treturn (\n\t\tisString( value ) &&\n\t\tvalue === camelcase( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCamelcase;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a camelcase string.\n*\n* @module @stdlib/assert/is-camelcase\n*\n* @example\n* var isCamelcase = require( '@stdlib/assert/is-camelcase' );\n*\n* var bool = isCamelcase( 'beepBoop' );\n* // returns true\n*\n* bool = isCamelcase( 'beep Boop' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar lowercase = require( '@stdlib/string/lowercase' );\nvar uppercase = require( '@stdlib/string/uppercase' );\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string having an uppercase first character.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a string with an uppercase first character\n*\n* @example\n* var bool = isCapitalized( 'Hello' );\n* // returns true\n*\n* @example\n* var bool = isCapitalized( 'WORLD' );\n* // returns true\n*\n* @example\n* var bool = isCapitalized( '!' );\n* // returns false\n*\n* @example\n* var bool = isCapitalized( 'salt and light' );\n* // returns false\n*/\nfunction isCapitalized( value ) {\n\tvar ch;\n\tif ( isString( value ) && value !== '' ) {\n\t\tch = value[ 0 ];\n\t\treturn ( ch === uppercase( ch ) && ch !== lowercase( ch ) );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCapitalized;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string having an uppercase first character.\n*\n* @module @stdlib/assert/is-capitalized\n*\n* @example\n* var isCapitalized = require( '@stdlib/assert/is-capitalized' );\n*\n* var bool = isCapitalized( 'Hello' );\n* // returns true\n*\n* bool = isCapitalized( 'world' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar ndarray = require( '@stdlib/ndarray/base/ctor' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is ndarray-like.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is ndarray-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 0, 0, 0, 0 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isndarrayLike( arr );\n* // returns true\n*\n* bool = isndarrayLike( [] );\n* // returns false\n*/\nfunction isndarrayLike( v ) {\n\treturn (\n\t\tv instanceof ndarray ||\n\t\t(\n\t\t\tv !== null &&\n\t\t\ttypeof v === 'object' &&\n\t\t\ttypeof v.data === 'object' &&\n\t\t\ttypeof v.shape === 'object' &&\n\t\t\ttypeof v.strides === 'object' &&\n\t\t\ttypeof v.offset === 'number' &&\n\t\t\ttypeof v.order === 'string' &&\n\t\t\ttypeof v.ndims === 'number' &&\n\t\t\ttypeof v.dtype === 'string' &&\n\t\t\ttypeof v.length === 'number' &&\n\t\t\ttypeof v.flags === 'object' &&\n\t\t\ttypeof v.get === 'function' &&\n\t\t\ttypeof v.set === 'function'\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isndarrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is ndarray-like.\n*\n* @module @stdlib/assert/is-ndarray-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isndarrayLike = require( '@stdlib/assert/is-ndarray-like' );\n*\n* var arr = ndarray( 'generic', [ 0, 0, 0, 0 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isndarrayLike( arr );\n* // returns true\n*\n* bool = isndarrayLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isndarrayLike = require( './../../is-ndarray-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 2-dimensional ndarray-like object.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 2-dimensional ndarray-like object\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 0, 0, 0, 0 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isMatrixLike( arr );\n* // returns true\n*\n* bool = isMatrixLike( [] );\n* // returns false\n*/\nfunction isMatrixLike( v ) {\n\treturn (\n\t\tisndarrayLike( v ) &&\n\t\tv.ndims === 2 &&\n\t\tv.shape.length === 2 &&\n\t\tv.strides.length === 2\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isMatrixLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 2-dimensional ndarray-like object.\n*\n* @module @stdlib/assert/is-matrix-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isMatrixLike = require( '@stdlib/assert/is-matrix-like' );\n*\n* var arr = ndarray( 'float64', [ 0, 0, 0, 0 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isMatrixLike( arr );\n* // returns true\n*\n* bool = isMatrixLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isMatrixLike = require( './../../is-matrix-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 2-dimensional ndarray-like object having equal dimensions.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 2-dimensional ndarray-like object having equal dimensions\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 0, 0, 0, 0 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSquareMatrix( arr );\n* // returns true\n*\n* bool = isSquareMatrix( [] );\n* // returns false\n*/\nfunction isSquareMatrix( v ) {\n\treturn (\n\t\tisMatrixLike( v ) &&\n\t\tv.shape[ 0 ] === v.shape[ 1 ]\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSquareMatrix;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 2-dimensional ndarray-like object having equal dimensions.\n*\n* @module @stdlib/assert/is-square-matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isSquareMatrix = require( '@stdlib/assert/is-square-matrix' );\n*\n* var arr = ndarray( 'generic', [ 0, 0, 0, 0 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSquareMatrix( arr );\n* // returns true\n*\n* bool = isSquareMatrix( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isSquareMatrix = require( './../../is-square-matrix' );\nvar floor = require( '@stdlib/math/base/special/floor' );\nvar isOdd = require( '@stdlib/math/base/assert/is-odd' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a centrosymmetric matrix.\n*\n* ## Notes\n*\n* - The implementation must rely on manually checking that \\\\(M_{ij} = M_{N-i-1,N-j-1}\\\\), and, while element access is deterministic, no way exists to prevent cache misses outside of reordering the underlying matrix elements, thus incurring a larger performance penalty than just \"jumping around\" in a single pass.\n* - Worst case scenario: O(N^2).\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a centrosymmetric matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 2, 1, 1, 2 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isCentrosymmetricMatrix( arr );\n* // returns true\n*\n* bool = isCentrosymmetricMatrix( [] );\n* // returns false\n*/\nfunction isCentrosymmetricMatrix( v ) {\n\tvar m1;\n\tvar M;\n\tvar N;\n\tvar n;\n\tvar i;\n\tvar j;\n\tif ( !isSquareMatrix( v ) ) {\n\t\treturn false;\n\t}\n\tM = v.shape[ 0 ];\n\tN = floor( M/2.0 ); // corresponds to a row index + 1\n\tm1 = M - 1;\n\tfor ( i = 0; i < N; i++ ) {\n\t\tn = m1 - i;\n\t\tfor ( j = 0; j < M; j++ ) {\n\t\t\tif ( v.get( i, j ) !== v.get( n, m1-j ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\tif ( isOdd( M ) ) {\n\t\t// Only need to examine the first half of the row (up until the center element) due to symmetry...\n\t\tfor ( j = 0; j < N; j++ ) {\n\t\t\tif ( v.get( i, j ) !== v.get( N, m1-j ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCentrosymmetricMatrix;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a centrosymmetric matrix.\n*\n* @module @stdlib/assert/is-centrosymmetric-matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isCentrosymmetricMatrix = require( '@stdlib/assert/is-centrosymmetric-matrix' );\n*\n* var arr = ndarray( 'generic', [ 2, 1, 1, 2 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isCentrosymmetricMatrix( arr );\n* // returns true\n*\n* bool = isCentrosymmetricMatrix( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar objectKeys = require( '@stdlib/utils/keys' );\n\n\n// FUNCTIONS //\n\n/**\n* Tests if a value is an object.\n*\n* ## Notes\n*\n* - The function excludes `null`.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is an object\n*/\nfunction isObject( value ) {\n\tvar type = typeof value;\n\treturn ( value !== null && ( type === 'object' || type === 'function' ) );\n}\n\n/**\n* Tests if the seen array contains a search value.\n*\n* @private\n* @param {Array} seen - array of seen objects\n* @param {*} searchValue - search value\n* @returns {boolean} boolean indicating whether array contains search value\n*/\nfunction contains( seen, searchValue ) {\n\tvar i;\n\tfor ( i = 0; i < seen.length; i++ ) {\n\t\tif ( seen[ i ] === searchValue ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\n/**\n* Tests if an object contains a circular reference by recursively traversing object keys.\n*\n* @private\n* @param {Object} obj - object to test\n* @param {Array} seen - array of seen objects\n* @returns {boolean} boolean indicating whether object contains a circular reference\n*/\nfunction isCircObj( obj, seen ) {\n\tvar keys;\n\tvar val;\n\tvar i;\n\n\tseen.push( obj );\n\tkeys = objectKeys( obj );\n\tif ( keys.length === 0 ) {\n\t\treturn false;\n\t}\n\tfor ( i = 0; i < keys.length; i++ ) {\n\t\tval = obj[ keys[ i ] ];\n\t\tif ( isObject( val ) && ( contains( seen, val ) || isCircObj( val, seen ) ) ) { // eslint-disable-line max-len\n\t\t\treturn true;\n\t\t}\n\t}\n\tseen.pop( obj );\n\treturn false;\n}\n\n\n// MAIN //\n\n/**\n* Tests if an object-like value contains a circular reference.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is object-like and contains a circular reference\n*\n* @example\n* var obj = {\n* 'a': 'beep',\n* 'b': {\n* 'c': 'boop'\n* }\n* };\n* obj.b.self = obj;\n* var bool = isCircular( obj );\n* // returns true\n*\n* @example\n* var arr = [ 1, 2, 3 ];\n* arr.push( arr );\n* var bool = isCircular( arr );\n* // returns true\n*\n* @example\n* var bool = isCircular( {} );\n* // returns false\n*\n* @example\n* var bool = isCircular( null );\n* // returns false\n*/\nfunction isCircular( value ) {\n\tif ( !isObject( value ) ) {\n\t\treturn false;\n\t}\n\treturn isCircObj( value, [] );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCircular;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if an object-like value contains a circular reference.\n*\n* @module @stdlib/assert/is-circular\n*\n* @example\n* var isCircular = require( '@stdlib/assert/is-circular' );\n*\n* var obj = {\n* 'a': 'beep',\n* 'b': {\n* 'c': 'boop'\n* }\n* };\n* obj.b.self = obj;\n*\n* var bool = isCircular( obj );\n* // returns true\n*\n* bool = isCircular( null );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isArray = require( './../../is-array' );\nvar isCircular = require( './../../is-circular' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array containing a circular reference.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an array containing a circular reference\n*\n* @example\n* var arr = [ 1, 2, 3 ];\n* arr.push( arr );\n* var bool = isCircularArray( arr );\n* // returns true\n*\n* @example\n* var obj = {\n* 'a': 'beep',\n* 'b': {\n* 'c': 'boop'\n* }\n* };\n* obj.b.self = obj;\n* var bool = isCircularArray( obj );\n* // returns false\n*\n* @example\n* var bool = isCircularArray( [] );\n* // returns false\n*\n* @example\n* var bool = isCircularArray( null );\n* // returns false\n*/\nfunction isCircularArray( value ) {\n\tif ( !isArray( value ) ) {\n\t\treturn false;\n\t}\n\treturn isCircular( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCircularArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array containing a circular reference.\n*\n* @module @stdlib/assert/is-circular-array\n*\n* @example\n* var isCircularArray = require( '@stdlib/assert/is-circular-array' );\n*\n* var arr = [ 1, 2, 3 ];\n* arr.push( arr );\n*\n* var bool = isCircularArray( arr );\n* // returns true\n*\n* bool = isCircularArray( null );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPlainObject = require( './../../is-plain-object' );\nvar isCircular = require( './../../is-circular' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a plain object containing a circular reference.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a plain object containing a circular reference\n*\n* @example\n* var obj = {\n* 'a': 'beep',\n* 'b': {\n* 'c': 'boop'\n* }\n* };\n* obj.b.self = obj;\n* var bool = isCircularPlainObject( obj );\n* // returns true\n*\n* @example\n* var arr = [ 1, 2, 3 ];\n* arr.push( arr );\n* var bool = isCircularPlainObject( arr );\n* // returns false\n*\n* @example\n* var bool = isCircularPlainObject( {} );\n* // returns false\n*\n* @example\n* var bool = isCircularPlainObject( null );\n* // returns false\n*/\nfunction isCircularPlainObject( value ) {\n\tif ( !isPlainObject( value ) ) {\n\t\treturn false;\n\t}\n\treturn isCircular( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCircularPlainObject;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a plain object containing a circular reference.\n*\n* @module @stdlib/assert/is-circular-plain-object\n*\n* @example\n* var isCircular = require( '@stdlib/assert/is-circular-plain-object' );\n*\n* var obj = {\n* 'a': 'beep',\n* 'b': {\n* 'c': 'boop'\n* }\n* };\n* obj.b.self = obj;\n*\n* var bool = isCircularPlainObject( obj );\n* // returns true\n*\n* bool = isCircularPlainObject( null );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFunction = require( './../../is-function' );\nvar function2string = require( '@stdlib/function/to-string' );\n\n\n// VARIABLES //\n\nvar RE_CLASS = /^\\s*class\\s/;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a class.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a class\n*\n* @example\n* var bool = isClass( class Person {} );\n* // returns true\n*\n* @example\n* var bool = isClass( function Person() {} );\n* // returns false\n*\n* @example\n* var bool = isClass( null );\n* // returns false\n*/\nfunction isClass( value ) {\n\tvar str;\n\tif ( !isFunction( value ) ) {\n\t\treturn false;\n\t}\n\tstr = function2string( value );\n\treturn RE_CLASS.test( str );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isClass;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a class.\n*\n* @module @stdlib/assert/is-class\n*\n* @example\n* var isClass = require( '@stdlib/assert/is-class' );\n*\n* var bool = isClass( class Person {} );\n* // returns true\n*\n* bool = isClass( function Person() {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Complex128 = require( '@stdlib/complex/float64' );\nvar Complex64 = require( '@stdlib/complex/float32' );\nvar constructorName = require( '@stdlib/utils/constructor-name' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 64-bit or 128-bit complex number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a 64-bit or 128-bit complex number\n*\n* @example\n* var Complex128 = require( '@stdlib/complex/float64' );\n* var Complex64 = require( '@stdlib/complex/float32' );\n*\n* var x = new Complex128( 4.0, 2.0 );\n* var bool = isComplex( x );\n* // returns true\n*\n* x = new Complex64( 4.0, 2.0 );\n* bool = isComplex( x );\n* // returns true\n*/\nfunction isComplex( value ) {\n\tvar type;\n\tif ( value instanceof Complex128 || value instanceof Complex64 ) {\n\t\treturn true;\n\t}\n\ttype = constructorName( value );\n\treturn ( type === 'Complex64' || type === 'Complex128' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 64-bit or 128-bit complex number.\n*\n* @module @stdlib/assert/is-complex\n*\n* @example\n* var Complex128 = require( '@stdlib/complex/float64' );\n* var Complex64 = require( '@stdlib/complex/float32' );\n* var isComplex = require( '@stdlib/assert/is-complex' );\n*\n* var x = new Complex128( 4.0, 2.0 );\n* var bool = isComplex( x );\n* // returns true\n*\n* x = new Complex64( 4.0, 2.0 );\n* bool = isComplex( x );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Complex128 = require( '@stdlib/complex/float64' );\nvar Complex64 = require( '@stdlib/complex/float32' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a complex number-like object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a complex number-like object.\n*\n* @example\n* var Complex128 = require( '@stdlib/complex/float64' );\n* var Complex64 = require( '@stdlib/complex/float32' );\n*\n* var x = new Complex128( 4.0, 2.0 );\n* var bool = isComplexLike( x );\n* // returns true\n*\n* x = new Complex64( 4.0, 2.0 );\n* bool = isComplexLike( x );\n* // returns true\n*/\nfunction isComplexLike( value ) {\n\tif ( value instanceof Complex128 || value instanceof Complex64 ) {\n\t\treturn true;\n\t}\n\treturn (\n\t\ttypeof value === 'object' &&\n\t\tvalue !== null &&\n\t\ttypeof value.re === 'number' &&\n\t\ttypeof value.im === 'number'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplexLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a complex number-like object.\n*\n* @module @stdlib/assert/is-complex-like\n*\n* @example\n* var Complex128 = require( '@stdlib/complex/float64' );\n* var Complex64 = require( '@stdlib/complex/float32' );\n* var isComplexLike = require( '@stdlib/assert/is-complex-like' );\n*\n* var x = new Complex128( 4.0, 2.0 );\n* var bool = isComplexLike( x );\n* // returns true\n*\n* x = new Complex64( 4.0, 2.0 );\n* bool = isComplexLike( x );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Complex64Array = require( '@stdlib/array/complex64' );\nvar Complex128Array = require( '@stdlib/array/complex128' );\n\n\n// MAIN //\n\nvar CTORS = [\n\tComplex128Array,\n\tComplex64Array\n];\n\n\n// EXPORTS //\n\nmodule.exports = CTORS;\n", "[\n\t\"Complex64Array\",\n\t\"Complex128Array\"\n]\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar ctorName = require( '@stdlib/utils/constructor-name' );\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar CTORS = require( './ctors.js' );\nvar NAMES = require( './names.json' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a complex typed array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a complex typed array\n*\n* @example\n* var Complex128Array = require( '@stdlib/array/complex128' );\n*\n* var bool = isComplexTypedArray( new Complex128Array( 10 ) );\n* // returns true\n*/\nfunction isComplexTypedArray( value ) {\n\tvar v;\n\tvar i;\n\n\tif ( typeof value !== 'object' || value === null ) {\n\t\treturn false;\n\t}\n\t// Check for complex typed array objects from the same realm (same Node.js `vm` or same `Window` object)...\n\tfor ( i = 0; i < CTORS.length; i++ ) {\n\t\tif ( value instanceof CTORS[ i ] ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\t// Walk the prototype tree until we find an object having a desired class...\n\twhile ( value ) {\n\t\tv = ctorName( value );\n\t\tfor ( i = 0; i < NAMES.length; i++ ) {\n\t\t\tif ( NAMES[ i ] === v ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\tvalue = getPrototypeOf( value );\n\t}\n\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplexTypedArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a complex typed array.\n*\n* @module @stdlib/assert/is-complex-typed-array\n*\n* @example\n* var Complex128Array = require( '@stdlib/array/complex128' );\n* var isComplexTypedArray = require( '@stdlib/assert/is-complex-typed-array' );\n*\n* var bool = isComplexTypedArray( new Complex128Array( 10 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNonNegativeInteger = require( './../../is-nonnegative-integer' ).isPrimitive;\nvar MAX = require( '@stdlib/constants/array/max-typed-array-length' );\n\n\n// VARIABLES //\n\nvar MAX_LENGTH = MAX / 2; // every complex array element has both a real and imaginary component stored as separate numbers, so the maximum length is half that of a normal typed array\n\n\n// MAIN //\n\n/**\n* Tests if a value is complex-typed-array-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is complex-typed-array-like\n*\n* @example\n* var arr = {\n*\t'BYTES_PER_ELEMENT': 8,\n*\t'length': 10,\n*\t'byteOffset': 0,\n*\t'byteLength': 10,\n* 'get': function get() {},\n* 'set': function set() {}\n* };\n* var val = isComplexTypedArrayLike( arr );\n* // returns true\n*\n* @example\n* var Complex64Array = require( '@stdlib/array/complex64' );\n*\n* var val = isComplexTypedArrayLike( new Complex64Array( 4 ) );\n* // returns true\n*\n* @example\n* var val = isComplexTypedArrayLike( [] );\n* // returns false\n*\n* @example\n* var val = isComplexTypedArrayLike( {} );\n* // returns false\n*\n* @example\n* var val = isComplexTypedArrayLike( null );\n* // returns false\n*\n* @example\n* var val = isComplexTypedArrayLike( 'beep' );\n* // returns false\n*/\nfunction isComplexTypedArrayLike( value ) {\n\treturn (\n\t\tvalue !== null &&\n\t\ttypeof value === 'object' &&\n\n\t\t// Check for standard typed array properties:\n\t\tisNonNegativeInteger( value.length ) &&\n\t\tvalue.length <= MAX_LENGTH &&\n\t\ttypeof value.BYTES_PER_ELEMENT === 'number' &&\n\t\ttypeof value.byteOffset === 'number' &&\n\t\ttypeof value.byteLength === 'number' &&\n\n\t\t// Check for properties necessary for complex typed arrays:\n\t\ttypeof value.get === 'function' &&\n\t\ttypeof value.set === 'function'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplexTypedArrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is complex-typed-array-like.\n*\n* @module @stdlib/assert/is-complex-typed-array-like\n*\n* @example\n* var Complex64Array = require( '@stdlib/array/complex64' );\n* var isComplexTypedArrayLike = require( '@stdlib/assert/is-complex-typed-array-like' );\n*\n* var bool = isComplexTypedArrayLike( new Complex64Array() );\n* // returns true\n*\n* bool = isComplexTypedArrayLike({\n*\t'length': 10,\n*\t'byteOffset': 0,\n*\t'byteLength': 10,\n*\t'BYTES_PER_ELEMENT': 4,\n* 'get': function get() {},\n* 'set': function set() {}\n* });\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Complex64 = require( '@stdlib/complex/float32' );\nvar constructorName = require( '@stdlib/utils/constructor-name' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 64-bit complex number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a 64-bit complex number\n*\n* @example\n* var Complex64 = require( '@stdlib/complex/float32' );\n*\n* var x = new Complex64( 4.0, 2.0 );\n*\n* var bool = isComplex64( x );\n* // returns true\n*/\nfunction isComplex64( value ) {\n\treturn (\n\t\tvalue instanceof Complex64 ||\n\t\tconstructorName( value ) === 'Complex64'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex64;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 64-bit complex number.\n*\n* @module @stdlib/assert/is-complex64\n*\n* @example\n* var Complex64 = require( '@stdlib/complex/float32' );\n* var isComplex64 = require( '@stdlib/assert/is-complex64' );\n*\n* var x = new Complex64( 4.0, 2.0 );\n*\n* var bool = isComplex64( x );\n* // returns true\n*/\n\n// MODULES //\n\nvar isComplex64 = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isComplex64;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Complex64Array = require( '@stdlib/array/complex64' );\nvar constructorName = require( '@stdlib/utils/constructor-name' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Complex64Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Complex64Array\n*\n* @example\n* var bool = isComplex64Array( new Complex64Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isComplex64Array( [] );\n* // returns false\n*/\nfunction isComplex64Array( value ) {\n\treturn (\n\t\tvalue instanceof Complex64Array ||\n\t\tconstructorName( value ) === 'Complex64Array'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex64Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Complex64Array.\n*\n* @module @stdlib/assert/is-complex64array\n*\n* @example\n* var isComplex64Array = require( '@stdlib/assert/is-complex64array' );\n*\n* var bool = isComplex64Array( new Complex64Array( 10 ) );\n* // returns true\n*\n* bool = isComplex64Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isComplex64Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isComplex64Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isMatrixLike = require( './../../is-matrix-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 2-dimensional ndarray-like object whose underlying data type is `complex64`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 2-dimensional ndarray-like object whose underlying data type is `complex64`\n*\n* @example\n* var Complex64Array = require( '@stdlib/array/complex64' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Complex64Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n* var arr = ndarray( 'complex64', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isComplex64MatrixLike( arr );\n* // returns true\n*\n* bool = isComplex64MatrixLike( [] );\n* // returns false\n*/\nfunction isComplex64MatrixLike( v ) {\n\treturn ( isMatrixLike( v ) && v.dtype === 'complex64' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex64MatrixLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 2-dimensional ndarray-like object whose underlying data type is `complex64`.\n*\n* @module @stdlib/assert/is-complex64matrix-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Complex64Array = require( '@stdlib/array/complex64' );\n* var isComplex64MatrixLike = require( '@stdlib/assert/is-complex64matrix-like' );\n*\n* var buffer = new Complex64Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'complex64', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isComplex64MatrixLike( arr );\n* // returns true\n*\n* bool = isComplex64MatrixLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isndarrayLike = require( './../../is-ndarray-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an ndarray-like object whose underlying data type is `complex64`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is an ndarray-like object whose underlying data type is `complex64`\n*\n* @example\n* var Complex64Array = require( '@stdlib/array/complex64' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Complex64Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n* var arr = ndarray( 'complex64', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isComplex64ndarrayLike( arr );\n* // returns true\n*\n* bool = isComplex64ndarrayLike( [] );\n* // returns false\n*/\nfunction isComplex64ndarrayLike( v ) {\n\treturn ( isndarrayLike( v ) && v.dtype === 'complex64' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex64ndarrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an ndarray-like object whose underlying data type is `complex64`.\n*\n* @module @stdlib/assert/is-complex64ndarray-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Complex64Array = require( '@stdlib/array/complex64' );\n* var isComplex64ndarrayLike = require( '@stdlib/assert/is-complex64ndarray-like' );\n*\n* var buffer = new Complex64Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'complex64', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isComplex64ndarrayLike( arr );\n* // returns true\n*\n* bool = isComplex64ndarrayLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isndarrayLike = require( './../../is-ndarray-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 1-dimensional ndarray-like object.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 1-dimensional ndarray-like object\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 0, 0, 0, 0 ], [ 4 ], [ 1 ], 0, 'row-major' );\n* var bool = isVectorLike( arr );\n* // returns true\n*\n* bool = isVectorLike( [] );\n* // returns false\n*/\nfunction isVectorLike( v ) {\n\treturn (\n\t\tisndarrayLike( v ) &&\n\t\tv.ndims === 1 &&\n\t\tv.shape.length === 1 &&\n\t\tv.strides.length === 1\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isVectorLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 1-dimensional ndarray-like object.\n*\n* @module @stdlib/assert/is-vector-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isVectorLike = require( '@stdlib/assert/is-vector-like' );\n*\n* var arr = ndarray( 'generic', [ 0, 0, 0, 0 ], [ 4 ], [ 1 ], 0, 'row-major' );\n* var bool = isVectorLike( arr );\n* // returns true\n*\n* bool = isVectorLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isVectorLike = require( './../../is-vector-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 1-dimensional ndarray-like object whose underlying data type is `complex64`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 1-dimensional ndarray-like object whose underlying data type is `complex64`\n*\n* @example\n* var Complex64Array = require( '@stdlib/array/complex64' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Complex64Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n* var arr = ndarray( 'complex64', buffer, [ 4 ], [ 1 ], 0, 'row-major' );\n*\n* var bool = isComplex64VectorLike( arr );\n* // returns true\n*\n* bool = isComplex64VectorLike( [] );\n* // returns false\n*/\nfunction isComplex64VectorLike( v ) {\n\treturn ( isVectorLike( v ) && v.dtype === 'complex64' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex64VectorLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 1-dimensional ndarray-like object whose underlying data type is `complex64`.\n*\n* @module @stdlib/assert/is-complex64vector-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Complex64Array = require( '@stdlib/array/complex64' );\n* var isComplex64VectorLike = require( '@stdlib/assert/is-complex64vector-like' );\n*\n* var buffer = new Complex64Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'complex64', buffer, [ 4 ], [ 1 ], 0, 'row-major' );\n*\n* var bool = isComplex64VectorLike( arr );\n* // returns true\n*\n* bool = isComplex64VectorLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Complex128 = require( '@stdlib/complex/float64' );\nvar constructorName = require( '@stdlib/utils/constructor-name' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 128-bit complex number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a 128-bit complex number\n*\n* @example\n* var Complex128 = require( '@stdlib/complex/float64' );\n*\n* var x = new Complex128( 4.0, 2.0 );\n*\n* var bool = isComplex128( x );\n* // returns true\n*/\nfunction isComplex128( value ) {\n\treturn (\n\t\tvalue instanceof Complex128 ||\n\t\tconstructorName( value ) === 'Complex128'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex128;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 128-bit complex number.\n*\n* @module @stdlib/assert/is-complex128\n*\n* @example\n* var Complex128 = require( '@stdlib/complex/float64' );\n* var isComplex128 = require( '@stdlib/assert/is-complex128' );\n*\n* var x = new Complex128( 4.0, 2.0 );\n*\n* var bool = isComplex128( x );\n* // returns true\n*/\n\n// MODULES //\n\nvar isComplex128 = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isComplex128;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Complex128Array = require( '@stdlib/array/complex128' );\nvar constructorName = require( '@stdlib/utils/constructor-name' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Complex128Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Complex128Array\n*\n* @example\n* var bool = isComplex128Array( new Complex128Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isComplex128Array( [] );\n* // returns false\n*/\nfunction isComplex128Array( value ) {\n\treturn (\n\t\tvalue instanceof Complex128Array ||\n\t\tconstructorName( value ) === 'Complex128Array'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex128Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Complex128Array.\n*\n* @module @stdlib/assert/is-complex128array\n*\n* @example\n* var isComplex128Array = require( '@stdlib/assert/is-complex128array' );\n*\n* var bool = isComplex128Array( new Complex128Array( 10 ) );\n* // returns true\n*\n* bool = isComplex128Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isComplex128Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isComplex128Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isMatrixLike = require( './../../is-matrix-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 2-dimensional ndarray-like object whose underlying data type is `complex128`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 2-dimensional ndarray-like object whose underlying data type is `complex128`\n*\n* @example\n* var Complex128Array = require( '@stdlib/array/complex128' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n* var arr = ndarray( 'complex128', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isComplex128MatrixLike( arr );\n* // returns true\n*\n* bool = isComplex128MatrixLike( [] );\n* // returns false\n*/\nfunction isComplex128MatrixLike( v ) {\n\treturn ( isMatrixLike( v ) && v.dtype === 'complex128' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex128MatrixLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 2-dimensional ndarray-like object whose underlying data type is `complex128`.\n*\n* @module @stdlib/assert/is-complex128matrix-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Complex128Array = require( '@stdlib/array/complex128' );\n* var isComplex128MatrixLike = require( '@stdlib/assert/is-complex128matrix-like' );\n*\n* var buffer = new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'complex128', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isComplex128MatrixLike( arr );\n* // returns true\n*\n* bool = isComplex128MatrixLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isndarrayLike = require( './../../is-ndarray-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an ndarray-like object whose underlying data type is `complex128`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is an ndarray-like object whose underlying data type is `complex128`\n*\n* @example\n* var Complex128Array = require( '@stdlib/array/complex128' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n* var arr = ndarray( 'complex128', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isComplex128ndarrayLike( arr );\n* // returns true\n*\n* bool = isComplex128ndarrayLike( [] );\n* // returns false\n*/\nfunction isComplex128ndarrayLike( v ) {\n\treturn ( isndarrayLike( v ) && v.dtype === 'complex128' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex128ndarrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an ndarray-like object whose underlying data type is `complex128`.\n*\n* @module @stdlib/assert/is-complex128ndarray-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Complex128Array = require( '@stdlib/array/complex128' );\n* var isComplex128ndarrayLike = require( '@stdlib/assert/is-complex128ndarray-like' );\n*\n* var buffer = new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'complex128', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isComplex128ndarrayLike( arr );\n* // returns true\n*\n* bool = isComplex128ndarrayLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isVectorLike = require( './../../is-vector-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 1-dimensional ndarray-like object whose underlying data type is `complex128`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 1-dimensional ndarray-like object whose underlying data type is `complex128`\n*\n* @example\n* var Complex128Array = require( '@stdlib/array/complex128' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n* var arr = ndarray( 'complex128', buffer, [ 4 ], [ 1 ], 0, 'row-major' );\n*\n* var bool = isComplex128VectorLike( arr );\n* // returns true\n*\n* bool = isComplex128VectorLike( [] );\n* // returns false\n*/\nfunction isComplex128VectorLike( v ) {\n\treturn ( isVectorLike( v ) && v.dtype === 'complex128' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex128VectorLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 1-dimensional ndarray-like object whose underlying data type is `complex128`.\n*\n* @module @stdlib/assert/is-complex128vector-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Complex128Array = require( '@stdlib/array/complex128' );\n* var isComplex128VectorLike = require( '@stdlib/assert/is-complex128vector-like' );\n*\n* var buffer = new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n* var arr = ndarray( 'complex128', buffer, [ 4 ], [ 1 ], 0, 'row-major' );\n*\n* var bool = isComplex128VectorLike( arr );\n* // returns true\n*\n* bool = isComplex128VectorLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar iscomposite = require( '@stdlib/math/base/assert/is-composite' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a value which is a composite number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a value which is a composite number\n*\n* @example\n* var bool = isComposite( 4.0 );\n* // returns true\n*\n* @example\n* var bool = isComposite( new Number( 4.0 ) );\n* // returns false\n*/\nfunction isComposite( value ) {\n\tif ( !isNumber( value ) ) {\n\t\treturn false;\n\t}\n\treturn iscomposite( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComposite;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\nvar iscomposite = require( '@stdlib/math/base/assert/is-composite' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value which is a composite number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value which is a composite number\n*\n* @example\n* var bool = isComposite( 4.0 );\n* // returns false\n*\n* @example\n* var bool = isComposite( new Number( 4.0 ) );\n* // returns true\n*/\nfunction isComposite( value ) {\n\tif ( !isNumber( value ) ) {\n\t\treturn false;\n\t}\n\treturn iscomposite( value.valueOf() );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComposite;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a composite number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a composite number\n*\n* @example\n* var bool = isComposite( 4.0 );\n* // returns true\n*\n* @example\n* var bool = isComposite( new Number( 4.0 ) );\n* // returns true\n*\n* @example\n* var bool = isComposite( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isComposite( -4.0 );\n* // returns false\n*\n* @example\n* var bool = isComposite( null );\n* // returns false\n*/\nfunction isComposite( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComposite;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a composite number.\n*\n* @module @stdlib/assert/is-composite\n*\n* @example\n* var isComposite = require( '@stdlib/assert/is-composite' );\n*\n* var bool = isComposite( 4.0 );\n* // returns true\n*\n* bool = isComposite( new Number( 4.0 ) );\n* // returns true\n*\n* bool = isComposite( 3.14 );\n* // returns false\n*\n* bool = isComposite( -4.0 );\n* // returns false\n*\n* bool = isComposite( null );\n* // returns false\n*\n* @example\n* var isComposite = require( '@stdlib/assert/is-composite' ).isPrimitive;\n*\n* var bool = isComposite( 4.0 );\n* // returns true\n*\n* bool = isComposite( new Number( 4.0 ) );\n* // returns false\n*\n* @example\n* var isComposite = require( '@stdlib/assert/is-composite' ).isObject;\n*\n* var bool = isComposite( 4.0 );\n* // returns false\n*\n* bool = isComposite( new Number( 4.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptor = require( '@stdlib/utils/property-descriptor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property is configurable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is configurable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isConfigurableProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isConfigurableProperty( obj, 'beep' );\n* // returns false\n*/\nfunction isConfigurableProperty( value, property ) {\n\tvar desc = propertyDescriptor( value, property );\n\treturn ( desc !== null && desc.configurable === true );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isConfigurableProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property is configurable.\n*\n* @module @stdlib/assert/is-configurable-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isConfigurableProperty = require( '@stdlib/assert/is-configurable-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isConfigurableProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isConfigurableProperty( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property is configurable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is configurable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isConfigurablePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isConfigurablePropertyIn( obj, 'beep' );\n* // returns false\n*/\nfunction isConfigurablePropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn ( desc !== null && desc.configurable === true );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isConfigurablePropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property is configurable.\n*\n* @module @stdlib/assert/is-configurable-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isConfigurablePropertyIn = require( '@stdlib/assert/is-configurable-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isConfigurablePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isConfigurablePropertyIn( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/*\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar constantcase = require( '@stdlib/string/base/constantcase' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a constantcase string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a constantcase string\n*\n* @example\n* var bool = isConstantcase( 'BEEP_BOOP' );\n* // returns true\n*\n* bool = isConstantcase( 'beep_boop' );\n* // returns false\n*\n* bool = isConstantcase( 'BEEP-BOOP' );\n* // returns true\n*\n* bool = isConstantcase( 'beep boop' );\n* // returns false\n*\n* bool = isConstantcase( 'beep' );\n* // returns false\n*\n* bool = isConstantcase( '' );\n* // returns true\n*\n* bool = isConstantcase( null );\n* // returns false\n*/\nfunction isConstantcase( value ) {\n\treturn (\n\t\tisString( value ) &&\n\t\tvalue === constantcase( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isConstantcase;\n", "/*\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a constantcase string.\n*\n* @module @stdlib/assert/is-constantcase\n*\n* @example\n* var isConstantcase = require( '@stdlib/assert/is-constantcase' );\n*\n* var bool = isConstantcase( 'BEEP_BOOP' );\n* // returns true\n*\n* bool = isConstantcase( 'BEEP and BOOP' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar cbrt = require( '@stdlib/math/base/special/cbrt' );\nvar floor = require( '@stdlib/math/base/special/floor' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a value which is a cube number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a value which is a cube number\n*\n* @example\n* var bool = isCubeNumber( 8.0 );\n* // returns true\n*\n* @example\n* var bool = isCubeNumber( new Number( 8.0 ) );\n* // returns false\n*/\nfunction isCubeNumber( value ) {\n\tvar n;\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\tn = floor( cbrt( value ) + 0.5 );\n\treturn n*n*n === value;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCubeNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\nvar cbrt = require( '@stdlib/math/base/special/cbrt' );\nvar floor = require( '@stdlib/math/base/special/floor' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value which is a cube number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value which is a cube number\n*\n* @example\n* var bool = isCubeNumber( 8.0 );\n* // returns false\n*\n* @example\n* var bool = isCubeNumber( new Number( 8.0 ) );\n* // returns true\n*/\nfunction isCubeNumber( value ) {\n\tvar n;\n\tvar x;\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\tx = value.valueOf();\n\tn = floor( cbrt( x ) + 0.5 );\n\treturn n*n*n === x;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCubeNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a cube number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a cube number\n*\n* @example\n* var bool = isCubeNumber( 8.0 );\n* // returns true\n*\n* @example\n* var bool = isCubeNumber( new Number( 8.0 ) );\n* // returns true\n*\n* @example\n* var bool = isCubeNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isCubeNumber( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isCubeNumber( null );\n* // returns false\n*/\nfunction isCubeNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCubeNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a cube number.\n*\n* @module @stdlib/assert/is-cube-number\n*\n* @example\n* var isCubeNumber = require( '@stdlib/assert/is-cube-number' );\n*\n* var bool = isCubeNumber( 8.0 );\n* // returns true\n*\n* bool = isCubeNumber( new Number( 8.0 ) );\n* // returns true\n*\n* bool = isCubeNumber( 3.14 );\n* // returns false\n*\n* bool = isCubeNumber( -5.0 );\n* // returns false\n*\n* bool = isCubeNumber( null );\n* // returns false\n*\n* @example\n* var isCubeNumber = require( '@stdlib/assert/is-cube-number' ).isPrimitive;\n*\n* var bool = isCubeNumber( 8.0 );\n* // returns true\n*\n* bool = isCubeNumber( new Number( 8.0 ) );\n* // returns false\n*\n* @example\n* var isCubeNumber = require( '@stdlib/assert/is-cube-number' ).isObject;\n*\n* var bool = isCubeNumber( 8.0 );\n* // returns false\n*\n* bool = isCubeNumber( new Number( 8.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isDateObject = require( './../../is-date-object' );\nvar currentYear = require( '@stdlib/time/current-year' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is either an integer equal to the current year or a `Date` object representing the current year.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a provided value is the current year\n*\n* @example\n* var bool = isCurrentYear( new Date() );\n* // returns true\n*\n* @example\n* var currentYear = require( '@stdlib/time/current-year' );\n* var bool = isCurrentYear( currentYear() );\n* // returns true\n*\n* @example\n* var bool = isCurrentYear( 2021 );\n* // returns false\n*\n* @example\n* var bool = isCurrentYear( null );\n* // returns false\n*/\nfunction isCurrentYear( value ) {\n\tif ( isDateObject( value ) ) {\n\t\treturn value.getFullYear() === currentYear();\n\t}\n\treturn ( value === currentYear() );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCurrentYear;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is the current year.\n*\n* @module @stdlib/assert/is-current-year\n*\n* @example\n* var currentYear = require( '@stdlib/time/current-year' );\n* var isCurrentYear = require( '@stdlib/assert/is-current-year' );\n*\n* var bool = isCurrentYear( currentYear() );\n* // returns true\n*\n* bool = isCurrentYear( 2021 );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the current process is running on Darwin.\n*\n* @module @stdlib/assert/is-darwin\n* @type {boolean}\n*\n* @example\n* var PLATFORM = require( '@stdlib/os/platform' );\n* var IS_DARWIN = require( '@stdlib/assert/is-darwin' );\n*\n* if ( IS_DARWIN ) {\n* console.log( 'Running on Darwin...' );\n* } else {\n* console.log( 'Running on %s...', PLATFORM );\n* }\n*/\n\n// MODULES //\n\nvar PLATFORM = require( '@stdlib/os/platform' );\n\n\n// MAIN //\n\n/**\n* Boolean indicating if the current process is running on Darwin.\n*\n* @constant\n* @type {boolean}\n*/\nvar IS_DARWIN = ( PLATFORM === 'darwin' );\n\n\n// EXPORTS //\n\nmodule.exports = IS_DARWIN;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptor = require( '@stdlib/utils/property-descriptor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property has a data descriptor.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property has a data descriptor\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function getter() {\n* return 'beep';\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'get': getter\n* });\n*\n* var bool = isDataProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isDataProperty( obj, 'beep' );\n* // returns false\n*/\nfunction isDataProperty( value, property ) {\n\tvar desc = propertyDescriptor( value, property );\n\treturn ( desc !== null && typeof desc.writable === 'boolean' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isDataProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property has a data descriptor.\n*\n* @module @stdlib/assert/is-data-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isDataProperty = require( '@stdlib/assert/is-data-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function getter() {\n* return 'beep';\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'get': getter\n* });\n*\n* var bool = isDataProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isDataProperty( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property has a data descriptor.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property has a data descriptor\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function getter() {\n* return 'beep';\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'get': getter\n* });\n*\n* var bool = isDataPropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isDataPropertyIn( obj, 'beep' );\n* // returns false\n*/\nfunction isDataPropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn ( desc !== null && typeof desc.writable === 'boolean' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isDataPropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property has a data descriptor.\n*\n* @module @stdlib/assert/is-data-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isDataPropertyIn = require( '@stdlib/assert/is-data-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function getter() {\n* return 'beep';\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'get': getter\n* });\n*\n* var bool = isDataPropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isDataPropertyIn( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only `Date` objects.\n*\n* @module @stdlib/assert/is-date-object-array\n*\n* @example\n* var isDateObjectArray = require( '@stdlib/assert/is-date-object-array' );\n*\n* var bool = isDateObjectArray( [ new Date(), new Date() ] );\n* // returns true\n*\n* bool = isDateObjectArray( [ {}, new Number( 3.0 ) ] );\n* // returns false\n*\n* bool = isDateObjectArray( [ {}, '3.0' ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isDateObject = require( './../../is-date-object' );\n\n\n// MAIN //\n\nvar isDateObjectArray = arrayfun( isDateObject );\n\n\n// EXPORTS //\n\nmodule.exports = isDateObjectArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\n// Character codes:\nvar ZERO = 48;\nvar NINE = 57;\n\n\n// MAIN //\n\n/**\n* Tests whether a string contains only numeric digits.\n*\n* @param {*} x - value to test\n* @returns {boolean} boolean indicating if a string contains only numeric digits\n*\n* @example\n* var out = isDigitString( '0123456789' );\n* // returns true\n*\n* @example\n* var out = isDigitString( '0xffffff' );\n* // returns false\n*\n* @example\n* var out = isDigitString( '' );\n* // returns false\n*\n* @example\n* var out = isDigitString( 123 );\n* // returns false\n*/\nfunction isDigitString( x ) {\n\tvar len;\n\tvar ch;\n\tvar i;\n\tif ( !isString( x ) ) {\n\t\treturn false;\n\t}\n\tlen = x.length;\n\tif ( len === 0 ) {\n\t\treturn false;\n\t}\n\tfor ( i = 0; i < len; i++ ) {\n\t\tch = x.charCodeAt( i );\n\t\tif ( ch < ZERO || ch > NINE ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isDigitString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a string contains only numeric digits.\n*\n* @module @stdlib/assert/is-digit-string\n*\n* @example\n* var isDigitString = require( '@stdlib/assert/is-digit-string' );\n*\n* var out = isDigitString( '0123456789' );\n* // returns true\n*\n* out = isDigitString( '0xffffff' );\n* // returns false\n*\n* out = isDigitString( '' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar readFile = require( '@stdlib/fs/read-file' ).sync;\nvar contains = require( './../../contains' );\nvar exists = require( '@stdlib/fs/exists' ).sync;\n\n\n// VARIABLES //\n\nvar OPTS = {\n\t'encoding': 'utf8'\n};\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating if the process is running in a Docker container.\n*\n* @returns {boolean} boolean indicating if the process is running in a Docker container\n*\n* @example\n* var bool = isDocker();\n* // returns \n*/\nfunction isDocker() {\n\tvar file;\n\tif ( exists( '/.dockerenv' ) ) {\n\t\treturn true;\n\t}\n\tfile = readFile( '/proc/self/cgroup', OPTS );\n\tif ( file instanceof Error ) {\n\t\treturn false;\n\t}\n\treturn contains( file, 'docker' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isDocker;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the process is running in a Docker container.\n*\n* @module @stdlib/assert/is-docker\n*\n* @example\n* var IS_DOCKER = require( '@stdlib/assert/is-docker' );\n*\n* var bool = IS_DOCKER;\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar bool = main();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\n/**\n* Regular expression: `/^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$/`\n*\n* - `\\^`\n* - match any string which begins with\n*\n* - `(?:)`\n* - capture but do not remember\n*\n* - `[a-z0-9]`\n* - match a single digit or letter\n*\n* - `(?:)`\n* - capture but do not remember\n*\n* - `[a-z0-9-]{0,61}`\n* - match between 0 and 61 digits, letters, or hyphens\n*\n* - `[a-z0-9]`\n* - match a single digit or letter\n*\n* - `?`\n* - match the previous token between zero and one times\n*\n* - `\\.`\n* - match a literal `.`\n*\n* - `+`\n* - match the previous group one or more times\n*\n* - `[a-z0-9]`\n* - match a single digit or letter\n*\n* - `[a-z0-9-]{0,61}`\n* - match between 0 and 61 digits, letters, or hyphens\n*\n* - `[a-z0-9]`\n* - match a single digit or letter\n*\n* - `$`\n* - match end of string\n*\n* @private\n* @constant\n* @type {RegExp}\n*/\nvar RE_DOMAIN_NAME = /^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$/i;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a domain name.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a domain name\n*\n* @example\n* var bool = isDomainName( 'beep.boop' );\n* // returns true\n*\n* @example\n* var bool = isDomainName( 'beep boop' );\n* // returns false\n*\n* @example\n* var bool = isDomainName( 'foo@bar.com' );\n* // returns false\n*\n* @example\n* var bool = isDomainName( null );\n* // returns false\n*/\nfunction isDomainName( value ) {\n\tif ( !isString( value ) ) {\n\t\treturn false;\n\t}\n\tif ( value.length < 2 || value.length > 255 ) {\n\t\treturn false;\n\t}\n\treturn RE_DOMAIN_NAME.test( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isDomainName;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a domain name.\n*\n* @module @stdlib/assert/is-domain-name\n*\n* @example\n* var isDomainName = require( '@stdlib/assert/is-domain-name' );\n*\n* var bool = isDomainName( 'example.com' );\n* // returns true\n*\n* bool = isDomainName( 'foo@bar.com' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\nvar RE_DURATION_STRING = /^(?:\\d+d)?(?:\\d+h)?(?:\\d+m)?(?:\\d+s)?(?:\\d+ms)?$/i;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a duration string.\n*\n* ## Notes\n*\n* - The function validates that a value is a string. For all other types, the function returns `false`.\n*\n* - A duration string is a string containing a sequence of time units. A time unit is a non-negative integer followed by a unit identifier. The following unit identifiers are supported:\n*\n* - `d`: days\n* - `h`: hours\n* - `m`: minutes\n* - `s`: seconds\n* - `ms`: milliseconds\n*\n* For example, the string `1m3s10ms` is a duration string containing three time units: `1m` (1 minute), `3s` (3 seconds), and `10ms` (10 milliseconds). The string `60m` is a duration string containing a single time unit: `60m` (60 minutes). A duration string must contain at least one time unit. Time units must be supplied in descending order of magnitude (i.e., days, hours, minutes, seconds, milliseconds).\n*\n* - Duration strings are case insensitive. For example, the string `1M3S10MS` is equivalent to `1m3s10ms`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a duration string\n*\n* @example\n* var bool = isDurationString( '1d' );\n* // returns true\n*\n* @example\n* var bool = isDurationString( '1d2h' );\n* // returns true\n*/\nfunction isDurationString( value ) {\n\tif ( !isString( value ) ) {\n\t\treturn false;\n\t}\n\treturn RE_DURATION_STRING.test( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isDurationString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a duration string.\n*\n* @module @stdlib/assert/is-duration-string\n*\n* @example\n* var isDurationString = require( '@stdlib/assert/is-duration-string' );\n*\n* var bool = isDurationString( '1d' );\n* // returns true\n*\n* bool = isDurationString( '1d2h' );\n* // returns true\n*\n* bool = isDurationString( '1d2h-2m' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nmodule.exports = process;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\nvar isObject = require( './../../is-plain-object' );\nvar isString = require( './../../is-string' ).isPrimitive;\nvar proc = require( './process.js' );\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating if the runtime is Electron.\n*\n* @returns {boolean} boolean indicating if runtime is Electron\n*\n* @example\n* var bool = isElectron();\n* // returns \n*/\nfunction isElectron() {\n\treturn (\n\t\t// Check for a `process` global variable:\n\t\ttypeof proc === 'object' &&\n\n\t\t// Check that the `process` global variable has the expected internal class:\n\t\tnativeClass( proc ) === '[object process]' &&\n\n\t\t// Check for a `versions` property:\n\t\tisObject( proc.versions ) &&\n\n\t\t// Check for an `electron` property:\n\t\tisString( proc.versions.electron ) &&\n\n\t\t// Check for a `chrome` property:\n\t\tisString( proc.versions.chrome ) &&\n\n\t\t// Check for a `type` property:\n\t\t(\n\t\t\tproc.type === 'browser' ||\n\t\t\tproc.type === 'renderer'\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isElectron;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the runtime is Electron.\n*\n* @module @stdlib/assert/is-electron\n*\n* @example\n* var IS_ELECTRON = require( '@stdlib/assert/is-electron' );\n*\n* var bool = IS_ELECTRON;\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar bool = main();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nmodule.exports = process;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isElectron = require( './../../is-electron' );\nvar proc = require( './process.js' );\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating if the runtime is the main Electron process.\n*\n* @returns {boolean} boolean indicating if runtime is the main Electron process\n*\n* @example\n* var bool = isElectronMain();\n* // returns \n*/\nfunction isElectronMain() {\n\treturn (\n\t\tisElectron &&\n\t\tproc.type === 'browser'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isElectronMain;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the runtime is the main Electron process.\n*\n* @module @stdlib/assert/is-electron-main\n*\n* @example\n* var IS_ELECTRON_MAIN = require( '@stdlib/assert/is-electron-main' );\n*\n* var bool = IS_ELECTRON_MAIN;\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar bool = main();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar process = require( 'process' );\n\n\n// EXPORTS //\n\nmodule.exports = process;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isElectron = require( './../../is-electron' );\nvar proc = require( './process.js' );\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating if the runtime is the Electron renderer process.\n*\n* @returns {boolean} boolean indicating if runtime is the Electron renderer process\n*\n* @example\n* var bool = isElectronRenderer();\n* // returns \n*/\nfunction isElectronRenderer() {\n\treturn (\n\t\tisElectron &&\n\t\tproc.type === 'renderer'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isElectronRenderer;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the runtime is the Electron renderer process.\n*\n* @module @stdlib/assert/is-electron-renderer\n*\n* @example\n* var IS_ELECTRON_RENDERER = require( '@stdlib/assert/is-electron-renderer' );\n*\n* var bool = IS_ELECTRON_RENDERER;\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar bool = main();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\nvar RE = /@/;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a valid(ish) email address.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a valid(ish) email address\n*\n* @example\n* var bool = isEmail( 'beep@boop.com' );\n* // returns true\n*\n* @example\n* var bool = isEmail( 'beep' );\n* // returns false\n*\n* @example\n* var bool = isEmail( 'beep.com' );\n* // returns false\n*\n* @example\n* var bool = isEmail( null );\n* // returns false\n*/\nfunction isEmail( value ) {\n\treturn isString( value ) && RE.test( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEmail;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an email address.\n*\n* @module @stdlib/assert/is-email-address\n*\n* @example\n* var isEmail = require( '@stdlib/assert/is-email-address' );\n*\n* var bool = isEmail( 'beep@boop.com' );\n* // returns true\n*\n* bool = isEmail( 'beep' );\n* // returns false\n*\n* bool = isEmail( null );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isArray = require( './../../is-array' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an empty array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an empty array\n*\n* @example\n* var bool = isEmptyArray( [] );\n* // returns true\n*\n* @example\n* var bool = isEmptyArray( [ 1, 2, 3 ] );\n* // returns false\n*\n* @example\n* var bool = isEmptyArray( {} );\n* // returns false\n*/\nfunction isEmptyArray( value ) {\n\treturn (\n\t\tisArray( value ) &&\n\t\tvalue.length === 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEmptyArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an empty array.\n*\n* @module @stdlib/assert/is-empty-array\n*\n* @example\n* var isEmptyArray = require( '@stdlib/assert/is-empty-array' );\n*\n* var bool = isEmptyArray( [] );\n* // returns true\n*\n* bool = isEmptyArray( [ 1, 2, 3 ] );\n* // returns false\n*\n* bool = isEmptyArray( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if a value is an empty array-like object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is an empty array-like object\n*\n* @example\n* var bool = isEmptyArrayLikeObject( [] );\n* // returns true\n*\n* @example\n* var bool = isEmptyArrayLikeObject( { 'length': 0 } );\n* // returns true\n*\n* @example\n* var bool = isEmptyArrayLikeObject( '' );\n* // returns false\n*/\nfunction isEmptyArrayLikeObject( value ) {\n\treturn (\n\t\ttypeof value === 'object' &&\n\t\tvalue !== null &&\n\t\tvalue.length === 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEmptyArrayLikeObject;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an empty array-like object.\n*\n* @module @stdlib/assert/is-empty-array-like-object\n*\n* @example\n* var isEmptyArrayLikeObject = require( '@stdlib/assert/is-empty-array-like-object' );\n*\n* var bool = isEmptyArrayLikeObject( [] );\n* // returns true\n*\n* bool = isEmptyArrayLikeObject( { 'length': 0 } );\n* // returns true\n*\n* bool = isEmptyArrayLikeObject( '' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if a value is an empty collection.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an empty collection\n*\n* @example\n* var bool = isEmptyCollection( [] );\n* // returns true\n*\n* @example\n* var bool = isEmptyCollection( { 'length': 0 } );\n* // returns true\n*\n* @example\n* var bool = isEmptyCollection( [ 1, 2, 3 ] );\n* // returns false\n*\n* @example\n* var bool = isEmptyCollection( {} );\n* // returns false\n*/\nfunction isEmptyCollection( value ) {\n\treturn (\n\t\ttypeof value === 'object' &&\n\t\tvalue !== null &&\n\t\tvalue.length === 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEmptyCollection;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an empty collection.\n*\n* @module @stdlib/assert/is-empty-collection\n*\n* @example\n* var isEmptyCollection = require( '@stdlib/assert/is-empty-collection' );\n*\n* var bool = isEmptyCollection( [] );\n* // returns true\n*\n* bool = isEmptyCollection( [ 1, 2, 3 ] );\n* // returns false\n*\n* bool = isEmptyCollection( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar objectKeys = require( '@stdlib/utils/keys' );\nvar isPlainObject = require( './../../is-plain-object' );\nvar hasSymbolSupport = require( './../../has-symbol-support' );\n\n\n// VARIABLES //\n\nvar FLG = hasSymbolSupport();\n\n\n// MAIN //\n\n/**\n* Tests if a value is an empty object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an empty object\n*\n* @example\n* var bool = isEmptyObject( {} );\n* // returns true\n*\n* @example\n* var bool = isEmptyObject( { 'beep': 'boop' } );\n* // returns false\n*\n* @example\n* var bool = isEmptyObject( [] );\n* // returns false\n*/\nfunction isEmptyObject( value ) {\n\tif ( !isPlainObject( value ) ) {\n\t\treturn false;\n\t}\n\tif ( objectKeys( value ).length > 0 ) {\n\t\treturn false;\n\t}\n\tif ( FLG && Object.getOwnPropertySymbols( value ).length > 0 ) {\n\t\treturn false;\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEmptyObject;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an empty object.\n*\n* @module @stdlib/assert/is-empty-object\n*\n* @example\n* var isEmptyObject = require( '@stdlib/assert/is-empty-object' );\n*\n* var bool = isEmptyObject( {} );\n* // returns true\n*\n* bool = isEmptyObject( { 'beep': 'boop' } );\n* // returns false\n*\n* bool = isEmptyObject( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if a value is an empty string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an empty string primitive\n*\n* @example\n* var bool = isEmptyString( '' );\n* // returns true\n*\n* @example\n* var bool = isEmptyString( 'beep' );\n* // returns false\n*\n* @example\n* var bool = isEmptyString( [] );\n* // returns false\n*/\nfunction isEmptyString( value ) {\n\treturn ( value === '' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEmptyString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is an empty string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an empty string object\n*\n* @example\n* var bool = isEmptyString( '' );\n* // returns false\n*\n* @example\n* var bool = isEmptyString( new String( '' ) );\n* // returns true\n*\n* @example\n* var bool = isEmptyString( [] );\n* // returns false\n*/\nfunction isEmptyString( value ) {\n\treturn (\n\t\tisString( value ) &&\n\t\tvalue.valueOf() === ''\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEmptyString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an empty string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an empty string\n*\n* @example\n* var bool = isEmptyString( '' );\n* // returns true\n*\n* @example\n* var bool = isEmptyString( 'beep' );\n* // returns false\n*\n* @example\n* var bool = isEmptyString( [] );\n* // returns false\n*/\nfunction isEmptyString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEmptyString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an empty string.\n*\n* @module @stdlib/assert/is-empty-string\n*\n* @example\n* var isEmptyString = require( '@stdlib/assert/is-empty-string' );\n*\n* var bool = isEmptyString( '' );\n* // returns true\n*\n* bool = isEmptyString( 'beep' );\n* // returns false\n*\n* bool = isEmptyString( [] );\n* // returns false\n*\n* @example\n* var isEmptyString = require( '@stdlib/assert/is-empty-string' ).isObject;\n*\n* var bool = isEmptyString( new String( '' ) );\n* // returns true\n*\n* bool = isEmptyString( '' );\n* // returns false\n*\n* @example\n* var isEmptyString = require( '@stdlib/assert/is-empty-string' ).isPrimitive;\n*\n* var bool = isEmptyString( '' );\n* // returns true\n*\n* bool = isEmptyString( new String( '' ) );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property is enumerable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is enumerable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': true,\n* 'enumerable': false,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isEnumerablePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isEnumerablePropertyIn( obj, 'beep' );\n* // returns false\n*/\nfunction isEnumerablePropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property ); // Note: works for both property names and symbols, which the `in` operator does not.\n\treturn ( desc !== null && desc.enumerable === true );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEnumerablePropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property is enumerable.\n*\n* @module @stdlib/assert/is-enumerable-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isEnumerablePropertyIn = require( '@stdlib/assert/is-enumerable-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': true,\n* 'enumerable': false,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isEnumerablePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isEnumerablePropertyIn( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar typeOf = require( '@stdlib/utils/type-of' );\nvar isError = require( './../../is-error' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an `EvalError` object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an `EvalError` object\n*\n* @example\n* var bool = isEvalError( new EvalError( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isEvalError( {} );\n* // returns false\n*/\nfunction isEvalError( value ) {\n\tif ( typeof value !== 'object' || value === null ) {\n\t\treturn false;\n\t}\n\t// Check for `EvalError` objects from the same realm (same Node.js `vm` or same `Window` object)...\n\tif ( value instanceof EvalError ) {\n\t\treturn true;\n\t}\n\t// All `EvalError` objects are `Error` objects...\n\tif ( isError( value ) ) {\n\t\t// Walk the prototype tree until we find the desired constructor...\n\t\twhile ( value ) {\n\t\t\tif ( typeOf( value ) === 'evalerror' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tvalue = getPrototypeOf( value );\n\t\t}\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEvalError;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an `EvalError` object.\n*\n* @module @stdlib/assert/is-eval-error\n*\n* @example\n* var isEvalError = require( '@stdlib/assert/is-eval-error' );\n*\n* var bool = isEvalError( new EvalError( 'beep' ) );\n* // returns true\n*\n* bool = isEvalError( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive that is an even number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive that is an even number\n*\n* @example\n* var bool = isEven( -4.0 );\n* // returns true\n*\n* @example\n* var bool = isEven( new Number( -4.0 ) );\n* // returns false\n*/\nfunction isEven( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue % 2 === 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEven;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object that is an even number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object that is an even number\n*\n* @example\n* var bool = isEven( 4.0 );\n* // returns false\n*\n* @example\n* var bool = isEven( new Number( 4.0 ) );\n* // returns true\n*/\nfunction isEven( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue % 2 === 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEven;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an even number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an even number.\n*\n* @example\n* var bool = isEven( 4.0 );\n* // returns true\n*\n* @example\n* var bool = isEven( new Number( 4.0 ) );\n* // returns true\n*\n* @example\n* var bool = isEven( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isEven( new Number( 5.0 ) );\n* // returns false\n*\n* @example\n* var bool = isEven( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isEven( null );\n* // returns false\n*/\nfunction isEven( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEven;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an even number.\n*\n* @module @stdlib/assert/is-even\n*\n* @example\n* var isEven = require( '@stdlib/assert/is-even' );\n*\n* var bool = isEven( 4.0 );\n* // returns true\n*\n* bool = isEven( new Number( 4.0 ) );\n* // returns true\n*\n* bool = isEven( 3.0 );\n* // returns false\n*\n* bool = isEven( new Number( 5.0 ) );\n* // returns false\n*\n* bool = isEven( -3.14 );\n* // returns false\n*\n* bool = isEven( null );\n* // returns false\n*\n* @example\n* // Use interface to check for even number primitives...\n* var isEven = require( '@stdlib/assert/is-even' ).isPrimitive;\n*\n* var bool = isEven( -4.0 );\n* // returns true\n*\n* bool = isEven( new Number( -4.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for even number objects...\n* var isEven = require( '@stdlib/assert/is-even' ).isObject;\n*\n* var bool = isEven( 4.0 );\n* // returns false\n*\n* bool = isEven( new Number( 4.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if a value is falsy.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is falsy\n*\n* @example\n* var bool = isFalsy( false );\n* // returns true\n*\n* @example\n* var bool = isFalsy( null );\n* // returns true\n*\n* @example\n* var bool = isFalsy( '' );\n* // returns true\n*\n* @example\n* var bool = isFalsy( 0 );\n* // returns true\n*\n* @example\n* var bool = isFalsy( void 0 );\n* // returns true\n*\n* @example\n* var bool = isFalsy( NaN );\n* // returns true\n*\n* @example\n* var bool = isFalsy( [] );\n* // returns false\n*/\nfunction isFalsy( value ) {\n\treturn ( value ) ? false : true; // eslint-disable-line no-unneeded-ternary\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFalsy;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is falsy.\n*\n* @module @stdlib/assert/is-falsy\n*\n* @example\n* var isFalsy = require( '@stdlib/assert/is-falsy' );\n*\n* var bool = isFalsy( false );\n* // returns true\n*\n* bool = isFalsy( null );\n* // returns true\n*\n* bool = isFalsy( '' );\n* // returns true\n*\n* bool = isFalsy( 0 );\n* // returns true\n*\n* bool = isFalsy( void 0 );\n* // returns true\n*\n* bool = isFalsy( NaN );\n* // returns true\n*\n* bool = isFalsy( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only falsy values.\n*\n* @module @stdlib/assert/is-falsy-array\n*\n* @example\n* var isFalsyArray = require( '@stdlib/assert/is-falsy-array' );\n*\n* var bool = isFalsyArray( [ false, null, void 0, '', 0, NaN ] );\n* // returns true\n*\n* bool = isFalsyArray( [ {}, [] ] );\n* // returns false\n*\n* bool = isFalsyArray( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isFalsy = require( './../../is-falsy' );\n\n\n// MAIN //\n\nvar isFalsyArray = arrayfun( isFalsy );\n\n\n// EXPORTS //\n\nmodule.exports = isFalsyArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable stdlib/no-redeclare */\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar isfinite = require( '@stdlib/math/base/assert/is-finite' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a finite value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a finite value\n*\n* @example\n* var bool = isFinite( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isFinite( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isFinite( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisfinite( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFinite;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable stdlib/no-redeclare */\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\nvar isfinite = require( '@stdlib/math/base/assert/is-finite' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a finite value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a finite value\n*\n* @example\n* var bool = isFinite( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isFinite( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isFinite( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisfinite( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFinite;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable stdlib/no-redeclare */\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a finite number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a finite number\n*\n* @example\n* var bool = isFinite( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isFinite( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isFinite( 1.0/0.0 );\n* // returns false\n*\n* @example\n* var bool = isFinite( null );\n* // returns false\n*/\nfunction isFinite( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFinite;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a finite number.\n*\n* @module @stdlib/assert/is-finite\n*\n* @example\n* var isFinite = require( '@stdlib/assert/is-finite' );\n*\n* var bool = isFinite( 5.0 );\n* // returns true\n*\n* bool = isFinite( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isFinite( 1.0/0.0 );\n* // returns false\n*\n* bool = isFinite( null );\n* // returns false\n*\n* @example\n* var isFinite = require( '@stdlib/assert/is-finite' ).isPrimitive;\n*\n* var bool = isFinite( -3.0 );\n* // returns true\n*\n* bool = isFinite( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* var isFinite = require( '@stdlib/assert/is-finite' ).isObject;\n*\n* var bool = isFinite( 3.0 );\n* // returns false\n*\n* bool = isFinite( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only finite numbers.\n*\n* @module @stdlib/assert/is-finite-array\n*\n* @example\n* var isFiniteArray = require( '@stdlib/assert/is-finite-array' );\n*\n* var bool = isFiniteArray( [ -3.0, new Number(0.0), 2.0 ] );\n* // returns true\n*\n* bool = isFiniteArray( [ -3.0, 1.0/0.0 ] );\n* // returns false\n*\n* @example\n* var isFiniteArray = require( '@stdlib/assert/is-finite-array' ).primitives;\n*\n* var bool = isFiniteArray( [ -1.0, 10.0 ] );\n* // returns true\n*\n* bool = isFiniteArray( [ -1.5, 0.0, 5.0 ] );\n* // returns true\n*\n* bool = isFiniteArray( [ -3.0, new Number(-1.0) ] );\n* // returns false\n*\n* @example\n* var isFiniteArray = require( '@stdlib/assert/is-finite-array' ).objects;\n*\n* var bool = isFiniteArray( [ new Number(1.0), new Number(3.0) ] );\n* // returns true\n*\n* bool = isFiniteArray( [ -1.0, 0.0, 3.0 ] );\n* // returns false\n*\n* bool = isFiniteArray( [ 3.0, new Number(-1.0) ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFinite = require( './../../is-finite' ); // eslint-disable-line stdlib/no-redeclare\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isFinite.isPrimitive );\nvar isObjectArray = arrayfun( isFinite.isObject );\n\n\n// MAIN //\n\nvar isFiniteArray = arrayfun( isFinite );\nsetReadOnly( isFiniteArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isFiniteArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isFiniteArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isMatrixLike = require( './../../is-matrix-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 2-dimensional ndarray-like object whose underlying data type is `float32`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 2-dimensional ndarray-like object whose underlying data type is `float32`\n*\n* @example\n* var Float32Array = require( '@stdlib/array/float32' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Float32Array( [ 0, 0, 0, 0 ] );\n* var arr = ndarray( 'float32', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isFloat32MatrixLike( arr );\n* // returns true\n*\n* bool = isFloat32MatrixLike( [] );\n* // returns false\n*/\nfunction isFloat32MatrixLike( v ) {\n\treturn ( isMatrixLike( v ) && v.dtype === 'float32' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32MatrixLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 2-dimensional ndarray-like object whose underlying data type is `float32`.\n*\n* @module @stdlib/assert/is-float32matrix-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Float32Array = require( '@stdlib/array/float32' );\n* var isFloat32MatrixLike = require( '@stdlib/assert/is-float32matrix-like' );\n*\n* var buffer = new Float32Array( [ 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'float32', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isFloat32MatrixLike( arr );\n* // returns true\n*\n* bool = isFloat32MatrixLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFloat32MatrixLike = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32MatrixLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isndarrayLike = require( './../../is-ndarray-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an ndarray-like object whose underlying data type is `float32`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is an ndarray-like object whose underlying data type is `float32`\n*\n* @example\n* var Float32Array = require( '@stdlib/array/float32' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Float32Array( [ 0, 0, 0, 0 ] );\n* var arr = ndarray( 'float32', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isFloat32ndarrayLike( arr );\n* // returns true\n*\n* bool = isFloat32ndarrayLike( [] );\n* // returns false\n*/\nfunction isFloat32ndarrayLike( v ) {\n\treturn ( isndarrayLike( v ) && v.dtype === 'float32' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32ndarrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an ndarray-like object whose underlying data type is `float32`.\n*\n* @module @stdlib/assert/is-float32ndarray-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Float32Array = require( '@stdlib/array/float32' );\n* var isFloat32ndarrayLike = require( '@stdlib/assert/is-float32ndarray-like' );\n*\n* var buffer = new Float32Array( [ 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'float32', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isFloat32ndarrayLike( arr );\n* // returns true\n*\n* bool = isFloat32ndarrayLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFloat32ndarrayLike = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32ndarrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isVectorLike = require( './../../is-vector-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 1-dimensional ndarray-like object whose underlying data type is `float32`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 1-dimensional ndarray-like object whose underlying data type is `float32`\n*\n* @example\n* var Float32Array = require( '@stdlib/array/float32' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Float32Array( [ 0, 0, 0, 0 ] );\n* var arr = ndarray( 'float32', buffer, [ 4 ], [ 1 ], 0, 'row-major' );\n*\n* var bool = isFloat32VectorLike( arr );\n* // returns true\n*\n* bool = isFloat32VectorLike( [] );\n* // returns false\n*/\nfunction isFloat32VectorLike( v ) {\n\treturn ( isVectorLike( v ) && v.dtype === 'float32' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32VectorLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 1-dimensional ndarray-like object whose underlying data type is `float32`.\n*\n* @module @stdlib/assert/is-float32vector-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Float32Array = require( '@stdlib/array/float32' );\n* var isFloat32VectorLike = require( '@stdlib/assert/is-float32vector-like' );\n*\n* var buffer = new Float32Array( [ 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'float32', buffer, [ 4 ], [ 1 ], 0, 'row-major' );\n*\n* var bool = isFloat32VectorLike( arr );\n* // returns true\n*\n* bool = isFloat32VectorLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFloat32VectorLike = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32VectorLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isMatrixLike = require( './../../is-matrix-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 2-dimensional ndarray-like object whose underlying data type is `float64`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 2-dimensional ndarray-like object whose underlying data type is `float64`\n*\n* @example\n* var Float64Array = require( '@stdlib/array/float64' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Float64Array( [ 0, 0, 0, 0 ] );\n* var arr = ndarray( 'float64', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isFloat64MatrixLike( arr );\n* // returns true\n*\n* bool = isFloat64MatrixLike( [] );\n* // returns false\n*/\nfunction isFloat64MatrixLike( v ) {\n\treturn ( isMatrixLike( v ) && v.dtype === 'float64' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFloat64MatrixLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 2-dimensional ndarray-like object whose underlying data type is `float64`.\n*\n* @module @stdlib/assert/is-float64matrix-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Float64Array = require( '@stdlib/array/float64' );\n* var isFloat64MatrixLike = require( '@stdlib/assert/is-float64matrix-like' );\n*\n* var buffer = new Float64Array( [ 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'float64', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isFloat64MatrixLike( arr );\n* // returns true\n*\n* bool = isFloat64MatrixLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFloat64MatrixLike = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isFloat64MatrixLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isndarrayLike = require( './../../is-ndarray-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an ndarray-like object whose underlying data type is `float64`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is an ndarray-like object whose underlying data type is `float64`\n*\n* @example\n* var Float64Array = require( '@stdlib/array/float64' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Float64Array( [ 0, 0, 0, 0 ] );\n* var arr = ndarray( 'float64', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isFloat64ndarrayLike( arr );\n* // returns true\n*\n* bool = isFloat64ndarrayLike( [] );\n* // returns false\n*/\nfunction isFloat64ndarrayLike( v ) {\n\treturn ( isndarrayLike( v ) && v.dtype === 'float64' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFloat64ndarrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an ndarray-like object whose underlying data type is `float64`.\n*\n* @module @stdlib/assert/is-float64ndarray-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Float64Array = require( '@stdlib/array/float64' );\n* var isFloat64ndarrayLike = require( '@stdlib/assert/is-float64ndarray-like' );\n*\n* var buffer = new Float64Array( [ 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'float64', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isFloat64ndarrayLike( arr );\n* // returns true\n*\n* bool = isFloat64ndarrayLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFloat64ndarrayLike = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isFloat64ndarrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isVectorLike = require( './../../is-vector-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 1-dimensional ndarray-like object whose underlying data type is `float64`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 1-dimensional ndarray-like object whose underlying data type is `float64`\n*\n* @example\n* var Float64Array = require( '@stdlib/array/float64' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Float64Array( [ 0, 0, 0, 0 ] );\n* var arr = ndarray( 'float64', buffer, [ 4 ], [ 1 ], 0, 'row-major' );\n*\n* var bool = isFloat64VectorLike( arr );\n* // returns true\n*\n* bool = isFloat64VectorLike( [] );\n* // returns false\n*/\nfunction isFloat64VectorLike( v ) {\n\treturn ( isVectorLike( v ) && v.dtype === 'float64' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFloat64VectorLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 1-dimensional ndarray-like object whose underlying data type is `float64`.\n*\n* @module @stdlib/assert/is-float64vector-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Float64Array = require( '@stdlib/array/float64' );\n* var isFloat64VectorLike = require( '@stdlib/assert/is-float64vector-like' );\n*\n* var buffer = new Float64Array( [ 0, 0, 0, 0 ] );\n* var arr = ndarray( 'float64', buffer, [ 4 ], [ 1 ], 0, 'row-major' );\n*\n* var bool = isFloat64VectorLike( arr );\n* // returns true\n*\n* bool = isFloat64VectorLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFloat64VectorLike = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isFloat64VectorLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only functions.\n*\n* @module @stdlib/assert/is-function-array\n*\n* @example\n* var isFunctionArray = require( '@stdlib/assert/is-function-array' );\n*\n* function beep() {}\n*\n* function boop() {}\n*\n* var bool = isFunctionArray( [ beep, boop ] );\n* // returns true\n*\n* bool = isFunctionArray( [ {}, beep ] );\n* // returns false\n*\n* bool = isFunctionArray( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isFunction = require( './../../is-function' );\n\n\n// MAIN //\n\nvar isFunctionArray = arrayfun( isFunction );\n\n\n// EXPORTS //\n\nmodule.exports = isFunctionArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasGeneratorSupport = require( './../../has-generator-support' );\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasGenerators = hasGeneratorSupport();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a generator object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a generator object\n*\n* @example\n* function* generateID() {\n* var idx = 0;\n* while ( idx < idx+1 ) {\n* yield idx;\n* idx += 1;\n* }\n* }\n* var bool = isGeneratorObject( generateID() );\n* // returns true\n*\n* @example\n* var bool = isGeneratorObject( {} );\n* // returns false\n*\n* @example\n* var bool = isGeneratorObject( null );\n* // returns false\n*/\nfunction isGeneratorObject( value ) {\n\treturn ( hasGenerators && nativeClass( value ) === '[object Generator]' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isGeneratorObject;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a generator object.\n*\n* @module @stdlib/assert/is-generator-object\n*\n* @example\n* var isGeneratorObject = require( '@stdlib/assert/is-generator-object' );\n*\n* function* generateID() {\n* var idx = 0;\n* while ( idx < idx+1 ) {\n* yield idx;\n* idx += 1;\n* }\n* }\n*\n* var bool = isGeneratorObject( generateID() );\n* // returns true\n*\n* bool = isGeneratorObject( generateID );\n* // returns false\n*\n* bool = isGeneratorObject( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if a value is generator object-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is generator object-like\n*\n* @example\n* var gen = {\n* 'next': function noop() {},\n* 'return': function noop() {},\n* 'throw': function noop() {}\n* };\n* var bool = isGeneratorObjectLike( gen );\n* // returns true\n*\n* @example\n* function* generateID() {\n* var idx = 0;\n* while ( idx < idx+1 ) {\n* yield idx;\n* idx += 1;\n* }\n* }\n* var bool = isGeneratorObjectLike( generateID() );\n* // returns true\n*\n* @example\n* var bool = isGeneratorObjectLike( {} );\n* // returns false\n*\n* @example\n* var bool = isGeneratorObjectLike( null );\n* // returns false\n*/\nfunction isGeneratorObjectLike( value ) {\n\treturn (\n\t\tvalue !== null &&\n\t\ttypeof value === 'object' &&\n\t\ttypeof value.next === 'function' &&\n\t\ttypeof value.return === 'function' &&\n\t\ttypeof value.throw === 'function'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isGeneratorObjectLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is generator object-like.\n*\n* @module @stdlib/assert/is-generator-object-like\n*\n* @example\n* var isGeneratorObjectLike = require( '@stdlib/assert/is-generator-object-like' );\n*\n* var gen = {\n* 'next': function noop() {},\n* 'return': function noop() {},\n* 'throw': function noop() {}\n* };\n* var bool = isGeneratorObjectLike( gen );\n* // returns true\n*\n* bool = isGeneratorObjectLike( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isUint8Array = require( './../../is-uint8array' );\nvar isBuffer = require( './../../is-buffer' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a gzip buffer (or Uint8Array).\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a gzip buffer\n*\n* @example\n* var Uint8Array = require( '@stdlib/array/uint8' );\n*\n* var buf = new Uint8Array( 20 );\n* buf[ 0 ] = 31; // 0x1f => magic number\n* buf[ 1 ] = 139; // 0x8b\n* buf[ 2 ] = 8; // 0x08 => compression method\n*\n* var bool = isgzipBuffer( buf );\n* // returns true\n*\n* @example\n* var Uint8Array = require( '@stdlib/array/uint8' );\n*\n* var bool = isgzipBuffer( new Uint8Array( 20 ) );\n* // returns false\n*\n* @example\n* var bool = isgzipBuffer( [] );\n* // returns false\n*/\nfunction isgzipBuffer( value ) {\n\tif ( !isUint8Array( value ) && !isBuffer( value ) ) {\n\t\treturn false;\n\t}\n\tif ( value.length < 19 ) { // 10-byte header + 8-byte footer + payload\n\t\treturn false;\n\t}\n\treturn (\n\t\t// Check for expected magic number:\n\t\tvalue[ 0 ] === 0x1F &&\n\t\tvalue[ 1 ] === 0x8B &&\n\n\t\t// Check for expected compression method:\n\t\tvalue[ 2 ] === 0x08\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isgzipBuffer;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a gzip buffer (or Uint8Array).\n*\n* @module @stdlib/assert/is-gzip-buffer\n*\n* @example\n* var Uint8Array = require( '@stdlib/array/uint8' );\n* var isgzipBuffer = require( '@stdlib/assert/is-gzip-buffer' );\n*\n* var buf = new Uint8Array( 20 );\n* buf[ 0 ] = 31; // 0x1f => magic number\n* buf[ 1 ] = 139; // 0x8b\n* buf[ 2 ] = 8; // 0x08 => compression method\n*\n* var bool = isgzipBuffer( buf );\n* // returns true\n*\n* bool = isgzipBuffer( new Uint8Array( 20 ) );\n* // returns false\n*\n* bool = isgzipBuffer( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\n// Character codes:\nvar ZERO = 48;\nvar NINE = 57;\nvar A = 65;\nvar F = 70;\nvar a = 97;\nvar f = 102;\n\n\n// MAIN //\n\n/**\n* Tests whether a string contains only hexadecimal digits.\n*\n* @param {*} x - value to test\n* @returns {boolean} boolean indicating if a string contains only hexadecimal digits\n*\n* @example\n* var out = isHexString( '0123456789abcdefABCDEF' );\n* // returns true\n*\n* @example\n* var out = isHexString( '0xffffff' );\n* // returns false\n*\n* @example\n* var out = isHexString( '' );\n* // returns false\n*\n* @example\n* var out = isHexString( 123 );\n* // returns false\n*/\nfunction isHexString( x ) {\n\tvar len;\n\tvar ch;\n\tvar i;\n\tif ( !isString( x ) ) {\n\t\treturn false;\n\t}\n\tlen = x.length;\n\tif ( !len ) {\n\t\treturn false;\n\t}\n\tfor ( i = 0; i < len; i++ ) {\n\t\tch = x.charCodeAt( i );\n\t\tif (\n\t\t\tch < ZERO ||\n\t\t\t( ch > NINE && ch < A ) ||\n\t\t\t( ch > F && ch < a ) ||\n\t\t\tch > f\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isHexString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a string contains only hexadecimal digits.\n*\n* @module @stdlib/assert/is-hex-string\n*\n* @example\n* var isHexString = require( '@stdlib/assert/is-hex-string' );\n*\n* var out = isHexString( '0123456789abcdefABCDEF' );\n* // returns true\n*\n* out = isHexString( '0xffffff' );\n* // returns false\n*\n* out = isHexString( '' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar isinf = require( '@stdlib/math/base/assert/is-infinite' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an infinite value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an infinite value\n*\n* @example\n* var bool = isInfinite( -1.0/0.0 );\n* // returns true\n*\n* @example\n* var bool = isInfinite( new Number( -1.0/0.0 ) );\n* // returns false\n*/\nfunction isInfinite( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisinf( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInfinite;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\nvar isinf = require( '@stdlib/math/base/assert/is-infinite' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an infinite value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an infinite value\n*\n* @example\n* var bool = isInfinite( 1.0/0.0 );\n* // returns false\n*\n* @example\n* var bool = isInfinite( new Number( 1.0/0.0 ) );\n* // returns true\n*/\nfunction isInfinite( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisinf( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInfinite;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an infinite number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an infinite number\n*\n* @example\n* var bool = isInfinite( 1.0/0.0 );\n* // returns true\n*\n* @example\n* var bool = isInfinite( new Number( 1.0/0.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInfinite( 5.0 );\n* // returns false\n*\n* @example\n* var bool = isInfinite( null );\n* // returns false\n*/\nfunction isInfinite( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInfinite;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an infinite number.\n*\n* @module @stdlib/assert/is-infinite\n*\n* @example\n* var isInfinite = require( '@stdlib/assert/is-infinite' );\n*\n* var bool = isInfinite( 1.0/0.0 );\n* // returns true\n*\n* bool = isInfinite( new Number( 1.0/0.0 ) );\n* // returns true\n*\n* bool = isInfinite( 5.0 );\n* // returns false\n*\n* bool = isInfinite( null );\n* // returns false\n*\n* @example\n* var isInfinite = require( '@stdlib/assert/is-infinite' ).isPrimitive;\n*\n* var bool = isInfinite( -1.0/0.0 );\n* // returns true\n*\n* bool = isInfinite( new Number( -1.0/0.0 ) );\n* // returns false\n*\n* @example\n* var isInfinite = require( '@stdlib/assert/is-infinite' ).isObject;\n*\n* var bool = isInfinite( 1.0/0.0 );\n* // returns false\n*\n* bool = isInfinite( new Number( 1.0/0.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasOwnProp = require( './../../has-own-property' );\n\n\n// MAIN //\n\n/**\n* Tests if an object has an inherited property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has an inherited property\n*\n* @example\n* var obj = {\n* 'boop': true\n* };\n*\n* var bool = isInheritedProperty( obj, 'toString' );\n* // returns true\n*\n* @example\n* var obj = {\n* 'boop': true\n* };\n*\n* var bool = isInheritedProperty( obj, 'boop' );\n* // returns false\n*\n* @example\n* var obj = {\n* 'boop': true\n* };\n*\n* var bool = isInheritedProperty( obj, 'bap' );\n* // returns false\n*/\nfunction isInheritedProperty( value, property ) {\n\tif ( value === void 0 || value === null || hasOwnProp( value, property ) ) {\n\t\treturn false;\n\t}\n\tif ( typeof property === 'symbol' ) {\n\t\treturn property in Object( value );\n\t}\n\treturn ( String( property ) in Object( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInheritedProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object has an inherited property.\n*\n* @module @stdlib/assert/is-inherited-property\n*\n* @example\n* var isInheritedProperty = require( '@stdlib/assert/is-inherited-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* var bool = isInheritedProperty( obj, 'toString' );\n* // returns true\n*\n* bool = isInheritedProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isInheritedProperty( obj, 'bop' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only integers.\n*\n* @module @stdlib/assert/is-integer-array\n*\n* @example\n* var isIntegerArray = require( '@stdlib/assert/is-integer-array' );\n*\n* var bool = isIntegerArray( [ -3.0, new Number(0.0), 2.0 ] );\n* // returns true\n*\n* bool = isIntegerArray( [ -3.0, '3.0' ] );\n* // returns false\n*\n* @example\n* var isIntegerArray = require( '@stdlib/assert/is-integer-array' ).primitives;\n*\n* var bool = isIntegerArray( [ -1.0, 10.0 ] );\n* // returns true\n*\n* bool = isIntegerArray( [ -1.0, 0.0, 5.0 ] );\n* // returns true\n*\n* bool = isIntegerArray( [ -3.0, new Number(-1.0) ] );\n* // returns false\n*\n* @example\n* var isIntegerArray = require( '@stdlib/assert/is-integer-array' ).objects;\n*\n* var bool = isIntegerArray( [ new Number(1.0), new Number(3.0) ] );\n* // returns true\n*\n* bool = isIntegerArray( [ -1.0, 0.0, 3.0 ] );\n* // returns false\n*\n* bool = isIntegerArray( [ 3.0, new Number(-1.0) ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isInteger.isPrimitive );\nvar isObjectArray = arrayfun( isInteger.isObject );\n\n\n// MAIN //\n\nvar isIntegerArray = arrayfun( isInteger );\nsetReadOnly( isIntegerArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isIntegerArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isIntegerArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a JavaScript primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a JavaScript primitive\n*\n* @example\n* var bool = isPrimitive( true );\n* // returns true\n*\n* @example\n* var bool = isPrimitive( {} );\n* // returns false\n*/\nfunction isPrimitive( value ) {\n\tvar type = typeof value;\n\treturn (\n\t\ttype === 'string' ||\n\t\ttype === 'number' ||\n\t\ttype === 'boolean' ||\n\t\ttype === 'symbol' || // ES6/ES2015\n\t\ttype === 'bigint' || // ES11/ES2020\n\t\tvalue === null ||\n\t\tvalue === void 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPrimitive;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a JavaScript primitive.\n*\n* @module @stdlib/assert/is-primitive\n*\n* @example\n* var isPrimitive = require( '@stdlib/assert/is-primitive' );\n*\n* var bool = isPrimitive( true );\n* // returns true\n*\n* bool = isPrimitive( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFunction = require( './../../is-function' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is iterator-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is iterator-like\n*\n* @example\n* var it = {\n* 'next': function noop() {}\n* };\n* var bool = isIteratorLike( it );\n* // returns true\n*\n* @example\n* var bool = isIteratorLike( {} );\n* // returns false\n*\n* @example\n* var bool = isIteratorLike( null );\n* // returns false\n*/\nfunction isIteratorLike( value ) {\n\tvar t = typeof value;\n\treturn (\n\t\tvalue !== null &&\n\t\t( t === 'object' || t === 'function' ) &&\n\t\tisFunction( value.next )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isIteratorLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is iterator-like.\n*\n* @module @stdlib/assert/is-iterator-like\n*\n* @example\n* var isIteratorLike = require( '@stdlib/assert/is-iterator-like' );\n*\n* var it = {\n* 'next': function noop() {}\n* };\n* var bool = isIteratorLike( it );\n* // returns true\n*\n* bool = isIteratorLike( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './../../is-primitive' );\nvar isFunction = require( './../../is-function' );\nvar ITERATOR = require( '@stdlib/symbol/iterator' );\nvar isIteratorLike = require( './../../is-iterator-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is iterable-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is iterable-like\n*\n* @example\n* var bool = isIterableLike( [] );\n* // returns \n*\n* @example\n* var bool = isIterableLike( {} );\n* // returns false\n*\n* @example\n* var bool = isIterableLike( null );\n* // returns false\n*/\nfunction isIterableLike( value ) {\n\tvar f;\n\tif ( isPrimitive( value ) ) {\n\t\treturn false;\n\t}\n\tf = value[ ITERATOR ];\n\treturn (\n\t\tisFunction( f ) &&\n\t\tf.length === 0 &&\n\t\tisIteratorLike( value[ ITERATOR ]() ) // Why this form? In order to preserve `this`.\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isIterableLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is iterable-like.\n*\n* @module @stdlib/assert/is-iterable-like\n*\n* @example\n* var isIterableLike = require( '@stdlib/assert/is-iterable-like' );\n*\n* var bool = isIterableLike( [] );\n* // returns \n*\n* bool = isIterableLike( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar hasIteratorSymbolSupport = require( './../../has-iterator-symbol-support' );\nvar constantFunction = require( '@stdlib/utils/constant-function' );\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar isIterable;\nif ( hasIteratorSymbolSupport() ) {\n\tisIterable = main;\n} else {\n\tisIterable = constantFunction( false );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isIterable;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\n/**\n* Detects a JSON string.\n*\n* Regular expression: `/^\\{[\\s\\S]*\\}$|^\\[[\\s\\S]*\\]$/`\n*\n* - `^\\{`\n*\n* - match a `{` literal which is the first character\n*\n* - `[\\s\\S]*`\n*\n* - match any whitespace and non-whitespace characters which occur `0` or more times\n*\n* - `\\}$`\n*\n* - match a `}` literal which is the last character\n*\n* - `|`\n*\n* - alternatively\n*\n* - `^\\[`\n*\n* - match a `[` literal which is the first character\n*\n* - `[\\s\\S]*`\n*\n* - match any whitespace and non-whitespace characters which occur `0` or more times\n*\n* - `\\]$`\n*\n* - match a `]` literal which is the last character\n*\n*\n* Example matching strings:\n*\n* - `'{}'`\n* - `'[]'`\n* - `'{adjlkfaj3743.,><\\n\\t\\rdf}'`\n* - `'[adjlkfaj3743.,><\\n\\t\\rdf]'`\n* - `'{\"a\":5}'`\n*\n* @constant\n* @type {RegExp}\n* @default /^\\{[\\s\\S]*\\}$|^\\[[\\s\\S]*\\]$/\n*/\nvar re = /^\\{[\\s\\S]*\\}$|^\\[[\\s\\S]*\\]$/;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a parseable JSON string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a parseable JSON string\n*\n* @example\n* var v = isJSON( '{\"a\":5}' );\n* // returns true\n*\n* @example\n* var v = isJSON( '{a\":5}' );\n* // returns false\n*/\nfunction isJSON( value ) {\n\tif ( typeof value !== 'string' ) {\n\t\treturn false;\n\t}\n\tif ( !re.test( value ) ) {\n\t\treturn false;\n\t}\n\ttry {\n\t\tJSON.parse( value );\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isJSON;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a parseable JSON string.\n*\n* @module @stdlib/assert/is-json\n*\n* @example\n* var isJSON = require( '@stdlib/assert/is-json' );\n*\n* var v = isJSON( '{\"a\":5}' );\n* // returns true\n*\n* v = isJSON( '{a\":5}' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar kebabcase = require( '@stdlib/string/base/kebabcase' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string in kebab case.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a string in kebab case\n*\n* @example\n* var bool = isKebabcase( 'beep-boop' );\n* // returns true\n*\n* @example\n* var bool = isKebabcase( 'Beep-boop' );\n* // returns false\n*\n* @example\n* var bool = isKebabcase( 'BEEP_BOOP' );\n* // returns false\n*\n* @example\n* var bool = isKebabcase( 1 );\n* // returns false\n*/\nfunction isKebabcase( value ) {\n\treturn ( isString( value ) && kebabcase( value ) === value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isKebabcase;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string in kebab case.\n*\n* @module @stdlib/assert/is-kebabcase\n*\n* @example\n* var isKebabcase = require( '@stdlib/assert/is-kebabcase' );\n*\n* var bool = isKebabcase( 'beep-boop' );\n* // returns true\n*\n* bool = isKebabcase( 'BEEP_BOOP' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isDateObject = require( './../../is-date-object' );\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar currentYear = require( '@stdlib/time/current-year' );\n\n\n// MAIN //\n\n/**\n* Tests whether a value corresponds to a leap year in the Gregorian calendar.\n*\n* ## Notes\n*\n* - According to the Gregorian calendar, every year that is exactly divisible by `4` is a leap year, except those years which are also divisible by `100` and not by `400` (e.g., `1900`).\n*\n* @param {*} [value] - input value\n* @returns {boolean} boolean whether a value corresponds to a leap year\n*\n* @example\n* var bool = isLeapYear();\n* // returns \n*\n* @example\n* var bool = isLeapYear( new Date() );\n* // returns \n*\n* @example\n* var bool = isLeapYear( 1996 );\n* // returns true\n*\n* @example\n* var bool = isLeapYear( 2001 );\n* // returns false\n*/\nfunction isLeapYear( value ) {\n\tvar yr;\n\tif ( arguments.length ) {\n\t\tif ( isDateObject( value ) ) {\n\t\t\tyr = value.getFullYear();\n\t\t} else if ( isInteger( value ) ) {\n\t\t\tyr = value;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t} else {\n\t\t// Note: cannot cache, as possible for application to cross into a new year:\n\t\tyr = currentYear();\n\t}\n\t// Special case if year is a new century...\n\tif ( (yr % 100) === 0 ) {\n\t\t// Centuries are only leap years at the end of \"leap cycles\" which happen every `400` years:\n\t\treturn ( (yr % 400) === 0 );\n\t}\n\t// All other years which are exactly divisible by `4` are leap years:\n\treturn ( (yr % 4) === 0 );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isLeapYear;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a value corresponds to a leap year in the Gregorian calendar.\n*\n* @module @stdlib/assert/is-leap-year\n*\n* @example\n* var isLeapYear = require( '@stdlib/assert/is-leap-year' );\n*\n* var bool = isLeapYear();\n* // returns \n*\n* bool = isLeapYear( new Date() );\n* // returns \n*\n* bool = isLeapYear( 1996 );\n* // returns true\n*\n* bool = isLeapYear( 2001 );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Uint8Array = require( '@stdlib/array/uint8' );\nvar Uint16Array = require( '@stdlib/array/uint16' );\n\n\n// MAIN //\n\nvar ctors = {\n\t'uint16': Uint16Array,\n\t'uint8': Uint8Array\n};\n\n\n// EXPORTS //\n\nmodule.exports = ctors;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar ctors = require( './ctors.js' );\n\n\n// VARIABLES //\n\nvar bool;\n\n\n// FUNCTIONS //\n\n/**\n* Returns a boolean indicating if an environment is little endian.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment is little endian\n*\n* @example\n* var bool = isLittleEndian();\n* // returns \n*/\nfunction isLittleEndian() {\n\tvar uint16view;\n\tvar uint8view;\n\n\tuint16view = new ctors[ 'uint16' ]( 1 );\n\n\t/*\n\t* Set the uint16 view to a value having distinguishable lower and higher order words.\n\t*\n\t* 4660 => 0x1234 => 0x12 0x34 => '00010010 00110100' => (0x12,0x34) == (18,52)\n\t*/\n\tuint16view[ 0 ] = 0x1234;\n\n\t// Create a uint8 view on top of the uint16 buffer:\n\tuint8view = new ctors[ 'uint8' ]( uint16view.buffer );\n\n\t// If little endian, the least significant byte will be first...\n\treturn ( uint8view[ 0 ] === 0x34 );\n}\n\n\n// MAIN //\n\nbool = isLittleEndian();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a boolean indicating if an environment is little endian.\n*\n* @module @stdlib/assert/is-little-endian\n*\n* @example\n* var IS_LITTLE_ENDIAN = require( '@stdlib/assert/is-little-endian' );\n*\n* var bool = IS_LITTLE_ENDIAN;\n* // returns \n*/\n\n// MODULES //\n\nvar IS_LITTLE_ENDIAN = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = IS_LITTLE_ENDIAN;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\n// IPv4 127.0.0.0/8 address block:\nvar RE_LOCALHOST_IPV4 = /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/;\n\n\n// MAIN //\n\n/**\n* Tests whether a value is a localhost hostname.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a localhost hostname\n*\n* @example\n* var bool = isLocalhost( 'localhost' );\n* // returns true\n*\n* @example\n* var bool = isLocalhost( '127.0.0.1' );\n* // returns true\n*\n* @example\n* var bool = isLocalhost( '[::1]' );\n* // returns true\n*\n* @example\n* var bool = isLocalhost( 'wikipedia.org' );\n* // returns false\n*\n* @example\n* var bool = isLocalhost( 'stdlib.io' );\n* // returns false\n*\n* @example\n* var bool = isLocalhost( null );\n* // returns false\n*/\nfunction isLocalhost( value ) {\n\tif ( !isString( value ) ) {\n\t\treturn false;\n\t}\n\treturn (\n\t\tvalue === 'localhost' || value === 'LOCALHOST' ||\n\n\t\t// IPv6 localhost address:\n\t\tvalue === '[::1]' ||\n\n\t\tRE_LOCALHOST_IPV4.test( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isLocalhost;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a value is is a localhost hostname.\n*\n* @module @stdlib/assert/is-localhost\n*\n* @example\n* var isLocalhost = require( '@stdlib/assert/is-localhost' );\n*\n* var bool = isLocalhost( 'localhost' );\n* // returns true\n*\n* bool = isLocalhost( '127.0.0.1' );\n* // returns true\n*\n* bool = isLocalhost( '[::1]' );\n* // returns true\n*\n* bool = isLocalhost( 'stdlib.io' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar lowercase = require( '@stdlib/string/lowercase' );\nvar uppercase = require( '@stdlib/string/uppercase' );\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a lowercase string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a lowercase string\n*\n* @example\n* var bool = isLowercase( 'salt and light' );\n* // returns true\n*\n* @example\n* var bool = isLowercase( 'HELLO' );\n* // returns false\n*\n* @example\n* var bool = isLowercase( 'World' );\n* // returns false\n*\n* @example\n* var bool = isLowercase( '!' );\n* // returns false\n*/\nfunction isLowercase( value ) {\n\treturn (\n\t\tisString( value ) &&\n\t\tvalue === lowercase( value ) &&\n\t\tvalue !== uppercase( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isLowercase;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a lowercase string.\n*\n* @module @stdlib/assert/is-lowercase\n*\n* @example\n* var isLowercase = require( '@stdlib/assert/is-lowercase' );\n*\n* var bool = isLowercase( 'hello' );\n* // returns true\n*\n* bool = isLowercase( 'World' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasOwnProp = require( './../../has-own-property' );\nvar isFunction = require( './../../is-function' );\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified method name.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified method name\n*\n* @example\n* var beep = {\n* 'boop': isMethod\n* };\n*\n* var bool = isMethod( beep, 'boop' );\n* // returns true\n*\n* var bool = isMethod( beep, 'toString' );\n* // returns false\n*/\nfunction isMethod( value, property ) {\n\treturn (\n\t\thasOwnProp( value, property ) &&\n\t\tisFunction( value[ property ] )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isMethod;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object has a specified method name.\n*\n* @module @stdlib/assert/is-method\n*\n* @example\n* var isMethod = require( '@stdlib/assert/is-method' );\n*\n* var beep = {\n* 'boop': isMethod\n* };\n*\n* var bool = isMethod( beep, 'boop' );\n* // returns true\n*\n* bool = isMethod( beep, 'toString' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFunction = require( './../../is-function' );\nvar Object = require( '@stdlib/object/ctor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified method name, either own or inherited.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified method name\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = isMethodIn( beep, 'toString' );\n* // returns true\n*\n* bool = isMethodIn( beep, 'boop' );\n* // returns false\n*/\nfunction isMethodIn( value, property ) {\n\tif ( value === void 0 || value === null ) {\n\t\treturn false;\n\t}\n\tvalue = Object( value );\n\tif ( typeof property !== 'symbol' ) {\n\t\tproperty = String( property );\n\t}\n\treturn (\n\t\t( property in value ) &&\n\t\tisFunction( value[ property ] )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isMethodIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object has a specified method name, either own or inherited.\n*\n* @module @stdlib/assert/is-method-in\n*\n* @example\n* var isMethodIn = require( '@stdlib/assert/is-method-in' );\n*\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = isMethodIn( beep, 'toString' );\n* // returns true\n*\n* bool = isMethodIn( beep, 'boop' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar constantFunction = require( '@stdlib/utils/constant-function' );\n\n\n// MAIN //\n\nvar isMobile = constantFunction( false );\n\n\n// EXPORTS //\n\nmodule.exports = isMobile;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the current environment is a mobile device.\n*\n* @module @stdlib/assert/is-mobile\n*\n* @example\n* var IS_MOBILE = require( '@stdlib/assert/is-mobile' );\n*\n* var bool = IS_MOBILE;\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar bool = main();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar MultiSlice = require( '@stdlib/slice/multi' );\nvar constructorName = require( '@stdlib/utils/constructor-name' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a MultiSlice object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a MultiSlice object\n*\n* @example\n* var MultiSlice = require( '@stdlib/slice/multi' );\n*\n* var s = new MultiSlice();\n*\n* var bool = isMultiSlice( s );\n* // returns true\n*/\nfunction isMultiSlice( value ) {\n\treturn (\n\t\tvalue instanceof MultiSlice ||\n\t\tconstructorName( value ) === 'MultiSlice'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isMultiSlice;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a MultiSlice object.\n*\n* @module @stdlib/assert/is-multi-slice\n*\n* @example\n* var MultiSlice = require( '@stdlib/slice/multi' );\n* var isMultiSlice = require( '@stdlib/assert/is-multi-slice' );\n*\n* var s = new MultiSlice();\n*\n* var bool = isMultiSlice( s );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isTypedArray = require( './../../is-typed-array' );\nvar hasOwnProp = require( './../../has-own-property' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is named typed tuple-like.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is named typed tuple-like\n*\n* @example\n* var namedtypedtuple = require( '@stdlib/utils/named-typed-tuple' );\n*\n* var Point = namedtypedtuple( [ 'x', 'y' ] );\n*\n* var p = new Point();\n*\n* var bool = isNamedTypedTupleLike( p );\n* // returns true\n*\n* bool = isNamedTypedTupleLike( [] );\n* // returns false\n*/\nfunction isNamedTypedTupleLike( v ) {\n\treturn (\n\t\tisTypedArray( v ) &&\n\t\ttypeof v.fieldOf === 'function' &&\n\t\ttypeof v.findField === 'function' &&\n\t\ttypeof v.ind2key === 'function' &&\n\t\ttypeof v.key2ind === 'function' &&\n\t\ttypeof v.lastFieldOf === 'function' &&\n\t\ttypeof v.subtuple === 'function' &&\n\t\thasOwnProp( v, 'fields' ) &&\n\t\thasOwnProp( v, 'orderedFields' )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNamedTypedTupleLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is named typed tuple-like.\n*\n* @module @stdlib/assert/is-named-typed-tuple-like\n*\n* @example\n* var namedtypedtuple = require( '@stdlib/utils/named-typed-tuple' );\n* var isNamedTypedTupleLike = require( '@stdlib/assert/is-named-typed-tuple-like' );\n*\n* var Point = namedtypedtuple( [ 'x', 'y' ] );\n*\n* var p = new Point();\n*\n* var bool = isNamedTypedTupleLike( p );\n* // returns true\n*\n* bool = isNamedTypedTupleLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only `NaN` values.\n*\n* @module @stdlib/assert/is-nan-array\n*\n* @example\n* var isNaNArray = require( '@stdlib/assert/is-nan-array' );\n*\n* var bool = isNaNArray( [ NaN, NaN, NaN ] );\n* // returns true\n*\n* bool = isNaNArray( [ NaN, 2 ] );\n* // returns false\n*\n* bool = isNaNArray.primitives( [ NaN, new Number( NaN ) ] );\n* // returns false\n*\n* bool = isNaNArray.primitives( [ NaN, NaN, NaN ] );\n* // returns true\n*\n* bool = isNaNArray.objects( [ new Number( NaN ), new Number( NaN ) ] );\n* // returns true\n*\n* bool = isNaNArray.objects( [ NaN, new Number( NaN ), new Number( NaN ) ] );\n* // returns false\n*\n* bool = isNaNArray.objects( [ NaN, NaN, NaN ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isnan = require( './../../is-nan' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isnan.isPrimitive );\nvar isObjectArray = arrayfun( isnan.isObject );\n\n\n// MAIN //\n\nvar isNaNArray = arrayfun( isnan );\nsetReadOnly( isNaNArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isNaNArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isNaNArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFunction = require( './../../is-function' );\nvar reNativeFunction = require( '@stdlib/regexp/native-function' );\nvar function2string = require( '@stdlib/function/to-string' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a native function.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a native function\n*\n* @example\n* function beep() {\n* console.log( 'boop' );\n* }\n*\n* var bool = isNativeFunction( beep );\n* // returns false\n*\n* bool = isNativeFunction( Date );\n* // returns true\n*/\nfunction isNativeFunction( value ) {\n\treturn (\n\t\tisFunction( value ) &&\n\t\treNativeFunction.REGEXP.test( function2string( value ) )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNativeFunction;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a native function.\n*\n* @module @stdlib/assert/is-native-function\n*\n* @example\n* var isNativeFunction = require( '@stdlib/assert/is-native-function' );\n*\n* function beep() {\n* console.log( 'boop' );\n* }\n*\n* var bool = isNativeFunction( beep );\n* // returns false\n*\n* bool = isNativeFunction( Date );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a negative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a negative integer value\n*\n* @example\n* var bool = isNegativeInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isNegativeInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue < 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a negative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a negative integer value\n*\n* @example\n* var bool = isNegativeInteger( -3.0 );\n* // returns false\n*\n* @example\n* var bool = isNegativeInteger( new Number( -3.0 ) );\n* // returns true\n*/\nfunction isNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() < 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a negative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a negative integer\n*\n* @example\n* var bool = isNegativeInteger( -5.0 );\n* // returns true\n*\n* @example\n* var bool = isNegativeInteger( new Number( -5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNegativeInteger( 5.0 );\n* // returns false\n*\n* @example\n* var bool = isNegativeInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isNegativeInteger( null );\n* // returns false\n*/\nfunction isNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a negative integer.\n*\n* @module @stdlib/assert/is-negative-integer\n*\n* @example\n* var isNegativeInteger = require( '@stdlib/assert/is-negative-integer' );\n*\n* var bool = isNegativeInteger( -5.0 );\n* // returns true\n*\n* bool = isNegativeInteger( new Number( -5.0 ) );\n* // returns true\n*\n* bool = isNegativeInteger( 5.0 );\n* // returns false\n*\n* bool = isNegativeInteger( -3.14 );\n* // returns false\n*\n* bool = isNegativeInteger( null );\n* // returns false\n*\n* @example\n* var isNegativeInteger = require( '@stdlib/assert/is-negative-integer' ).isPrimitive;\n*\n* var bool = isNegativeInteger( -3.0 );\n* // returns true\n*\n* bool = isNegativeInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* var isNegativeInteger = require( '@stdlib/assert/is-negative-integer' ).isObject;\n*\n* var bool = isNegativeInteger( -3.0 );\n* // returns false\n*\n* bool = isNegativeInteger( new Number( -3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only negative integers.\n*\n* @module @stdlib/assert/is-negative-integer-array\n*\n* @example\n* var isNegativeIntegerArray = require( '@stdlib/assert/is-negative-integer-array' );\n*\n* var bool = isNegativeIntegerArray( [ -3.0, new Number(-3.0) ] );\n* // returns true\n*\n* bool = isNegativeIntegerArray( [ -3.0, '-3.0' ] );\n* // returns false\n*\n* @example\n* var isNegativeIntegerArray = require( '@stdlib/assert/is-negative-integer-array' ).primitives;\n*\n* var bool = isNegativeIntegerArray( [ -1.0, -10.0 ] );\n* // returns true\n*\n* bool = isNegativeIntegerArray( [ -1.0, 0.0, -10.0 ] );\n* // returns false\n*\n* bool = isNegativeIntegerArray( [ -3.0, new Number(-1.0) ] );\n* // returns false\n*\n* @example\n* var isNegativeIntegerArray = require( '@stdlib/assert/is-negative-integer-array' ).objects;\n*\n* var bool = isNegativeIntegerArray( [ new Number(-1.0), new Number(-10.0) ] );\n* // returns true\n*\n* bool = isNegativeIntegerArray( [ -1.0, 0.0, -10.0 ] );\n* // returns false\n*\n* bool = isNegativeIntegerArray( [ -3.0, new Number(-1.0) ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isNegativeInteger = require( './../../is-negative-integer' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isNegativeInteger.isPrimitive );\nvar isObjectArray = arrayfun( isNegativeInteger.isObject );\n\n\n// MAIN //\n\nvar isNegativeIntegerArray = arrayfun( isNegativeInteger );\nsetReadOnly( isNegativeIntegerArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isNegativeIntegerArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeIntegerArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a negative value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a negative value\n*\n* @example\n* var bool = isNegativeNumber( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isNegativeNumber( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isNegativeNumber( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue < 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a negative value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a negative value\n*\n* @example\n* var bool = isNegativeNumber( -3.0 );\n* // returns false\n*\n* @example\n* var bool = isNegativeNumber( new Number( -3.0 ) );\n* // returns true\n*/\nfunction isNegativeNumber( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue.valueOf() < 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a negative number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a negative number\n*\n* @example\n* var bool = isNegativeNumber( -5.0 );\n* // returns true\n*\n* @example\n* var bool = isNegativeNumber( new Number( -5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNegativeNumber( -3.14 );\n* // returns true\n*\n* @example\n* var bool = isNegativeNumber( 5.0 );\n* // returns false\n*\n* @example\n* var bool = isNegativeNumber( null );\n* // returns false\n*/\nfunction isNegativeNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a negative number.\n*\n* @module @stdlib/assert/is-negative-number\n*\n* @example\n* var isNegativeNumber = require( '@stdlib/assert/is-negative-number' );\n*\n* var bool = isNegativeNumber( -5.0 );\n* // returns true\n*\n* bool = isNegativeNumber( new Number( -5.0 ) );\n* // returns true\n*\n* bool = isNegativeNumber( -3.14 );\n* // returns true\n*\n* bool = isNegativeNumber( 5.0 );\n* // returns false\n*\n* bool = isNegativeNumber( null );\n* // returns false\n*\n* @example\n* // Use interface to check for negative number primitives...\n* var isNegativeNumber = require( '@stdlib/assert/is-negative-number' ).isPrimitive;\n*\n* var bool = isNegativeNumber( -3.0 );\n* // returns true\n*\n* bool = isNegativeNumber( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for negative number objects...\n* var isNegativeNumber = require( '@stdlib/assert/is-negative-number' ).isObject;\n*\n* var bool = isNegativeNumber( -3.0 );\n* // returns false\n*\n* bool = isNegativeNumber( new Number( -3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only negative numbers.\n*\n* @module @stdlib/assert/is-negative-number-array\n*\n* @example\n* var isNegativeNumberArray = require( '@stdlib/assert/is-negative-number-array' );\n*\n* var bool = isNegativeNumberArray( [ -3.0, new Number(-3.0) ] );\n* // returns true\n*\n* bool = isNegativeNumberArray( [ -3.0, '-3.0' ] );\n* // returns false\n*\n* @example\n* var isNegativeNumberArray = require( '@stdlib/assert/is-negative-number-array' ).primitives;\n*\n* var bool = isNegativeNumberArray( [ -1.0, -5.0, -10.0 ] );\n* // returns true\n*\n* bool = isNegativeNumberArray( [ -3.0, new Number(-1.0) ] );\n* // returns false\n*\n* @example\n* var isNegativeNumberArray = require( '@stdlib/assert/is-negative-number-array' ).objects;\n*\n* var bool = isNegativeNumberArray( [ new Number(-3.0), new Number(-1.0) ] );\n* // returns true\n*\n* bool = isNegativeNumberArray( [ -1.0, -5.0, -10.0 ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isNegativeNumber = require( './../../is-negative-number' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isNegativeNumber.isPrimitive );\nvar isObjectArray = arrayfun( isNegativeNumber.isObject );\n\n\n// MAIN //\n\nvar isNegativeNumberArray = arrayfun( isNegativeNumber );\nsetReadOnly( isNegativeNumberArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isNegativeNumberArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeNumberArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar NINF = require( '@stdlib/constants/float64/ninf' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive equal to negative zero.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive equal to negative zero\n*\n* @example\n* var bool = isNegativeZero( -0.0 );\n* // returns true\n*\n* @example\n* var bool = isNegativeZero( new Number( -0.0 ) );\n* // returns false\n*/\nfunction isNegativeZero( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\t( 1.0 / value ) === NINF\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeZero;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\nvar NINF = require( '@stdlib/constants/float64/ninf' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value equal to negative zero.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value equal to negative zero\n*\n* @example\n* var bool = isNegativeZero( -0.0 );\n* // returns false\n*\n* @example\n* var bool = isNegativeZero( new Number( -0.0 ) );\n* // returns true\n*/\nfunction isNegativeZero( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\t( 1.0 / value.valueOf() ) === NINF\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeZero;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is equal to negative zero.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is equal to negative zero\n*\n* @example\n* var bool = isNegativeZero( -0.0 );\n* // returns true\n*\n* @example\n* var bool = isNegativeZero( new Number( -0.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNegativeZero( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isNegativeZero( 5.0 );\n* // returns false\n*\n* @example\n* var bool = isNegativeZero( 0.0 );\n* // returns false\n*\n* @example\n* var bool = isNegativeZero( null );\n* // returns false\n*/\nfunction isNegativeZero( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeZero;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is equal to negative zero.\n*\n* @module @stdlib/assert/is-negative-zero\n*\n* @example\n* var isNegativeZero = require( '@stdlib/assert/is-negative-zero' );\n*\n* var bool = isNegativeZero( -0.0 );\n* // returns true\n*\n* bool = isNegativeZero( new Number( -0.0 ) );\n* // returns true\n*\n* bool = isNegativeZero( -3.14 );\n* // returns false\n*\n* bool = isNegativeZero( 5.0 );\n* // returns false\n*\n* bool = isNegativeZero( 0.0 );\n* // returns false\n*\n* bool = isNegativeZero( null );\n* // returns false\n*\n* @example\n* var isNegativeZero = require( '@stdlib/assert/is-negative-zero' ).isPrimitive;\n*\n* var bool = isNegativeZero( -0.0 );\n* // returns true\n*\n* bool = isNegativeZero( new Number( -0.0 ) );\n* // returns false\n*\n* @example\n* var isNegativeZero = require( '@stdlib/assert/is-negative-zero' ).isObject;\n*\n* var bool = isNegativeZero( -0.0 );\n* // returns false\n*\n* bool = isNegativeZero( new Number( -0.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "[\n\t\"assert\",\n\t\"async_hooks\",\n\t\"buffer\",\n\t\"child_process\",\n\t\"cluster\",\n\t\"console\",\n\t\"constants\",\n\t\"crypto\",\n\t\"dgram\",\n\t\"dns\",\n\t\"domain\",\n\t\"events\",\n\t\"fs\",\n\t\"http\",\n\t\"http2\",\n\t\"https\",\n\t\"_http_agent\",\n\t\"_http_client\",\n\t\"_http_common\",\n\t\"_http_incoming\",\n\t\"_http_outgoing\",\n\t\"_http_server\",\n\t\"inspector\",\n\t\"module\",\n\t\"net\",\n\t\"os\",\n\t\"path\",\n\t\"perf_hooks\",\n\t\"process\",\n\t\"punycode\",\n\t\"querystring\",\n\t\"readline\",\n\t\"repl\",\n\t\"stream\",\n\t\"_stream_readable\",\n\t\"_stream_writable\",\n\t\"_stream_duplex\",\n\t\"_stream_transform\",\n\t\"_stream_passthrough\",\n\t\"_stream_wrap\",\n\t\"string_decoder\",\n\t\"sys\",\n\t\"timers\",\n\t\"tls\",\n\t\"_tls_common\",\n\t\"_tls_legacy\",\n\t\"_tls_wrap\",\n\t\"tty\",\n\t\"url\",\n\t\"util\",\n\t\"v8\",\n\t\"vm\",\n\t\"zlib\",\n\t\"v8/tools/splaytree\",\n\t\"v8/tools/codemap\",\n\t\"v8/tools/consarray\",\n\t\"v8/tools/csvparser\",\n\t\"v8/tools/profile\",\n\t\"v8/tools/profile_view\",\n\t\"v8/tools/logreader\",\n\t\"v8/tools/tickprocessor\",\n\t\"v8/tools/SourceMap\",\n\t\"v8/tools/tickprocessor-driver\",\n\t\"node-inspect/lib/_inspect\",\n\t\"node-inspect/lib/internal/inspect_client\",\n\t\"node-inspect/lib/internal/inspect_repl\"\n]\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar mod = require( 'module' );\nvar contains = require( './../../contains' );\nvar isString = require( './../../is-string' ).isPrimitive;\nvar BUILTINS = require( './builtins.json' );\n\n\n// VARIABLES //\n\nvar LIST = mod.builtinModules || BUILTINS;\n\n\n// MAIN //\n\n/**\n* Tests whether a string matches a Node.js built-in module name.\n*\n* @param {*} x - value to test\n* @returns {boolean} boolean indicating whether a string matches a Node.js built-in module name\n*\n* @example\n* var out = isNodeBuiltin( 'cluster' );\n* // returns true\n*\n* @example\n* var out = isNodeBuiltin( 'crypto' );\n* // returns true\n*\n* @example\n* var out = isNodeBuiltin( 'fs-extra' );\n* // returns false\n*\n* @example\n* var out = isNodeBuiltin( '' );\n* // returns false\n*/\nfunction isNodeBuiltin( x ) {\n\tif ( !isString( x ) ) {\n\t\treturn false;\n\t}\n\treturn contains( LIST, x );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNodeBuiltin;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a string matches a Node.js built-in module name.\n*\n* @module @stdlib/assert/is-node-builtin\n*\n* @example\n* var isNodeBuiltin = require( '@stdlib/assert/is-node-builtin' );\n*\n* var out = isNodeBuiltin( 'crypto' );\n* // returns true\n*\n* out = isNodeBuiltin( 'cluster' );\n* // returns true\n*\n* out = isNodeBuiltin( '' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if a value is Node stream-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is Node stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeStreamLike( stream );\n* // returns true\n*\n* bool = isNodeStreamLike( {} );\n* // returns false\n*/\nfunction isNodeStreamLike( value ) {\n\treturn (\n\t\t// Must be an object:\n\t\tvalue !== null &&\n\t\ttypeof value === 'object' &&\n\n\t\t// Should be an event emitter:\n\t\ttypeof value.on === 'function' &&\n\t\ttypeof value.once === 'function' &&\n\t\ttypeof value.emit === 'function' &&\n\t\ttypeof value.addListener === 'function' &&\n\t\ttypeof value.removeListener === 'function' &&\n\t\ttypeof value.removeAllListeners === 'function' &&\n\n\t\t// Should have a `pipe` method (Node streams inherit from `Stream`, including writable streams):\n\t\ttypeof value.pipe === 'function'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNodeStreamLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is Node stream-like.\n*\n* @module @stdlib/assert/is-node-stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n* var isNodeStreamLike = require( '@stdlib/assert/is-node-stream-like' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeStreamLike( stream );\n* // returns true\n*\n* bool = isNodeStreamLike( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle */\n\n'use strict';\n\n// MODULES //\n\nvar isNodeStreamLike = require( './../../is-node-stream-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is Node writable stream-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is Node writable stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeWritableStreamLike( stream );\n* // returns true\n*\n* bool = isNodeWritableStreamLike( {} );\n* // returns false\n*/\nfunction isNodeWritableStreamLike( value ) {\n\treturn (\n\t\t// Must be stream-like:\n\t\tisNodeStreamLike( value ) &&\n\n\t\t// Should have writable stream methods:\n\t\ttypeof value._write === 'function' &&\n\n\t\t// Should have writable stream state:\n\t\ttypeof value._writableState === 'object'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNodeWritableStreamLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is Node writable stream-like.\n*\n* @module @stdlib/assert/is-node-writable-stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n* var isNodeWritableStreamLike = require( '@stdlib/assert/is-node-writable-stream-like' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeWritableStreamLike( stream );\n* // returns true\n*\n* bool = isNodeWritableStreamLike( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle */\n\n'use strict';\n\n// MODULES //\n\nvar isNodeStreamLike = require( './../../is-node-stream-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is Node readable stream-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is Node readable stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeReadableStreamLike( stream );\n* // returns true\n*\n* bool = isNodeReadableStreamLike( {} );\n* // returns false\n*/\nfunction isNodeReadableStreamLike( value ) {\n\treturn (\n\t\t// Must be stream-like:\n\t\tisNodeStreamLike( value ) &&\n\n\t\t// Should have readable stream methods:\n\t\ttypeof value._read === 'function' &&\n\n\t\t// Should have readable stream state:\n\t\ttypeof value._readableState === 'object'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNodeReadableStreamLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is Node readable stream-like.\n*\n* @module @stdlib/assert/is-node-readable-stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n* var isNodeReadableStreamLike = require( '@stdlib/assert/is-node-readable-stream-like' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeReadableStreamLike( stream );\n* // returns true\n*\n* bool = isNodeReadableStreamLike( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNodeWritableStreamLike = require( './../../is-node-writable-stream-like' );\nvar isNodeReadableStreamLike = require( './../../is-node-readable-stream-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is Node duplex stream-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is Node duplex stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeDuplexStreamLike( stream );\n* // returns true\n*\n* bool = isNodeDuplexStreamLike( {} );\n* // returns false\n*/\nfunction isNodeDuplexStreamLike( value ) {\n\treturn (\n\t\t// Must be both readable and writable:\n\t\tisNodeWritableStreamLike( value ) &&\n\t\tisNodeReadableStreamLike( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNodeDuplexStreamLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is Node duplex stream-like.\n*\n* @module @stdlib/assert/is-node-duplex-stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n* var isNodeDuplexStreamLike = require( '@stdlib/assert/is-node-duplex-stream-like' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeDuplexStreamLike( stream );\n* // returns true\n*\n* bool = isNodeDuplexStreamLike( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Returns the parent module.\n*\n* @private\n* @returns {Module} parent module\n*/\nfunction parent() { // eslint-disable-line stdlib/no-redeclare\n\treturn module;\n}\n\n\n// EXPORTS //\n\nmodule.exports = parent;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Returns a stacktrace.\n*\n* @private\n* @returns {(string|void)} stacktrace\n*/\nfunction stacktrace() {\n\tvar err = new Error();\n\treturn err.stack;\n}\n\n\n// EXPORTS //\n\nmodule.exports = stacktrace;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar IS_NODE = require( './../../is-node' );\nvar p = require( './parent.js' );\nvar stacktrace = require( './stacktrace.js' );\n\n\n// VARIABLES //\n\n// The module id for the builtin REPL was `repl` in Node versions <4 and then changed to `` for Node versions >=4 (see https://github.com/nodejs/node/commit/ee72ee753118f2576bfd1ccf58fb2ff651e8bfb0#diff-b13d72249263845d8e8341db0426f9d3R527).\nvar RE_MODULE_ID = /^repl$|^$/;\n\n// This is V8 specific (!!), as this assumes the V8 stacktrace API. TODO: rely on an engine agnostic approach to determining callsites.\nvar RE_ERROR_STACK = /at REPLServer/;\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating if the function is called from a Node.js REPL environment.\n*\n* ## Notes\n*\n* - False positives are possible due to the existence of a userland package having the same module `id` (see [repl][repl-template-lib]) as the builtin Node.js `repl`.\n*\n* [repl-template-lib]: https://www.npmjs.com/package/repl\n*\n* @returns {boolean} boolean indicating if the function is called from a Node.js REPL environment\n*\n* @example\n* var bool = isNodeREPL();\n* // returns \n*/\nfunction isNodeREPL() {\n\tvar stack;\n\tvar m;\n\tif ( !IS_NODE ) {\n\t\treturn false;\n\t}\n\t// If this module was required in a REPL environment, we can walk up the module dependency tree to find a `repl` ancestor...\n\tm = p();\n\twhile ( m ) {\n\t\tif ( RE_MODULE_ID.test( m.id ) ) {\n\t\t\treturn true;\n\t\t}\n\t\tm = m.parent;\n\t}\n\t// Unable to find a `repl` ancestor, so try determining if this function was called from a REPL environment...\n\tstack = stacktrace();\n\tif ( stack ) {\n\t\treturn RE_ERROR_STACK.test( stack );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNodeREPL;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Check if running within a Node.js REPL environment.\n*\n* @module @stdlib/assert/is-node-repl\n*\n* @example\n* var isNodeREPL = require( '@stdlib/assert/is-node-repl' );\n*\n* var bool = isNodeREPL();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle */\n\n'use strict';\n\n// MODULES //\n\nvar isNodeDuplexStreamLike = require( './../../is-node-duplex-stream-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is Node transform stream-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is Node transform stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeTransformStreamLike( stream );\n* // returns true\n*\n* bool = isNodeTransformStreamLike( {} );\n* // returns false\n*/\nfunction isNodeTransformStreamLike( value ) {\n\treturn (\n\t\t// Must be duplex stream-like:\n\t\tisNodeDuplexStreamLike( value ) &&\n\n\t\t// Should have transform stream methods:\n\t\ttypeof value._transform === 'function'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNodeTransformStreamLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is Node transform stream-like.\n*\n* @module @stdlib/assert/is-node-transform-stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n* var isNodeTransformStreamLike = require( '@stdlib/assert/is-node-transform-stream-like' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeTransformStreamLike( stream );\n* // returns true\n*\n* bool = isNodeTransformStreamLike( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptor = require( '@stdlib/utils/property-descriptor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property is non-configurable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is non-configurable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': true,\n* 'value': 'beep'\n* });\n*\n* var bool = isNonConfigurableProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isNonConfigurableProperty( obj, 'beep' );\n* // returns true\n*/\nfunction isNonConfigurableProperty( value, property ) {\n\tvar desc = propertyDescriptor( value, property );\n\treturn ( desc !== null && desc.configurable === false );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonConfigurableProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property is non-configurable.\n*\n* @module @stdlib/assert/is-nonconfigurable-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isNonConfigurableProperty = require( '@stdlib/assert/is-nonconfigurable-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': true,\n* 'value': 'beep'\n* });\n*\n* var bool = isNonConfigurableProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isNonConfigurableProperty( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property is non-configurable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is non-configurable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isNonConfigurablePropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isNonConfigurablePropertyIn( obj, 'beep' );\n* // returns true\n*/\nfunction isNonConfigurablePropertyIn( value, property ) { // eslint-disable-line id-length\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn ( desc !== null && desc.configurable === false );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonConfigurablePropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property is non-configurable.\n*\n* @module @stdlib/assert/is-nonconfigurable-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isNonConfigurablePropertyIn = require( '@stdlib/assert/is-nonconfigurable-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isNonConfigurablePropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isNonConfigurablePropertyIn( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasOwnProp = require( './../../has-own-property' );\nvar isEnumerableProperty = require( './../../is-enumerable-property' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property is non-enumerable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is non-enumerable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'writable': true,\n* 'value': 'beep'\n* });\n*\n* var bool = isNonEnumerableProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isNonEnumerableProperty( obj, 'beep' );\n* // returns true\n*/\nfunction isNonEnumerableProperty( value, property ) {\n\tif ( hasOwnProp( value, property ) === false ) {\n\t\treturn false;\n\t}\n\treturn ( isEnumerableProperty( value, property ) === false );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonEnumerableProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property is non-enumerable.\n*\n* @module @stdlib/assert/is-nonenumerable-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isNonEnumerableProperty = require( '@stdlib/assert/is-nonenumerable-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'writable': true,\n* 'value': 'beep'\n* });\n*\n* var bool = isNonEnumerableProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isNonEnumerableProperty( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property is non-enumerable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is non-enumerable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': true,\n* 'enumerable': false,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isNonEnumerablePropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isNonEnumerablePropertyIn( obj, 'beep' );\n* // returns true\n*/\nfunction isNonEnumerablePropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn ( desc !== null && desc.enumerable === false );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonEnumerablePropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property is non-enumerable.\n*\n* @module @stdlib/assert/is-nonenumerable-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isNonEnumerablePropertyIn = require( '@stdlib/assert/is-nonenumerable-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': true,\n* 'enumerable': false,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isNonEnumerablePropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isNonEnumerablePropertyIn( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only nonnegative integers.\n*\n* @module @stdlib/assert/is-nonnegative-integer-array\n*\n* @example\n* var isNonNegativeIntegerArray = require( '@stdlib/assert/is-nonnegative-integer-array' );\n*\n* var bool = isNonNegativeIntegerArray( [ 3.0, new Number(3.0) ] );\n* // returns true\n*\n* bool = isNonNegativeIntegerArray( [ 3.0, '3.0' ] );\n* // returns false\n*\n* @example\n* var isNonNegativeIntegerArray = require( '@stdlib/assert/is-nonnegative-integer-array' ).primitives;\n*\n* var bool = isNonNegativeIntegerArray( [ 1.0, 0.0, 10.0 ] );\n* // returns true\n*\n* bool = isNonNegativeIntegerArray( [ 3.0, new Number(1.0) ] );\n* // returns false\n*\n* @example\n* var isNonNegativeIntegerArray = require( '@stdlib/assert/is-nonnegative-integer-array' ).objects;\n*\n* var bool = isNonNegativeIntegerArray( [ new Number(3.0), new Number(1.0) ] );\n* // returns true\n*\n* bool = isNonNegativeIntegerArray( [ 1.0, 0.0, 10.0 ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isNonNegativeInteger = require( './../../is-nonnegative-integer' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isNonNegativeInteger.isPrimitive );\nvar isObjectArray = arrayfun( isNonNegativeInteger.isObject );\n\n\n// MAIN //\n\nvar isNonNegativeIntegerArray = arrayfun( isNonNegativeInteger );\nsetReadOnly( isNonNegativeIntegerArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isNonNegativeIntegerArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeIntegerArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative number value\n*\n* @example\n* var bool = isNonNegativeNumber( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeNumber( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeNumber( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue >= 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative number value\n*\n* @example\n* var bool = isNonNegativeNumber( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeNumber( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeNumber( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue.valueOf() >= 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative number\n*\n* @example\n* var bool = isNonNegativeNumber( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeNumber( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeNumber( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeNumber( null );\n* // returns false\n*/\nfunction isNonNegativeNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative number.\n*\n* @module @stdlib/assert/is-nonnegative-number\n*\n* @example\n* var isNonNegativeNumber = require( '@stdlib/assert/is-nonnegative-number' );\n*\n* var bool = isNonNegativeNumber( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeNumber( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeNumber( 3.14 );\n* // returns true\n*\n* bool = isNonNegativeNumber( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeNumber( null );\n* // returns false\n*\n* @example\n* var isNonNegativeNumber = require( '@stdlib/assert/is-nonnegative-number' ).isPrimitive;\n*\n* var bool = isNonNegativeNumber( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeNumber( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* var isNonNegativeNumber = require( '@stdlib/assert/is-nonnegative-number' ).isObject;\n*\n* var bool = isNonNegativeNumber( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeNumber( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only nonnegative numbers.\n*\n* @module @stdlib/assert/is-nonnegative-number-array\n*\n* @example\n* var isNonNegativeNumberArray = require( '@stdlib/assert/is-nonnegative-number-array' );\n*\n* var bool = isNonNegativeNumberArray( [ 3.0, new Number(3.0) ] );\n* // returns true\n*\n* bool = isNonNegativeNumberArray( [ 3.0, '3.0' ] );\n* // returns false\n*\n* @example\n* var isNonNegativeNumberArray = require( '@stdlib/assert/is-nonnegative-number-array' ).primitives;\n*\n* var bool = isNonNegativeNumberArray( [ 1.0, 0.0, 10.0 ] );\n* // returns true\n*\n* bool = isNonNegativeNumberArray( [ 3.0, new Number(1.0) ] );\n* // returns false\n*\n* @example\n* var isNonNegativeNumberArray = require( '@stdlib/assert/is-nonnegative-number-array' ).objects;\n*\n* var bool = isNonNegativeNumberArray( [ new Number(3.0), new Number(1.0) ] );\n* // returns true\n*\n* bool = isNonNegativeNumberArray( [ 1.0, 0.0, 10.0 ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isNonNegativeNumber = require( './../../is-nonnegative-number' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isNonNegativeNumber.isPrimitive );\nvar isObjectArray = arrayfun( isNonNegativeNumber.isObject );\n\n\n// MAIN //\n\nvar isNonNegativeNumberArray = arrayfun( isNonNegativeNumber );\nsetReadOnly( isNonNegativeNumberArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isNonNegativeNumberArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeNumberArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonpositive integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonpositive integer value\n*\n* @example\n* var bool = isNonPositiveInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonPositiveInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isNonPositiveInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue <= 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonPositiveInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonpositive integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonpositive integer value\n*\n* @example\n* var bool = isNonPositiveInteger( -3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonPositiveInteger( new Number( -3.0 ) );\n* // returns true\n*/\nfunction isNonPositiveInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() <= 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonPositiveInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonpositive integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonpositive integer\n*\n* @example\n* var bool = isNonPositiveInteger( -5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonPositiveInteger( new Number( -5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonPositiveInteger( 5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonPositiveInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonPositiveInteger( null );\n* // returns false\n*/\nfunction isNonPositiveInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonPositiveInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonpositive integer.\n*\n* @module @stdlib/assert/is-nonpositive-integer\n*\n* @example\n* var isNonPositiveInteger = require( '@stdlib/assert/is-nonpositive-integer' );\n*\n* var bool = isNonPositiveInteger( -5.0 );\n* // returns true\n*\n* bool = isNonPositiveInteger( new Number( -5.0 ) );\n* // returns true\n*\n* bool = isNonPositiveInteger( 5.0 );\n* // returns false\n*\n* bool = isNonPositiveInteger( -3.14 );\n* // returns false\n*\n* bool = isNonPositiveInteger( null );\n* // returns false\n*\n* @example\n* var isNonPositiveInteger = require( '@stdlib/assert/is-nonpositive-integer' ).isPrimitive;\n*\n* var bool = isNonPositiveInteger( -3.0 );\n* // returns true\n*\n* bool = isNonPositiveInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* var isNonPositiveInteger = require( '@stdlib/assert/is-nonpositive-integer' ).isObject;\n*\n* var bool = isNonPositiveInteger( -3.0 );\n* // returns false\n*\n* bool = isNonPositiveInteger( new Number( -3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only nonpositive integers.\n*\n* @module @stdlib/assert/is-nonpositive-integer-array\n*\n* @example\n* var isNonPositiveIntegerArray = require( '@stdlib/assert/is-nonpositive-integer-array' );\n*\n* var bool = isNonPositiveIntegerArray( [ -3.0, new Number(-3.0) ] );\n* // returns true\n*\n* bool = isNonPositiveIntegerArray( [ -3.0, '-3.0' ] );\n* // returns false\n*\n* @example\n* var isNonPositiveIntegerArray = require( '@stdlib/assert/is-nonpositive-integer-array' ).primitives;\n*\n* var bool = isNonPositiveIntegerArray( [ -1.0, 0.0, -10.0 ] );\n* // returns true\n*\n* bool = isNonPositiveIntegerArray( [ -3.0, new Number(-1.0) ] );\n* // returns false\n*\n* @example\n* var isNonPositiveIntegerArray = require( '@stdlib/assert/is-nonpositive-integer-array' ).objects;\n*\n* var bool = isNonPositiveIntegerArray( [ new Number(-3.0), new Number(-1.0) ] );\n* // returns true\n*\n* bool = isNonPositiveIntegerArray( [ -1.0, 0.0, -10.0 ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isNonPositiveInteger = require( './../../is-nonpositive-integer' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isNonPositiveInteger.isPrimitive );\nvar isObjectArray = arrayfun( isNonPositiveInteger.isObject );\n\n\n// MAIN //\n\nvar isNonPositiveIntegerArray = arrayfun( isNonPositiveInteger );\nsetReadOnly( isNonPositiveIntegerArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isNonPositiveIntegerArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isNonPositiveIntegerArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonpositive value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonpositive number value\n*\n* @example\n* var bool = isNonPositiveNumber( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonPositiveNumber( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isNonPositiveNumber( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue <= 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonPositiveNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonpositive value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonpositive number value\n*\n* @example\n* var bool = isNonPositiveNumber( -3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonPositiveNumber( new Number( -3.0 ) );\n* // returns true\n*/\nfunction isNonPositiveNumber( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue.valueOf() <= 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonPositiveNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonpositive number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonpositive number\n*\n* @example\n* var bool = isNonPositiveNumber( -5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonPositiveNumber( new Number( -5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonPositiveNumber( -3.14 );\n* // returns true\n*\n* @example\n* var bool = isNonPositiveNumber( 5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonPositiveNumber( null );\n* // returns false\n*/\nfunction isNonPositiveNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonPositiveNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonpositive number.\n*\n* @module @stdlib/assert/is-nonpositive-number\n*\n* @example\n* var isNonPositiveNumber = require( '@stdlib/assert/is-nonpositive-number' );\n*\n* var bool = isNonPositiveNumber( -5.0 );\n* // returns true\n*\n* bool = isNonPositiveNumber( new Number( -5.0 ) );\n* // returns true\n*\n* bool = isNonPositiveNumber( -3.14 );\n* // returns true\n*\n* bool = isNonPositiveNumber( 5.0 );\n* // returns false\n*\n* bool = isNonPositiveNumber( null );\n* // returns false\n*\n* @example\n* var isNonPositiveNumber = require( '@stdlib/assert/is-nonpositive-number' ).isPrimitive;\n*\n* var bool = isNonPositiveNumber( -3.0 );\n* // returns true\n*\n* bool = isNonPositiveNumber( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* var isNonPositiveNumber = require( '@stdlib/assert/is-nonpositive-number' ).isObject;\n*\n* var bool = isNonPositiveNumber( -3.0 );\n* // returns false\n*\n* bool = isNonPositiveNumber( new Number( -3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only nonpositive numbers.\n*\n* @module @stdlib/assert/is-nonpositive-number-array\n*\n* @example\n* var isNonPositiveNumberArray = require( '@stdlib/assert/is-nonpositive-number-array' );\n*\n* var bool = isNonPositiveNumberArray( [ -3.0, new Number(-3.0) ] );\n* // returns true\n*\n* bool = isNonPositiveNumberArray( [ -3.0, '-3.0' ] );\n* // returns false\n*\n* @example\n* var isNonPositiveNumberArray = require( '@stdlib/assert/is-nonpositive-number-array' ).primitives;\n*\n* var bool = isNonPositiveNumberArray( [ -1.0, 0.0, -10.0 ] );\n* // returns true\n*\n* bool = isNonPositiveNumberArray( [ -3.0, new Number(-1.0) ] );\n* // returns false\n*\n* @example\n* var isNonPositiveNumberArray = require( '@stdlib/assert/is-nonpositive-number-array' ).objects;\n*\n* var bool = isNonPositiveNumberArray( [ new Number(-3.0), new Number(-1.0) ] );\n* // returns true\n*\n* bool = isNonPositiveNumberArray( [ -1.0, 0.0, -10.0 ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isNonPositiveNumber = require( './../../is-nonpositive-number' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isNonPositiveNumber.isPrimitive );\nvar isObjectArray = arrayfun( isNonPositiveNumber.isObject );\n\n\n// MAIN //\n\nvar isNonPositiveNumberArray = arrayfun( isNonPositiveNumber );\nsetReadOnly( isNonPositiveNumberArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isNonPositiveNumberArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isNonPositiveNumberArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isMatrixLike = require( './../../is-matrix-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a non-symmetric matrix.\n*\n* ## Notes\n*\n* - The implementation must rely on manually checking that \\\\(M_{ij} \\neq M_{ji}\\\\), and, while element access is deterministic, no way exists to prevent cache misses outside of reordering the underlying matrix elements, thus incurring a larger performance penalty than just \"jumping around\" in a single pass.\n* - Worst case scenario: O(N^2).\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a non-symmetric matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 1, 2, 3, 4 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isNonSymmetricMatrix( arr );\n* // returns true\n*\n* bool = isNonSymmetricMatrix( [] );\n* // returns false\n*/\nfunction isNonSymmetricMatrix( v ) {\n\tvar M;\n\tvar i;\n\tvar j;\n\tif ( !isMatrixLike( v ) ) {\n\t\treturn false;\n\t}\n\tM = v.shape[ 0 ];\n\tif ( M !== v.shape[ 1 ] ) {\n\t\treturn true;\n\t}\n\tfor ( i = 0; i < M; i++ ) {\n\t\tfor ( j = 0; j < i; j++ ) {\n\t\t\tif ( v.get( i, j ) !== v.get( j, i ) ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonSymmetricMatrix;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a non-symmetric matrix.\n*\n* @module @stdlib/assert/is-nonsymmetric-matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isNonSymmetricMatrix = require( '@stdlib/assert/is-nonsymmetric-matrix' );\n*\n* var arr = ndarray( 'generic', [ 1, 2, 3, 4 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isNonSymmetricMatrix( arr );\n* // returns true\n*\n* bool = isNonSymmetricMatrix( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is `null`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is null\n*\n* @example\n* var bool = isNull( null );\n* // returns true\n*\n* bool = isNull( true );\n* // returns false\n*/\nfunction isNull( value ) {\n\treturn value === null;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNull;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is `null`.\n*\n* @module @stdlib/assert/is-null\n*\n* @example\n* var isNull = require( '@stdlib/assert/is-null' );\n*\n* var value = null;\n*\n* var bool = isNull( value );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isNull = require( './../../is-null' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array-like object containing only `null` values.\n*\n* @name isNullArray\n* @type {Function}\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether an input value is an array-like object containing only `null` values\n*\n* @example\n* var bool = isNullArray( [null,null,null] );\n* // returns true\n*\n* bool = isNullArray( [NaN,2,null] );\n* // returns false\n*/\nvar isNullArray = arrayfun( isNull );\n\n\n// EXPORTS //\n\nmodule.exports = isNullArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only `null` values.\n*\n* @module @stdlib/assert/is-null-array\n*\n* @example\n* var isNullArray = require( '@stdlib/assert/is-null-array' );\n*\n* var bool = isNullArray( [null,null,null] );\n* // returns true\n*\n* bool = isNullArray( [NaN,2,null] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object of numbers.\n*\n* @module @stdlib/assert/is-number-array\n*\n* @example\n* var isNumberArray = require( '@stdlib/assert/is-number-array' );\n*\n* var bool = isNumberArray( [ 1, 2, 3 ] );\n* // returns true\n*\n* bool = isNumberArray( [ '1', 2, 3 ] );\n* // returns false\n*\n* @example\n* var isNumberArray = require( '@stdlib/assert/is-number-array' ).primitives;\n*\n* var bool = isNumberArray( [ 1, 2, 3 ] );\n* // returns true\n*\n* bool = isNumberArray( [ 1, new Number( 2 ) ] );\n* // returns false\n*\n* @example\n* var isNumberArray = require( '@stdlib/assert/is-number-array' ).objects;\n*\n* var bool = isNumberArray( [ new Number( 1 ), new Number( 2 ) ] );\n* // returns true\n*\n* bool = isNumberArray( [ new Number( 1 ), 2 ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isNumber = require( './../../is-number' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isNumber.isPrimitive );\nvar isObjectArray = arrayfun( isNumber.isObject );\n\n\n// MAIN //\n\nvar isNumberArray = arrayfun( isNumber );\nsetReadOnly( isNumberArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isNumberArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isNumberArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isTypedArray = require( './../../is-typed-array' );\nvar isNumberArray = require( './../../is-number-array' ).primitives;\nvar isBuffer = require( './../../is-buffer' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a numeric array.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a numeric array\n*\n* @example\n* var bool = isNumericArray( new Int8Array( 10 ) );\n* // returns true\n*\n* bool = isNumericArray( [ 1, 2, 3 ] );\n* // returns true\n*\n* bool = isNumericArray( [ '1', '2', '3' ] );\n* // returns false\n*/\nfunction isNumericArray( v ) {\n\treturn (\n\t\t!isBuffer( v ) &&\n\t\t(isTypedArray( v ) || isNumberArray( v ))\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNumericArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a numeric array.\n*\n* @module @stdlib/assert/is-numeric-array\n*\n* @example\n* var isNumericArray = require( '@stdlib/assert/is-numeric-array' );\n*\n* var bool = isNumericArray( new Int8Array( 10 ) );\n* // returns true\n*\n* bool = isNumericArray( [ 1, 2, 3 ] );\n* // returns true\n*\n* bool = isNumericArray( [ '1', '2', '3' ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isObject = require( './../../is-object' );\n\n\n// MAIN //\n\n/**\n* Test if a value is an array-like object containing only objects.\n*\n* @name isObjectArray\n* @type {Function}\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether an input value is an array-like object containing only objects\n*\n* @example\n* var bool = isObjectArray( [ {}, new Number(3.0) ] );\n* // returns true\n*\n* bool = isObjectArray( [ {}, { 'beep': 'boop' } ] );\n* // returns true\n*\n* bool = isObjectArray( [ {}, '3.0' ] );\n* // returns false\n*/\nvar isObjectArray = arrayfun( isObject );\n\n\n// EXPORTS //\n\nmodule.exports = isObjectArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only objects.\n*\n* @module @stdlib/assert/is-object-array\n*\n* @example\n* var isObjectArray = require( '@stdlib/assert/is-object-array' );\n*\n* var bool = isObjectArray( [ {}, new Number(3.0) ] );\n* // returns true\n*\n* bool = isObjectArray( [ {}, { 'beep': 'boop' } ] );\n* // returns true\n*\n* bool = isObjectArray( [ {}, '3.0' ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar isEven = require( './../../is-even' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive that is an odd number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive that is an odd number\n*\n* @example\n* var bool = isOdd( -5.0 );\n* // returns true\n*\n* @example\n* var bool = isOdd( new Number( -5.0 ) );\n* // returns false\n*/\nfunction isOdd( value ) {\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\t// Check sign to prevent overflow...\n\tif ( value > 0.0 ) {\n\t\treturn isEven( value-1.0 );\n\t}\n\treturn isEven( value+1.0 );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isOdd;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\nvar isEven = require( './../../is-even' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object that has an odd number value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object that has an odd number value\n*\n* @example\n* var bool = isOdd( 5.0 );\n* // returns false\n*\n* @example\n* var bool = isOdd( new Number( 5.0 ) );\n* // returns true\n*/\nfunction isOdd( value ) {\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\t// Check sign to prevent overflow...\n\tif ( value > 0.0 ) {\n\t\treturn isEven( value-1.0 );\n\t}\n\treturn isEven( value+1.0 );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isOdd;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an odd number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an odd number.\n*\n* @example\n* var bool = isOdd( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isOdd( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isOdd( 4.0 );\n* // returns false\n*\n* @example\n* var bool = isOdd( new Number( 4.0 ) );\n* // returns false\n*\n* @example\n* var bool = isOdd( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isOdd( null );\n* // returns false\n*/\nfunction isOdd( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isOdd;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an odd number.\n*\n* @module @stdlib/assert/is-odd\n*\n* @example\n* var isOdd = require( '@stdlib/assert/is-odd' );\n*\n* var bool = isOdd( 5.0 );\n* // returns true\n*\n* bool = isOdd( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isOdd( 4.0 );\n* // returns false\n*\n* bool = isOdd( new Number( 4.0 ) );\n* // returns false\n*\n* bool = isOdd( -3.14 );\n* // returns false\n*\n* bool = isOdd( null );\n* // returns false\n*\n* @example\n* var isOdd = require( '@stdlib/assert/is-odd' ).isPrimitive;\n*\n* var bool = isOdd( -5.0 );\n* // returns true\n*\n* bool = isOdd( new Number( -5.0 ) );\n* // returns false\n*\n* @example\n* var isOdd = require( '@stdlib/assert/is-odd' ).isObject;\n*\n* var bool = isOdd( 5.0 );\n* // returns false\n*\n* bool = isOdd( new Number( 5.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/*\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar pascalcase = require( '@stdlib/string/base/pascalcase' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string in Pascal case.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a string in Pascal case\n*\n* @example\n* var bool = isPascalcase( 'HelloWorld' );\n* // returns true\n*\n* @example\n* var bool = isPascalcase( 'helloWorld' );\n* // returns false\n*\n* @example\n* var bool = isPascalcase( 'HELLO_WORLD' );\n* // returns false\n*\n* @example\n* var bool = isPascalcase( null );\n* // returns false\n*/\nfunction isPascalcase( value ) {\n\treturn ( isString( value ) && pascalcase( value ) === value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPascalcase;\n", "/*\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string in Pascal case.\n*\n* @module @stdlib/assert/is-pascalcase\n*\n* @example\n* var isPascalcase = require( '@stdlib/assert/is-pascalcase' );\n*\n* var bool = isPascalcase( 'HelloWorld' );\n* // returns true\n*\n* bool = isPascalcase( 'Hello World' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isSquareMatrix = require( './../../is-square-matrix' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a persymmetric matrix.\n*\n* ## Notes\n*\n* - The implementation must rely on manually checking that \\\\(M_{ij} = M_{N-j-1,N-i-1}\\\\), and, while element access is deterministic, no way exists to prevent cache misses outside of reordering the underlying matrix elements, thus incurring a larger performance penalty than just \"jumping around\" in a single pass.\n* - Worst case scenario: O(N^2).\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a persymmetric matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 1, 2, 3, 1 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isPersymmetricMatrix( arr );\n* // returns true\n*\n* bool = isPersymmetricMatrix( [] );\n* // returns false\n*/\nfunction isPersymmetricMatrix( v ) {\n\tvar M;\n\tvar n;\n\tvar i;\n\tvar j;\n\tif ( !isSquareMatrix( v ) ) {\n\t\treturn false;\n\t}\n\tM = v.shape[ 0 ] - 1;\n\tfor ( i = 0; i < M; i++ ) {\n\t\tn = M - i;\n\t\tfor ( j = 0; j < n; j++ ) {\n\t\t\tif ( v.get( i, j ) !== v.get( M-j, n ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPersymmetricMatrix;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a persymmetric matrix.\n*\n* @module @stdlib/assert/is-persymmetric-matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isPersymmetricMatrix = require( '@stdlib/assert/is-persymmetric-matrix' );\n*\n* var arr = ndarray( 'generic', [ 1, 2, 3, 1 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isPersymmetricMatrix( arr );\n* // returns true\n*\n* bool = isPersymmetricMatrix( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isPlainObject = require( './../../is-plain-object' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array-like object containing only plain objects.\n*\n* @name isPlainObjectArray\n* @type {Function}\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether an input value is an array-like object containing only plain objects\n*\n* @example\n* var bool = isPlainObjectArray( [ {}, { 'beep': 'boop' } ] );\n* // returns true\n*\n* bool = isPlainObjectArray( [ {}, new Number(3.0) ] );\n* // returns false\n*\n* bool = isPlainObjectArray( [ {}, '3.0' ] );\n* // returns false\n*/\nvar isPlainObjectArray = arrayfun( isPlainObject );\n\n\n// EXPORTS //\n\nmodule.exports = isPlainObjectArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only plain objects.\n*\n* @module @stdlib/assert/is-plain-object-array\n*\n* @example\n* var isPlainObjectArray = require( '@stdlib/assert/is-plain-object-array' );\n*\n* var bool = isPlainObjectArray( [ {}, { 'beep': 'boop' } ] );\n* // returns true\n*\n* bool = isPlainObjectArray( [ {}, new Number(3.0) ] );\n* // returns false\n*\n* bool = isPlainObjectArray( [ {}, '3.0' ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a positive integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a positive integer value\n*\n* @example\n* var bool = isPositiveInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isPositiveInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isPositiveInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue > 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a positive integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a positive integer value\n*\n* @example\n* var bool = isPositiveInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isPositiveInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isPositiveInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() > 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a positive integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a positive integer\n*\n* @example\n* var bool = isPositiveInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isPositiveInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isPositiveInteger( 0.0 );\n* // returns false\n*\n* @example\n* var bool = isPositiveInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isPositiveInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isPositiveInteger( null );\n* // returns false\n*/\nfunction isPositiveInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a positive integer.\n*\n* @module @stdlib/assert/is-positive-integer\n*\n* @example\n* var isPositiveInteger = require( '@stdlib/assert/is-positive-integer' );\n*\n* var bool = isPositiveInteger( 5.0 );\n* // returns true\n*\n* bool = isPositiveInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isPositiveInteger( -5.0 );\n* // returns false\n*\n* bool = isPositiveInteger( 3.14 );\n* // returns false\n*\n* bool = isPositiveInteger( null );\n* // returns false\n*\n* @example\n* var isPositiveInteger = require( '@stdlib/assert/is-positive-integer' ).isPrimitive;\n*\n* var bool = isPositiveInteger( 3.0 );\n* // returns true\n*\n* bool = isPositiveInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* var isPositiveInteger = require( '@stdlib/assert/is-positive-integer' ).isObject;\n*\n* var bool = isPositiveInteger( 3.0 );\n* // returns false\n*\n* bool = isPositiveInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only positive integers.\n*\n* @module @stdlib/assert/is-positive-integer-array\n*\n* @example\n* var isPositiveIntegerArray = require( '@stdlib/assert/is-positive-integer-array' );\n*\n* var bool = isPositiveIntegerArray( [ 3.0, new Number(3.0) ] );\n* // returns true\n*\n* bool = isPositiveIntegerArray( [ 3.0, '3.0' ] );\n* // returns false\n*\n* @example\n* var isPositiveIntegerArray = require( '@stdlib/assert/is-positive-integer-array' ).primitives;\n*\n* var bool = isPositiveIntegerArray( [ 1.0, 2.0, 10.0 ] );\n* // returns true\n*\n* bool = isPositiveIntegerArray( [ 3.0, new Number(1.0) ] );\n* // returns false\n*\n* @example\n* var isPositiveIntegerArray = require( '@stdlib/assert/is-positive-integer-array' ).objects;\n*\n* var bool = isPositiveIntegerArray( [ new Number(3.0), new Number(1.0) ] );\n* // returns true\n*\n* bool = isPositiveIntegerArray( [ 1.0, 2.0, 10.0 ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isPositiveInteger = require( './../../is-positive-integer' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isPositiveInteger.isPrimitive );\nvar isObjectArray = arrayfun( isPositiveInteger.isObject );\n\n\n// MAIN //\n\nvar isPositiveIntegerArray = arrayfun( isPositiveInteger );\nsetReadOnly( isPositiveIntegerArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isPositiveIntegerArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveIntegerArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a positive value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a positive value\n*\n* @example\n* var bool = isPositiveNumber( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isPositiveNumber( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isPositiveNumber( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue > 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a positive value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a positive value\n*\n* @example\n* var bool = isPositiveNumber( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isPositiveNumber( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isPositiveNumber( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue.valueOf() > 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a positive number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a positive number\n*\n* @example\n* var bool = isPositiveNumber( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isPositiveNumber( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isPositiveNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isPositiveNumber( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isPositiveNumber( null );\n* // returns false\n*/\nfunction isPositiveNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a positive number.\n*\n* @module @stdlib/assert/is-positive-number\n*\n* @example\n* var isPositiveNumber = require( '@stdlib/assert/is-positive-number' );\n*\n* var bool = isPositiveNumber( 5.0 );\n* // returns true\n*\n* bool = isPositiveNumber( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isPositiveNumber( 3.14 );\n* // returns true\n*\n* bool = isPositiveNumber( -5.0 );\n* // returns false\n*\n* bool = isPositiveNumber( null );\n* // returns false\n*\n* @example\n* var isPositiveNumber = require( '@stdlib/assert/is-positive-number' ).isPrimitive;\n*\n* var bool = isPositiveNumber( 3.0 );\n* // returns true\n*\n* bool = isPositiveNumber( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* var isPositiveNumber = require( '@stdlib/assert/is-positive-number' ).isObject;\n*\n* var bool = isPositiveNumber( 3.0 );\n* // returns false\n*\n* bool = isPositiveNumber( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only positive numbers.\n*\n* @module @stdlib/assert/is-positive-number-array\n*\n* @example\n* var isPositiveNumberArray = require( '@stdlib/assert/is-positive-number-array' );\n*\n* var bool = isPositiveNumberArray( [ 3.0, new Number(3.0) ] );\n* // returns true\n*\n* bool = isPositiveNumberArray( [ 3.0, '3.0' ] );\n* // returns false\n*\n* @example\n* var isPositiveNumberArray = require( '@stdlib/assert/is-positive-number-array' ).primitives;\n*\n* var bool = isPositiveNumberArray( [ 1.0, 5.0, 10.0 ] );\n* // returns true\n*\n* bool = isPositiveNumberArray( [ 3.0, new Number(1.0) ] );\n* // returns false\n*\n* @example\n* var isPositiveNumberArray = require( '@stdlib/assert/is-positive-number-array' ).objects;\n*\n* var bool = isPositiveNumberArray( [ new Number(3.0), new Number(1.0) ] );\n* // returns true\n*\n* bool = isPositiveNumberArray( [ 1.0, 5.0, 10.0 ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isPositiveNumber = require( './../../is-positive-number' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isPositiveNumber.isPrimitive );\nvar isObjectArray = arrayfun( isPositiveNumber.isObject );\n\n\n// MAIN //\n\nvar isPositiveNumberArray = arrayfun( isPositiveNumber );\nsetReadOnly( isPositiveNumberArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isPositiveNumberArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveNumberArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar PINF = require( '@stdlib/constants/float64/pinf' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive equal to positive zero.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive equal to positive zero\n*\n* @example\n* var bool = isPositiveZero( 0.0 );\n* // returns true\n*\n* @example\n* var bool = isPositiveZero( new Number( 0.0 ) );\n* // returns false\n*/\nfunction isPositiveZero( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\t( 1.0 / value ) === PINF\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveZero;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\nvar PINF = require( '@stdlib/constants/float64/pinf' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value equal to positive zero.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value equal to positive zero\n*\n* @example\n* var bool = isPositiveZero( 0.0 );\n* // returns false\n*\n* @example\n* var bool = isPositiveZero( new Number( 0.0 ) );\n* // returns true\n*/\nfunction isPositiveZero( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\t( 1.0 / value.valueOf() ) === PINF\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveZero;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is equal to positive zero.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is equal to positive zero\n*\n* @example\n* var bool = isPositiveZero( 0.0 );\n* // returns true\n*\n* @example\n* var bool = isPositiveZero( new Number( 0.0 ) );\n* // returns true\n*\n* @example\n* var bool = isPositiveZero( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isPositiveZero( 5.0 );\n* // returns false\n*\n* @example\n* var bool = isPositiveZero( -0.0 );\n* // returns false\n*\n* @example\n* var bool = isPositiveZero( null );\n* // returns false\n*/\nfunction isPositiveZero( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveZero;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is equal to positive zero.\n*\n* @module @stdlib/assert/is-positive-zero\n*\n* @example\n* var isPositiveZero = require( '@stdlib/assert/is-positive-zero' );\n*\n* var bool = isPositiveZero( 0.0 );\n* // returns true\n*\n* bool = isPositiveZero( new Number( 0.0 ) );\n* // returns true\n*\n* bool = isPositiveZero( -3.14 );\n* // returns false\n*\n* bool = isPositiveZero( 5.0 );\n* // returns false\n*\n* bool = isPositiveZero( -0.0 );\n* // returns false\n*\n* bool = isPositiveZero( null );\n* // returns false\n*\n* @example\n* var isPositiveZero = require( '@stdlib/assert/is-positive-zero' ).isPrimitive;\n*\n* var bool = isPositiveZero( 0.0 );\n* // returns true\n*\n* bool = isPositiveZero( new Number( 0.0 ) );\n* // returns false\n*\n* @example\n* var isPositiveZero = require( '@stdlib/assert/is-positive-zero' ).isObject;\n*\n* var bool = isPositiveZero( 0.0 );\n* // returns false\n*\n* bool = isPositiveZero( new Number( 0.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar isprime = require( '@stdlib/math/base/assert/is-prime' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a value which is a prime number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a value which is a prime number\n*\n* @example\n* var bool = isPrime( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isPrime( new Number( 5.0 ) );\n* // returns false\n*/\nfunction isPrime( value ) {\n\tif ( !isNumber( value ) ) {\n\t\treturn false;\n\t}\n\treturn isprime( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPrime;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\nvar isprime = require( '@stdlib/math/base/assert/is-prime' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value which is a prime number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value which is a prime number\n*\n* @example\n* var bool = isPrime( 5.0 );\n* // returns false\n*\n* @example\n* var bool = isPrime( new Number( 5.0 ) );\n* // returns true\n*/\nfunction isPrime( value ) {\n\tif ( !isNumber( value ) ) {\n\t\treturn false;\n\t}\n\treturn isprime( value.valueOf() );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPrime;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a prime number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a prime number\n*\n* @example\n* var bool = isPrime( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isPrime( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isPrime( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isPrime( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isPrime( null );\n* // returns false\n*/\nfunction isPrime( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPrime;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a prime number.\n*\n* @module @stdlib/assert/is-prime\n*\n* @example\n* var isPrime = require( '@stdlib/assert/is-prime' );\n*\n* var bool = isPrime( 5.0 );\n* // returns true\n*\n* bool = isPrime( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isPrime( 3.14 );\n* // returns false\n*\n* bool = isPrime( -5.0 );\n* // returns false\n*\n* bool = isPrime( null );\n* // returns false\n*\n* @example\n* var isPrime = require( '@stdlib/assert/is-prime' ).isPrimitive;\n*\n* var bool = isPrime( 5.0 );\n* // returns true\n*\n* bool = isPrime( new Number( 5.0 ) );\n* // returns false\n*\n* @example\n* var isPrime = require( '@stdlib/assert/is-prime' ).isObject;\n*\n* var bool = isPrime( 5.0 );\n* // returns false\n*\n* bool = isPrime( new Number( 5.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isPrimitive = require( './../../is-primitive' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array-like object containing only JavaScript primitives.\n*\n* @name isPrimitiveArray\n* @type {Function}\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether an input value is an array-like object containing only JavaScript primitives\n*\n* @example\n* var bool = isPrimitiveArray( [ '3', 2, null ] );\n* // returns true\n*\n* bool = isPrimitiveArray( [ {}, 2, 1 ] );\n* // returns false\n*\n* bool = isPrimitiveArray( [ new String('abc'), '3.0' ] );\n* // returns false\n*/\nvar isPrimitiveArray = arrayfun( isPrimitive );\n\n\n// EXPORTS //\n\nmodule.exports = isPrimitiveArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only JavaScript primitives.\n*\n* @module @stdlib/assert/is-primitive-array\n*\n* @example\n* var isPrimitiveArray = require( '@stdlib/assert/is-primitive-array' );\n*\n* var bool = isPrimitiveArray( [ '3', 2, null ] );\n* // returns true\n*\n* bool = isPrimitiveArray( [ {}, 2, 1 ] );\n* // returns false\n*\n* bool = isPrimitiveArray( [ new String('abc'), '3.0' ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFunction = require( './../../is-function' );\nvar hasOwnProp = require( './../../has-own-property' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is PRNG-like.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is PRNG-like\n*\n* @example\n* var randu = require( '@stdlib/random/base/randu' );\n*\n* var bool = isPRNGLike( randu );\n* // returns true\n*\n* bool = isPRNGLike( [] );\n* // returns false\n*/\nfunction isPRNGLike( v ) {\n\treturn (\n\t\tisFunction( v ) &&\n\t\ttypeof v.NAME === 'string' &&\n\t\thasOwnProp( v, 'state' ) &&\n\t\thasOwnProp( v, 'seed' )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPRNGLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is PRNG-like.\n*\n* @module @stdlib/assert/is-prng-like\n*\n* @example\n* var randu = require( '@stdlib/random/base/randu' );\n* var isPRNGLike = require( '@stdlib/assert/is-prng-like' );\n*\n* var bool = isPRNGLike( randu );\n* // returns true\n*\n* bool = isPRNGLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a value which is a probability.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a value which is a probability\n*\n* @example\n* var bool = isProbability( 0.66 );\n* // returns true\n*\n* @example\n* var bool = isProbability( new Number( 0.66 ) );\n* // returns false\n*/\nfunction isProbability( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue >= 0.0 &&\n\t\tvalue <= 1.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isProbability;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value which is a probability.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value which is a probability\n*\n* @example\n* var bool = isProbability( 0.5 );\n* // returns false\n*\n* @example\n* var bool = isProbability( new Number( 0.5 ) );\n* // returns true\n*/\nfunction isProbability( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue.valueOf() >= 0.0 &&\n\t\tvalue.valueOf() <= 1.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isProbability;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a probability.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a probability\n*\n* @example\n* var bool = isProbability( 0.5 );\n* // returns true\n*\n* @example\n* var bool = isProbability( new Number( 0.5 ) );\n* // returns true\n*\n* @example\n* var bool = isProbability( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isProbability( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isProbability( null );\n* // returns false\n*/\nfunction isProbability( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isProbability;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a probability.\n*\n* @module @stdlib/assert/is-probability\n*\n* @example\n* var isProbability = require( '@stdlib/assert/is-probability' );\n*\n* var bool = isProbability( 0.5 );\n* // returns true\n*\n* bool = isProbability( new Number( 0.5 ) );\n* // returns true\n*\n* bool = isProbability( 3.14 );\n* // returns false\n*\n* bool = isProbability( -5.0 );\n* // returns false\n*\n* bool = isProbability( null );\n* // returns false\n*\n* @example\n* var isProbability = require( '@stdlib/assert/is-probability' ).isPrimitive;\n*\n* var bool = isProbability( 0.3 );\n* // returns true\n*\n* bool = isProbability( new Number( 0.3 ) );\n* // returns false\n*\n* @example\n* var isProbability = require( '@stdlib/assert/is-probability' ).isObject;\n*\n* var bool = isProbability( 0.77 );\n* // returns false\n*\n* bool = isProbability( new Number( 0.77 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only probabilities.\n*\n* @module @stdlib/assert/is-probability-array\n*\n* @example\n* var isNonNegativeNumberArray = require( '@stdlib/assert/is-probability-array' );\n*\n* var bool = isProbabilityArray( [ 0.5, new Number(0.8) ] );\n* // returns true\n*\n* bool = isProbabilityArray( [ 0.8, 1.2 ] );\n* // returns false\n*\n* bool = isProbabilityArray( [ 0.8, '0.2' ] );\n* // returns false\n*\n* @example\n* var isProbabilityArray = require( '@stdlib/assert/is-probability-array' ).primitives;\n*\n* var bool = isProbabilityArray( [ 1.0, 0.0, 0.5 ] );\n* // returns true\n*\n* bool = isProbabilityArray( [ 0.3, new Number(0.4) ] );\n* // returns false\n*\n* @example\n* var isProbabilityArray = require( '@stdlib/assert/is-probability-array' ).objects;\n*\n* var bool = isProbabilityArray( [ new Number(0.7), new Number(1.0) ] );\n* // returns true\n*\n* bool = isProbabilityArray( [ 1.0, 0.0, new Number(0.7) ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isProbability = require( './../../is-probability' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isProbability.isPrimitive );\nvar isObjectArray = arrayfun( isProbability.isObject );\n\n\n// MAIN //\n\nvar isProbabilityArray = arrayfun( isProbability );\nsetReadOnly( isProbabilityArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isProbabilityArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isProbabilityArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isSymbol = require( './../../is-symbol' ).isPrimitive;\nvar isNonNegativeInteger = require( './../../is-nonnegative-integer' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests whether a value is a property key.\n*\n* ## Notes\n*\n* - A property key is either a string, symbol, or a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a property key\n*\n* @example\n* var bool = isPropertyKey( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isPropertyKey( 37 );\n* // returns true\n*\n* @example\n* var bool = isPropertyKey( {} );\n* // returns false\n*\n* @example\n* var bool = isPropertyKey( [] );\n* // returns false\n*/\nfunction isPropertyKey( value ) {\n\treturn (\n\t\tisString( value ) ||\n\t\tisSymbol( value ) ||\n\t\tisNonNegativeInteger( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPropertyKey;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a value is a property key.\n*\n* @module @stdlib/assert/is-property-key\n*\n* @example\n* var isPropertyKey = require( '@stdlib/assert/is-property-key' );\n*\n* var bool = isPropertyKey( 'beep' );\n* // returns true\n*\n* bool = isPropertyKey( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar isProtoOf = Object.prototype.isPrototypeOf;\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's prototype chain contains a provided prototype.\n*\n* @param {*} value - value to test\n* @param {(Object|Function)} proto - prototype\n* @throws {TypeError} second argument must be an object and not null\n* @returns {boolean} boolean indicating if a provided prototype exists in a prototype chain\n*\n* @example\n* var inherit = require( '@stdlib/utils/inherit' );\n*\n* function Foo() {\n* return this;\n* }\n*\n* function Bar() {\n* return this;\n* }\n* inherit( Bar, Foo );\n*\n* var bar = new Bar();\n*\n* var bool = isPrototypeOf( bar, Foo.prototype );\n* // returns true\n*/\nfunction isPrototypeOf( value, proto ) { // eslint-disable-line stdlib/no-redeclare\n\tvar type = typeof proto;\n\tif (\n\t\tproto === null ||\n\t\t(type !== 'object' && type !== 'function')\n\t) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be either an object (except null) or a function. Value: `%s`.', proto ) );\n\t}\n\ttype = typeof value;\n\tif (\n\t\tvalue === null ||\n\t\t(type !== 'object' && type !== 'function')\n\t) {\n\t\treturn false;\n\t}\n\treturn isProtoOf.call( proto, value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPrototypeOf;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if an object's prototype chain contains a provided prototype.\n*\n* @module @stdlib/assert/is-prototype-of\n*\n* @example\n* var inherit = require( '@stdlib/utils/inherit' );\n* var isPrototypeOf = require( '@stdlib/assert/is-prototype-of' );\n*\n* function Foo() {\n* return this;\n* }\n*\n* function Bar() {\n* return this;\n* }\n* inherit( Bar, Foo );\n*\n* var bar = new Bar();\n*\n* var bool = isPrototypeOf( bar, Foo.prototype );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar typeOf = require( '@stdlib/utils/type-of' );\nvar isError = require( './../../is-error' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a `RangeError` object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a `RangeError` object\n*\n* @example\n* var bool = isRangeError( new RangeError( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isRangeError( {} );\n* // returns false\n*/\nfunction isRangeError( value ) {\n\tif ( typeof value !== 'object' || value === null ) {\n\t\treturn false;\n\t}\n\t// Check for `RangeError` objects from the same realm (same Node.js `vm` or same `Window` object)...\n\tif ( value instanceof RangeError ) {\n\t\treturn true;\n\t}\n\t// All `RangeError` objects are `Error` objects...\n\tif ( isError( value ) ) {\n\t\t// Walk the prototype tree until we find the desired constructor...\n\t\twhile ( value ) {\n\t\t\tif ( typeOf( value ) === 'rangeerror' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tvalue = getPrototypeOf( value );\n\t\t}\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isRangeError;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a `RangeError` object.\n*\n* @module @stdlib/assert/is-range-error\n*\n* @example\n* var isRangeError = require( '@stdlib/assert/is-range-error' );\n*\n* var bool = isRangeError( new RangeError( 'beep' ) );\n* // returns true\n*\n* bool = isRangeError( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptor = require( '@stdlib/utils/property-descriptor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property is read-only.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is read-only\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': false,\n* 'value': true\n* });\n*\n* var bool = isReadOnlyProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isReadOnlyProperty( obj, 'beep' );\n* // returns true\n*/\nfunction isReadOnlyProperty( value, property ) {\n\tvar desc = propertyDescriptor( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\tdesc.configurable === false &&\n\t\t(\n\t\t\t// Data descriptor:\n\t\t\tdesc.writable === false ||\n\n\t\t\t// Accessor descriptor:\n\t\t\t(\n\t\t\t\ttypeof desc.get === 'function' &&\n\t\t\t\tdesc.set === void 0\n\t\t\t)\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isReadOnlyProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property is read-only.\n*\n* @module @stdlib/assert/is-read-only-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isReadOnlyProperty = require( '@stdlib/assert/is-read-only-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': false,\n* 'value': true\n* });\n*\n* var bool = isReadOnlyProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isReadOnlyProperty( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property is read-only.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is read-only\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': false,\n* 'value': true\n* });\n*\n* var bool = isReadOnlyPropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isReadOnlyPropertyIn( obj, 'beep' );\n* // returns true\n*/\nfunction isReadOnlyPropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\tdesc.configurable === false &&\n\t\t(\n\t\t\t// Data descriptor:\n\t\t\tdesc.writable === false ||\n\n\t\t\t// Accessor descriptor:\n\t\t\t(\n\t\t\t\ttypeof desc.get === 'function' &&\n\t\t\t\tdesc.set === void 0\n\t\t\t)\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isReadOnlyPropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property is read-only.\n*\n* @module @stdlib/assert/is-read-only-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isReadOnlyPropertyIn = require( '@stdlib/assert/is-read-only-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': false,\n* 'value': true\n* });\n*\n* var bool = isReadOnlyPropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isReadOnlyPropertyIn( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptor = require( '@stdlib/utils/property-descriptor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property is readable and writable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is readable and writable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'set': setter\n* });\n*\n* var bool = isReadWriteProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isReadWriteProperty( obj, 'beep' );\n* // returns false\n*/\nfunction isReadWriteProperty( value, property ) {\n\tvar desc = propertyDescriptor( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\t(\n\t\t\t// Data descriptor:\n\t\t\tdesc.writable === true ||\n\n\t\t\t// Accessor descriptor:\n\t\t\t(\n\t\t\t\ttypeof desc.get === 'function' &&\n\t\t\t\ttypeof desc.set === 'function'\n\t\t\t)\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isReadWriteProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property is readable and writable.\n*\n* @module @stdlib/assert/is-read-write-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isReadWriteProperty = require( '@stdlib/assert/is-read-write-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'set': setter\n* });\n*\n* var bool = isReadWriteProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isReadWriteProperty( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property is readable and writable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is readable and writable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'set': setter\n* });\n*\n* var bool = isReadWritePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isReadWritePropertyIn( obj, 'beep' );\n* // returns false\n*/\nfunction isReadWritePropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\t(\n\t\t\t// Data descriptor:\n\t\t\tdesc.writable === true ||\n\n\t\t\t// Accessor descriptor:\n\t\t\t(\n\t\t\t\ttypeof desc.get === 'function' &&\n\t\t\t\ttypeof desc.set === 'function'\n\t\t\t)\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isReadWritePropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property is readable and writable.\n*\n* @module @stdlib/assert/is-read-write-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isReadWritePropertyIn = require( '@stdlib/assert/is-read-write-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'set': setter\n* });\n*\n* var bool = isReadWritePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isReadWritePropertyIn( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptor = require( '@stdlib/utils/property-descriptor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property is readable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is readable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'set': setter\n* });\n*\n* var bool = isReadableProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isReadableProperty( obj, 'beep' );\n* // returns false\n*/\nfunction isReadableProperty( value, property ) {\n\tvar desc = propertyDescriptor( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\t(\n\t\t\tdesc.writable !== void 0 || // data descriptor\n\t\t\ttypeof desc.get === 'function' // accessor descriptor\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isReadableProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property is readable.\n*\n* @module @stdlib/assert/is-readable-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isReadableProperty = require( '@stdlib/assert/is-readable-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'set': setter\n* });\n*\n* var bool = isReadableProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isReadableProperty( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property is readable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is readable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'set': setter\n* });\n*\n* var bool = isReadablePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isReadablePropertyIn( obj, 'beep' );\n* // returns false\n*/\nfunction isReadablePropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\t(\n\t\t\tdesc.writable !== void 0 || // data descriptor\n\t\t\ttypeof desc.get === 'function' // accessor descriptor\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isReadablePropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property is readable.\n*\n* @module @stdlib/assert/is-readable-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isReadablePropertyIn = require( '@stdlib/assert/is-readable-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'set': setter\n* });\n*\n* var bool = isReadablePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isReadablePropertyIn( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar typeOf = require( '@stdlib/utils/type-of' );\nvar isError = require( './../../is-error' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a `ReferenceError` object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a `ReferenceError` object\n*\n* @example\n* var bool = isReferenceError( new ReferenceError( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isReferenceError( {} );\n* // returns false\n*/\nfunction isReferenceError( value ) {\n\tif ( typeof value !== 'object' || value === null ) {\n\t\treturn false;\n\t}\n\t// Check for `ReferenceError` objects from the same realm (same Node.js `vm` or same `Window` object)...\n\tif ( value instanceof ReferenceError ) {\n\t\treturn true;\n\t}\n\t// All `ReferenceError` objects are `Error` objects...\n\tif ( isError( value ) ) {\n\t\t// Walk the prototype tree until we find the desired constructor...\n\t\twhile ( value ) {\n\t\t\tif ( typeOf( value ) === 'referenceerror' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tvalue = getPrototypeOf( value );\n\t\t}\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isReferenceError;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a `ReferenceError` object.\n*\n* @module @stdlib/assert/is-reference-error\n*\n* @example\n* var isReferenceError = require( '@stdlib/assert/is-reference-error' );\n*\n* var bool = isReferenceError( new ReferenceError( 'beep' ) );\n* // returns true\n*\n* bool = isReferenceError( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar RE = require( '@stdlib/regexp/regexp' ).REGEXP;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a regular expression string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a regular expression string\n*\n* @example\n* var bool = isRegExpString( '/beep/' );\n* // returns true\n*\n* @example\n* var bool = isRegExpString( '/beep/gim' );\n* // returns true\n*\n* @example\n* var bool = isRegExpString( 'beep' );\n* // returns false\n*\n* @example\n* var bool = isRegExpString( '' );\n* // returns false\n*\n* @example\n* var bool = isRegExpString( null );\n* // returns false\n*/\nfunction isRegExpString( value ) {\n\treturn isString( value ) && RE.test( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isRegExpString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a regular expression string.\n*\n* @module @stdlib/assert/is-regexp-string\n*\n* @example\n* var isRegExpString = require( '@stdlib/assert/is-regexp-string' );\n*\n* var bool = isRegExpString( '/beep/' );\n* // returns true\n*\n* bool = isRegExpString( 'beep' );\n* // returns false\n*\n* bool = isRegExpString( '' );\n* // returns false\n*\n* bool = isRegExpString( null );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isAbsolutePath = require( './../../is-absolute-path' ).posix;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a POSIX relative path.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a POSIX relative path\n*\n* @example\n* var bool = isRelativePath( './foo/bar/baz' );\n* // returns true\n*\n* @example\n* var bool = isRelativePath( '/foo/../bar/baz' );\n* // returns false\n*/\nfunction isRelativePath( value ) {\n\treturn (\n\t\tisString( value ) &&\n\t\t!isAbsolutePath( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isRelativePath;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isAbsolutePath = require( './../../is-absolute-path' ).win32;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Windows relative path.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a Windows relative path\n*\n* @example\n* var bool = isRelativePath( 'foo\\\\bar\\\\baz' );\n* // returns true\n*\n* @example\n* var bool = isRelativePath( 'C:\\\\foo\\\\..\\\\bar\\\\baz' );\n* // returns false\n*/\nfunction isRelativePath( value ) {\n\treturn (\n\t\tisString( value ) &&\n\t\t!isAbsolutePath( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isRelativePath;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a relative path.\n*\n* @module @stdlib/assert/is-relative-path\n*\n* @example\n* var IS_WINDOWS = require( '@stdlib/assert/is-windows' );\n* var isRelativePath = require( '@stdlib/assert/is-relative-path' );\n*\n* var bool;\n* if ( IS_WINDOWS ) {\n* bool = isRelativePath( 'foo\\\\bar\\\\baz' );\n* // returns true\n*\n* bool = isRelativePath( 'C:\\\\foo\\\\..\\\\bar\\\\baz' );\n* // returns false\n* } else {\n* bool = isRelativePath( './foo/bar/baz' );\n* // returns true\n*\n* bool = isRelativePath( '/foo/../bar/baz' );\n* // returns false\n* }\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar IS_WINDOWS = require( './../../is-windows' );\nvar isRelativePathPosix = require( './posix.js' );\nvar isRelativePathWin32 = require( './win32.js' );\n\n\n// MAIN //\n\nvar isRelativePath;\nif ( IS_WINDOWS ) {\n\tisRelativePath = isRelativePathWin32;\n} else {\n\tisRelativePath = isRelativePathPosix;\n}\nsetReadOnly( isRelativePath, 'posix', isRelativePathPosix );\nsetReadOnly( isRelativePath, 'win32', isRelativePathWin32 );\n\n\n// EXPORTS //\n\nmodule.exports = isRelativePath;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\n/**\n* Matches parts of a URI according to RFC 3986.\n*\n* ```text\n* : [ ? ] [ # ]\n* ```\n*\n* Regular expression: `/(?:([^:\\/?#]+):)?(?:\\/\\/([^\\/?#]*))?([^?#]*)(?:\\?[^#]*)?(?:#.*)?/`\n*\n* - `(?:([^:\\/?#]+):)`\n*\n* - match the scheme, including the `:`, but only capture the scheme name\n*\n* - `?`\n*\n* - match the scheme zero or one times\n*\n* - `(?:\\/\\/([^\\/?#]*))`\n*\n* - match the hierarchical part which is everything which is not a `/`, `#`, or `?`, but only capture whatever comes after the `//`\n*\n* - `?`\n*\n* - match the hierarchical part zero or one times\n*\n* - `([^?#]*)`\n*\n* - capture everything (the path) until meeting a `?` or `#`\n*\n* - `(?:\\?[^#]*)`\n*\n* - match, but don't capture, a query\n*\n* - `?`\n*\n* - match the query zero or one times\n*\n* - `(?:#.*)`\n*\n* - match, but don't capture, a fragment\n*\n* - `?`\n*\n* - match the fragment zero or one times\n*\n* @private\n* @constant\n* @type {RegExp}\n* @default /(?:([^:\\/?#]+):)?(?:\\/\\/([^\\/?#]*))?([^?#]*)(?:\\?[^#]*)?(?:#.*)?/\n*/\nvar RE_URI = /(?:([^:\\/?#]+):)?(?:\\/\\/([^\\/?#]*))?([^?#]*)(?:\\?[^#]*)?(?:#.*)?/; // eslint-disable-line no-useless-escape\n\n// Illegal characters (anything which is not in between the square brackets):\nvar RE_ILLEGALS = /[^a-z0-9:\\/?#\\[\\]@!$&'()*+,;=.\\-_~%]/i; // eslint-disable-line no-useless-escape\n\n// Incomplete HEX escapes:\nvar RE_HEX1 = /%[^0-9a-f]/i;\nvar RE_HEX2 = /%[0-9a-f](:?[^0-9a-f]|$)/i;\n\n// If authority is not present, path must not begin with '//'\nvar RE_PATH = /^\\/\\//;\n\n// Scheme must begin with a letter, then consist of letters, digits, '+', '.', or '-' => e.g., 'http', 'https', 'ftp'\nvar RE_SCHEME = /^[a-z][a-z0-9+\\-.]*$/;\n\n\n// MAIN //\n\n/**\n* Tests whether a value is a relative URI.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a relative URI\n*\n* @example\n* var bool = isRelativeURI( './beep/boop' );\n* // returns true\n*\n* @example\n* var bool = isRelativeURI( '/dashboard/admin' );\n* // returns true\n*\n* @example\n* var bool = isRelativeURI( 'https://wikipedia.org' );\n* // returns false\n*\n* @example\n* var bool = isRelativeURI( null );\n* // returns false\n*/\nfunction isRelativeURI( value ) {\n\tvar authority;\n\tvar scheme;\n\tvar parts;\n\tvar path;\n\tif ( !isString( value ) ) {\n\t\treturn false;\n\t}\n\t// Check for illegal characters:\n\tif ( RE_ILLEGALS.test( value ) ) {\n\t\treturn false;\n\t}\n\t// Check for incomplete HEX escapes:\n\tif (\n\t\tRE_HEX1.test( value ) ||\n\t\tRE_HEX2.test( value )\n\t) {\n\t\treturn false;\n\t}\n\t// Split the string into various URI components:\n\tparts = value.match( RE_URI );\n\tscheme = parts[ 1 ];\n\tauthority = parts[ 2 ];\n\tpath = parts[ 3 ];\n\n\tif (\n\t\t!scheme ||\n\t\t!scheme.length ||\n\t\t!RE_SCHEME.test( scheme.toLowerCase() )\n\t) {\n\t\treturn true;\n\t}\n\tif (\n\t\t!authority &&\n\t\tRE_PATH.test( path )\n\t) {\n\t\treturn true;\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isRelativeURI;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a value is a relative URI.\n*\n* @module @stdlib/assert/is-relative-uri\n*\n* @example\n* var isRelativeURI = require( '@stdlib/assert/is-relative-uri' );\n*\n* var bool = isRelativeURI( 'foo/bar' );\n* // returns true\n*\n* bool = isRelativeURI( 'https://example.com/' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar isSafeInt = require( '@stdlib/math/base/assert/is-safe-integer' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a safe integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a safe integer value\n*\n* @example\n* var bool = isSafeInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isSafeInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isSafeInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisSafeInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSafeInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\nvar isSafeInt = require( '@stdlib/math/base/assert/is-safe-integer' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a safe integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a safe integer value\n*\n* @example\n* var bool = isSafeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isSafeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isSafeInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisSafeInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSafeInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a safe integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a safe integer\n*\n* @example\n* var bool = isSafeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isSafeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isSafeInteger( 2.0e300 );\n* // returns false\n*\n* @example\n* var bool = isSafeInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isSafeInteger( null );\n* // returns false\n*/\nfunction isSafeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSafeInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a safe integer.\n*\n* @module @stdlib/assert/is-safe-integer\n*\n* @example\n* var isSafeInteger = require( '@stdlib/assert/is-safe-integer' );\n*\n* var bool = isSafeInteger( 5.0 );\n* // returns true\n*\n* bool = isSafeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isSafeInteger( 2.0e200 );\n* // returns false\n*\n* bool = isSafeInteger( -3.14 );\n* // returns false\n*\n* bool = isSafeInteger( null );\n* // returns false\n*\n* @example\n* var isSafeInteger = require( '@stdlib/assert/is-safe-integer' ).isPrimitive;\n*\n* var bool = isSafeInteger( -3.0 );\n* // returns true\n*\n* bool = isSafeInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* var isSafeInteger = require( '@stdlib/assert/is-safe-integer' ).isObject;\n*\n* var bool = isSafeInteger( 3.0 );\n* // returns false\n*\n* bool = isSafeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only safe integers.\n*\n* @module @stdlib/assert/is-safe-integer-array\n*\n* @example\n* var isSafeIntegerArray = require( '@stdlib/assert/is-safe-integer-array' );\n*\n* var bool = isSafeIntegerArray( [ -3.0, new Number(0.0), 2.0 ] );\n* // returns true\n*\n* bool = isSafeIntegerArray( [ -3.0, '3.0' ] );\n* // returns false\n*\n* @example\n* var isSafeIntegerArray = require( '@stdlib/assert/is-safe-integer-array' ).primitives;\n*\n* var bool = isSafeIntegerArray( [ -1.0, 10.0 ] );\n* // returns true\n*\n* bool = isSafeIntegerArray( [ -1.0, 0.0, 5.0 ] );\n* // returns true\n*\n* bool = isSafeIntegerArray( [ -3.0, new Number(-1.0) ] );\n* // returns false\n*\n* @example\n* var isSafeIntegerArray = require( '@stdlib/assert/is-safe-integer-array' ).objects;\n*\n* var bool = isSafeIntegerArray( [ new Number(1.0), new Number(3.0) ] );\n* // returns true\n*\n* bool = isSafeIntegerArray( [ -1.0, 0.0, 3.0 ] );\n* // returns false\n*\n* bool = isSafeIntegerArray( [ 3.0, new Number(-1.0) ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isSafeInteger = require( './../../is-safe-integer' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isSafeInteger.isPrimitive );\nvar isObjectArray = arrayfun( isSafeInteger.isObject );\n\n\n// MAIN //\n\nvar isSafeIntegerArray = arrayfun( isSafeInteger );\nsetReadOnly( isSafeIntegerArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isSafeIntegerArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isSafeIntegerArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2024 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFloat64Array = require( './../../is-float64array' );\nvar hasSameValues = require( '@stdlib/array/base/assert/has-same-values' );\n\n\n// MAIN //\n\n/**\n* Tests if two arguments are both Float64Arrays and have the same values.\n*\n* @param {*} v1 - first value\n* @param {*} v2 - second value\n* @returns {boolean} boolean result\n*\n* @example\n* var Float64Array = require( '@stdlib/array/float64' );\n*\n* var x = new Float64Array( [ 1.0, 2.0, 3.0 ] );\n* var y = new Float64Array( [ 1.0, 2.0, 3.0 ] );\n*\n* var out = isSameFloat64Array( x, y );\n* // returns true\n*\n* @example\n* var Float64Array = require( '@stdlib/array/float64' );\n*\n* var x = new Float64Array( [ 1.0, 2.0, 3.0 ] );\n* var y = new Float64Array( [ 1.0, 2.0, 4.0 ] );\n*\n* var out = isSameFloat64Array( x, y );\n* // returns false\n*/\nfunction isSameFloat64Array( v1, v2 ) {\n\tif ( isFloat64Array( v1 ) && isFloat64Array( v2 ) ) {\n\t\treturn hasSameValues( v1, v2 );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSameFloat64Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2024 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if two arguments are both Float64Arrays and have the same values.\n*\n* @module @stdlib/assert/is-same-float64array\n*\n* @example\n* var Float64Array = require( '@stdlib/array/float64' );\n* var isSameFloat64Array = require( '@stdlib/assert/is-same-float64array' );\n*\n* var x = new Float64Array( [ 1.0, 2.0, 3.0 ] );\n* var y = new Float64Array( [ 1.0, 2.0, 3.0 ] );\n*\n* var out = isSameFloat64Array( x, y );\n* // returns true\n*\n* @example\n* var Float64Array = require( '@stdlib/array/float64' );\n* var isSameFloat64Array = require( '@stdlib/assert/is-same-float64array' );\n*\n* var x = new Float64Array( [ 1.0, 2.0, 3.0 ] );\n* var y = new Float64Array( [ 1.0, 2.0, 4.0 ] );\n*\n* var out = isSameFloat64Array( x, y );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// MAIN //\n\n/**\n* Tests if two arguments have the same native class.\n*\n* @param {*} a - first input value\n* @param {*} b - second input value\n* @returns {boolean} boolean indicating whether two arguments have the same native class\n*\n* @example\n* var bool = isSameNativeClass( 3.14, new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isSameNativeClass( 'beep', 'boop' );\n* // returns true\n*\n* @example\n* var bool = isSameNativeClass( [], {} );\n* // returns false\n*/\nfunction isSameNativeClass( a, b ) {\n\treturn ( nativeClass( a ) === nativeClass( b ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSameNativeClass;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if two arguments have the same native class.\n*\n* @module @stdlib/assert/is-same-native-class\n*\n* @example\n* var isSameNativeClass = require( '@stdlib/assert/is-same-native-class' );\n*\n* var bool = isSameNativeClass( 'beep', 'boop' );\n* // returns true\n*\n* bool = isSameNativeClass( [], {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if two arguments have the same type.\n*\n* ## Notes\n*\n* - The function uses the `typeof` operator to test for the same type.\n*\n* @param {*} a - first input value\n* @param {*} b - second input value\n* @returns {boolean} boolean indicating whether two arguments have the same type\n*\n* @example\n* var bool = isSameType( true, true );\n* // returns true\n*\n* @example\n* var bool = isSameType( 3.14, 3.14 );\n* // returns true\n*\n* @example\n* var bool = isSameType( {}, [] );\n* // returns true\n*\n* @example\n* var bool = isSameType( NaN, NaN );\n* // returns true\n*\n* @example\n* var bool = isSameType( 0.0, '0.0' );\n* // returns false\n*/\nfunction isSameType( a, b ) {\n\treturn ( typeof a ) === ( typeof b );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSameType;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if two arguments have the same type.\n*\n* @module @stdlib/assert/is-same-type\n*\n* @example\n* var isSameType = require( '@stdlib/assert/is-same-type' );\n*\n* var bool = isSameType( true, true );\n* // returns true\n*\n* bool = isSameType( 3.14, -3.14 );\n* // returns true\n*\n* bool = isSameType( {}, [] );\n* // returns true\n*\n* bool = isSameType( NaN, NaN );\n* // returns true\n*\n* bool = isSameType( '0.0', 0.0 );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isSameComplexValue = require( '@stdlib/complex/base/assert/is-same-value' );\nvar isComplexLike = require( './../../is-complex-like' );\n\n\n// MAIN //\n\n/**\n* Tests if two arguments are the same value.\n*\n* ## Notes\n*\n* - The function implements the [SameValue Algorithm][ecma-262-same-value-algorithm] (as specified in ECMAScript 5), with support for complex number objects.\n* - In contrast to the strict equality operator `===`, `-0` and `+0` are distinguishable and `NaNs` are the same.\n*\n* [ecma-262-same-value-algorithm]: http://ecma-international.org/ecma-262/5.1/#sec-9.12\n*\n* @param {*} a - first input value\n* @param {*} b - second input value\n* @returns {boolean} boolean indicating whether two arguments are the same value\n*\n* @example\n* var bool = isSameValue( true, true );\n* // returns true\n*\n* @example\n* var bool = isSameValue( 3.14, 3.14 );\n* // returns true\n*\n* @example\n* var bool = isSameValue( {}, {} );\n* // returns false\n*\n* @example\n* var bool = isSameValue( -0.0, -0.0 );\n* // returns true\n*\n* @example\n* var bool = isSameValue( -0.0, 0.0 );\n* // returns false\n*\n* @example\n* var bool = isSameValue( NaN, NaN );\n* // returns true\n*\n* @example\n* var bool = isSameValue( [], [] );\n* // returns false\n*/\nfunction isSameValue( a, b ) {\n\tif ( a === b ) {\n\t\tif ( a === 0.0 ) {\n\t\t\treturn 1.0 / a === 1.0 / b; // handles +-0\n\t\t}\n\t\treturn true;\n\t}\n\tif ( a !== a && b !== b ) { // handles NaNs\n\t\treturn true;\n\t}\n\tif ( isComplexLike( a ) && isComplexLike( b ) ) {\n\t\treturn isSameComplexValue( a, b );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSameValue;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if two arguments are the same value.\n*\n* @module @stdlib/assert/is-same-value\n*\n* @example\n* var isSameValue = require( '@stdlib/assert/is-same-value' );\n*\n* var bool = isSameValue( true, true );\n* // returns true\n*\n* bool = isSameValue( 3.14, 3.14 );\n* // returns true\n*\n* bool = isSameValue( {}, {} );\n* // returns false\n*\n* bool = isSameValue( -0.0, -0.0 );\n* // returns true\n*\n* bool = isSameValue( -0.0, 0.0 );\n* // returns false\n*\n* bool = isSameValue( NaN, NaN );\n* // returns true\n*\n* bool = isSameValue( [], [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isSameComplexValueZero = require( '@stdlib/complex/base/assert/is-same-value-zero' );\nvar isComplexLike = require( './../../is-complex-like' );\n\n\n// MAIN //\n\n/**\n* Tests if two arguments are the same value.\n*\n* ## Notes\n*\n* - The function implements the SameValueZero Algorithm used by `TypedArray` and `ArrayBuffer` constructors, `Map` and `Set` operations, `String.prototype.includes`, and `Array.prototype.includes` since ES2016, and includes support for complex number objects.\n* - In contrast to the strict equality operator `===`, `NaNs` are considered the same value.\n*\n* @param {*} a - first input value\n* @param {*} b - second input value\n* @returns {boolean} boolean indicating whether two arguments are the same value\n*\n* @example\n* var bool = isSameValueZero( true, true );\n* // returns true\n*\n* @example\n* var bool = isSameValueZero( 3.14, 3.14 );\n* // returns true\n*\n* @example\n* var bool = isSameValueZero( {}, {} );\n* // returns false\n*\n* @example\n* var bool = isSameValueZero( -0.0, -0.0 );\n* // returns true\n*\n* @example\n* var bool = isSameValueZero( -0.0, 0.0 );\n* // returns true\n*\n* @example\n* var bool = isSameValueZero( NaN, NaN );\n* // returns true\n*\n* @example\n* var bool = isSameValueZero( [], [] );\n* // returns false\n*/\nfunction isSameValueZero( a, b ) {\n\tif ( ( a === b ) || ( a !== a && b !== b ) ) { // handles NaNs\n\t\treturn true;\n\t}\n\tif ( isComplexLike( a ) && isComplexLike( b ) ) {\n\t\treturn isSameComplexValueZero( a, b );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSameValueZero;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if two arguments are the same value.\n*\n* @module @stdlib/assert/is-same-value-zero\n*\n* @example\n* var isSameValueZero = require( '@stdlib/assert/is-same-value-zero' );\n*\n* var bool = isSameValueZero( true, true );\n* // returns true\n*\n* bool = isSameValueZero( 3.14, 3.14 );\n* // returns true\n*\n* bool = isSameValueZero( {}, {} );\n* // returns false\n*\n* bool = isSameValueZero( -0.0, -0.0 );\n* // returns true\n*\n* bool = isSameValueZero( -0.0, 0.0 );\n* // returns true\n*\n* bool = isSameValueZero( NaN, NaN );\n* // returns true\n*\n* bool = isSameValueZero( [], [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar RE_SEMVER = require( '@stdlib/regexp/semver' ).REGEXP;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a semantic version string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a provided value is a semantic version string\n*\n* @example\n* var bool = isSemVer( '1.0.0' );\n* // returns true\n*\n* @example\n* var bool = isSemVer( '1.0.0-alpha.1' );\n* // returns true\n*\n* @example\n* var bool = isSemVer( '0.1' );\n* // returns false\n*\n* @example\n* var bool = isSemVer( null );\n* // returns false\n*/\nfunction isSemVer( value ) {\n\treturn ( isString( value ) && RE_SEMVER.test( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSemVer;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a semantic version string.\n*\n* @module @stdlib/assert/is-semver\n*\n* @example\n* var isSemVer = require( '@stdlib/assert/is-semver' );\n*\n* var bool = isSemVer( '0.0.2' );\n* // returns true\n*\n* bool = isSemVer( 'foo' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isSquareMatrix = require( './../../is-square-matrix' );\nvar floor = require( '@stdlib/math/base/special/floor' );\nvar isOdd = require( '@stdlib/math/base/assert/is-odd' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a skew-centrosymmetric matrix.\n*\n* ## Notes\n*\n* - The implementation must rely on manually checking that \\\\(M_{ij} = -M_{N-i-1,N-j-1}\\\\), and, while element access is deterministic, no way exists to prevent cache misses outside of reordering the underlying matrix elements, thus incurring a larger performance penalty than just \"jumping around\" in a single pass.\n* - Worst case scenario: O(N^2).\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a skew-centrosymmetric matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 2, 1, -1, -2 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSkewCentrosymmetricMatrix( arr );\n* // returns true\n*\n* bool = isSkewCentrosymmetricMatrix( [] );\n* // returns false\n*/\nfunction isSkewCentrosymmetricMatrix( v ) { // eslint-disable-line id-length\n\tvar m1;\n\tvar M;\n\tvar N;\n\tvar n;\n\tvar i;\n\tvar j;\n\tif ( !isSquareMatrix( v ) ) {\n\t\treturn false;\n\t}\n\tM = v.shape[ 0 ];\n\tN = floor( M/2.0 ); // corresponds to a row index + 1\n\tm1 = M - 1;\n\tfor ( i = 0; i < N; i++ ) {\n\t\tn = m1 - i;\n\t\tfor ( j = 0; j < M; j++ ) {\n\t\t\tif ( v.get( i, j ) !== -v.get( n, m1-j ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\tif ( isOdd( M ) ) {\n\t\t// Only need to examine the first half of the row (including the center element) due to symmetry...\n\t\tfor ( j = 0; j <= N; j++ ) {\n\t\t\tif ( v.get( i, j ) !== -v.get( N, m1-j ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSkewCentrosymmetricMatrix;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a skew-centrosymmetric matrix.\n*\n* @module @stdlib/assert/is-skew-centrosymmetric-matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isSkewCentrosymmetricMatrix = require( '@stdlib/assert/is-skew-centrosymmetric-matrix' );\n*\n* var arr = ndarray( 'generic', [ 2, 1, -1, -2 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSkewCentrosymmetricMatrix( arr );\n* // returns true\n*\n* bool = isSkewCentrosymmetricMatrix( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isSquareMatrix = require( './../../is-square-matrix' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a skew-persymmetric matrix.\n*\n* ## Notes\n*\n* - The implementation must rely on manually checking that \\\\(M_{ij} = -M_{N-j-1,N-i-1}\\\\), and, while element access is deterministic, no way exists to prevent cache misses outside of reordering the underlying matrix elements, thus incurring a larger performance penalty than just \"jumping around\" in a single pass.\n* - Worst case scenario: O(N^2).\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a skew-persymmetric matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 1, 0, 0, -1 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSkewPersymmetricMatrix( arr );\n* // returns true\n*\n* bool = isSkewPersymmetricMatrix( [] );\n* // returns false\n*/\nfunction isSkewPersymmetricMatrix( v ) {\n\tvar M;\n\tvar n;\n\tvar i;\n\tvar j;\n\tif ( !isSquareMatrix( v ) ) {\n\t\treturn false;\n\t}\n\tM = v.shape[ 0 ] - 1;\n\tfor ( i = 0; i < M; i++ ) {\n\t\tn = M - i;\n\t\tfor ( j = 0; j <= n; j++ ) {\n\t\t\tif ( v.get( i, j ) !== -v.get( M-j, n ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSkewPersymmetricMatrix;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a skew-persymmetric matrix.\n*\n* @module @stdlib/assert/is-skew-persymmetric-matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isSkewPersymmetricMatrix = require( '@stdlib/assert/is-skew-persymmetric-matrix' );\n*\n* var arr = ndarray( 'generic', [ 1, 0, 0, -1 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSkewPersymmetricMatrix( arr );\n* // returns true\n*\n* bool = isSkewPersymmetricMatrix( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isSquareMatrix = require( './../../is-square-matrix' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a skew-symmetric matrix.\n*\n* ## Notes\n*\n* - The implementation must rely on manually checking that \\\\(M_{ij} = -M_{ji}\\\\), and, while element access is deterministic, no way exists to prevent cache misses outside of reordering the underlying matrix elements, thus incurring a larger performance penalty than just \"jumping around\" in a single pass.\n* - Worst case scenario: O(N^2).\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a skew-symmetric matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 0, -1, 1, 0 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSkewSymmetricMatrix( arr );\n* // returns true\n*\n* bool = isSkewSymmetricMatrix( [] );\n* // returns false\n*/\nfunction isSkewSymmetricMatrix( v ) {\n\tvar M;\n\tvar i;\n\tvar j;\n\tif ( !isSquareMatrix( v ) ) {\n\t\treturn false;\n\t}\n\tM = v.shape[ 0 ];\n\tfor ( i = 0; i < M; i++ ) {\n\t\tfor ( j = 0; j <= i; j++ ) { // includes diagonal\n\t\t\tif ( v.get( i, j ) !== -v.get( j, i ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSkewSymmetricMatrix;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a skew-symmetric matrix.\n*\n* @module @stdlib/assert/is-skew-symmetric-matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isSkewSymmetricMatrix = require( '@stdlib/assert/is-skew-symmetric-matrix' );\n*\n* var arr = ndarray( 'generic', [ 0, -1, 1, 0 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSkewSymmetricMatrix( arr );\n* // returns true\n*\n* bool = isSkewSymmetricMatrix( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Slice = require( '@stdlib/slice/ctor' );\nvar constructorName = require( '@stdlib/utils/constructor-name' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Slice object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a Slice object\n*\n* @example\n* var Slice = require( '@stdlib/slice/ctor' );\n*\n* var s = new Slice( 0, 10, 2 );\n*\n* var bool = isSlice( s );\n* // returns true\n*/\nfunction isSlice( value ) {\n\treturn (\n\t\tvalue instanceof Slice ||\n\t\tconstructorName( value ) === 'Slice'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSlice;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Slice object.\n*\n* @module @stdlib/assert/is-slice\n*\n* @example\n* var Slice = require( '@stdlib/slice/ctor' );\n* var isSlice = require( '@stdlib/assert/is-slice' );\n*\n* var s = new Slice( 0, 10, 2 );\n*\n* var bool = isSlice( s );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar snakecase = require( '@stdlib/string/base/snakecase' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string in snake case.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a string in snake case\n*\n* @example\n* var bool = isSnakecase( 'hello_world' );\n* // returns true\n*\n* @example\n* var bool = isSnakecase( 'Hello World' );\n* // returns false\n*\n* @example\n* var bool = isSnakecase( 'Hello_World' );\n* // returns false\n*\n* @example\n* var bool = isSnakecase( '' );\n* // returns true\n*\n* @example\n* var bool = isSnakecase( null );\n* // returns false\n*/\nfunction isSnakecase( value ) {\n\treturn ( isString( value ) && snakecase( value ) === value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSnakecase;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string in snake case.\n*\n* @module @stdlib/assert/is-snakecase\n*\n* @example\n* var isSnakecase = require( '@stdlib/assert/is-snakecase' );\n*\n* var bool = isSnakecase( 'hello_world' );\n* // returns true\n*\n* bool = isSnakecase( 'Hello World' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar sqrt = require( '@stdlib/math/base/special/sqrt' );\nvar floor = require( '@stdlib/math/base/special/floor' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a value which is a square number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a value which is a square number\n*\n* @example\n* var bool = isSquareNumber( 4.0 );\n* // returns true\n*\n* @example\n* var bool = isSquareNumber( new Number( 4.0 ) );\n* // returns false\n*/\nfunction isSquareNumber( value ) {\n\tvar n;\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\tn = floor( sqrt( value ) + 0.5 );\n\treturn n*n === value;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSquareNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\nvar sqrt = require( '@stdlib/math/base/special/sqrt' );\nvar floor = require( '@stdlib/math/base/special/floor' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value which is a square number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value which is a square number\n*\n* @example\n* var bool = isSquareNumber( 4.0 );\n* // returns false\n*\n* @example\n* var bool = isSquareNumber( new Number( 4.0 ) );\n* // returns true\n*/\nfunction isSquareNumber( value ) {\n\tvar n;\n\tvar x;\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\tx = value.valueOf();\n\tn = floor( sqrt( x ) + 0.5 );\n\treturn n*n === x;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSquareNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a square number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a square number\n*\n* @example\n* var bool = isSquareNumber( 4.0 );\n* // returns true\n*\n* @example\n* var bool = isSquareNumber( new Number( 4.0 ) );\n* // returns true\n*\n* @example\n* var bool = isSquareNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isSquareNumber( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isSquareNumber( null );\n* // returns false\n*/\nfunction isSquareNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSquareNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a square number.\n*\n* @module @stdlib/assert/is-square-number\n*\n* @example\n* var isSquareNumber = require( '@stdlib/assert/is-square-number' );\n*\n* var bool = isSquareNumber( 4.0 );\n* // returns true\n*\n* bool = isSquareNumber( new Number( 4.0 ) );\n* // returns true\n*\n* bool = isSquareNumber( 3.14 );\n* // returns false\n*\n* bool = isSquareNumber( -5.0 );\n* // returns false\n*\n* bool = isSquareNumber( null );\n* // returns false\n*\n* @example\n* var isSquareNumber = require( '@stdlib/assert/is-square-number' ).isPrimitive;\n*\n* var bool = isSquareNumber( 4.0 );\n* // returns true\n*\n* bool = isSquareNumber( new Number( 4.0 ) );\n* // returns false\n*\n* @example\n* var isSquareNumber = require( '@stdlib/assert/is-square-number' ).isObject;\n*\n* var bool = isSquareNumber( 4.0 );\n* // returns false\n*\n* bool = isSquareNumber( new Number( 4.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar sqrt = require( '@stdlib/math/base/special/sqrt' );\nvar floor = require( '@stdlib/math/base/special/floor' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a value which is a square triangular number.\n*\n* ## Notes\n*\n* - Return values are not reliable for numbers greater than `1125899906842624`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a value which is a square triangular number\n*\n* @example\n* var bool = isSquareTriangularNumber( 36.0 );\n* // returns true\n*\n* @example\n* var bool = isSquareTriangularNumber( new Number( 36.0 ) );\n* // returns false\n*/\nfunction isSquareTriangularNumber( value ) {\n\tvar n;\n\tvar x;\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\t// Test if a square number:\n\tn = floor( sqrt( value ) + 0.5 );\n\tif ( n*n !== value ) {\n\t\treturn false;\n\t}\n\t// Test if a triangular number:\n\tx = ( 8.0*value ) + 1.0;\n\tn = floor( sqrt( x ) + 0.5 );\n\treturn n*n === x;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSquareTriangularNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\nvar sqrt = require( '@stdlib/math/base/special/sqrt' );\nvar floor = require( '@stdlib/math/base/special/floor' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value which is a square triangular number.\n*\n* ## Notes\n*\n* - Return values are not reliable for numbers greater than `1125899906842624`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value which is a square triangular number\n*\n* @example\n* var bool = isSquareTriangularNumber( 36.0 );\n* // returns false\n*\n* @example\n* var bool = isSquareTriangularNumber( new Number( 36.0 ) );\n* // returns true\n*/\nfunction isSquareTriangularNumber( value ) {\n\tvar n;\n\tvar x;\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\t// Test if a square number:\n\tx = value.valueOf();\n\tn = floor( sqrt( x ) + 0.5 );\n\tif ( n*n !== x ) {\n\t\treturn false;\n\t}\n\t// Test if a triangular number:\n\tx = ( 8.0*x ) + 1.0;\n\tn = floor( sqrt( x ) + 0.5 );\n\treturn n*n === x;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSquareTriangularNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a square triangular number.\n*\n* ## Notes\n*\n* - Return values are not reliable for numbers greater than `1125899906842624`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a square triangular number\n*\n* @example\n* var bool = isSquareTriangularNumber( 36.0 );\n* // returns true\n*\n* @example\n* var bool = isSquareTriangularNumber( new Number( 36.0 ) );\n* // returns true\n*\n* @example\n* var bool = isSquareTriangularNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isSquareTriangularNumber( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isSquareTriangularNumber( null );\n* // returns false\n*/\nfunction isSquareTriangularNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSquareTriangularNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a square triangular number.\n*\n* @module @stdlib/assert/is-square-triangular-number\n*\n* @example\n* var isSquareTriangularNumber = require( '@stdlib/assert/is-square-triangular-number' );\n*\n* var bool = isSquareTriangularNumber( 36.0 );\n* // returns true\n*\n* bool = isSquareTriangularNumber( new Number( 36.0 ) );\n* // returns true\n*\n* bool = isSquareTriangularNumber( 3.14 );\n* // returns false\n*\n* bool = isSquareTriangularNumber( -5.0 );\n* // returns false\n*\n* bool = isSquareTriangularNumber( null );\n* // returns false\n*\n* @example\n* var isSquareTriangularNumber = require( '@stdlib/assert/is-square-triangular-number' ).isPrimitive;\n*\n* var bool = isSquareTriangularNumber( 36.0 );\n* // returns true\n*\n* bool = isSquareTriangularNumber( new Number( 36.0 ) );\n* // returns false\n*\n* @example\n* var isSquareTriangularNumber = require( '@stdlib/assert/is-square-triangular-number' ).isObject;\n*\n* var bool = isSquareTriangularNumber( 36.0 );\n* // returns false\n*\n* bool = isSquareTriangularNumber( new Number( 36.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar startcase = require( '@stdlib/string/base/startcase' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a startcase string (i.e., the first character of each word is uppercase).\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a startcase string\n*\n* @example\n* var bool = isStartcase( 'Beep Boop' );\n* // returns true\n*\n* bool = isStartcase( 'beep boop' );\n* // returns false\n*\n* bool = isStartcase( 'beep and boop' );\n* // returns false\n*/\nfunction isStartcase( value ) {\n\treturn ( isString( value ) && startcase( value ) === value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isStartcase;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a startcase string.\n*\n* @module @stdlib/assert/is-startcase\n*\n* @example\n* var isStartcase = require( '@stdlib/assert/is-startcase' );\n*\n* var bool = isStartcase( 'Beep Boop' );\n* // returns true\n*\n* bool = isStartcase( 'Beep and Boop' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if two arguments are strictly equal.\n*\n* ## Notes\n*\n* - In contrast to the strict equality operator `===`, `-0` and `+0` are distinguishable.\n*\n* @param {*} a - first input value\n* @param {*} b - second input value\n* @returns {boolean} boolean indicating whether two arguments are strictly equal\n*\n* @example\n* var bool = isStrictEqual( true, true );\n* // returns true\n*\n* @example\n* var bool = isStrictEqual( 3.14, 3.14 );\n* // returns true\n*\n* @example\n* var bool = isStrictEqual( {}, {} );\n* // returns false\n*\n* @example\n* var bool = isStrictEqual( -0.0, -0.0 );\n* // returns true\n*\n* @example\n* var bool = isStrictEqual( -0.0, 0.0 );\n* // returns false\n*\n* @example\n* var bool = isStrictEqual( NaN, NaN );\n* // returns false\n*\n* @example\n* var bool = isStrictEqual( [], [] );\n* // returns false\n*/\nfunction isStrictEqual( a, b ) {\n\tif ( a === b ) {\n\t\tif ( a === 0.0 ) {\n\t\t\treturn 1.0 / a === 1.0 / b; // handles +-0\n\t\t}\n\t\treturn true;\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isStrictEqual;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if two arguments are strictly equal.\n*\n* @module @stdlib/assert/is-strict-equal\n*\n* @example\n* var isStrictEqual = require( '@stdlib/assert/is-strict-equal' );\n*\n* var bool = isStrictEqual( true, true );\n* // returns true\n*\n* bool = isStrictEqual( 3.14, 3.14 );\n* // returns true\n*\n* bool = isStrictEqual( {}, {} );\n* // returns false\n*\n* bool = isStrictEqual( -0.0, -0.0 );\n* // returns true\n*\n* bool = isStrictEqual( -0.0, 0.0 );\n* // returns false\n*\n* bool = isStrictEqual( NaN, NaN );\n* // returns false\n*\n* bool = isStrictEqual( [], [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array of strings.\n*\n* @module @stdlib/assert/is-string-array\n*\n* @example\n* var isStringArray = require( '@stdlib/assert/is-string-array' );\n*\n* var bool = isStringArray( [ 'abc', 'def' ] );\n* // returns true\n*\n* bool = isStringArray( [ 'abc', 123 ] );\n* // returns false\n*\n* @example\n* var isStringArray = require( '@stdlib/assert/is-string-array' ).primitives;\n*\n* var bool = isStringArray( [ 'abc', 'def' ] );\n* // returns true\n*\n* bool = isStringArray( [ 'abc', new String( 'def' ) ] );\n* // returns false\n*\n* @example\n* var isStringArray = require( '@stdlib/assert/is-string-array' ).objects;\n*\n* var bool = isStringArray( [ new String( 'abc' ), new String( 'def' ) ] );\n* // returns true\n*\n* bool = isStringArray( [ new String( 'abc' ), 'def' ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-function' );\nvar isString = require( './../../is-string' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isString.isPrimitive );\nvar isObjectArray = arrayfun( isString.isObject );\n\n\n// MAIN //\n\nvar isStringArray = arrayfun( isString );\nsetReadOnly( isStringArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isStringArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isStringArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only symbols.\n*\n* @module @stdlib/assert/is-symbol-array\n*\n* @example\n* var isSymbolArray = require( '@stdlib/assert/is-symbol-array' );\n*\n* var bool = isSymbolArray( [ Symbol( 'abc' ), Symbol( 'def' ) ] );\n* // returns true\n*\n* bool = isSymbolArray( [ Symbol( 'abc' ), 'def' ] );\n* // returns false\n*\n* @example\n* var isSymbolArray = require( '@stdlib/assert/is-symbol-array' ).primitives;\n*\n* var bool = isSymbolArray( [ Symbol( 'abc' ), Symbol( 'def' ) ] );\n* // returns true\n*\n* bool = isSymbolArray( [ Symbol( 'abc' ), Object( Symbol( 'def' ) ) ] );\n* // returns false\n*\n* @example\n* var isSymbolArray = require( '@stdlib/assert/is-symbol-array' ).objects;\n*\n* var bool = isSymbolArray( [ Object( Symbol( 'abc' ) ), Object( Symbol( 'def' ) ) ] );\n* // returns true\n*\n* bool = isSymbolArray( [ Symbol( 'abc' ), Symbol( 'def' ) ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isSymbol = require( './../../is-symbol' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isSymbol.isPrimitive );\nvar isObjectArray = arrayfun( isSymbol.isObject );\n\n\n// MAIN //\n\nvar isSymbolArray = arrayfun( isSymbol );\nsetReadOnly( isSymbolArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isSymbolArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isSymbolArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isSquareMatrix = require( './../../is-square-matrix' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a symmetric matrix.\n*\n* ## Notes\n*\n* - The implementation must rely on manually checking that \\\\(M_{ij} = M_{ji}\\\\), and, while element access is deterministic, no way exists to prevent cache misses outside of reordering the underlying matrix elements, thus incurring a larger performance penalty than just \"jumping around\" in a single pass.\n* - Worst case scenario: O(N^2).\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a symmetric matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 0, 1, 1, 2 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSymmetricMatrix( arr );\n* // returns true\n*\n* bool = isSymmetricMatrix( [] );\n* // returns false\n*/\nfunction isSymmetricMatrix( v ) {\n\tvar M;\n\tvar i;\n\tvar j;\n\tif ( !isSquareMatrix( v ) ) {\n\t\treturn false;\n\t}\n\tM = v.shape[ 0 ];\n\tfor ( i = 0; i < M; i++ ) {\n\t\tfor ( j = 0; j < i; j++ ) {\n\t\t\tif ( v.get( i, j ) !== v.get( j, i ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSymmetricMatrix;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a symmetric matrix.\n*\n* @module @stdlib/assert/is-symmetric-matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isSymmetricMatrix = require( '@stdlib/assert/is-symmetric-matrix' );\n*\n* var arr = ndarray( 'generic', [ 0, 1, 1, 2 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSymmetricMatrix( arr );\n* // returns true\n*\n* bool = isSymmetricMatrix( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar typeOf = require( '@stdlib/utils/type-of' );\nvar isError = require( './../../is-error' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a `SyntaxError` object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a `SyntaxError` object\n*\n* @example\n* var bool = isSyntaxError( new SyntaxError( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isSyntaxError( {} );\n* // returns false\n*/\nfunction isSyntaxError( value ) {\n\tif ( typeof value !== 'object' || value === null ) {\n\t\treturn false;\n\t}\n\t// Check for `SyntaxError` objects from the same realm (same Node.js `vm` or same `Window` object)...\n\tif ( value instanceof SyntaxError ) {\n\t\treturn true;\n\t}\n\t// All `SyntaxError` objects are `Error` objects...\n\tif ( isError( value ) ) {\n\t\t// Walk the prototype tree until we find the desired constructor...\n\t\twhile ( value ) {\n\t\t\tif ( typeOf( value ) === 'syntaxerror' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tvalue = getPrototypeOf( value );\n\t\t}\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSyntaxError;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a `SyntaxError` object.\n*\n* @module @stdlib/assert/is-syntax-error\n*\n* @example\n* var isSyntaxError = require( '@stdlib/assert/is-syntax-error' );\n*\n* var bool = isSyntaxError( new SyntaxError( 'beep' ) );\n* // returns true\n*\n* bool = isSyntaxError( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar constantFunction = require( '@stdlib/utils/constant-function' );\n\n\n// MAIN //\n\nvar isTouchDevice = constantFunction( false );\n\n\n// EXPORTS //\n\nmodule.exports = isTouchDevice;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the current environment is a touch device.\n*\n* @module @stdlib/assert/is-touch-device\n*\n* @example\n* var IS_TOUCH_DEVICE = require( '@stdlib/assert/is-touch-device' );\n*\n* var bool = IS_TOUCH_DEVICE;\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar bool = main();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar sqrt = require( '@stdlib/math/base/special/sqrt' );\nvar floor = require( '@stdlib/math/base/special/floor' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a value which is a triangular number.\n*\n* ## Notes\n*\n* - Return values are not reliable for numbers greater than `1125899906842624`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a value which is a triangular number\n*\n* @example\n* var bool = isTriangularNumber( 36.0 );\n* // returns true\n*\n* @example\n* var bool = isTriangularNumber( new Number( 36.0 ) );\n* // returns false\n*/\nfunction isTriangularNumber( value ) {\n\tvar n;\n\tvar x;\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\tx = ( 8.0*value ) + 1.0;\n\tn = floor( sqrt( x ) + 0.5 );\n\treturn n*n === x;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isTriangularNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\nvar sqrt = require( '@stdlib/math/base/special/sqrt' );\nvar floor = require( '@stdlib/math/base/special/floor' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value which is a triangular number.\n*\n* ## Notes\n*\n* - Return values are not reliable for numbers greater than `1125899906842624`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value which is a triangular number\n*\n* @example\n* var bool = isTriangularNumber( 36.0 );\n* // returns false\n*\n* @example\n* var bool = isTriangularNumber( new Number( 36.0 ) );\n* // returns true\n*/\nfunction isTriangularNumber( value ) {\n\tvar n;\n\tvar x;\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\tx = ( 8.0*value.valueOf() ) + 1.0;\n\tn = floor( sqrt( x ) + 0.5 );\n\treturn n*n === x;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isTriangularNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a triangular number.\n*\n* ## Notes\n*\n* - Return values are not reliable for numbers greater than `1125899906842624`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a triangular number\n*\n* @example\n* var bool = isTriangularNumber( 36.0 );\n* // returns true\n*\n* @example\n* var bool = isTriangularNumber( new Number( 36.0 ) );\n* // returns true\n*\n* @example\n* var bool = isTriangularNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isTriangularNumber( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isTriangularNumber( null );\n* // returns false\n*/\nfunction isTriangularNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isTriangularNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a triangular number.\n*\n* @module @stdlib/assert/is-triangular-number\n*\n* @example\n* var isTriangularNumber = require( '@stdlib/assert/is-triangular-number' );\n*\n* var bool = isTriangularNumber( 36.0 );\n* // returns true\n*\n* bool = isTriangularNumber( new Number( 36.0 ) );\n* // returns true\n*\n* bool = isTriangularNumber( 3.14 );\n* // returns false\n*\n* bool = isTriangularNumber( -5.0 );\n* // returns false\n*\n* bool = isTriangularNumber( null );\n* // returns false\n*\n* @example\n* var isTriangularNumber = require( '@stdlib/assert/is-triangular-number' ).isPrimitive;\n*\n* var bool = isTriangularNumber( 36.0 );\n* // returns true\n*\n* bool = isTriangularNumber( new Number( 36.0 ) );\n* // returns false\n*\n* @example\n* var isTriangularNumber = require( '@stdlib/assert/is-triangular-number' ).isObject;\n*\n* var bool = isTriangularNumber( 36.0 );\n* // returns false\n*\n* bool = isTriangularNumber( new Number( 36.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if a value is truthy.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is truthy\n*\n* @example\n* var bool = isTruthy( true );\n* // returns true\n*\n* @example\n* var bool = isTruthy( [] );\n* // returns true\n*\n* @example\n* var bool = isTruthy( false );\n* // returns false\n*\n* @example\n* var bool = isTruthy( null );\n* // returns false\n*\n* @example\n* var bool = isTruthy( '' );\n* // returns false\n*\n* @example\n* var bool = isTruthy( 0 );\n* // returns false\n*\n* @example\n* var bool = isTruthy( void 0 );\n* // returns false\n*\n* @example\n* var bool = isTruthy( NaN );\n* // returns false\n*/\nfunction isTruthy( value ) {\n\treturn ( value ) ? true : false; // eslint-disable-line no-unneeded-ternary\n}\n\n\n// EXPORTS //\n\nmodule.exports = isTruthy;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is truthy.\n*\n* @module @stdlib/assert/is-truthy\n*\n* @example\n* var isTruthy = require( '@stdlib/assert/is-truthy' );\n*\n* var bool = isTruthy( true );\n* // returns true\n*\n* bool = isTruthy( [] );\n* // returns true\n*\n* bool = isTruthy( false );\n* // returns false\n*\n* bool = isTruthy( null );\n* // returns false\n*\n* bool = isTruthy( '' );\n* // returns false\n*\n* bool = isTruthy( 0 );\n* // returns false\n*\n* bool = isTruthy( void 0 );\n* // returns false\n*\n* bool = isTruthy( NaN );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isTruthy = require( './../../is-truthy' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array-like object containing only truthy values.\n*\n* @name isTruthyArray\n* @type {Function}\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether an input value is an array-like object containing only truthy values\n*\n* @example\n* var bool = isTruthyArray( [ {}, [] ] );\n* // returns true\n*\n* bool = isTruthyArray( [ false, null, void 0, '', 0, NaN ] );\n* // returns false\n*\n* bool = isTruthyArray( [] );\n* // returns false\n*/\nvar isTruthyArray = arrayfun( isTruthy );\n\n\n// EXPORTS //\n\nmodule.exports = isTruthyArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only truthy values.\n*\n* @module @stdlib/assert/is-truthy-array\n*\n* @example\n* var isTruthyArray = require( '@stdlib/assert/is-truthy-array' );\n*\n* var bool = isTruthyArray( [ {}, [] ] );\n* // returns true\n*\n* bool = isTruthyArray( [ false, null, void 0, '', 0, NaN ] );\n* // returns false\n*\n* bool = isTruthyArray( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar typeOf = require( '@stdlib/utils/type-of' );\nvar isError = require( './../../is-error' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a `TypeError` object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a `TypeError` object\n*\n* @example\n* var bool = isTypeError( new TypeError( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isTypeError( {} );\n* // returns false\n*/\nfunction isTypeError( value ) {\n\tif ( typeof value !== 'object' || value === null ) {\n\t\treturn false;\n\t}\n\t// Check for `TypeError` objects from the same realm (same Node.js `vm` or same `Window` object)...\n\tif ( value instanceof TypeError ) {\n\t\treturn true;\n\t}\n\t// All `TypeError` objects are `Error` objects...\n\tif ( isError( value ) ) {\n\t\t// Walk the prototype tree until we find the desired constructor...\n\t\twhile ( value ) {\n\t\t\tif ( typeOf( value ) === 'typeerror' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tvalue = getPrototypeOf( value );\n\t\t}\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isTypeError;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a `TypeError` object.\n*\n* @module @stdlib/assert/is-type-error\n*\n* @example\n* var isTypeError = require( '@stdlib/assert/is-type-error' );\n*\n* var bool = isTypeError( new TypeError( 'beep' ) );\n* // returns true\n*\n* bool = isTypeError( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar MAX_LENGTH = require( '@stdlib/constants/array/max-typed-array-length' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a valid typed array length.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a valid typed array length\n*\n* @example\n* var bool = isTypedArrayLength( 3 );\n* // returns true\n*\n* @example\n* var bool = isTypedArrayLength( 3.14 );\n* // returns false\n*/\nfunction isTypedArrayLength( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0 &&\n\t\tvalue <= MAX_LENGTH\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isTypedArrayLength;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a valid typed array length.\n*\n* @module @stdlib/assert/is-typed-array-length\n*\n* @example\n* var isTypedArrayLength = require( '@stdlib/assert/is-typed-array-length' );\n*\n* var bool = isTypedArrayLength( 5 );\n* // returns true\n*\n* bool = isTypedArrayLength( 2.0e200 );\n* // returns false\n*\n* bool = isTypedArrayLength( -3.14 );\n* // returns false\n*\n* bool = isTypedArrayLength( null );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNonNegativeInteger = require( './../../is-nonnegative-integer' ).isPrimitive;\nvar MAX = require( '@stdlib/constants/array/max-typed-array-length' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is typed-array-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is typed-array-like\n*\n* @example\n* var arr = {\n*\t'BYTES_PER_ELEMENT': 8,\n*\t'length': 10,\n*\t'byteOffset': 0,\n*\t'byteLength': 10\n* };\n* var val = isTypedArrayLike( arr );\n* // returns true\n*\n* @example\n* var Int8Array = require( '@stdlib/array/int8' );\n*\n* var val = isTypedArrayLike( new Int8Array( 4 ) );\n* // returns true\n*\n* @example\n* var val = isTypedArrayLike( [] );\n* // returns false\n*\n* @example\n* var val = isTypedArrayLike( {} );\n* // returns false\n*\n* @example\n* var val = isTypedArrayLike( null );\n* // returns false\n*\n* @example\n* var val = isTypedArrayLike( 'beep' );\n* // returns false\n*/\nfunction isTypedArrayLike( value ) {\n\treturn (\n\t\tvalue !== null &&\n\t\ttypeof value === 'object' &&\n\t\tisNonNegativeInteger( value.length ) &&\n\t\tvalue.length <= MAX &&\n\t\ttypeof value.BYTES_PER_ELEMENT === 'number' &&\n\t\ttypeof value.byteOffset === 'number' &&\n\t\ttypeof value.byteLength === 'number'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isTypedArrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is typed-array-like.\n*\n* @module @stdlib/assert/is-typed-array-like\n*\n* @example\n* var Int16Array = require( '@stdlib/array/int16' );\n* var isTypedArrayLike = require( '@stdlib/assert/is-typed-array-like' );\n*\n* var bool = isTypedArrayLike( new Int16Array() );\n* // returns true\n*\n* bool = isTypedArrayLike({\n*\t'length': 10,\n*\t'byteOffset': 0,\n*\t'byteLength': 10,\n*\t'BYTES_PER_ELEMENT': 4\n* });\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar RE_UNC_PATH = require( '@stdlib/regexp/unc-path' ).REGEXP;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a UNC path.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a UNC path\n*\n* @example\n* var bool = isUNCPath( '\\\\\\\\server\\\\share\\\\foo\\\\bar\\\\baz' );\n* // returns true\n*\n* @example\n* var bool = isUNCPath( '/foo/bar/baz' );\n* // returns false\n*/\nfunction isUNCPath( value ) {\n\treturn (\n\t\tisString( value ) &&\n\t\tRE_UNC_PATH.test( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUNCPath;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a UNC path.\n*\n* @module @stdlib/assert/is-unc-path\n*\n* @example\n* var isUNCPath = require( '@stdlib/assert/is-unc-path' );\n*\n* var bool = isUNCPath( '\\\\\\\\server\\\\share\\\\foo\\\\bar\\\\baz' );\n* // returns true\n*\n* bool = isUNCPath( '/foo/bar/baz' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is `undefined`.\n*\n* ## Notes\n*\n* - In older browsers, `undefined` is a global which can be overridden. `void`, however, is an operator which **cannot** be overridden. Consequently, better to use `void` to check for `undefined`. See [Stack Overflow][1].\n*\n* [1]: http://stackoverflow.com/a/19369078/2225624\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is undefined\n*\n* @example\n* var bool = isUndefined( undefined );\n* // returns true\n*\n* bool = isUndefined( null );\n* // returns false\n*/\nfunction isUndefined( value ) {\n\treturn value === void 0;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUndefined;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is `undefined`.\n*\n* @module @stdlib/assert/is-undefined\n*\n* @example\n* var isUndefined = require( '@stdlib/assert/is-undefined' );\n*\n* var bool = isUndefined( void 0 );\n* // returns true\n*\n* bool = isUndefined( null );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is `undefined` or `null`.\n*\n* ## Notes\n*\n* - In older browsers, `undefined` is a global which can be overridden. `void`, however, is an operator which **cannot** be overridden. Consequently, better to use `void` to check for `undefined`. See [Stack Overflow][1].\n*\n* [1]: http://stackoverflow.com/a/19369078/2225624\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is undefined\n*\n* @example\n* var bool = isUndefinedOrNull( undefined );\n* // returns true\n*\n* bool = isUndefinedOrNull( null );\n* // returns true\n*\n* bool = isUndefinedOrNull( false );\n* // returns false\n*/\nfunction isUndefinedOrNull( value ) {\n\treturn ( value === void 0 || value === null );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUndefinedOrNull;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is `undefined` or `null`.\n*\n* @module @stdlib/assert/is-undefined-or-null\n*\n* @example\n* var isUndefinedOrNull = require( '@stdlib/assert/is-undefined-or-null' );\n*\n* var bool = isUndefinedOrNull( void 0 );\n* // returns true\n*\n* bool = isUndefinedOrNull( null );\n* // returns true\n*\n* bool = isUndefinedOrNull( false );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isTypedArray = require( './../../is-typed-array' );\nvar isArray = require( './../../is-array' );\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar absdiff = require( '@stdlib/math/base/utils/absolute-difference' );\nvar FLOAT64_SQRT_EPS = require( '@stdlib/constants/float64/sqrt-eps' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array of probabilities that sum to one.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a probability array\n*\n* @example\n* var bool = isUnityProbabilityArray( [ 0.25, 0.5, 0.25 ] );\n* // returns true\n*\n* @example\n* var bool = isUnityProbabilityArray( new Uint8Array( [ 0, 1 ] ) );\n* // returns true\n*\n* @example\n* var bool = isUnityProbabilityArray( [ 0.4, 0.4, 0.4 ] );\n* // returns false\n*\n* @example\n* var bool = isUnityProbabilityArray( [ 3.14, 0.0 ] );\n* // returns false\n*/\nfunction isUnityProbabilityArray( v ) {\n\tvar sum;\n\tvar i;\n\tif ( isArray( v ) ) {\n\t\tsum = 0.0;\n\t\tfor ( i = 0; i < v.length; i++ ) {\n\t\t\tif (\n\t\t\t\t!isNumber( v[ i ] ) ||\n\t\t\t\tv[ i ] > 1.0 ||\n\t\t\t\tv[ i ] < 0.0\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tsum += v[ i ];\n\t\t}\n\t\treturn ( absdiff( sum, 1.0 ) <= FLOAT64_SQRT_EPS );\n\t}\n\tif ( isTypedArray( v ) ) {\n\t\tsum = 0.0;\n\t\tfor ( i = 0; i < v.length; i++ ) {\n\t\t\tif (\n\t\t\t\tv[ i ] > 1.0 ||\n\t\t\t\tv[ i ] < 0.0\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tsum += v[ i ];\n\t\t}\n\t\treturn ( absdiff( sum, 1.0 ) <= FLOAT64_SQRT_EPS );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUnityProbabilityArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array of probabilities that sum to one.\n*\n* @module @stdlib/assert/is-unity-probability-array\n*\n* @example\n* var isUnityProbabilityArray = require( '@stdlib/assert/is-unity-probability-array' );\n*\n* var bool = isUnityProbabilityArray( [ 0.25, 0.5, 0.25 ] );\n* // returns true\n*\n* bool = isUnityProbabilityArray( new Uint8Array( [ 0, 1 ] ) );\n* // returns true\n*\n* bool = isUnityProbabilityArray( [ 0.4, 0.4, 0.4 ] );\n* // returns false\n*\n* bool = isUnityProbabilityArray( [ 3.14, 0.0 ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar lowercase = require( '@stdlib/string/lowercase' );\nvar uppercase = require( '@stdlib/string/uppercase' );\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is an uppercase string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an uppercase string\n*\n* @example\n* var bool = isUppercase( 'HELLO' );\n* // returns true\n*\n* @example\n* var bool = isUppercase( 'World' );\n* // returns false\n*\n* @example\n* var bool = isUppercase( '!' );\n* // returns false\n*\n* @example\n* var bool = isUppercase( 'salt and light' );\n* // returns false\n*/\nfunction isUppercase( value ) {\n\treturn (\n\t\tisString( value ) &&\n\t\tvalue === uppercase( value ) &&\n\t\tvalue !== lowercase( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUppercase;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an uppercase string.\n*\n* @module @stdlib/assert/is-uppercase\n*\n* @example\n* var isUppercase = require( '@stdlib/assert/is-uppercase' );\n*\n* var bool = isUppercase( 'HELLO' );\n* // returns true\n*\n* bool = isUppercase( 'World' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar typeOf = require( '@stdlib/utils/type-of' );\nvar isError = require( './../../is-error' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a `URIError` object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a `URIError` object\n*\n* @example\n* var bool = isURIError( new URIError( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isURIError( {} );\n* // returns false\n*/\nfunction isURIError( value ) {\n\tif ( typeof value !== 'object' || value === null ) {\n\t\treturn false;\n\t}\n\t// Check for `URIError` objects from the same realm (same Node.js `vm` or same `Window` object)...\n\tif ( value instanceof URIError ) {\n\t\treturn true;\n\t}\n\t// All `URIError` objects are `Error` objects...\n\tif ( isError( value ) ) {\n\t\t// Walk the prototype tree until we find the desired constructor...\n\t\twhile ( value ) {\n\t\t\tif ( typeOf( value ) === 'urierror' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tvalue = getPrototypeOf( value );\n\t\t}\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isURIError;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a `URIError` object.\n*\n* @module @stdlib/assert/is-uri-error\n*\n* @example\n* var isURIError = require( '@stdlib/assert/is-uri-error' );\n*\n* var bool = isURIError( new URIError( 'beep' ) );\n* // returns true\n*\n* bool = isURIError( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar scope;\n\n\n// FUNCTIONS //\n\n/**\n* Test if the global scope is bound to the \"self\" variable present in browser web worker environments. When creating a new function using the `Function(){}` constructor, the execution scope aliased by the `this` variable is the global scope.\n*\n* @private\n* @returns {boolean} boolean indicating if global scope is bound to \"self\" variable\n*/\nfunction globalScope() {\n\tvar fcn = '';\n\tfcn += 'try {';\n\tfcn += 'return this === self;';\n\tfcn += '} catch ( err ) {';\n\tfcn += 'return false;';\n\tfcn += '}';\n\treturn (new Function( fcn ))(); // eslint-disable-line stdlib/require-globals, no-new-func\n}\n\n\n// MAIN //\n\nscope = globalScope();\n\n\n// EXPORTS //\n\nmodule.exports = scope;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* global WorkerGlobalScope, WorkerNavigator, WorkerLocation, self, importScripts, navigator, location */\n\n'use strict';\n\n// MODULES //\n\nvar getGlobal = require( '@stdlib/utils/global' );\nvar IS_NODE = require( './../../is-node' );\nvar isObject = require( './../../is-plain-object' );\nvar globalScope = require( './global_scope.js' );\n\n\n// VARIABLES //\n\nvar Global = getGlobal();\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating if the runtime is a web worker.\n*\n* @returns {boolean} boolean indicating if runtime is a web worker\n*\n* @example\n* var bool = isWebWorker();\n* // returns \n*/\nfunction isWebWorker() {\n\treturn (\n\t\t// Check that we are not running in a Node.js runtime:\n\t\tIS_NODE === false &&\n\n\t\t// Check for presence of `WorkerGlobalScope` global variable:\n\t\ttypeof WorkerGlobalScope === 'object' &&\n\n\t\t// Check for presence of `WorkerNavigator` global variable:\n\t\tisObject( WorkerNavigator ) &&\n\n\t\t// Check that the `navigator` global object is an instance of `WorkerNavigator`:\n\t\tnavigator instanceof WorkerNavigator &&\n\n\t\t// Check for presence of `WorkerLocation` global variable:\n\t\tisObject( WorkerLocation ) &&\n\n\t\t// Check that the `location` global object is an instance of `WorkerLocation`:\n\t\tlocation instanceof WorkerLocation &&\n\n\t\t// Check for presence of `self` variable:\n\t\ttypeof self === 'object' &&\n\n\t\t// Check that the `self` variable matches the determined global variable:\n\t\tself === Global &&\n\n\t\t// Check that the `self` variable is equal to the global scope:\n\t\tglobalScope === true &&\n\n\t\t// Check for presence of `importScripts` function:\n\t\ttypeof importScripts === 'function'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isWebWorker;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the runtime is a web worker.\n*\n* @module @stdlib/assert/is-web-worker\n*\n* @example\n* var IS_WEB_WORKER = require( '@stdlib/assert/is-web-worker' );\n*\n* var bool = IS_WEB_WORKER;\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar bool = main();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar reWhitespace = require( '@stdlib/regexp/whitespace' );\n\n\n// VARIABLES //\n\nvar RE = new RegExp( '^'+reWhitespace.REGEXP.source+'+$' );\n\n\n// MAIN //\n\n/**\n* Tests whether a string contains only white space characters.\n*\n* @param {*} x - value to test\n* @returns {boolean} boolean indicating if a string contains only white space characters\n*\n* @example\n* var out = isWhitespace( ' ' );\n* // returns true\n*\n* @example\n* var out = isWhitespace( 'beep boop' );\n* // returns false\n*\n* @example\n* var out = isWhitespace( '' );\n* // returns false\n*\n* @example\n* var out = isWhitespace( 123 );\n* // returns false\n*/\nfunction isWhitespace( x ) {\n\tif ( !isString( x ) ) {\n\t\treturn false;\n\t}\n\treturn RE.test( x );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isWhitespace;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a string contains only white space characters.\n*\n* @module @stdlib/assert/is-whitespace\n*\n* @example\n* var isWhitespace = require( '@stdlib/assert/is-whitespace' );\n*\n* var out = isWhitespace( ' ' );\n* // returns true\n*\n* out = isWhitespace( 'beep boop' );\n* // returns false\n*\n* out = isWhitespace( '' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptor = require( '@stdlib/utils/property-descriptor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property is writable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is writable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'writable': false,\n* 'value': 'beep'\n* });\n*\n* var bool = isWritableProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isWritableProperty( obj, 'beep' );\n* // returns false\n*/\nfunction isWritableProperty( value, property ) {\n\tvar desc = propertyDescriptor( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\t(\n\t\t\tdesc.writable === true ||\n\t\t\ttypeof desc.set === 'function'\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isWritableProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property is writable.\n*\n* @module @stdlib/assert/is-writable-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isWritableProperty = require( '@stdlib/assert/is-writable-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'writable': false,\n* 'value': 'beep'\n* });\n*\n* var bool = isWritableProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isWritableProperty( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property is writable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is writable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'writable': false,\n* 'value': 'beep'\n* });\n*\n* var bool = isWritablePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isWritablePropertyIn( obj, 'beep' );\n* // returns false\n*/\nfunction isWritablePropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\t(\n\t\t\tdesc.writable === true ||\n\t\t\ttypeof desc.set === 'function'\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isWritablePropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property is writable.\n*\n* @module @stdlib/assert/is-writable-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isWritablePropertyIn = require( '@stdlib/assert/is-writable-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'writable': false,\n* 'value': 'beep'\n* });\n*\n* var bool = isWritablePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isWritablePropertyIn( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptor = require( '@stdlib/utils/property-descriptor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property is write-only.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is write-only\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'set': setter\n* });\n*\n* var bool = isWriteOnlyProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isWriteOnlyProperty( obj, 'beep' );\n* // returns true\n*/\nfunction isWriteOnlyProperty( value, property ) {\n\tvar desc = propertyDescriptor( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\tdesc.configurable === false &&\n\t\t(\n\t\t\ttypeof desc.set === 'function' &&\n\t\t\tdesc.get === void 0\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isWriteOnlyProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property is write-only.\n*\n* @module @stdlib/assert/is-write-only-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isWriteOnlyProperty = require( '@stdlib/assert/is-write-only-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'set': setter\n* });\n*\n* var bool = isWriteOnlyProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isWriteOnlyProperty( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property is write-only.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is write-only\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'set': setter\n* });\n*\n* var bool = isWriteOnlyPropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isWriteOnlyPropertyIn( obj, 'beep' );\n* // returns true\n*/\nfunction isWriteOnlyPropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\tdesc.configurable === false &&\n\t\t(\n\t\t\ttypeof desc.set === 'function' &&\n\t\t\tdesc.get === void 0\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isWriteOnlyPropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property is write-only.\n*\n* @module @stdlib/assert/is-write-only-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isWriteOnlyPropertyIn = require( '@stdlib/assert/is-write-only-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'set': setter\n* });\n*\n* var bool = isWriteOnlyPropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isWriteOnlyPropertyIn( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isTypedArray = require( './../../../is-typed-array' );\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Returns a function which tests if every element in a typed array passes a test condition.\n*\n* @param {Function} predicate - function to apply\n* @throws {TypeError} must provide a function\n* @returns {Function} a typed array function\n*\n* @example\n* var isOdd = require( '@stdlib/assert/is-odd' );\n*\n* var arr1 = new Int32Array( [ 1, 3, 5, 7 ] );\n* var arr2 = new Int32Array( [ 1, 3, 5, 8 ] );\n*\n* var validate = typedarrayfcn( isOdd );\n*\n* var bool = validate( arr1 );\n* // returns true\n*\n* bool = validate( arr2 );\n* // returns false\n*/\nfunction typedarrayfcn( predicate ) {\n\tif ( typeof predicate !== 'function' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Must provide a function. Value: `%s`.', predicate ) );\n\t}\n\treturn every;\n\n\t/**\n\t* Tests if every element in a typed array passes a test condition.\n\t*\n\t* @private\n\t* @param {*} value - value to test\n\t* @returns {boolean} boolean indicating whether a value is a typed array for which all elements pass a test condition\n\t*/\n\tfunction every( value ) {\n\t\tvar len;\n\t\tvar i;\n\t\tif ( !isTypedArray( value ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tlen = value.length;\n\t\tif ( len === 0 ) {\n\t\t\treturn false;\n\t\t}\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tif ( predicate( value[ i ] ) === false ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = typedarrayfcn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a function which tests if every element in a typed array passes a test condition.\n*\n* @module @stdlib/assert/tools/typed-array-function\n*\n* @example\n* var isOdd = require( '@stdlib/math/base/assert/is-odd' );\n* var typedarrayfcn = require( '@stdlib/assert/tools/typed-array-function' );\n*\n* var arr1 = new Int32Array( [ 1, 3, 5, 7 ] );\n* var arr2 = new Int32Array( [ 3, 5, 6, 8 ] );\n*\n* var f = typedarrayfcn( isOdd );\n*\n* var bool = f( arr1 );\n* // returns true\n*\n* bool = f( arr2 );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/*\n* When adding modules to the namespace, ensure that they are added in alphabetical order according to module name.\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-read-only-property' );\n\n\n// MAIN //\n\n/**\n* Top-level namespace.\n*\n* @namespace ns\n*/\nvar ns = {};\n\n/**\n* @name arrayfcn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/tools/array-function}\n*/\nsetReadOnly( ns, 'arrayfcn', require( './../../tools/array-function' ) );\n\n/**\n* @name arraylikefcn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/tools/array-like-function}\n*/\nsetReadOnly( ns, 'arraylikefcn', require( './../../tools/array-like-function' ) );\n\n/**\n* @name typedarrayfcn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/tools/typed-array-function}\n*/\nsetReadOnly( ns, 'typedarrayfcn', require( './../../tools/typed-array-function' ) );\n\n\n// EXPORTS //\n\nmodule.exports = ns;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/*\n* When adding modules to the namespace, ensure that they are added in alphabetical order according to module name.\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-read-only-property' );\n\n\n// MAIN //\n\n/**\n* Top-level namespace.\n*\n* @namespace ns\n*/\nvar ns = {};\n\n/**\n* @name contains\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/contains}\n*/\nsetReadOnly( ns, 'contains', require( './../contains' ) );\n\n/**\n* @name deepEqual\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/deep-equal}\n*/\nsetReadOnly( ns, 'deepEqual', require( './../deep-equal' ) );\n\n/**\n* @name deepHasOwnProp\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/deep-has-own-property}\n*/\nsetReadOnly( ns, 'deepHasOwnProp', require( './../deep-has-own-property' ) );\n\n/**\n* @name deepHasProp\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/deep-has-property}\n*/\nsetReadOnly( ns, 'deepHasProp', require( './../deep-has-property' ) );\n\n/**\n* @name hasArrayBufferSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-arraybuffer-support}\n*/\nsetReadOnly( ns, 'hasArrayBufferSupport', require( './../has-arraybuffer-support' ) );\n\n/**\n* @name hasArrowFunctionSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-arrow-function-support}\n*/\nsetReadOnly( ns, 'hasArrowFunctionSupport', require( './../has-arrow-function-support' ) );\n\n/**\n* @name hasAsyncAwaitSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-async-await-support}\n*/\nsetReadOnly( ns, 'hasAsyncAwaitSupport', require( './../has-async-await-support' ) );\n\n/**\n* @name hasAsyncIteratorSymbolSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-async-iterator-symbol-support}\n*/\nsetReadOnly( ns, 'hasAsyncIteratorSymbolSupport', require( './../has-async-iterator-symbol-support' ) );\n\n/**\n* @name hasBigIntSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-bigint-support}\n*/\nsetReadOnly( ns, 'hasBigIntSupport', require( './../has-bigint-support' ) );\n\n/**\n* @name hasBigInt64ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-bigint64array-support}\n*/\nsetReadOnly( ns, 'hasBigInt64ArraySupport', require( './../has-bigint64array-support' ) );\n\n/**\n* @name hasBigUint64ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-biguint64array-support}\n*/\nsetReadOnly( ns, 'hasBigUint64ArraySupport', require( './../has-biguint64array-support' ) );\n\n/**\n* @name hasClassSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-class-support}\n*/\nsetReadOnly( ns, 'hasClassSupport', require( './../has-class-support' ) );\n\n/**\n* @name hasDataViewSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-dataview-support}\n*/\nsetReadOnly( ns, 'hasDataViewSupport', require( './../has-dataview-support' ) );\n\n/**\n* @name hasDefinePropertiesSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-define-properties-support}\n*/\nsetReadOnly( ns, 'hasDefinePropertiesSupport', require( './../has-define-properties-support' ) );\n\n/**\n* @name hasDefinePropertySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-define-property-support}\n*/\nsetReadOnly( ns, 'hasDefinePropertySupport', require( './../has-define-property-support' ) );\n\n/**\n* @name hasFloat32ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-float32array-support}\n*/\nsetReadOnly( ns, 'hasFloat32ArraySupport', require( './../has-float32array-support' ) );\n\n/**\n* @name hasFloat64ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-float64array-support}\n*/\nsetReadOnly( ns, 'hasFloat64ArraySupport', require( './../has-float64array-support' ) );\n\n/**\n* @name hasFunctionNameSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-function-name-support}\n*/\nsetReadOnly( ns, 'hasFunctionNameSupport', require( './../has-function-name-support' ) );\n\n/**\n* @name hasGeneratorSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-generator-support}\n*/\nsetReadOnly( ns, 'hasGeneratorSupport', require( './../has-generator-support' ) );\n\n/**\n* @name hasGlobalThisSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-globalthis-support}\n*/\nsetReadOnly( ns, 'hasGlobalThisSupport', require( './../has-globalthis-support' ) );\n\n/**\n* @name hasInt8ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-int8array-support}\n*/\nsetReadOnly( ns, 'hasInt8ArraySupport', require( './../has-int8array-support' ) );\n\n/**\n* @name hasInt16ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-int16array-support}\n*/\nsetReadOnly( ns, 'hasInt16ArraySupport', require( './../has-int16array-support' ) );\n\n/**\n* @name hasInt32ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-int32array-support}\n*/\nsetReadOnly( ns, 'hasInt32ArraySupport', require( './../has-int32array-support' ) );\n\n/**\n* @name hasIteratorSymbolSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-iterator-symbol-support}\n*/\nsetReadOnly( ns, 'hasIteratorSymbolSupport', require( './../has-iterator-symbol-support' ) );\n\n/**\n* @name hasMapSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-map-support}\n*/\nsetReadOnly( ns, 'hasMapSupport', require( './../has-map-support' ) );\n\n/**\n* @name hasNodeBufferSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-node-buffer-support}\n*/\nsetReadOnly( ns, 'hasNodeBufferSupport', require( './../has-node-buffer-support' ) );\n\n/**\n* @name hasOwnProp\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-own-property}\n*/\nsetReadOnly( ns, 'hasOwnProp', require( './../has-own-property' ) );\n\n/**\n* @name hasProp\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-property}\n*/\nsetReadOnly( ns, 'hasProp', require( './../has-property' ) );\n\n/**\n* @name hasProxySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-proxy-support}\n*/\nsetReadOnly( ns, 'hasProxySupport', require( './../has-proxy-support' ) );\n\n/**\n* @name hasSetSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-set-support}\n*/\nsetReadOnly( ns, 'hasSetSupport', require( './../has-set-support' ) );\n\n/**\n* @name hasSharedArrayBufferSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-sharedarraybuffer-support}\n*/\nsetReadOnly( ns, 'hasSharedArrayBufferSupport', require( './../has-sharedarraybuffer-support' ) );\n\n/**\n* @name hasSymbolSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-symbol-support}\n*/\nsetReadOnly( ns, 'hasSymbolSupport', require( './../has-symbol-support' ) );\n\n/**\n* @name hasToStringTagSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-tostringtag-support}\n*/\nsetReadOnly( ns, 'hasToStringTagSupport', require( './../has-tostringtag-support' ) );\n\n/**\n* @name hasUint8ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-uint8array-support}\n*/\nsetReadOnly( ns, 'hasUint8ArraySupport', require( './../has-uint8array-support' ) );\n\n/**\n* @name hasUint8ClampedArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-uint8clampedarray-support}\n*/\nsetReadOnly( ns, 'hasUint8ClampedArraySupport', require( './../has-uint8clampedarray-support' ) );\n\n/**\n* @name hasUint16ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-uint16array-support}\n*/\nsetReadOnly( ns, 'hasUint16ArraySupport', require( './../has-uint16array-support' ) );\n\n/**\n* @name hasUint32ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-uint32array-support}\n*/\nsetReadOnly( ns, 'hasUint32ArraySupport', require( './../has-uint32array-support' ) );\n\n/**\n* @name hasUTF16SurrogatePairAt\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-utf16-surrogate-pair-at}\n*/\nsetReadOnly( ns, 'hasUTF16SurrogatePairAt', require( './../has-utf16-surrogate-pair-at' ) );\n\n/**\n* @name hasWebAssemblySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-wasm-support}\n*/\nsetReadOnly( ns, 'hasWebAssemblySupport', require( './../has-wasm-support' ) );\n\n/**\n* @name hasWeakMapSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-weakmap-support}\n*/\nsetReadOnly( ns, 'hasWeakMapSupport', require( './../has-weakmap-support' ) );\n\n/**\n* @name hasWeakSetSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-weakset-support}\n*/\nsetReadOnly( ns, 'hasWeakSetSupport', require( './../has-weakset-support' ) );\n\n/**\n* @name instanceOf\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/instance-of}\n*/\nsetReadOnly( ns, 'instanceOf', require( './../instance-of' ) );\n\n/**\n* @name isAbsoluteHttpURI\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-absolute-http-uri}\n*/\nsetReadOnly( ns, 'isAbsoluteHttpURI', require( './../is-absolute-http-uri' ) );\n\n/**\n* @name isAbsolutePath\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-absolute-path}\n*/\nsetReadOnly( ns, 'isAbsolutePath', require( './../is-absolute-path' ) );\n\n/**\n* @name isAbsoluteURI\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-absolute-uri}\n*/\nsetReadOnly( ns, 'isAbsoluteURI', require( './../is-absolute-uri' ) );\n\n/**\n* @name isAccessorArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-accessor-array}\n*/\nsetReadOnly( ns, 'isAccessorArray', require( './../is-accessor-array' ) );\n\n/**\n* @name isAccessorProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-accessor-property}\n*/\nsetReadOnly( ns, 'isAccessorProperty', require( './../is-accessor-property' ) );\n\n/**\n* @name isAccessorPropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-accessor-property-in}\n*/\nsetReadOnly( ns, 'isAccessorPropertyIn', require( './../is-accessor-property-in' ) );\n\n/**\n* @name isAlphagram\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-alphagram}\n*/\nsetReadOnly( ns, 'isAlphagram', require( './../is-alphagram' ) );\n\n/**\n* @name isAlphaNumeric\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-alphanumeric}\n*/\nsetReadOnly( ns, 'isAlphaNumeric', require( './../is-alphanumeric' ) );\n\n/**\n* @name isAnagram\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-anagram}\n*/\nsetReadOnly( ns, 'isAnagram', require( './../is-anagram' ) );\n\n/**\n* @name isArguments\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-arguments}\n*/\nsetReadOnly( ns, 'isArguments', require( './../is-arguments' ) );\n\n/**\n* @name isArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-array}\n*/\nsetReadOnly( ns, 'isArray', require( './../is-array' ) );\n\n/**\n* @name isArrayArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-array-array}\n*/\nsetReadOnly( ns, 'isArrayArray', require( './../is-array-array' ) );\n\n/**\n* @name isArrayLength\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-array-length}\n*/\nsetReadOnly( ns, 'isArrayLength', require( './../is-array-length' ) );\n\n/**\n* @name isArrayLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-array-like}\n*/\nsetReadOnly( ns, 'isArrayLike', require( './../is-array-like' ) );\n\n/**\n* @name isArrayLikeObject\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-array-like-object}\n*/\nsetReadOnly( ns, 'isArrayLikeObject', require( './../is-array-like-object' ) );\n\n/**\n* @name isArrayBuffer\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-arraybuffer}\n*/\nsetReadOnly( ns, 'isArrayBuffer', require( './../is-arraybuffer' ) );\n\n/**\n* @name isArrayBufferView\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-arraybuffer-view}\n*/\nsetReadOnly( ns, 'isArrayBufferView', require( './../is-arraybuffer-view' ) );\n\n/**\n* @name isArrowFunction\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-arrow-function}\n*/\nsetReadOnly( ns, 'isArrowFunction', require( './../is-arrow-function' ) );\n\n/**\n* @name isASCII\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-ascii}\n*/\nsetReadOnly( ns, 'isASCII', require( './../is-ascii' ) );\n\n/**\n* @name isBetween\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-between}\n*/\nsetReadOnly( ns, 'isBetween', require( './../is-between' ) );\n\n/**\n* @name isBetweenArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-between-array}\n*/\nsetReadOnly( ns, 'isBetweenArray', require( './../is-between-array' ) );\n\n/**\n* @name IS_BIG_ENDIAN\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-big-endian}\n*/\nsetReadOnly( ns, 'IS_BIG_ENDIAN', require( './../is-big-endian' ) );\n\n/**\n* @name isBigInt\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-bigint}\n*/\nsetReadOnly( ns, 'isBigInt', require( './../is-bigint' ) );\n\n/**\n* @name isBigInt64Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-bigint64array}\n*/\nsetReadOnly( ns, 'isBigInt64Array', require( './../is-bigint64array' ) );\n\n/**\n* @name isBigUint64Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-biguint64array}\n*/\nsetReadOnly( ns, 'isBigUint64Array', require( './../is-biguint64array' ) );\n\n/**\n* @name isBinaryString\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-binary-string}\n*/\nsetReadOnly( ns, 'isBinaryString', require( './../is-binary-string' ) );\n\n/**\n* @name isBlankString\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-blank-string}\n*/\nsetReadOnly( ns, 'isBlankString', require( './../is-blank-string' ) );\n\n/**\n* @name isBoolean\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-boolean}\n*/\nsetReadOnly( ns, 'isBoolean', require( './../is-boolean' ) );\n\n/**\n* @name isBooleanArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-boolean-array}\n*/\nsetReadOnly( ns, 'isBooleanArray', require( './../is-boolean-array' ) );\n\n/**\n* @name isBoxedPrimitive\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-boxed-primitive}\n*/\nsetReadOnly( ns, 'isBoxedPrimitive', require( './../is-boxed-primitive' ) );\n\n/**\n* @name IS_BROWSER\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-browser}\n*/\nsetReadOnly( ns, 'IS_BROWSER', require( './../is-browser' ) );\n\n/**\n* @name isBuffer\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-buffer}\n*/\nsetReadOnly( ns, 'isBuffer', require( './../is-buffer' ) );\n\n/**\n* @name isCamelcase\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-camelcase}\n*/\nsetReadOnly( ns, 'isCamelcase', require( './../is-camelcase' ) );\n\n/**\n* @name isCapitalized\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-capitalized}\n*/\nsetReadOnly( ns, 'isCapitalized', require( './../is-capitalized' ) );\n\n/**\n* @name isCentrosymmetricMatrix\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-centrosymmetric-matrix}\n*/\nsetReadOnly( ns, 'isCentrosymmetricMatrix', require( './../is-centrosymmetric-matrix' ) );\n\n/**\n* @name isCircular\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-circular}\n*/\nsetReadOnly( ns, 'isCircular', require( './../is-circular' ) );\n\n/**\n* @name isCircularArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-circular-array}\n*/\nsetReadOnly( ns, 'isCircularArray', require( './../is-circular-array' ) );\n\n/**\n* @name isCircularPlainObject\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-circular-plain-object}\n*/\nsetReadOnly( ns, 'isCircularPlainObject', require( './../is-circular-plain-object' ) );\n\n/**\n* @name isClass\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-class}\n*/\nsetReadOnly( ns, 'isClass', require( './../is-class' ) );\n\n/**\n* @name isCollection\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-collection}\n*/\nsetReadOnly( ns, 'isCollection', require( './../is-collection' ) );\n\n/**\n* @name isComplex\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex}\n*/\nsetReadOnly( ns, 'isComplex', require( './../is-complex' ) );\n\n/**\n* @name isComplexLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex-like}\n*/\nsetReadOnly( ns, 'isComplexLike', require( './../is-complex-like' ) );\n\n/**\n* @name isComplexTypedArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex-typed-array}\n*/\nsetReadOnly( ns, 'isComplexTypedArray', require( './../is-complex-typed-array' ) );\n\n/**\n* @name isComplexTypedArrayLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex-typed-array-like}\n*/\nsetReadOnly( ns, 'isComplexTypedArrayLike', require( './../is-complex-typed-array-like' ) );\n\n/**\n* @name isComplex64\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex64}\n*/\nsetReadOnly( ns, 'isComplex64', require( './../is-complex64' ) );\n\n/**\n* @name isComplex64Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex64array}\n*/\nsetReadOnly( ns, 'isComplex64Array', require( './../is-complex64array' ) );\n\n/**\n* @name isComplex64MatrixLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex64matrix-like}\n*/\nsetReadOnly( ns, 'isComplex64MatrixLike', require( './../is-complex64matrix-like' ) );\n\n/**\n* @name isComplex64ndarrayLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex64ndarray-like}\n*/\nsetReadOnly( ns, 'isComplex64ndarrayLike', require( './../is-complex64ndarray-like' ) );\n\n/**\n* @name isComplex64VectorLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex64vector-like}\n*/\nsetReadOnly( ns, 'isComplex64VectorLike', require( './../is-complex64vector-like' ) );\n\n/**\n* @name isComplex128\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex128}\n*/\nsetReadOnly( ns, 'isComplex128', require( './../is-complex128' ) );\n\n/**\n* @name isComplex128Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex128array}\n*/\nsetReadOnly( ns, 'isComplex128Array', require( './../is-complex128array' ) );\n\n/**\n* @name isComplex128MatrixLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex128matrix-like}\n*/\nsetReadOnly( ns, 'isComplex128MatrixLike', require( './../is-complex128matrix-like' ) );\n\n/**\n* @name isComplex128ndarrayLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex128ndarray-like}\n*/\nsetReadOnly( ns, 'isComplex128ndarrayLike', require( './../is-complex128ndarray-like' ) );\n\n/**\n* @name isComplex128VectorLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex128vector-like}\n*/\nsetReadOnly( ns, 'isComplex128VectorLike', require( './../is-complex128vector-like' ) );\n\n/**\n* @name isComposite\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-composite}\n*/\nsetReadOnly( ns, 'isComposite', require( './../is-composite' ) );\n\n/**\n* @name isConfigurableProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-configurable-property}\n*/\nsetReadOnly( ns, 'isConfigurableProperty', require( './../is-configurable-property' ) );\n\n/**\n* @name isConfigurablePropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-configurable-property-in}\n*/\nsetReadOnly( ns, 'isConfigurablePropertyIn', require( './../is-configurable-property-in' ) );\n\n/**\n* @name isConstantcase\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-constantcase}\n*/\nsetReadOnly( ns, 'isConstantcase', require( './../is-constantcase' ) );\n\n/**\n* @name isCubeNumber\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-cube-number}\n*/\nsetReadOnly( ns, 'isCubeNumber', require( './../is-cube-number' ) );\n\n/**\n* @name isCurrentYear\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-current-year}\n*/\nsetReadOnly( ns, 'isCurrentYear', require( './../is-current-year' ) );\n\n/**\n* @name IS_DARWIN\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-darwin}\n*/\nsetReadOnly( ns, 'IS_DARWIN', require( './../is-darwin' ) );\n\n/**\n* @name isDataProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-data-property}\n*/\nsetReadOnly( ns, 'isDataProperty', require( './../is-data-property' ) );\n\n/**\n* @name isDataPropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-data-property-in}\n*/\nsetReadOnly( ns, 'isDataPropertyIn', require( './../is-data-property-in' ) );\n\n/**\n* @name isDataView\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-dataview}\n*/\nsetReadOnly( ns, 'isDataView', require( './../is-dataview' ) );\n\n/**\n* @name isDateObject\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-date-object}\n*/\nsetReadOnly( ns, 'isDateObject', require( './../is-date-object' ) );\n\n/**\n* @name isDateObjectArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-date-object-array}\n*/\nsetReadOnly( ns, 'isDateObjectArray', require( './../is-date-object-array' ) );\n\n/**\n* @name isDigitString\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-digit-string}\n*/\nsetReadOnly( ns, 'isDigitString', require( './../is-digit-string' ) );\n\n/**\n* @name IS_DOCKER\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-docker}\n*/\nsetReadOnly( ns, 'IS_DOCKER', require( './../is-docker' ) );\n\n/**\n* @name isDomainName\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-domain-name}\n*/\nsetReadOnly( ns, 'isDomainName', require( './../is-domain-name' ) );\n\n/**\n* @name isDurationString\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-duration-string}\n*/\nsetReadOnly( ns, 'isDurationString', require( './../is-duration-string' ) );\n\n/**\n* @name IS_ELECTRON\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-electron}\n*/\nsetReadOnly( ns, 'IS_ELECTRON', require( './../is-electron' ) );\n\n/**\n* @name IS_ELECTRON_MAIN\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-electron-main}\n*/\nsetReadOnly( ns, 'IS_ELECTRON_MAIN', require( './../is-electron-main' ) );\n\n/**\n* @name IS_ELECTRON_RENDERER\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-electron-renderer}\n*/\nsetReadOnly( ns, 'IS_ELECTRON_RENDERER', require( './../is-electron-renderer' ) );\n\n/**\n* @name isEmailAddress\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-email-address}\n*/\nsetReadOnly( ns, 'isEmailAddress', require( './../is-email-address' ) );\n\n/**\n* @name isEmptyArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-empty-array}\n*/\nsetReadOnly( ns, 'isEmptyArray', require( './../is-empty-array' ) );\n\n/**\n* @name isEmptyArrayLikeObject\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-empty-array-like-object}\n*/\nsetReadOnly( ns, 'isEmptyArrayLikeObject', require( './../is-empty-array-like-object' ) );\n\n/**\n* @name isEmptyCollection\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-empty-collection}\n*/\nsetReadOnly( ns, 'isEmptyCollection', require( './../is-empty-collection' ) );\n\n/**\n* @name isEmptyObject\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-empty-object}\n*/\nsetReadOnly( ns, 'isEmptyObject', require( './../is-empty-object' ) );\n\n/**\n* @name isEmptyString\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-empty-string}\n*/\nsetReadOnly( ns, 'isEmptyString', require( './../is-empty-string' ) );\n\n/**\n* @name isEnumerableProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-enumerable-property}\n*/\nsetReadOnly( ns, 'isEnumerableProperty', require( './../is-enumerable-property' ) );\n\n/**\n* @name isEnumerablePropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-enumerable-property-in}\n*/\nsetReadOnly( ns, 'isEnumerablePropertyIn', require( './../is-enumerable-property-in' ) );\n\n/**\n* @name isError\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-error}\n*/\nsetReadOnly( ns, 'isError', require( './../is-error' ) );\n\n/**\n* @name isEvalError\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-eval-error}\n*/\nsetReadOnly( ns, 'isEvalError', require( './../is-eval-error' ) );\n\n/**\n* @name isEven\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-even}\n*/\nsetReadOnly( ns, 'isEven', require( './../is-even' ) );\n\n/**\n* @name isFalsy\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-falsy}\n*/\nsetReadOnly( ns, 'isFalsy', require( './../is-falsy' ) );\n\n/**\n* @name isFalsyArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-falsy-array}\n*/\nsetReadOnly( ns, 'isFalsyArray', require( './../is-falsy-array' ) );\n\n/**\n* @name isFinite\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-finite}\n*/\nsetReadOnly( ns, 'isFinite', require( './../is-finite' ) );\n\n/**\n* @name isFiniteArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-finite-array}\n*/\nsetReadOnly( ns, 'isFiniteArray', require( './../is-finite-array' ) );\n\n/**\n* @name isFloat32Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-float32array}\n*/\nsetReadOnly( ns, 'isFloat32Array', require( './../is-float32array' ) );\n\n/**\n* @name isFloat32MatrixLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-float32matrix-like}\n*/\nsetReadOnly( ns, 'isFloat32MatrixLike', require( './../is-float32matrix-like' ) );\n\n/**\n* @name isFloat32ndarrayLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-float32ndarray-like}\n*/\nsetReadOnly( ns, 'isFloat32ndarrayLike', require( './../is-float32ndarray-like' ) );\n\n/**\n* @name isFloat32VectorLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-float32vector-like}\n*/\nsetReadOnly( ns, 'isFloat32VectorLike', require( './../is-float32vector-like' ) );\n\n/**\n* @name isFloat64Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-float64array}\n*/\nsetReadOnly( ns, 'isFloat64Array', require( './../is-float64array' ) );\n\n/**\n* @name isFloat64MatrixLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-float64matrix-like}\n*/\nsetReadOnly( ns, 'isFloat64MatrixLike', require( './../is-float64matrix-like' ) );\n\n/**\n* @name isFloat64ndarrayLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-float64ndarray-like}\n*/\nsetReadOnly( ns, 'isFloat64ndarrayLike', require( './../is-float64ndarray-like' ) );\n\n/**\n* @name isFloat64VectorLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-float64vector-like}\n*/\nsetReadOnly( ns, 'isFloat64VectorLike', require( './../is-float64vector-like' ) );\n\n/**\n* @name isFunction\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-function}\n*/\nsetReadOnly( ns, 'isFunction', require( './../is-function' ) );\n\n/**\n* @name isFunctionArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-function-array}\n*/\nsetReadOnly( ns, 'isFunctionArray', require( './../is-function-array' ) );\n\n/**\n* @name isGeneratorObject\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-generator-object}\n*/\nsetReadOnly( ns, 'isGeneratorObject', require( './../is-generator-object' ) );\n\n/**\n* @name isGeneratorObjectLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-generator-object-like}\n*/\nsetReadOnly( ns, 'isGeneratorObjectLike', require( './../is-generator-object-like' ) );\n\n/**\n* @name isgzipBuffer\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-gzip-buffer}\n*/\nsetReadOnly( ns, 'isgzipBuffer', require( './../is-gzip-buffer' ) );\n\n/**\n* @name isHexString\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-hex-string}\n*/\nsetReadOnly( ns, 'isHexString', require( './../is-hex-string' ) );\n\n/**\n* @name isInfinite\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-infinite}\n*/\nsetReadOnly( ns, 'isInfinite', require( './../is-infinite' ) );\n\n/**\n* @name isInheritedProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-inherited-property}\n*/\nsetReadOnly( ns, 'isInheritedProperty', require( './../is-inherited-property' ) );\n\n/**\n* @name isInt8Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-int8array}\n*/\nsetReadOnly( ns, 'isInt8Array', require( './../is-int8array' ) );\n\n/**\n* @name isInt16Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-int16array}\n*/\nsetReadOnly( ns, 'isInt16Array', require( './../is-int16array' ) );\n\n/**\n* @name isInt32Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-int32array}\n*/\nsetReadOnly( ns, 'isInt32Array', require( './../is-int32array' ) );\n\n/**\n* @name isInteger\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-integer}\n*/\nsetReadOnly( ns, 'isInteger', require( './../is-integer' ) );\n\n/**\n* @name isIntegerArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-integer-array}\n*/\nsetReadOnly( ns, 'isIntegerArray', require( './../is-integer-array' ) );\n\n/**\n* @name isIterableLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-iterable-like}\n*/\nsetReadOnly( ns, 'isIterableLike', require( './../is-iterable-like' ) );\n\n/**\n* @name isIteratorLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-iterator-like}\n*/\nsetReadOnly( ns, 'isIteratorLike', require( './../is-iterator-like' ) );\n\n/**\n* @name isJSON\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-json}\n*/\nsetReadOnly( ns, 'isJSON', require( './../is-json' ) );\n\n/**\n* @name isKebabcase\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-kebabcase}\n*/\nsetReadOnly( ns, 'isKebabcase', require( './../is-kebabcase' ) );\n\n/**\n* @name isLeapYear\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-leap-year}\n*/\nsetReadOnly( ns, 'isLeapYear', require( './../is-leap-year' ) );\n\n/**\n* @name IS_LITTLE_ENDIAN\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-little-endian}\n*/\nsetReadOnly( ns, 'IS_LITTLE_ENDIAN', require( './../is-little-endian' ) );\n\n/**\n* @name isLocalhost\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-localhost}\n*/\nsetReadOnly( ns, 'isLocalhost', require( './../is-localhost' ) );\n\n/**\n* @name isLowercase\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-lowercase}\n*/\nsetReadOnly( ns, 'isLowercase', require( './../is-lowercase' ) );\n\n/**\n* @name isMatrixLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-matrix-like}\n*/\nsetReadOnly( ns, 'isMatrixLike', require( './../is-matrix-like' ) );\n\n/**\n* @name isMethod\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-method}\n*/\nsetReadOnly( ns, 'isMethod', require( './../is-method' ) );\n\n/**\n* @name isMethodIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-method-in}\n*/\nsetReadOnly( ns, 'isMethodIn', require( './../is-method-in' ) );\n\n/**\n* @name IS_MOBILE\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-mobile}\n*/\nsetReadOnly( ns, 'IS_MOBILE', require( './../is-mobile' ) );\n\n/**\n* @name isMultiSlice\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-multi-slice}\n*/\nsetReadOnly( ns, 'isMultiSlice', require( './../is-multi-slice' ) );\n\n/**\n* @name isNamedTypedTupleLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-named-typed-tuple-like}\n*/\nsetReadOnly( ns, 'isNamedTypedTupleLike', require( './../is-named-typed-tuple-like' ) );\n\n/**\n* @name isnan\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nan}\n*/\nsetReadOnly( ns, 'isnan', require( './../is-nan' ) );\n\n/**\n* @name isNaNArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nan-array}\n*/\nsetReadOnly( ns, 'isNaNArray', require( './../is-nan-array' ) );\n\n/**\n* @name isNativeFunction\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-native-function}\n*/\nsetReadOnly( ns, 'isNativeFunction', require( './../is-native-function' ) );\n\n/**\n* @name isndarrayLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-ndarray-like}\n*/\nsetReadOnly( ns, 'isndarrayLike', require( './../is-ndarray-like' ) );\n\n/**\n* @name isNegativeInteger\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-negative-integer}\n*/\nsetReadOnly( ns, 'isNegativeInteger', require( './../is-negative-integer' ) );\n\n/**\n* @name isNegativeIntegerArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-negative-integer-array}\n*/\nsetReadOnly( ns, 'isNegativeIntegerArray', require( './../is-negative-integer-array' ) );\n\n/**\n* @name isNegativeNumber\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-negative-number}\n*/\nsetReadOnly( ns, 'isNegativeNumber', require( './../is-negative-number' ) );\n\n/**\n* @name isNegativeNumberArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-negative-number-array}\n*/\nsetReadOnly( ns, 'isNegativeNumberArray', require( './../is-negative-number-array' ) );\n\n/**\n* @name isNegativeZero\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-negative-zero}\n*/\nsetReadOnly( ns, 'isNegativeZero', require( './../is-negative-zero' ) );\n\n/**\n* @name IS_NODE\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-node}\n*/\nsetReadOnly( ns, 'IS_NODE', require( './../is-node' ) );\n\n/**\n* @name isNodeBuiltin\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-node-builtin}\n*/\nsetReadOnly( ns, 'isNodeBuiltin', require( './../is-node-builtin' ) );\n\n/**\n* @name isNodeDuplexStreamLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-node-duplex-stream-like}\n*/\nsetReadOnly( ns, 'isNodeDuplexStreamLike', require( './../is-node-duplex-stream-like' ) );\n\n/**\n* @name isNodeReadableStreamLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-node-readable-stream-like}\n*/\nsetReadOnly( ns, 'isNodeReadableStreamLike', require( './../is-node-readable-stream-like' ) );\n\n/**\n* @name isNodeREPL\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-node-repl}\n*/\nsetReadOnly( ns, 'isNodeREPL', require( './../is-node-repl' ) );\n\n/**\n* @name isNodeStreamLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-node-stream-like}\n*/\nsetReadOnly( ns, 'isNodeStreamLike', require( './../is-node-stream-like' ) );\n\n/**\n* @name isNodeTransformStreamLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-node-transform-stream-like}\n*/\nsetReadOnly( ns, 'isNodeTransformStreamLike', require( './../is-node-transform-stream-like' ) );\n\n/**\n* @name isNodeWritableStreamLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-node-writable-stream-like}\n*/\nsetReadOnly( ns, 'isNodeWritableStreamLike', require( './../is-node-writable-stream-like' ) );\n\n/**\n* @name isNonConfigurableProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonconfigurable-property}\n*/\nsetReadOnly( ns, 'isNonConfigurableProperty', require( './../is-nonconfigurable-property' ) );\n\n/**\n* @name isNonConfigurablePropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonconfigurable-property-in}\n*/\nsetReadOnly( ns, 'isNonConfigurablePropertyIn', require( './../is-nonconfigurable-property-in' ) );\n\n/**\n* @name isNonEnumerableProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonenumerable-property}\n*/\nsetReadOnly( ns, 'isNonEnumerableProperty', require( './../is-nonenumerable-property' ) );\n\n/**\n* @name isNonEnumerablePropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonenumerable-property-in}\n*/\nsetReadOnly( ns, 'isNonEnumerablePropertyIn', require( './../is-nonenumerable-property-in' ) );\n\n/**\n* @name isNonNegativeInteger\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonnegative-integer}\n*/\nsetReadOnly( ns, 'isNonNegativeInteger', require( './../is-nonnegative-integer' ) );\n\n/**\n* @name isNonNegativeIntegerArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonnegative-integer-array}\n*/\nsetReadOnly( ns, 'isNonNegativeIntegerArray', require( './../is-nonnegative-integer-array' ) );\n\n/**\n* @name isNonNegativeNumber\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonnegative-number}\n*/\nsetReadOnly( ns, 'isNonNegativeNumber', require( './../is-nonnegative-number' ) );\n\n/**\n* @name isNonNegativeNumberArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonnegative-number-array}\n*/\nsetReadOnly( ns, 'isNonNegativeNumberArray', require( './../is-nonnegative-number-array' ) );\n\n/**\n* @name isNonPositiveInteger\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonpositive-integer}\n*/\nsetReadOnly( ns, 'isNonPositiveInteger', require( './../is-nonpositive-integer' ) );\n\n/**\n* @name isNonPositiveIntegerArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonpositive-integer-array}\n*/\nsetReadOnly( ns, 'isNonPositiveIntegerArray', require( './../is-nonpositive-integer-array' ) );\n\n/**\n* @name isNonPositiveNumber\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonpositive-number}\n*/\nsetReadOnly( ns, 'isNonPositiveNumber', require( './../is-nonpositive-number' ) );\n\n/**\n* @name isNonPositiveNumberArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonpositive-number-array}\n*/\nsetReadOnly( ns, 'isNonPositiveNumberArray', require( './../is-nonpositive-number-array' ) );\n\n/**\n* @name isNonSymmetricMatrix\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonsymmetric-matrix}\n*/\nsetReadOnly( ns, 'isNonSymmetricMatrix', require( './../is-nonsymmetric-matrix' ) );\n\n/**\n* @name isNull\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-null}\n*/\nsetReadOnly( ns, 'isNull', require( './../is-null' ) );\n\n/**\n* @name isNullArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-null-array}\n*/\nsetReadOnly( ns, 'isNullArray', require( './../is-null-array' ) );\n\n/**\n* @name isNumber\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-number}\n*/\nsetReadOnly( ns, 'isNumber', require( './../is-number' ) );\n\n/**\n* @name isNumberArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-number-array}\n*/\nsetReadOnly( ns, 'isNumberArray', require( './../is-number-array' ) );\n\n/**\n* @name isNumericArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-numeric-array}\n*/\nsetReadOnly( ns, 'isNumericArray', require( './../is-numeric-array' ) );\n\n/**\n* @name isObject\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-object}\n*/\nsetReadOnly( ns, 'isObject', require( './../is-object' ) );\n\n/**\n* @name isObjectArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-object-array}\n*/\nsetReadOnly( ns, 'isObjectArray', require( './../is-object-array' ) );\n\n/**\n* @name isObjectLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-object-like}\n*/\nsetReadOnly( ns, 'isObjectLike', require( './../is-object-like' ) );\n\n/**\n* @name isOdd\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-odd}\n*/\nsetReadOnly( ns, 'isOdd', require( './../is-odd' ) );\n\n/**\n* @name isPascalcase\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-pascalcase}\n*/\nsetReadOnly( ns, 'isPascalcase', require( './../is-pascalcase' ) );\n\n/**\n* @name isPersymmetricMatrix\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-persymmetric-matrix}\n*/\nsetReadOnly( ns, 'isPersymmetricMatrix', require( './../is-persymmetric-matrix' ) );\n\n/**\n* @name isPlainObject\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-plain-object}\n*/\nsetReadOnly( ns, 'isPlainObject', require( './../is-plain-object' ) );\n\n/**\n* @name isPlainObjectArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-plain-object-array}\n*/\nsetReadOnly( ns, 'isPlainObjectArray', require( './../is-plain-object-array' ) );\n\n/**\n* @name isPositiveInteger\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-positive-integer}\n*/\nsetReadOnly( ns, 'isPositiveInteger', require( './../is-positive-integer' ) );\n\n/**\n* @name isPositiveIntegerArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-positive-integer-array}\n*/\nsetReadOnly( ns, 'isPositiveIntegerArray', require( './../is-positive-integer-array' ) );\n\n/**\n* @name isPositiveNumber\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-positive-number}\n*/\nsetReadOnly( ns, 'isPositiveNumber', require( './../is-positive-number' ) );\n\n/**\n* @name isPositiveNumberArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-positive-number-array}\n*/\nsetReadOnly( ns, 'isPositiveNumberArray', require( './../is-positive-number-array' ) );\n\n/**\n* @name isPositiveZero\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-positive-zero}\n*/\nsetReadOnly( ns, 'isPositiveZero', require( './../is-positive-zero' ) );\n\n/**\n* @name isPrime\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-prime}\n*/\nsetReadOnly( ns, 'isPrime', require( './../is-prime' ) );\n\n/**\n* @name isPrimitive\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-primitive}\n*/\nsetReadOnly( ns, 'isPrimitive', require( './../is-primitive' ) );\n\n/**\n* @name isPrimitiveArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-primitive-array}\n*/\nsetReadOnly( ns, 'isPrimitiveArray', require( './../is-primitive-array' ) );\n\n/**\n* @name isPRNGLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-prng-like}\n*/\nsetReadOnly( ns, 'isPRNGLike', require( './../is-prng-like' ) );\n\n/**\n* @name isProbability\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-probability}\n*/\nsetReadOnly( ns, 'isProbability', require( './../is-probability' ) );\n\n/**\n* @name isProbabilityArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-probability-array}\n*/\nsetReadOnly( ns, 'isProbabilityArray', require( './../is-probability-array' ) );\n\n/**\n* @name isPropertyKey\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-property-key}\n*/\nsetReadOnly( ns, 'isPropertyKey', require( './../is-property-key' ) );\n\n/**\n* @name isPrototypeOf\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-prototype-of}\n*/\nsetReadOnly( ns, 'isPrototypeOf', require( './../is-prototype-of' ) );\n\n/**\n* @name isRangeError\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-range-error}\n*/\nsetReadOnly( ns, 'isRangeError', require( './../is-range-error' ) );\n\n/**\n* @name isReadOnlyProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-read-only-property}\n*/\nsetReadOnly( ns, 'isReadOnlyProperty', require( './../is-read-only-property' ) );\n\n/**\n* @name isReadOnlyPropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-read-only-property-in}\n*/\nsetReadOnly( ns, 'isReadOnlyPropertyIn', require( './../is-read-only-property-in' ) );\n\n/**\n* @name isReadWriteProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-read-write-property}\n*/\nsetReadOnly( ns, 'isReadWriteProperty', require( './../is-read-write-property' ) );\n\n/**\n* @name isReadWritePropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-read-write-property-in}\n*/\nsetReadOnly( ns, 'isReadWritePropertyIn', require( './../is-read-write-property-in' ) );\n\n/**\n* @name isReadableProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-readable-property}\n*/\nsetReadOnly( ns, 'isReadableProperty', require( './../is-readable-property' ) );\n\n/**\n* @name isReadablePropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-readable-property-in}\n*/\nsetReadOnly( ns, 'isReadablePropertyIn', require( './../is-readable-property-in' ) );\n\n/**\n* @name isReferenceError\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-reference-error}\n*/\nsetReadOnly( ns, 'isReferenceError', require( './../is-reference-error' ) );\n\n/**\n* @name isRegExp\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-regexp}\n*/\nsetReadOnly( ns, 'isRegExp', require( './../is-regexp' ) );\n\n/**\n* @name isRegExpString\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-regexp-string}\n*/\nsetReadOnly( ns, 'isRegExpString', require( './../is-regexp-string' ) );\n\n/**\n* @name isRelativePath\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-relative-path}\n*/\nsetReadOnly( ns, 'isRelativePath', require( './../is-relative-path' ) );\n\n/**\n* @name isRelativeURI\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-relative-uri}\n*/\nsetReadOnly( ns, 'isRelativeURI', require( './../is-relative-uri' ) );\n\n/**\n* @name isSafeInteger\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-safe-integer}\n*/\nsetReadOnly( ns, 'isSafeInteger', require( './../is-safe-integer' ) );\n\n/**\n* @name isSafeIntegerArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-safe-integer-array}\n*/\nsetReadOnly( ns, 'isSafeIntegerArray', require( './../is-safe-integer-array' ) );\n\n/**\n* @name isSameFloat64Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-same-float64array}\n*/\nsetReadOnly( ns, 'isSameFloat64Array', require( './../is-same-float64array' ) );\n\n/**\n* @name isSameNativeClass\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-same-native-class}\n*/\nsetReadOnly( ns, 'isSameNativeClass', require( './../is-same-native-class' ) );\n\n/**\n* @name isSameType\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-same-type}\n*/\nsetReadOnly( ns, 'isSameType', require( './../is-same-type' ) );\n\n/**\n* @name isSameValue\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-same-value}\n*/\nsetReadOnly( ns, 'isSameValue', require( './../is-same-value' ) );\n\n/**\n* @name isSameValueZero\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-same-value-zero}\n*/\nsetReadOnly( ns, 'isSameValueZero', require( './../is-same-value-zero' ) );\n\n/**\n* @name isSemVer\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-semver}\n*/\nsetReadOnly( ns, 'isSemVer', require( './../is-semver' ) );\n\n/**\n* @name isSharedArrayBuffer\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-sharedarraybuffer}\n*/\nsetReadOnly( ns, 'isSharedArrayBuffer', require( './../is-sharedarraybuffer' ) );\n\n/**\n* @name isSkewCentrosymmetricMatrix\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-skew-centrosymmetric-matrix}\n*/\nsetReadOnly( ns, 'isSkewCentrosymmetricMatrix', require( './../is-skew-centrosymmetric-matrix' ) );\n\n/**\n* @name isSkewPersymmetricMatrix\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-skew-persymmetric-matrix}\n*/\nsetReadOnly( ns, 'isSkewPersymmetricMatrix', require( './../is-skew-persymmetric-matrix' ) );\n\n/**\n* @name isSkewSymmetricMatrix\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-skew-symmetric-matrix}\n*/\nsetReadOnly( ns, 'isSkewSymmetricMatrix', require( './../is-skew-symmetric-matrix' ) );\n\n/**\n* @name isSlice\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-slice}\n*/\nsetReadOnly( ns, 'isSlice', require( './../is-slice' ) );\n\n/**\n* @name isSnakecase\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-snakecase}\n*/\nsetReadOnly( ns, 'isSnakecase', require( './../is-snakecase' ) );\n\n/**\n* @name isSquareMatrix\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-square-matrix}\n*/\nsetReadOnly( ns, 'isSquareMatrix', require( './../is-square-matrix' ) );\n\n/**\n* @name isSquareNumber\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-square-number}\n*/\nsetReadOnly( ns, 'isSquareNumber', require( './../is-square-number' ) );\n\n/**\n* @name isSquareTriangularNumber\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-square-triangular-number}\n*/\nsetReadOnly( ns, 'isSquareTriangularNumber', require( './../is-square-triangular-number' ) );\n\n/**\n* @name isStartcase\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-startcase}\n*/\nsetReadOnly( ns, 'isStartcase', require( './../is-startcase' ) );\n\n/**\n* @name isStrictEqual\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-strict-equal}\n*/\nsetReadOnly( ns, 'isStrictEqual', require( './../is-strict-equal' ) );\n\n/**\n* @name isString\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-string}\n*/\nsetReadOnly( ns, 'isString', require( './../is-string' ) );\n\n/**\n* @name isStringArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-string-array}\n*/\nsetReadOnly( ns, 'isStringArray', require( './../is-string-array' ) );\n\n/**\n* @name isSymbol\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-symbol}\n*/\nsetReadOnly( ns, 'isSymbol', require( './../is-symbol' ) );\n\n/**\n* @name isSymbolArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-symbol-array}\n*/\nsetReadOnly( ns, 'isSymbolArray', require( './../is-symbol-array' ) );\n\n/**\n* @name isSymmetricMatrix\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-symmetric-matrix}\n*/\nsetReadOnly( ns, 'isSymmetricMatrix', require( './../is-symmetric-matrix' ) );\n\n/**\n* @name isSyntaxError\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-syntax-error}\n*/\nsetReadOnly( ns, 'isSyntaxError', require( './../is-syntax-error' ) );\n\n/**\n* @name IS_TOUCH_DEVICE\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-touch-device}\n*/\nsetReadOnly( ns, 'IS_TOUCH_DEVICE', require( './../is-touch-device' ) );\n\n/**\n* @name isTriangularNumber\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-triangular-number}\n*/\nsetReadOnly( ns, 'isTriangularNumber', require( './../is-triangular-number' ) );\n\n/**\n* @name isTruthy\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-truthy}\n*/\nsetReadOnly( ns, 'isTruthy', require( './../is-truthy' ) );\n\n/**\n* @name isTruthyArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-truthy-array}\n*/\nsetReadOnly( ns, 'isTruthyArray', require( './../is-truthy-array' ) );\n\n/**\n* @name isTypeError\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-type-error}\n*/\nsetReadOnly( ns, 'isTypeError', require( './../is-type-error' ) );\n\n/**\n* @name isTypedArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-typed-array}\n*/\nsetReadOnly( ns, 'isTypedArray', require( './../is-typed-array' ) );\n\n/**\n* @name isTypedArrayLength\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-typed-array-length}\n*/\nsetReadOnly( ns, 'isTypedArrayLength', require( './../is-typed-array-length' ) );\n\n/**\n* @name isTypedArrayLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-typed-array-like}\n*/\nsetReadOnly( ns, 'isTypedArrayLike', require( './../is-typed-array-like' ) );\n\n/**\n* @name isUint8Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-uint8array}\n*/\nsetReadOnly( ns, 'isUint8Array', require( './../is-uint8array' ) );\n\n/**\n* @name isUint8ClampedArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-uint8clampedarray}\n*/\nsetReadOnly( ns, 'isUint8ClampedArray', require( './../is-uint8clampedarray' ) );\n\n/**\n* @name isUint16Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-uint16array}\n*/\nsetReadOnly( ns, 'isUint16Array', require( './../is-uint16array' ) );\n\n/**\n* @name isUint32Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-uint32array}\n*/\nsetReadOnly( ns, 'isUint32Array', require( './../is-uint32array' ) );\n\n/**\n* @name isUNCPath\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-unc-path}\n*/\nsetReadOnly( ns, 'isUNCPath', require( './../is-unc-path' ) );\n\n/**\n* @name isUndefined\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-undefined}\n*/\nsetReadOnly( ns, 'isUndefined', require( './../is-undefined' ) );\n\n/**\n* @name isUndefinedOrNull\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-undefined-or-null}\n*/\nsetReadOnly( ns, 'isUndefinedOrNull', require( './../is-undefined-or-null' ) );\n\n/**\n* @name isUnityProbabilityArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-unity-probability-array}\n*/\nsetReadOnly( ns, 'isUnityProbabilityArray', require( './../is-unity-probability-array' ) );\n\n/**\n* @name isUppercase\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-uppercase}\n*/\nsetReadOnly( ns, 'isUppercase', require( './../is-uppercase' ) );\n\n/**\n* @name isURI\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-uri}\n*/\nsetReadOnly( ns, 'isURI', require( './../is-uri' ) );\n\n/**\n* @name isURIError\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-uri-error}\n*/\nsetReadOnly( ns, 'isURIError', require( './../is-uri-error' ) );\n\n/**\n* @name isVectorLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-vector-like}\n*/\nsetReadOnly( ns, 'isVectorLike', require( './../is-vector-like' ) );\n\n/**\n* @name IS_WEB_WORKER\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-web-worker}\n*/\nsetReadOnly( ns, 'IS_WEB_WORKER', require( './../is-web-worker' ) );\n\n/**\n* @name isWhitespace\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-whitespace}\n*/\nsetReadOnly( ns, 'isWhitespace', require( './../is-whitespace' ) );\n\n/**\n* @name IS_WINDOWS\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-windows}\n*/\nsetReadOnly( ns, 'IS_WINDOWS', require( './../is-windows' ) );\n\n/**\n* @name isWritableProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-writable-property}\n*/\nsetReadOnly( ns, 'isWritableProperty', require( './../is-writable-property' ) );\n\n/**\n* @name isWritablePropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-writable-property-in}\n*/\nsetReadOnly( ns, 'isWritablePropertyIn', require( './../is-writable-property-in' ) );\n\n/**\n* @name isWriteOnlyProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-write-only-property}\n*/\nsetReadOnly( ns, 'isWriteOnlyProperty', require( './../is-write-only-property' ) );\n\n/**\n* @name isWriteOnlyPropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-write-only-property-in}\n*/\nsetReadOnly( ns, 'isWriteOnlyPropertyIn', require( './../is-write-only-property-in' ) );\n\n/**\n* @name tools\n* @memberof ns\n* @readonly\n* @type {Namespace}\n* @see {@link module:@stdlib/assert/tools}\n*/\nsetReadOnly( ns, 'tools', require( './../tools' ) );\n\n\n// EXPORTS //\n\nmodule.exports = ns;\n"], - "mappings": "uGAAA,IAAAA,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAY,QAAS,qCAAsC,EAC3DC,GAAa,QAAS,gDAAiD,EAmB3E,SAASC,GAAcC,EAAQ,CAC9B,OACC,OAAOA,GAAU,UACjBA,IAAU,MACV,OAAOA,EAAM,QAAW,UACxBH,GAAWG,EAAM,MAAO,GACxBA,EAAM,QAAU,GAChBA,EAAM,QAAUF,EAElB,CAKAF,GAAO,QAAUG,KCxDjB,IAAAE,EAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsCA,SAASC,GAAUC,EAAQ,CAC1B,OAAS,OAAOA,GAAU,QAC3B,CAKAF,GAAO,QAAUC,KC7CjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA+BA,SAASC,IAAmB,CAC3B,OACC,OAAO,QAAW,YAClB,OAAO,OAAQ,KAAM,GAAM,QAE7B,CAKAD,GAAO,QAAUC,KCzCjB,IAAAC,EAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCvCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAa,IAKbC,GAAMD,GAAW,EAcrB,SAASE,IAAwB,CAChC,OAASD,IAAO,OAAO,OAAO,aAAgB,QAC/C,CAKAF,GAAO,QAAUG,KChDjB,IAAAC,EAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCvCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAS,QAAS,qBAAsB,EAMxCC,GAAWD,GAAO,UAAU,SAKhCD,GAAO,QAAUE,KCjCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,KAYf,SAASC,GAAMC,EAAQ,CACtB,GAAI,CACH,OAAAF,GAAS,KAAME,CAAM,EACd,EACR,OAAUC,EAAM,CACf,MAAO,EACR,CACD,CAKAJ,GAAO,QAAUE,KC9CjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAiB,IACjBC,GAAc,QAAS,4BAA6B,EACpDC,GAAS,QAAS,qBAAsB,EACxCC,GAAO,KAKPC,GAAMJ,GAAe,EAmBzB,SAASK,GAAUC,EAAQ,CAC1B,OAAK,OAAOA,GAAU,SAChBA,aAAiBJ,GACd,GAEHE,GACGD,GAAMG,CAAM,EAEXL,GAAaK,CAAM,IAAM,kBAE5B,EACR,CAKAP,GAAO,QAAUM,KCjEjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,KACdC,GAAW,KA2Bf,SAASC,GAAUC,EAAQ,CAC1B,OAASH,GAAaG,CAAM,GAAKF,GAAUE,CAAM,CAClD,CAKAJ,GAAO,QAAUG,KCzDjB,IAAAE,EAAAC,EAAA,SAAAC,GAAAC,GAAA,cAgEA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAO,KACPC,GAAc,KACdC,GAAW,KAKfH,GAAaC,GAAM,cAAeC,EAAY,EAC9CF,GAAaC,GAAM,WAAYE,EAAS,EAKxCJ,GAAO,QAAUE,KC9EjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAO,QAAS,gCAAiC,EACjDC,GAAO,QAAS,gCAAiC,EACjDC,GAAQ,QAAS,qCAAsC,EAY3D,SAASC,GAAWC,EAAQ,CAC3B,OACCA,EAAQJ,IACRI,EAAQH,IACRC,GAAOE,CAAM,CAEf,CAKAL,GAAO,QAAUI,KC/CjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAC1CC,GAAQ,KAmBZ,SAASC,GAAWC,EAAQ,CAC3B,OACCH,GAAUG,CAAM,GAChBF,GAAOE,CAAM,CAEf,CAKAJ,GAAO,QAAUG,KCpDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,SAC1CC,GAAQ,KAmBZ,SAASC,GAAWC,EAAQ,CAC3B,OACCH,GAAUG,CAAM,GAChBF,GAAOE,EAAM,QAAQ,CAAE,CAEzB,CAKAJ,GAAO,QAAUG,KCpDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,KACdC,GAAW,KA2Bf,SAASC,GAAWC,EAAQ,CAC3B,OAASH,GAAaG,CAAM,GAAKF,GAAUE,CAAM,CAClD,CAKAJ,GAAO,QAAUG,KCzDjB,IAAAE,EAAAC,EAAA,SAAAC,GAAAC,GAAA,cA+DA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAO,KACPC,GAAc,KACdC,GAAW,KAKfH,GAAaC,GAAM,cAAeC,EAAY,EAC9CF,GAAaC,GAAM,WAAYE,EAAS,EAKxCJ,GAAO,QAAUE,KC7EjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,SAASC,GAAUC,EAAQ,CAC1B,OAAS,OAAOA,GAAU,QAC3B,CAKAF,GAAO,QAAUC,KCzCjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqBA,IAAIC,GAAU,OAAO,UAAU,QAK/BD,GAAO,QAAUC,KC1BjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAU,KAYd,SAASC,GAAMC,EAAQ,CACtB,GAAI,CACH,OAAAF,GAAQ,KAAME,CAAM,EACb,EACR,OAAUC,EAAM,CACf,MAAO,EACR,CACD,CAKAJ,GAAO,QAAUE,KC9CjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAiB,IACjBC,GAAc,QAAS,4BAA6B,EACpDC,GAAO,KAKPC,GAAMH,GAAe,EAmBzB,SAASI,GAAUC,EAAQ,CAC1B,OAAK,OAAOA,GAAU,SAChBA,aAAiB,OACd,GAEHF,GACGD,GAAMG,CAAM,EAEXJ,GAAaI,CAAM,IAAM,kBAE5B,EACR,CAKAN,GAAO,QAAUK,KChEjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,KACdC,GAAW,KAmBf,SAASC,GAAUC,EAAQ,CAC1B,OAASH,GAAaG,CAAM,GAAKF,GAAUE,CAAM,CAClD,CAKAJ,GAAO,QAAUG,KCjDjB,IAAAE,EAAAC,EAAA,SAAAC,GAAAC,GAAA,cA0DA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAO,KACPC,GAAc,KACdC,GAAW,KAKfH,GAAaC,GAAM,cAAeC,EAAY,EAC9CF,GAAaC,GAAM,WAAYE,EAAS,EAKxCJ,GAAO,QAAUE,KCxEjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAC1CC,GAAQ,QAAS,iCAAkC,EAuBvD,SAASC,GAAOC,EAAQ,CACvB,OACCH,GAAUG,CAAM,GAChBF,GAAOE,CAAM,CAEf,CAKAJ,GAAO,QAAUG,KCxDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,SAC1CC,GAAQ,QAAS,iCAAkC,EAmBvD,SAASC,GAAOC,EAAQ,CACvB,OACCH,GAAUG,CAAM,GAChBF,GAAOE,EAAM,QAAQ,CAAE,CAEzB,CAKAJ,GAAO,QAAUG,KCpDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,KACdC,GAAW,KA2Bf,SAASC,GAAOC,EAAQ,CACvB,OAASH,GAAaG,CAAM,GAAKF,GAAUE,CAAM,CAClD,CAKAJ,GAAO,QAAUG,KCzDjB,IAAAE,EAAAC,EAAA,SAAAC,GAAAC,GAAA,cAgEA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAO,KACPC,GAAc,KACdC,GAAW,KAKfH,GAAaC,GAAM,cAAeC,EAAY,EAC9CF,GAAaC,GAAM,WAAYE,EAAS,EAKxCJ,GAAO,QAAUE,KC9EjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAe,IACfC,GAAY,IAAgC,YAC5CC,GAAW,IAA+B,YAC1CC,GAAQ,IAA4B,YACpCC,GAAS,QAAS,uBAAwB,EA6C9C,SAASC,GAAUC,EAAKC,EAAaC,EAAW,CAC/C,IAAIC,EACAC,EACAC,EACJ,GAAK,CAACX,GAAcM,CAAI,GAAK,CAACJ,GAAUI,CAAI,EAC3C,MAAM,IAAI,UAAWF,GAAQ,oEAAqEE,CAAI,CAAE,EAEzG,GAAK,UAAU,OAAS,EACvB,MAAM,IAAI,MAAO,sDAAuD,EAEzE,GAAK,UAAU,OAAS,EAAI,CAC3B,GAAK,CAACL,GAAWO,CAAS,EACzB,MAAM,IAAI,UAAWJ,GAAQ,oEAAqEI,CAAS,CAAE,EAE9GE,EAAMF,EACDE,EAAM,IACVA,EAAM,EAER,MACCA,EAAM,EAEP,GAAKR,GAAUI,CAAI,EAAI,CACtB,GAAK,CAACJ,GAAUK,CAAY,EAC3B,MAAM,IAAI,UAAWH,GAAQ,mEAAoEG,CAAY,CAAE,EAEhH,OAAOD,EAAI,QAASC,EAAaG,CAAI,IAAM,EAC5C,CAEA,GADAD,EAAMH,EAAI,OACLH,GAAOI,CAAY,EAAI,CAC3B,IAAMI,EAAID,EAAKC,EAAIF,EAAKE,IACvB,GAAKR,GAAOG,EAAKK,CAAE,CAAE,EACpB,MAAO,GAGT,MAAO,EACR,CACA,IAAMA,EAAID,EAAKC,EAAIF,EAAKE,IACvB,GAAKL,EAAKK,CAAE,IAAMJ,EACjB,MAAO,GAGT,MAAO,EACR,CAKAR,GAAO,QAAUM,KCtHjB,IAAAO,EAAAC,EAAA,SAAAC,GAAAC,GAAA,cA2CA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KChDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAoBA,IAAIC,GAAS,KAAK,UAAU,OAK5BD,GAAO,QAAUC,KCzBjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAS,KAYb,SAASC,GAAMC,EAAQ,CACtB,GAAI,CACH,OAAAF,GAAO,KAAME,CAAM,EACZ,EACR,OAAUC,EAAM,CACf,MAAO,EACR,CACD,CAKAJ,GAAO,QAAUE,KC9CjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAiB,IACjBC,GAAc,QAAS,4BAA6B,EACpDC,GAAO,KAKPC,GAAMH,GAAe,EAmBzB,SAASI,GAAcC,EAAQ,CAC9B,OAAK,OAAOA,GAAU,SAChBA,aAAiB,KACd,GAEHF,GACGD,GAAMG,CAAM,EAEXJ,GAAaI,CAAM,IAAM,gBAE5B,EACR,CAKAN,GAAO,QAAUK,KChEjB,IAAAE,EAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAiB,QAAS,gCAAiC,EAC3DC,GAAc,QAAS,4BAA6B,EAmBxD,SAASC,GAASC,EAAQ,CACzB,GAAK,OAAOA,GAAU,UAAYA,IAAU,KAC3C,MAAO,GAGR,GAAKA,aAAiB,MACrB,MAAO,GAGR,KAAQA,GAAQ,CACf,GAAKF,GAAaE,CAAM,IAAM,iBAC7B,MAAO,GAERA,EAAQH,GAAgBG,CAAM,CAC/B,CACA,MAAO,EACR,CAKAJ,GAAO,QAAUG,KC/DjB,IAAAE,EAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,QAAS,4BAA6B,EAKpDC,GAmBJ,SAASC,GAASC,EAAQ,CACzB,OAASH,GAAaG,CAAM,IAAM,gBACnC,CAKK,MAAM,QACVF,GAAI,MAAM,QAEVA,GAAIC,GAMLH,GAAO,QAAUE,KC9DjB,IAAAG,EAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAU,IACVC,GAAS,QAAS,uBAAwB,EA0B9C,SAASC,GAAUC,EAAY,CAC9B,GAAK,OAAOA,GAAc,WACzB,MAAM,IAAI,UAAWF,GAAQ,0DAA2DE,CAAU,CAAE,EAErG,OAAOC,EASP,SAASA,EAAOC,EAAQ,CACvB,IAAIC,EACAC,EAKJ,GAJK,CAACP,GAASK,CAAM,IAGrBC,EAAMD,EAAM,OACPC,IAAQ,GACZ,MAAO,GAER,IAAMC,EAAI,EAAGA,EAAID,EAAKC,IACrB,GAAKJ,EAAWE,EAAOE,CAAE,CAAE,IAAM,GAChC,MAAO,GAGT,MAAO,EACR,CACD,CAKAR,GAAO,QAAUG,KCpFjB,IAAAM,EAAAC,EAAA,SAAAC,GAAAC,GAAA,cA2CA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KChDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsCA,SAASC,GAAcC,EAAQ,CAC9B,OACCA,IAAU,MACV,OAAOA,GAAU,QAEnB,CAKAF,GAAO,QAAUC,KChDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAiDA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAW,IACXC,GAAO,KAKPC,GAAoBF,GAAUC,EAAK,EAKvCF,GAAaE,GAAM,oBAAqBC,EAAkB,EAK1DJ,GAAO,QAAUG,KClEjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAe,KA2BnB,SAASC,GAAUC,EAAQ,CAC1B,OACCF,GAAcE,CAAM,IAGnBA,EAAM,WAELA,EAAM,aAGN,OAAOA,EAAM,YAAY,UAAa,YACtCA,EAAM,YAAY,SAAUA,CAAM,EAItC,CAKAH,GAAO,QAAUE,KCrEjB,IAAAE,EAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAoBA,IAAIC,GAAO,OAAO,UAAU,KAK5BD,GAAO,QAAUC,KCzBjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAO,KAYX,SAASC,GAAMC,EAAQ,CACtB,GAAI,CACH,OAAAF,GAAK,KAAME,CAAM,EACV,EACR,OAAUC,EAAM,CACf,MAAO,EACR,CACD,CAKAJ,GAAO,QAAUE,KC9CjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAiB,IACjBC,GAAc,QAAS,4BAA6B,EACpDC,GAAO,KAKPC,GAAMH,GAAe,EAmBzB,SAASI,GAAUC,EAAQ,CAC1B,OAAK,OAAOA,GAAU,SAChBA,aAAiB,OACd,GAEHF,GACGD,GAAMG,CAAM,EAEXJ,GAAaI,CAAM,IAAM,kBAE5B,EACR,CAKAN,GAAO,QAAUK,KChEjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAa,QAAS,oBAAqB,EAC3CC,GAAiB,QAAS,gCAAiC,EAC3DC,GAAS,IACTC,GAAU,IACVC,GAAW,IACXC,GAAW,KAgCf,SAASC,GAAWC,EAAGC,EAAI,CAC1B,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EAIJ,GAFAH,EAAQ,OAAOJ,EACfK,EAAQ,OAAOJ,EACVD,IAAM,MAAQI,IAAU,SAC5B,OAAKH,IAAM,MAAQI,IAAU,SACrBL,IAAMC,EAEP,GAMR,GAHKI,IAAU,UAGVX,GAAgBM,CAAE,IAAMN,GAAgBO,CAAE,EAC9C,MAAO,GAER,GAAKN,GAAQK,CAAE,EACd,OAAOA,EAAE,QAAQ,IAAMC,EAAE,QAAQ,EAElC,GAAKH,GAAUE,CAAE,EAChB,OAAOA,EAAE,SAAWC,EAAE,QAAUD,EAAE,QAAUC,EAAE,MAE/C,GAAKL,GAASI,CAAE,IACVA,EAAE,UAAYC,EAAE,SAAWD,EAAE,OAASC,EAAE,MAC5C,MAAO,GAGT,GAAKJ,GAAUG,CAAE,EAAI,CACpB,GAAKA,EAAE,SAAWC,EAAE,OACnB,MAAO,GAER,IAAMM,EAAI,EAAGA,EAAIP,EAAE,OAAQO,IAC1B,GAAKP,EAAGO,CAAE,IAAMN,EAAGM,CAAE,EACpB,MAAO,GAGT,MAAO,EACR,CAGA,GAFAL,EAAQT,GAAYO,CAAE,EACtBG,EAAQV,GAAYQ,CAAE,EACjBC,EAAM,SAAWC,EAAM,OAC3B,MAAO,GAMR,IAJAD,EAAM,KAAK,EACXC,EAAM,KAAK,EAGLI,EAAI,EAAGA,EAAIL,EAAM,OAAQK,IAC9B,GAAKL,EAAOK,CAAE,IAAMJ,EAAOI,CAAE,EAC5B,MAAO,GAIT,IAAMA,EAAI,EAAGA,EAAIL,EAAM,OAAQK,IAE9B,GADAD,EAAMJ,EAAOK,CAAE,EACV,CAACR,GAAWC,EAAGM,CAAI,EAAGL,EAAGK,CAAI,CAAE,EACnC,MAAO,GAGT,OAAOF,IAAUC,CAClB,CAKAb,GAAO,QAAUO,KCnIjB,IAAAS,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAwCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC7CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAU,IAmBd,SAASC,GAAUC,EAAQ,CAC1B,OACC,OAAOA,GAAU,UACjBA,IAAU,MACV,CAACF,GAASE,CAAM,CAElB,CAKAH,GAAO,QAAUE,KCpDjB,IAAAE,EAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAS,QAAS,uBAAwB,EAmB9C,SAASC,GAAYC,EAAQ,CAE5B,OAASF,GAAQE,CAAM,IAAM,UAC9B,CAKAH,GAAO,QAAUE,KCjDjB,IAAAE,EAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC3CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAM,OAAO,UAAU,eA4B3B,SAASC,GAAYC,EAAOC,EAAW,CACtC,OAECD,GAAU,KAEH,GAEDF,GAAI,KAAME,EAAOC,CAAS,CAClC,CAKAJ,GAAO,QAAUE,KC/DjB,IAAAG,EAAAC,EAAA,SAAAC,GAAAC,GAAA,cAyCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC9CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IACXC,GAAa,IACbC,GAAiB,QAAS,gCAAiC,EAC3DC,EAAa,IACbC,GAAc,QAAS,4BAA6B,EAKpDC,GAAkB,OAAO,UAY7B,SAASC,GAAUC,EAAM,CACxB,IAAIC,EAGJ,IAAMA,KAAOD,EACZ,GAAK,CAACJ,EAAYI,EAAKC,CAAI,EAC1B,MAAO,GAGT,MAAO,EACR,CAmBA,SAASC,GAAeC,EAAQ,CAC/B,IAAIC,EAGJ,OAAMX,GAAUU,CAAM,GAItBC,EAAQT,GAAgBQ,CAAM,EACxBC,EAML,CAACR,EAAYO,EAAO,aAAc,GAGlCP,EAAYQ,EAAO,aAAc,GACjCV,GAAYU,EAAM,WAAY,GAC9BP,GAAaO,EAAM,WAAY,IAAM,qBAGrCR,EAAYQ,EAAO,eAAgB,GACnCV,GAAYU,EAAM,aAAc,IAI/BA,IAAUN,IAGVC,GAAUI,CAAM,GArBV,IALA,EA6BT,CAKAX,GAAO,QAAUU,KC/GjB,IAAAG,EAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAC1CC,GAAW,IACXC,GAAa,IACbC,GAAS,QAAS,uBAAwB,EAwB9C,SAASC,GAAUC,EAAMC,EAAU,CAClC,OAAML,GAAUK,CAAQ,EAGnBJ,GAAYI,EAAS,KAAM,IAC/BD,EAAK,IAAMC,EAAQ,IACd,CAACN,GAAUK,EAAK,GAAI,GACjB,IAAI,UAAWF,GAAQ,8DAA+D,MAAOE,EAAK,GAAI,CAAE,EAG1G,KARC,IAAI,UAAWF,GAAQ,qEAAsEG,CAAQ,CAAE,CAShH,CAKAP,GAAO,QAAUK,KCjEjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA4BA,SAASC,IAAW,CACnB,MAAO,CACN,IAAO,GACR,CACD,CAKAD,GAAO,QAAUC,KCrCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAa,IAajB,SAASC,GAAgBC,EAAGC,EAAQ,CACnC,IAAIC,EAAMD,EAAM,OACZE,EACJ,GAAKD,IAAQ,EACZ,MAAO,GAER,IAAMC,EAAI,EAAGA,EAAID,EAAKC,IACrB,GAAKL,GAAYE,EAAGC,EAAOE,CAAE,CAAE,EAC9BH,EAAIA,EAAGC,EAAOE,CAAE,CAAE,MAElB,OAAO,GAGT,MAAO,EACR,CAKAN,GAAO,QAAUE,KCtDjB,IAAAK,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAC1CC,GAAU,IACVC,GAAS,QAAS,uBAAwB,EAC1CC,GAAW,KACXC,GAAW,KACXC,GAAM,KAkDV,SAASC,GAAgBC,EAAOC,EAAMC,EAAU,CAC/C,IAAIC,EACAC,EACAC,EACAC,EAGJ,GADAH,EAAQV,GAAUQ,CAAK,EAClB,CAACE,GAAS,CAACT,GAASO,CAAK,EAC7B,MAAM,IAAI,UAAWN,GAAQ,2EAA4EM,CAAK,CAAE,EAGjH,GADAI,EAAOR,GAAS,EACX,UAAU,OAAS,IACvBS,EAAMV,GAAUS,EAAMH,CAAQ,EACzBI,GACJ,MAAMA,EAGR,OAAyBN,GAAU,KAC3B,IAEHG,EACJC,EAAQH,EAAK,MAAOI,EAAK,GAAI,EAE7BD,EAAQH,EAEFH,GAAKE,EAAOI,CAAM,EAC1B,CAKAZ,GAAO,QAAUO,KC5GjB,IAAAQ,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAC1CC,GAAU,IACVC,GAAS,QAAS,uBAAwB,EAC1CC,GAAW,KACXC,GAAW,KACXC,GAAM,KAqBV,SAASC,GAASC,EAAMC,EAAU,CACjC,IAAIC,EACAC,EACAC,EACAC,EAEJ,GADAH,EAAQT,GAAUO,CAAK,EAClB,CAACE,GAAS,CAACR,GAASM,CAAK,EAC7B,MAAM,IAAI,UAAWL,GAAQ,2EAA4EK,CAAK,CAAE,EAGjH,GADAI,EAAOP,GAAS,EACX,UAAU,OAAS,IACvBQ,EAAMT,GAAUQ,EAAMH,CAAQ,EACzBI,GACJ,MAAMA,EAGR,OAAKH,EACJC,EAAQH,EAAK,MAAOI,EAAK,GAAI,EAE7BD,EAAQH,EAEFM,EAaP,SAASA,EAAgBC,EAAQ,CAChC,OAAyBA,GAAU,KAC3B,GAEDT,GAAKS,EAAOJ,CAAM,CAC1B,CACD,CAKAX,GAAO,QAAUO,KC7FjB,IAAAS,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA+DA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAO,KACPC,GAAU,KAKdF,GAAaC,GAAM,UAAWC,EAAQ,EAKtCH,GAAO,QAAUE,KC3EjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAC1CC,GAAW,IACXC,GAAa,IACbC,GAAS,QAAS,uBAAwB,EAwB9C,SAASC,GAAUC,EAAMC,EAAU,CAClC,OAAML,GAAUK,CAAQ,EAGnBJ,GAAYI,EAAS,KAAM,IAC/BD,EAAK,IAAMC,EAAQ,IACd,CAACN,GAAUK,EAAK,GAAI,GACjB,IAAI,UAAWF,GAAQ,8DAA+D,MAAOE,EAAK,GAAI,CAAE,EAG1G,KARC,IAAI,UAAWF,GAAQ,qEAAsEG,CAAQ,CAAE,CAShH,CAKAP,GAAO,QAAUK,KCjEjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA4BA,SAASC,IAAW,CACnB,MAAO,CACN,IAAO,GACR,CACD,CAKAD,GAAO,QAAUC,KCrCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA6CA,SAASC,GAASC,EAAOC,EAAW,CACnC,OAAyBD,GAAU,KAC3B,GAEH,OAAOC,GAAa,SACjBA,KAAY,OAAQD,CAAM,EAEzB,OAAQC,CAAS,IAAK,OAAQD,CAAM,CAC9C,CAKAF,GAAO,QAAUC,KC1DjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAyCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC9CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAU,KAad,SAASC,GAAaC,EAAGC,EAAQ,CAChC,IAAIC,EAAMD,EAAM,OACZE,EACJ,GAAKD,IAAQ,EACZ,MAAO,GAER,IAAMC,EAAI,EAAGA,EAAID,EAAKC,IACrB,GAAKL,GAASE,EAAGC,EAAME,CAAC,CAAE,EACzBH,EAAIA,EAAGC,EAAOE,CAAE,CAAE,MAElB,OAAO,GAGT,MAAO,EACR,CAKAN,GAAO,QAAUE,KCtDjB,IAAAK,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAC1CC,GAAU,IACVC,GAAS,QAAS,uBAAwB,EAC1CC,GAAW,KACXC,GAAW,KACXC,GAAM,KA4DV,SAASC,GAAaC,EAAOC,EAAMC,EAAU,CAC5C,IAAIC,EACAC,EACAC,EACAC,EAGJ,GADAH,EAAQV,GAAUQ,CAAK,EAClB,CAACE,GAAS,CAACT,GAASO,CAAK,EAC7B,MAAM,IAAI,UAAWN,GAAQ,2EAA4EM,CAAK,CAAE,EAGjH,GADAI,EAAOR,GAAS,EACX,UAAU,OAAS,IACvBS,EAAMV,GAAUS,EAAMH,CAAQ,EACzBI,GACJ,MAAMA,EAGR,OAAyBN,GAAU,KAC3B,IAEHG,EACJC,EAAQH,EAAK,MAAOI,EAAK,GAAI,EAE7BD,EAAQH,EAEFH,GAAKE,EAAOI,CAAM,EAC1B,CAKAZ,GAAO,QAAUO,KCtHjB,IAAAQ,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAC1CC,GAAU,IACVC,GAAS,QAAS,uBAAwB,EAC1CC,GAAW,KACXC,GAAW,KACXC,GAAM,KAqBV,SAASC,GAASC,EAAMC,EAAU,CACjC,IAAIC,EACAC,EACAC,EACAC,EAEJ,GADAH,EAAQT,GAAUO,CAAK,EAClB,CAACE,GAAS,CAACR,GAASM,CAAK,EAC7B,MAAM,IAAI,UAAWL,GAAQ,2EAA4EK,CAAK,CAAE,EAGjH,GADAI,EAAOP,GAAS,EACX,UAAU,OAAS,IACvBQ,EAAMT,GAAUQ,EAAMH,CAAQ,EACzBI,GACJ,MAAMA,EAGR,OAAKH,EACJC,EAAQH,EAAK,MAAOI,EAAK,GAAI,EAE7BD,EAAQH,EAEFM,EAaP,SAASA,EAAaC,EAAQ,CAC7B,OAAyBA,GAAU,KAC3B,GAEDT,GAAKS,EAAOJ,CAAM,CAC1B,CACD,CAKAX,GAAO,QAAUO,KC7FjB,IAAAS,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqEA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAO,KACPC,GAAU,KAKdF,GAAaC,GAAM,UAAWC,EAAQ,EAKtCH,GAAO,QAAUE,KCjFjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,QAAS,4BAA6B,EAKpDC,GAAmB,OAAO,aAAgB,WAqB9C,SAASC,GAAeC,EAAQ,CAC/B,OACGF,IAAkBE,aAAiB,aACrCH,GAAaG,CAAM,IAAM,sBAE3B,CAKAJ,GAAO,QAAUG,KC1DjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC3CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAS,OAAO,aAAgB,WAAe,YAAc,KAKjED,GAAO,QAAUC,KC3BjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAgB,KAChBC,GAAe,QAAS,uBAAwB,EAChDC,EAAoB,KAcxB,SAASC,IAAwB,CAChC,IAAIC,EACAC,EACAC,EAEJ,GAAK,OAAOJ,GAAsB,WACjC,MAAO,GAGR,GAAI,CACHI,EAAM,IAAIJ,EAAmB,EAAG,EAChCE,EAASJ,GAAeM,CAAI,GAAK,OAAOJ,EAAkB,QAAW,WAChEE,IACJC,EAAO,IAAIJ,GAAcK,CAAI,EAC7BD,EAAM,CAAE,EAAI,MACZA,EAAM,CAAE,EAAI,IACZD,EACCA,GACAF,EAAkB,OAAQG,CAAK,GAC/BC,EAAI,aAAe,IACnBD,EAAM,CAAE,IAAM,OACdA,EAAM,CAAE,IAAMA,EAAM,CAAE,EAGzB,OAAUE,EAAM,CACfH,EAAO,EACR,CACA,OAAOA,CACR,CAKAL,GAAO,QAAUI,KCvEjB,IAAAK,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCvCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAO,QAAS,oBAAqB,EAczC,SAASC,IAA0B,CAClC,IAAIC,EACJ,GAAI,CACHF,GAAM,0BAA2B,EACjCE,EAAO,EACR,OAAUC,EAAM,CACfD,EAAO,EACR,CACA,OAAOA,CACR,CAKAH,GAAO,QAAUE,KClDjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCvCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAO,QAAS,oBAAqB,EAkBzC,SAASC,IAAuB,CAC/B,IAAIC,EACJ,GAAI,CACHF,GAAM,8BAA+B,EACrCE,EAAO,EACR,OAAUC,EAAM,CACfD,EAAO,EACR,CACA,OAAOA,CACR,CAKAH,GAAO,QAAUE,KCtDjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC3CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAwBA,IAAIC,GAAa,IAcjB,SAASC,IAAgC,CACxC,OACC,OAAO,QAAW,YAClB,OAAO,OAAQ,KAAM,GAAM,UAC3BD,GAAY,OAAQ,eAAgB,GACpC,OAAO,OAAO,eAAkB,QAElC,CAKAD,GAAO,QAAUE,KClDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCvCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAY,QAAS,sBAAuB,EAK5CC,GAASD,GAAU,EAcvB,SAASE,IAAmB,CAC3B,OACC,OAAOD,GAAO,QAAW,YACzB,OAAO,QAAW,YAClB,OAAOA,GAAO,OAAQ,GAAI,GAAM,UAChC,OAAO,OAAQ,GAAI,GAAM,QAE3B,CAKAF,GAAO,QAAUG,KCrDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCvCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,QAAS,4BAA6B,EAKpDC,GAAqB,OAAO,eAAkB,WAuBlD,SAASC,GAAiBC,EAAQ,CACjC,OACGF,IAAoBE,aAAiB,eACvCH,GAAaG,CAAM,IAAM,wBAE3B,CAKAJ,GAAO,QAAUG,KC5DjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsCA,IAAIC,GAAkB,KAKtBD,GAAO,QAAUC,KC3CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA0BA,SAASC,GAAUC,EAAQ,CAC1B,OAAS,OAAOA,GAAU,QAC3B,CAKAF,GAAO,QAAUC,KCjCjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA6BA,SAASC,GAAMC,EAAQ,CACtB,GAAI,CACH,OAEC,OAAOA,EAAM,QAAQ,GAAM,QAE7B,OAAUC,EAAM,CACf,MAAO,EACR,CACD,CAKAH,GAAO,QAAUC,KC3CjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,QAAS,4BAA6B,EACpDC,GAAO,KAWX,SAASC,GAAQC,EAAQ,CACxB,OACC,OAAOA,GAAU,UACjBH,GAAaG,CAAM,IAAM,mBACzBF,GAAME,CAAM,CAEd,CAKAJ,GAAO,QAAUG,KC7CjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,KACdC,GAAW,KAWf,SAASC,GAAUC,EAAQ,CAC1B,OAASH,GAAaG,CAAM,GAAKF,GAAUE,CAAM,CAClD,CAKAJ,GAAO,QAAUG,KCzCjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAW,KACXC,GAAc,KACdC,GAAW,KAKfH,GAAaC,GAAU,cAAeC,EAAY,EAClDF,GAAaC,GAAU,WAAYE,EAAS,EAK5CJ,GAAO,QAAUE,KCpCjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAmB,QAAS,iCAAkC,EAK9DC,GAAWD,GAAkB,EAAM,EACnCE,GAAcF,GAAkB,EAAM,EACtCG,GAAWH,GAAkB,EAAM,EAEvCD,GAAaE,GAAU,cAAeC,EAAY,EAClDH,GAAaE,GAAU,WAAYE,EAAS,EAK5CL,GAAO,QAAUG,KCtCjB,IAAAG,EAAAC,EAAA,SAAAC,GAAAC,GAAA,cAiEA,IAAIC,GAAa,KACbC,GAAO,KACPC,GAAW,KAKXC,GACCH,GAAW,EACfG,GAAWF,GAEXE,GAAWD,GAMZH,GAAO,QAAUI,KClFjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAS,OAAO,eAAkB,WAAe,cAAgB,KAKrED,GAAO,QAAUC,KC3BjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAkB,KAClBC,GAAW,IACXC,GAAsB,KAKtBC,GAAsB,mBACtBC,GAAyB,mBAc7B,SAASC,IAA0B,CAClC,IAAIC,EACJ,GAAK,OAAOJ,IAAwB,WACnC,MAAO,GAGR,GAAI,CACH,OAAAI,EAAM,IAAIJ,GAAoB,CAC7BC,GACAC,EACD,CAAC,EAEAJ,GAAiBM,CAAI,GACrBL,GAAUK,EAAK,CAAE,CAAE,GACnBA,EAAK,CAAE,EAAE,SAAS,IAAMH,IACxBF,GAAUK,EAAK,CAAE,CAAE,GACnBA,EAAK,CAAE,EAAE,SAAS,IAAMF,EAE1B,OAAUG,EAAM,CACf,MAAO,EACR,CACD,CAKAR,GAAO,QAAUM,KCtEjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAA0B,KAK9BD,GAAO,QAAUC,KCvCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,QAAS,4BAA6B,EAKpDC,GAAsB,OAAO,gBAAmB,WAwBpD,SAASC,GAAkBC,EAAQ,CAClC,OACGF,IAAqBE,aAAiB,gBACxCH,GAAaG,CAAM,IAAM,yBAE3B,CAKAJ,GAAO,QAAUG,KC7DjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsCA,IAAIC,GAAmB,KAKvBD,GAAO,QAAUC,KC3CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAS,OAAO,gBAAmB,WAAe,eAAiB,KAKvED,GAAO,QAAUC,KC3BjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAmB,KACnBC,GAAW,IACXC,GAAuB,KAKvBC,GAAmB,sBACnBC,GAAsB,sBAc1B,SAASC,IAA2B,CACnC,IAAIC,EACJ,GAAK,OAAOJ,IAAyB,WACpC,MAAO,GAGR,GAAI,CACH,OAAAI,EAAM,IAAIJ,GAAqB,CAC9BC,GACAC,EACD,CAAC,EAEAJ,GAAkBM,CAAI,GACtBL,GAAUK,EAAK,CAAE,CAAE,GACnBA,EAAK,CAAE,EAAE,SAAS,IAAMH,IACxBF,GAAUK,EAAK,CAAE,CAAE,GACnBA,EAAK,CAAE,EAAE,SAAS,IAAMF,EAE1B,OAAUG,EAAM,CACf,MAAO,EACR,CACD,CAKAR,GAAO,QAAUM,KCtEjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAA2B,KAK/BD,GAAO,QAAUC,KCvCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAO,QAAS,oBAAqB,EAkBzC,SAASC,IAAkB,CAC1B,IAAIC,EACJ,GAAI,CACHF,GAAM,0BAA2B,EACjCE,EAAO,EACR,OAAUC,EAAM,CACfD,EAAO,EACR,CACA,OAAOA,CACR,CAKAH,GAAO,QAAUE,KCtDjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC3CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,QAAS,4BAA6B,EAKpDC,GAAgB,OAAO,UAAa,WAsBxC,SAASC,GAAYC,EAAQ,CAC5B,OACGF,IAAeE,aAAiB,UAClCH,GAAaG,CAAM,IAAM,mBAE3B,CAKAJ,GAAO,QAAUG,KC3DjB,IAAAE,EAAAC,EAAA,SAAAC,GAAAC,GAAA,cAuCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC5CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAS,OAAO,UAAa,WAAe,SAAW,KAK3DD,GAAO,QAAUC,KC3BjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAa,IACbC,GAAc,QAAS,sBAAuB,EAC9CC,GAAiB,KAcrB,SAASC,IAAqB,CAC7B,IAAIC,EACAC,EACAC,EAEJ,GAAK,OAAOJ,IAAmB,WAC9B,MAAO,GAGR,GAAI,CACHI,EAAM,IAAIL,GAAa,EAAG,EAC1BI,EAAO,IAAIH,GAAgBI,EAAK,CAAE,EAClCF,EAASJ,GAAYK,CAAK,GAAK,OAAOA,EAAK,YAAe,YAAc,OAAOA,EAAK,YAAe,WAC9FD,IACJC,EAAK,WAAY,EAAG,KAAM,EAC1BA,EAAK,WAAY,EAAG,GAAI,EACxBD,EACCA,GACAC,EAAK,SAAWC,GAChBD,EAAK,aAAe,IACpBA,EAAK,aAAe,GACpBA,EAAK,WAAY,CAAE,IAAM,OACzBA,EAAK,WAAY,CAAE,IAAMA,EAAK,WAAY,CAAE,EAG/C,OAAUE,EAAM,CACfH,EAAO,EACR,CACA,OAAOA,CACR,CAKAL,GAAO,QAAUI,KCxEjB,IAAAK,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCvCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAS,OAAO,OAAO,kBAAqB,WAAe,OAAO,iBAAmB,KAKzFD,GAAO,QAAUC,KC3BjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAmB,KAcvB,SAASC,IAA6B,CAErC,GAAI,CACH,OAAAD,GAAkB,CAAC,EAAG,CACrB,EAAK,CAAC,CACP,CAAC,EACM,EACR,OAAUE,EAAM,CACf,MAAO,EACR,CACD,CAKAH,GAAO,QAAUE,KCnDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCvCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAS,OAAO,OAAO,gBAAmB,WAAe,OAAO,eAAiB,KAKrFD,GAAO,QAAUC,KC3BjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAiB,KAcrB,SAASC,IAA2B,CAEnC,GAAI,CACH,OAAAD,GAAgB,CAAC,EAAG,IAAK,CAAC,CAAE,EACrB,EACR,OAAUE,EAAM,CACf,MAAO,EACR,CACD,CAKAH,GAAO,QAAUE,KCjDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCvCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,QAAS,4BAA6B,EAKpDC,GAAoB,OAAO,cAAiB,WAmBhD,SAASC,GAAgBC,EAAQ,CAChC,OACGF,IAAmBE,aAAiB,cACtCH,GAAaG,CAAM,IAAM,uBAE3B,CAKAJ,GAAO,QAAUG,KCxDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqCA,IAAIC,GAAiB,KAKrBD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAS,OAAO,cAAiB,WAAe,aAAe,KAKnED,GAAO,QAAUC,KC3BjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAiB,KACjBC,GAAO,QAAS,gCAAiC,EACjDC,GAAqB,KAczB,SAASC,IAAyB,CACjC,IAAIC,EACAC,EAEJ,GAAK,OAAOH,IAAuB,WAClC,MAAO,GAGR,GAAI,CACHG,EAAM,IAAIH,GAAoB,CAAE,EAAK,KAAM,MAAO,IAAO,CAAE,EAC3DE,EACCJ,GAAgBK,CAAI,GACpBA,EAAK,CAAE,IAAM,GACbA,EAAK,CAAE,IAAM,mBACbA,EAAK,CAAE,IAAM,oBACbA,EAAK,CAAE,IAAMJ,EAEf,OAAUK,EAAM,CACfF,EAAO,EACR,CACA,OAAOA,CACR,CAKAL,GAAO,QAAUI,KChEjB,IAAAI,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAyB,KAK7BD,GAAO,QAAUC,KCvCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,QAAS,4BAA6B,EAKpDC,GAAoB,OAAO,cAAiB,WAmBhD,SAASC,GAAgBC,EAAQ,CAChC,OACGF,IAAmBE,aAAiB,cACtCH,GAAaG,CAAM,IAAM,uBAE3B,CAKAJ,GAAO,QAAUG,KCxDjB,IAAAE,EAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqCA,IAAIC,GAAiB,KAKrBD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAS,OAAO,cAAiB,WAAe,aAAe,KAKnED,GAAO,QAAUC,KC3BjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAiB,IACjBC,GAAqB,KAczB,SAASC,IAAyB,CACjC,IAAIC,EACAC,EAEJ,GAAK,OAAOH,IAAuB,WAClC,MAAO,GAGR,GAAI,CACHG,EAAM,IAAIH,GAAoB,CAAE,EAAK,KAAM,MAAO,GAAI,CAAE,EACxDE,EACCH,GAAgBI,CAAI,GACpBA,EAAK,CAAE,IAAM,GACbA,EAAK,CAAE,IAAM,MACbA,EAAK,CAAE,IAAM,OACbA,EAAK,CAAE,IAAMA,EAAK,CAAE,CAEtB,OAAUC,EAAM,CACfF,EAAO,EACR,CACA,OAAOA,CACR,CAKAJ,GAAO,QAAUG,KC/DjB,IAAAI,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAyB,KAK7BD,GAAO,QAAUC,KCvCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAyBA,SAASC,IAAM,CAEf,CAKAD,GAAO,QAAUC,KChCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAM,KAcV,SAASC,IAAyB,CACjC,OAASD,GAAI,OAAS,KACvB,CAKAD,GAAO,QAAUE,KC3CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCvCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAO,QAAS,oBAAqB,EAczC,SAASC,IAAsB,CAC9B,IAAIC,EACJ,GAAI,CACHF,GAAM,iCAAkC,EACxCE,EAAO,EACR,OAAUC,EAAM,CACfD,EAAO,EACR,CACA,OAAOA,CACR,CAKAH,GAAO,QAAUE,KClDjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCvCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA+BA,SAASC,IAAuB,CAC/B,OACC,OAAO,YAAe,UACtB,OAAO,WAAW,YAAe,UAEnC,CAKAD,GAAO,QAAUC,KCzCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCvCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,QAAS,4BAA6B,EAKpDC,GAAiB,OAAO,WAAc,WAmB1C,SAASC,GAAaC,EAAQ,CAC7B,OACGF,IAAgBE,aAAiB,WACnCH,GAAaG,CAAM,IAAM,oBAE3B,CAKAJ,GAAO,QAAUG,KCxDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqCA,IAAIC,GAAc,KAKlBD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAS,OAAO,WAAc,WAAe,UAAY,KAK7DD,GAAO,QAAUC,KC3BjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,KACdC,GAAW,QAAS,4BAA6B,EACjDC,GAAW,QAAS,4BAA6B,EACjDC,GAAkB,KActB,SAASC,IAAsB,CAC9B,IAAIC,EACAC,EAEJ,GAAK,OAAOH,IAAoB,WAC/B,MAAO,GAGR,GAAI,CACHG,EAAM,IAAIH,GAAiB,CAAE,EAAG,KAAM,MAAOF,GAAS,CAAE,CAAE,EAC1DI,EACCL,GAAaM,CAAI,GACjBA,EAAK,CAAE,IAAM,GACbA,EAAK,CAAE,IAAM,GACbA,EAAK,CAAE,IAAM,IACbA,EAAK,CAAE,IAAMJ,EAEf,OAAUK,EAAM,CACfF,EAAO,EACR,CACA,OAAOA,CACR,CAKAN,GAAO,QAAUK,KCjEjB,IAAAI,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAsB,KAK1BD,GAAO,QAAUC,KCvCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,QAAS,4BAA6B,EAKpDC,GAAkB,OAAO,YAAe,WAmB5C,SAASC,GAAcC,EAAQ,CAC9B,OACGF,IAAiBE,aAAiB,YACpCH,GAAaG,CAAM,IAAM,qBAE3B,CAKAJ,GAAO,QAAUG,KCxDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqCA,IAAIC,GAAe,KAKnBD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAS,OAAO,YAAe,WAAe,WAAa,KAK/DD,GAAO,QAAUC,KC3BjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAe,KACfC,GAAY,QAAS,6BAA8B,EACnDC,GAAY,QAAS,6BAA8B,EACnDC,GAAmB,KAcvB,SAASC,IAAuB,CAC/B,IAAIC,EACAC,EAEJ,GAAK,OAAOH,IAAqB,WAChC,MAAO,GAGR,GAAI,CACHG,EAAM,IAAIH,GAAkB,CAAE,EAAG,KAAM,MAAOF,GAAU,CAAE,CAAE,EAC5DI,EACCL,GAAcM,CAAI,GAClBA,EAAK,CAAE,IAAM,GACbA,EAAK,CAAE,IAAM,GACbA,EAAK,CAAE,IAAM,IACbA,EAAK,CAAE,IAAMJ,EAEf,OAAUK,EAAM,CACfF,EAAO,EACR,CACA,OAAOA,CACR,CAKAN,GAAO,QAAUK,KCjEjB,IAAAI,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAuB,KAK3BD,GAAO,QAAUC,KCvCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,QAAS,4BAA6B,EAKpDC,GAAkB,OAAO,YAAe,WAmB5C,SAASC,GAAcC,EAAQ,CAC9B,OACGF,IAAiBE,aAAiB,YACpCH,GAAaG,CAAM,IAAM,qBAE3B,CAKAJ,GAAO,QAAUG,KCxDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqCA,IAAIC,GAAe,KAKnBD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAS,OAAO,YAAe,WAAe,WAAa,KAK/DD,GAAO,QAAUC,KC3BjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAe,KACfC,GAAY,QAAS,6BAA8B,EACnDC,GAAY,QAAS,6BAA8B,EACnDC,GAAmB,KAcvB,SAASC,IAAuB,CAC/B,IAAIC,EACAC,EAEJ,GAAK,OAAOH,IAAqB,WAChC,MAAO,GAGR,GAAI,CACHG,EAAM,IAAIH,GAAkB,CAAE,EAAG,KAAM,MAAOF,GAAU,CAAE,CAAE,EAC5DI,EACCL,GAAcM,CAAI,GAClBA,EAAK,CAAE,IAAM,GACbA,EAAK,CAAE,IAAM,GACbA,EAAK,CAAE,IAAM,IACbA,EAAK,CAAE,IAAMJ,EAEf,OAAUK,EAAM,CACfF,EAAO,EACR,CACA,OAAOA,CACR,CAKAN,GAAO,QAAUK,KCjEjB,IAAAI,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAuB,KAK3BD,GAAO,QAAUC,KCvCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAa,IACbC,EAAS,QAAS,qBAAsB,EAc5C,SAASC,IAA2B,CACnC,OACC,OAAOD,GAAW,YAClB,OAAOA,EAAQ,KAAM,GAAM,UAC3BD,GAAYC,EAAQ,UAAW,GAC/B,OAAOA,EAAO,UAAa,QAE7B,CAKAF,GAAO,QAAUG,KCjDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCvCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAS,OAAO,KAAQ,WAAe,IAAM,KAKjDD,GAAO,QAAUC,KC3BjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAY,KAchB,SAASC,IAAgB,CACxB,IAAIC,EACAC,EACAC,EAEJ,GAAK,OAAOJ,IAAc,WACzB,MAAO,GAGR,GAAI,CACHG,EAAM,CAAC,EACPC,EAAM,IAAIJ,GACVI,EAAI,IAAKD,EAAK,MAAO,EACrBD,EACCE,EAAI,IAAKD,CAAI,GACbC,EAAI,IAAKD,CAAI,IAAM,MAErB,OAAUE,EAAM,CACfH,EAAO,EACR,CACA,OAAOA,CACR,CAKAH,GAAO,QAAUE,KC9DjB,IAAAK,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCvCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAS,OAAO,QAAW,WAAe,OAAS,KAKvDD,GAAO,QAAUC,KC3BjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IACXC,EAAe,KAcnB,SAASC,IAAuB,CAC/B,IAAIC,EACAC,EAEJ,GAAK,OAAOH,GAAiB,WAC5B,MAAO,GAGR,GAAI,CACE,OAAOA,EAAa,MAAS,WACjCG,EAAIH,EAAa,KAAM,CAAE,EAAG,EAAG,EAAG,CAAE,CAAE,EAEtCG,EAAI,IAAIH,EAAc,CAAE,EAAG,EAAG,EAAG,CAAE,CAAE,EAEtCE,EACCH,GAAUI,CAAE,GACZA,EAAG,CAAE,IAAM,GACXA,EAAG,CAAE,IAAM,GACXA,EAAG,CAAE,IAAM,GACXA,EAAG,CAAE,IAAM,CAEb,OAAUC,EAAM,CACfF,EAAO,EACR,CACA,OAAOA,CACR,CAKAJ,GAAO,QAAUG,KCnEjB,IAAAI,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCvCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAO,QAAS,oBAAqB,EAczC,SAASC,IAAkB,CAC1B,IAAIC,EACJ,GAAI,CACHF,GAAM,sPAAuP,EAC7PE,EAAO,EACR,OAAUC,EAAM,CACfD,EAAO,EACR,CACA,OAAOA,CACR,CAKAH,GAAO,QAAUE,KClDjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCvCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAS,OAAO,KAAQ,WAAe,IAAM,KAKjDD,GAAO,QAAUC,KC3BjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAY,KAchB,SAASC,IAAgB,CACxB,IAAIC,EACAC,EACAC,EAEJ,GAAK,OAAOJ,IAAc,WACzB,MAAO,GAGR,GAAI,CACHG,EAAM,CAAC,EACPC,EAAM,IAAIJ,GACVI,EAAI,IAAKD,CAAI,EACbC,EAAI,IAAKD,CAAI,EACbD,EAAOE,EAAI,IAAKD,CAAI,CACrB,OAAUE,EAAM,CACfH,EAAO,EACR,CACA,OAAOA,CACR,CAKAH,GAAO,QAAUE,KC5DjB,IAAAK,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCvCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,QAAS,4BAA6B,EAKpDC,GAAyB,OAAO,mBAAsB,WAyB1D,SAASC,GAAqBC,EAAQ,CACrC,OACGF,IAAwBE,aAAiB,mBAC3CH,GAAaG,CAAM,IAAM,4BAE3B,CAKAJ,GAAO,QAAUG,KC9DjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA0CA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC/CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAS,OAAO,mBAAsB,WAAe,kBAAoB,KAK7ED,GAAO,QAAUC,KC3BjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAsB,KACtBC,GAA0B,KAc9B,SAASC,IAA8B,CACtC,IAAIC,EACAC,EACAC,EAEJ,GAAK,OAAOJ,IAA4B,WACvC,MAAO,GAGR,GAAI,CACHG,EAAK,IAAIH,GAAyB,EAAG,EACrCI,EAAKD,EAAG,MAAO,EAAG,CAAE,EACpBD,EACCH,GAAqBI,CAAG,GACxBJ,GAAqBK,CAAG,GACxBD,EAAG,aAAe,IAClBC,EAAG,aAAe,CAEpB,OAAUC,EAAM,CACfH,EAAO,EACR,CACA,OAAOA,CACR,CAKAJ,GAAO,QAAUG,KChEjB,IAAAK,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCvCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,QAAS,4BAA6B,EAKpDC,GAAkB,OAAO,YAAe,WAmB5C,SAASC,GAAcC,EAAQ,CAC9B,OACGF,IAAiBE,aAAiB,YACpCH,GAAaG,CAAM,IAAM,qBAE3B,CAKAJ,GAAO,QAAUG,KCxDjB,IAAAE,EAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqCA,IAAIC,GAAe,KAKnBD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAS,OAAO,YAAe,WAAe,WAAa,KAK/DD,GAAO,QAAUC,KC3BjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAe,IACfC,GAAY,QAAS,6BAA8B,EACnDC,GAAmB,KAcvB,SAASC,IAAuB,CAC/B,IAAIC,EACAC,EAEJ,GAAK,OAAOH,IAAqB,WAChC,MAAO,GAGR,GAAI,CACHG,EAAM,CAAE,EAAG,KAAM,MAAOJ,GAAU,EAAGA,GAAU,CAAE,EACjDI,EAAM,IAAIH,GAAkBG,CAAI,EAChCD,EACCJ,GAAcK,CAAI,GAClBA,EAAK,CAAE,IAAM,GACbA,EAAK,CAAE,IAAM,GACbA,EAAK,CAAE,IAAMJ,GAAU,GACvBI,EAAK,CAAE,IAAM,GACbA,EAAK,CAAE,IAAM,CAEf,OAAUC,EAAM,CACfF,EAAO,EACR,CACA,OAAOA,CACR,CAKAL,GAAO,QAAUI,KClEjB,IAAAI,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAuB,KAK3BD,GAAO,QAAUC,KCvCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,QAAS,4BAA6B,EAKpDC,GAAyB,OAAO,mBAAsB,WAmB1D,SAASC,GAAqBC,EAAQ,CACrC,OACGF,IAAwBE,aAAiB,mBAC3CH,GAAaG,CAAM,IAAM,4BAE3B,CAKAJ,GAAO,QAAUG,KCxDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqCA,IAAIC,GAAsB,KAK1BD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAS,OAAO,mBAAsB,WAAe,kBAAoB,KAK7ED,GAAO,QAAUC,KC3BjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAsB,KACtBC,GAA0B,KAc9B,SAASC,IAA8B,CACtC,IAAIC,EACAC,EAEJ,GAAK,OAAOH,IAA4B,WACvC,MAAO,GAGR,GAAI,CACHG,EAAM,IAAIH,GAAyB,CAAE,GAAI,EAAG,EAAG,KAAM,KAAM,IAAK,GAAI,CAAE,EACtEE,EACCH,GAAqBI,CAAI,GACzBA,EAAK,CAAE,IAAM,GACbA,EAAK,CAAE,IAAM,GACbA,EAAK,CAAE,IAAM,GACbA,EAAK,CAAE,IAAM,GACbA,EAAK,CAAE,IAAM,GACbA,EAAK,CAAE,IAAM,KACbA,EAAK,CAAE,IAAM,GAEf,OAAUC,EAAM,CACfF,EAAO,EACR,CACA,OAAOA,CACR,CAKAJ,GAAO,QAAUG,KClEjB,IAAAI,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAA8B,KAKlCD,GAAO,QAAUC,KCvCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,QAAS,4BAA6B,EAKpDC,GAAmB,OAAO,aAAgB,WAmB9C,SAASC,GAAeC,EAAQ,CAC/B,OACGF,IAAkBE,aAAiB,aACrCH,GAAaG,CAAM,IAAM,sBAE3B,CAKAJ,GAAO,QAAUG,KCxDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqCA,IAAIC,GAAgB,KAKpBD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAS,OAAO,aAAgB,WAAe,YAAc,KAKjED,GAAO,QAAUC,KC3BjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAgB,KAChBC,GAAa,QAAS,8BAA+B,EACrDC,GAAoB,KAcxB,SAASC,IAAwB,CAChC,IAAIC,EACAC,EAEJ,GAAK,OAAOH,IAAsB,WACjC,MAAO,GAGR,GAAI,CACHG,EAAM,CAAE,EAAG,KAAM,MAAOJ,GAAW,EAAGA,GAAW,CAAE,EACnDI,EAAM,IAAIH,GAAmBG,CAAI,EACjCD,EACCJ,GAAeK,CAAI,GACnBA,EAAK,CAAE,IAAM,GACbA,EAAK,CAAE,IAAM,GACbA,EAAK,CAAE,IAAMJ,GAAW,GACxBI,EAAK,CAAE,IAAM,GACbA,EAAK,CAAE,IAAM,CAEf,OAAUC,EAAM,CACfF,EAAO,EACR,CACA,OAAOA,CACR,CAKAL,GAAO,QAAUI,KClEjB,IAAAI,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAwB,KAK5BD,GAAO,QAAUC,KCvCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,QAAS,4BAA6B,EAKpDC,GAAmB,OAAO,aAAgB,WAmB9C,SAASC,GAAeC,EAAQ,CAC/B,OACGF,IAAkBE,aAAiB,aACrCH,GAAaG,CAAM,IAAM,sBAE3B,CAKAJ,GAAO,QAAUG,KCxDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqCA,IAAIC,GAAgB,KAKpBD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAS,OAAO,aAAgB,WAAe,YAAc,KAKjED,GAAO,QAAUC,KC3BjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAgB,KAChBC,GAAa,QAAS,8BAA+B,EACrDC,GAAoB,KAcxB,SAASC,IAAwB,CAChC,IAAIC,EACAC,EAEJ,GAAK,OAAOH,IAAsB,WACjC,MAAO,GAGR,GAAI,CACHG,EAAM,CAAE,EAAG,KAAM,MAAOJ,GAAW,EAAGA,GAAW,CAAE,EACnDI,EAAM,IAAIH,GAAmBG,CAAI,EACjCD,EACCJ,GAAeK,CAAI,GACnBA,EAAK,CAAE,IAAM,GACbA,EAAK,CAAE,IAAM,GACbA,EAAK,CAAE,IAAMJ,GAAW,GACxBI,EAAK,CAAE,IAAM,GACbA,EAAK,CAAE,IAAM,CAEf,OAAUC,EAAM,CACfF,EAAO,EACR,CACA,OAAOA,CACR,CAKAL,GAAO,QAAUI,KClEjB,IAAAI,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAwB,KAK5BD,GAAO,QAAUC,KCvCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAY,IAAgC,YAmBhD,SAASC,GAAsBC,EAAQ,CACtC,OACCF,GAAWE,CAAM,GACjBA,GAAS,CAEX,CAKAH,GAAO,QAAUE,KCnDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAY,IAAgC,SAmBhD,SAASC,GAAsBC,EAAQ,CACtC,OACCF,GAAWE,CAAM,GACjBA,EAAM,QAAQ,GAAK,CAErB,CAKAH,GAAO,QAAUE,KCnDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,KACdC,GAAW,KA+Bf,SAASC,GAAsBC,EAAQ,CACtC,OAASH,GAAaG,CAAM,GAAKF,GAAUE,CAAM,CAClD,CAKAJ,GAAO,QAAUG,KC7DjB,IAAAE,EAAAC,EAAA,SAAAC,GAAAC,GAAA,cAgEA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAO,KACPC,GAAc,KACdC,GAAW,KAKfH,GAAaC,GAAM,cAAeC,EAAY,EAC9CF,GAAaC,GAAM,WAAYE,EAAS,EAKxCJ,GAAO,QAAUE,KC9EjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAC1CC,GAAuB,IAA4C,YACnEC,GAAS,QAAS,uBAAwB,EAM1CC,GAAS,MACTC,GAAS,MAGTC,GAAS,MACTC,GAAS,MAwBb,SAASC,GAAyBC,EAAKC,EAAM,CAC5C,IAAIC,EACAC,EACJ,GAAK,CAACX,GAAUQ,CAAI,EACnB,MAAM,IAAI,UAAWN,GAAQ,wDAAyDM,CAAI,CAAE,EAE7F,GAAK,CAACP,GAAsBQ,CAAI,EAC/B,MAAM,IAAI,UAAWP,GAAQ,8FAA+FO,CAAI,CAAE,EAEnI,GAAKA,GAAOD,EAAI,OACf,MAAM,IAAI,WAAYN,GAAQ,6FAA8FO,CAAI,CAAE,EAEnI,OAAAC,EAAMF,EAAI,WAAYC,CAAI,EAC1BE,EAAMH,EAAI,WAAYC,EAAM,CAAE,EACvBC,GAAOP,IAAUO,GAAON,IAAUO,GAAON,IAAUM,GAAOL,EAClE,CAKAP,GAAO,QAAUQ,KC/EjB,IAAAK,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqCA,IAAIC,GAA0B,KAK9BD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA+BA,SAASC,IAAwB,CAChC,OAAS,OAAO,aAAgB,QACjC,CAKAD,GAAO,QAAUC,KCtCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCvCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAS,OAAO,SAAY,WAAe,QAAU,KAKzDD,GAAO,QAAUC,KC3BjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAgB,KAcpB,SAASC,IAAoB,CAC5B,IAAIC,EACAC,EACAC,EAEJ,GAAK,OAAOJ,IAAkB,WAC7B,MAAO,GAGR,GAAI,CACHG,EAAM,CAAC,EACPC,EAAK,IAAIJ,GACTI,EAAG,IAAKD,EAAK,MAAO,EACpBD,EACCE,EAAG,IAAKD,CAAI,GACZC,EAAG,IAAKD,CAAI,IAAM,MAEpB,OAAUE,EAAM,CACfH,EAAO,EACR,CACA,OAAOA,CACR,CAKAH,GAAO,QAAUE,KC9DjB,IAAAK,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCvCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAS,OAAO,SAAY,WAAe,QAAU,KAKzDD,GAAO,QAAUC,KC3BjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAgB,KAcpB,SAASC,IAAoB,CAC5B,IAAIC,EACAC,EACAC,EAEJ,GAAK,OAAOJ,IAAkB,WAC7B,MAAO,GAGR,GAAI,CACHG,EAAM,CAAC,EACPC,EAAK,IAAIJ,GACTI,EAAG,IAAKD,CAAI,EACZC,EAAG,IAAKD,CAAI,EACZD,EAAOE,EAAG,IAAKD,CAAI,CACpB,OAAUE,EAAM,CACfH,EAAO,EACR,CACA,OAAOA,CACR,CAKAH,GAAO,QAAUE,KC5DjB,IAAAK,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCvCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAS,QAAS,uBAAwB,EAiC9C,SAASC,GAAYC,EAAOC,EAAc,CAEzC,GAAK,OAAOA,GAAgB,WAC3B,MAAM,IAAI,UAAWH,GAAQ,mEAAoEG,CAAY,CAAE,EAEhH,OAASD,aAAiBC,CAC3B,CAKAJ,GAAO,QAAUE,KClEjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA8CA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCnDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAuD1CC,GAAS,mEAGTC,GAAc,wCAGdC,GAAU,cACVC,GAAU,4BAGVC,GAAU,QAGVC,GAAY,uBA0GhB,SAASC,GAAOC,EAAQ,CACvB,IAAIC,EACAC,EACAC,EACAC,EA+BJ,MA7BK,GAACZ,GAAUQ,CAAM,GAIjBN,GAAY,KAAMM,CAAM,GAK5BL,GAAQ,KAAMK,CAAM,GACpBJ,GAAQ,KAAMI,CAAM,IAKrBG,EAAQH,EAAM,MAAOP,EAAO,EAC5BS,EAASC,EAAO,CAAE,EAClBF,EAAYE,EAAO,CAAE,EACrBC,EAAOD,EAAO,CAAE,EAIf,CAACD,GACD,CAACA,EAAO,QACR,CAACJ,GAAU,KAAMI,EAAO,YAAY,CAAE,IAMtC,CAACD,GACDJ,GAAQ,KAAMO,CAAK,EAKrB,CAKAb,GAAO,QAAUQ,KCnPjB,IAAAM,EAAAC,EAAA,SAAAC,GAAAC,GAAA,cAwGA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC7GjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAQ,IAKRC,GAAW,eAmCf,SAASC,GAAmBC,EAAQ,CACnC,OAAOH,GAAOG,CAAM,GAAKF,GAAS,KAAME,CAAM,CAC/C,CAKAJ,GAAO,QAAUG,KCrEjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,EAAAC,EAAA,SAAAC,GAAAC,GAAA,cAuCA,IAAIC,GAAW,QAAS,qBAAsB,EAW1CC,GAAeD,KAAa,QAKhCD,GAAO,QAAUE,KCvDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAmB9C,SAASC,GAAgBC,EAAQ,CAEhC,OACCF,GAAUE,CAAM,GAChBA,EAAM,OAAS,GACfA,EAAM,WAAY,CAAE,IAAM,EAE5B,CAKAH,GAAO,QAAUE,KCrDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAmB9C,SAASC,GAAgBC,EAAQ,CAChC,IAAIC,EACAC,EAKJ,MAJK,CAACJ,GAAUE,CAAM,IAGtBE,EAAMF,EAAM,OACPE,IAAQ,GACL,IAERD,EAAOD,EAAM,WAAY,CAAE,EAGtBC,IAAS,IAAMA,IAAS,KAK3BA,GAAQ,IAAMA,GAAQ,IACtBA,GAAQ,IAAMA,GAAQ,MAGlBC,EAAM,GAAKF,EAAM,WAAY,CAAE,IAAM,KACzCC,EAAOD,EAAM,WAAY,CAAE,EAGtBC,IAAS,IAAMA,IAAS,IAMhC,CAKAJ,GAAO,QAAUE,KC9EjB,IAAAI,EAAAC,EAAA,SAAAC,GAAAC,GAAA,cAyCA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAa,IACbC,GAAsB,KACtBC,GAAsB,KAKtBC,EACCH,GACJG,EAAiBD,GAEjBC,EAAiBF,GAElBF,GAAaI,EAAgB,QAASF,EAAoB,EAC1DF,GAAaI,EAAgB,QAASD,EAAoB,EAK1DJ,GAAO,QAAUK,IC7DjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAQ,IA+BZ,SAASC,GAAeC,EAAQ,CAC/B,OAAOF,GAAOE,CAAM,CACrB,CAKAH,GAAO,QAAUE,KC5DjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAe,IACfC,GAAa,IAyBjB,SAASC,GAAiBC,EAAQ,CACjC,OACCH,GAAcG,CAAM,GACpBF,GAAYE,EAAM,GAAI,GACtBF,GAAYE,EAAM,GAAI,CAExB,CAKAJ,GAAO,QAAUG,KC3DjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAyCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC9CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAqB,QAAS,mCAAoC,EAmCtE,SAASC,GAAoBC,EAAOC,EAAW,CAC9C,IAAIC,EAAOJ,GAAoBE,EAAOC,CAAS,EAC/C,OACCC,IAAS,OAER,OAAOA,EAAK,KAAQ,YACpB,OAAOA,EAAK,KAAQ,WAGvB,CAKAL,GAAO,QAAUE,KCvEjB,IAAAI,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAoDA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCzDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAuB,QAAS,sCAAuC,EAmC3E,SAASC,GAAsBC,EAAOC,EAAW,CAChD,IAAIC,EAAOJ,GAAsBE,EAAOC,CAAS,EACjD,OACCC,IAAS,OAER,OAAOA,EAAK,KAAQ,YACpB,OAAOA,EAAK,KAAQ,WAGvB,CAKAL,GAAO,QAAUE,KCvEjB,IAAAI,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAoDA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCzDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IA+Bf,SAASC,GAAaC,EAAI,CACzB,IAAIC,EACAC,EAMJ,GAJK,CAACJ,GAAUE,CAAE,IAGlBC,EAAMD,EAAE,OACH,CAACC,GACL,MAAO,GAER,IAAMC,EAAI,EAAGA,EAAID,EAAKC,IACrB,GAAKF,EAAGE,EAAE,CAAE,EAAIF,EAAGE,CAAE,EACpB,MAAO,GAGT,MAAO,EACR,CAKAL,GAAO,QAAUE,KC3EjB,IAAAI,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAwCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC7CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAM1CC,GAAO,GACPC,GAAO,GACPC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,IA+BR,SAASC,GAAgBC,EAAI,CAC5B,IAAIC,EACAC,EACAC,EAKJ,GAJK,CAACX,GAAUQ,CAAE,IAGlBC,EAAMD,EAAE,OACHC,IAAQ,GACZ,MAAO,GAER,IAAME,EAAI,EAAGA,EAAIF,EAAKE,IAErB,GADAD,EAAKF,EAAE,WAAYG,CAAE,GAEnBD,EAAKT,IAAQS,EAAKR,MAClBQ,EAAKL,IAAKK,EAAKJ,MACfI,EAAKP,IAAKO,EAAKN,IAEhB,MAAO,GAGT,MAAO,EACR,CAKAL,GAAO,QAAUQ,KC3FjB,IAAAK,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAwCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC7CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAY,QAAS,+BAAgC,EACrDC,GAAU,QAAS,6BAA8B,EACjDC,GAAW,IAA+B,YAC1CC,GAAS,QAAS,uBAAwB,EAK1CC,GAAsB,aAa1B,SAASC,GAAWC,EAAGC,EAAI,CAC1B,OAAKD,EAAIC,EACD,GAEHD,IAAMC,EACH,EAED,CACR,CAqBA,SAASC,GAAWC,EAAKC,EAAI,CAC5B,GAAK,CAACR,GAAUO,CAAI,EACnB,MAAM,IAAI,UAAWN,GAAQ,kEAAmEM,CAAI,CAAE,EAOvG,MALK,CAACP,GAAUQ,CAAE,IAGlBD,EAAMR,GAASD,GAAWS,CAAI,EAAGL,GAAqB,EAAG,EACzDM,EAAIT,GAASD,GAAWU,CAAE,EAAGN,GAAqB,EAAG,EAChDK,EAAI,SAAWC,EAAE,QACd,IAERD,EAAMA,EAAI,MAAO,EAAG,EAAE,KAAMJ,EAAU,EAAE,KAAM,EAAG,EACjDK,EAAIA,EAAE,MAAO,EAAG,EAAE,KAAML,EAAU,EAAE,KAAM,EAAG,EACpCI,IAAQC,EAClB,CAKAX,GAAO,QAAUS,KC5FjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,QAAS,4BAA6B,EAwBxD,SAASC,GAAaC,EAAQ,CAC7B,OAASF,GAAaE,CAAM,IAAM,oBACnC,CAKAH,GAAO,QAAUE,KCrDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,KAKdC,GAeJ,SAASC,IAAS,CACjB,OAAOF,GAAa,SAAU,CAC/B,CAKAC,GAAOC,GAAO,EAKdH,GAAO,QAAUE,KCtDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAgDA,IAAIC,GAAuB,OAAO,UAAU,qBAK5CD,GAAO,QAAUC,KCrDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAS,KAKTC,GAWJ,SAASC,IAAS,CACjB,MAAO,CAACF,GAAO,KAAM,OAAQ,GAAI,CAClC,CAKAC,GAAOC,GAAO,EAKdH,GAAO,QAAUE,KClDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IACXC,GAAQ,IAA4B,YACpCC,GAAY,IAAgC,YAC5CC,GAAS,KACTC,GAAmB,KA4BvB,SAASC,GAAsBC,EAAOC,EAAW,CAChD,IAAIC,EACJ,OAECF,GAAU,KAEH,IAERE,EAAOL,GAAO,KAAMG,EAAOC,CAAS,EAC/B,CAACC,GAAQJ,IAAoBJ,GAAUM,CAAM,GAEjDC,EAAW,CAACA,EAEX,CAACN,GAAOM,CAAS,GACjBL,GAAWK,CAAS,GACpBA,GAAY,GACZA,EAAWD,EAAM,QAGZE,EACR,CAKAT,GAAO,QAAUM,KC/EjB,IAAAI,EAAAC,EAAA,SAAAC,GAAAC,GAAA,cAyCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC9CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAa,IACbC,GAAuB,IACvBC,GAAU,IACVC,GAAY,QAAS,qCAAsC,EAC3DC,GAAa,QAAS,8BAA+B,EAwBzD,SAASC,GAAaC,EAAQ,CAC7B,OACCA,IAAU,MACV,OAAOA,GAAU,UACjB,CAACJ,GAASI,CAAM,GAChB,OAAOA,EAAM,QAAW,UACxBH,GAAWG,EAAM,MAAO,GACxBA,EAAM,QAAU,GAChBA,EAAM,QAAUF,IAChBJ,GAAYM,EAAO,QAAS,GAC5B,CAACL,GAAsBK,EAAO,QAAS,CAEzC,CAKAP,GAAO,QAAUM,KCnEjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAyCA,IAAIC,GAAoB,KACpBC,GAAO,KACPC,GAAW,KAKXC,GACCH,GACJG,GAAcF,GAEdE,GAAcD,GAMfH,GAAO,QAAUI,KC1DjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IACXC,GAAU,IAuBVC,GAAeF,GAAUC,EAAQ,EAKrCF,GAAO,QAAUG,KCnDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAwCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC7CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAY,IAAgC,YAC5CC,GAAmB,QAAS,0CAA2C,EAmB3E,SAASC,GAAeC,EAAQ,CAC/B,OACCH,GAAWG,CAAM,GACjBA,GAAS,GACTA,GAASF,EAEX,CAKAF,GAAO,QAAUG,KCrDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA2CA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KChDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAY,QAAS,qCAAsC,EAC3DC,GAAa,QAAS,0CAA2C,EAmBrE,SAASC,GAAaC,EAAQ,CAC7B,OAECA,GAAU,MACV,OAAOA,GAAU,YACjB,OAAOA,EAAM,QAAW,UACxBH,GAAWG,EAAM,MAAO,GACxBA,EAAM,QAAU,GAChBA,EAAM,QAAUF,EAElB,CAKAF,GAAO,QAAUG,KCzDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAwCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC7CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAY,QAAS,qCAAsC,EAC3DC,GAAa,QAAS,0CAA2C,EAuBrE,SAASC,GAAmBC,EAAQ,CACnC,OACC,OAAOA,GAAU,UACjBA,IAAU,MACV,OAAOA,EAAM,QAAW,UACxBH,GAAWG,EAAM,MAAO,GACxBA,EAAM,QAAU,GAChBA,EAAM,QAAUF,EAElB,CAKAF,GAAO,QAAUG,KC5DjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAwCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC7CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAmB,QAAS,iCAAkC,EAK9DC,GAAoBD,GAAkB,EAAM,EAKhDD,GAAO,QAAUE,KChCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAY,QAAS,oBAAqB,EAC1CC,GAAa,QAAS,qBAAsB,EAC5CC,GAAoB,QAAS,sBAAuB,EACpDC,GAAa,QAAS,qBAAsB,EAC5CC,GAAc,QAAS,sBAAuB,EAC9CC,GAAa,QAAS,qBAAsB,EAC5CC,GAAc,QAAS,sBAAuB,EAC9CC,GAAe,QAAS,uBAAwB,EAChDC,GAAe,QAAS,uBAAwB,EAKhDC,GAAQ,CACXD,GACAD,GACAF,GACAC,GACAH,GACAC,GACAJ,GACAC,GACAC,EACD,EAKAH,GAAO,QAAUU,KClDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,CAAAA,GAAA,SACC,YACA,aACA,oBACA,aACA,cACA,aACA,cACA,eACA,cACD,ICVA,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,QAAS,gCAAiC,EACrDC,GAAU,QAAS,6BAA8B,EACjDC,GAAiB,QAAS,gCAAiC,EAC3DC,GAAyB,KACzBC,GAAe,QAAS,uBAAwB,EAChDC,GAAQ,KACRC,GAAQ,KAMRC,GAAeJ,GAAuB,EAAMD,GAAgBE,EAAa,EAAII,GAGjFD,GAAeN,GAASM,EAAW,IAAM,aAAiBA,GAAaC,GAUvE,SAASA,IAAQ,CAAC,CAiBlB,SAASC,GAAcC,EAAQ,CAC9B,IAAIC,EACAC,EAEJ,GAAK,OAAOF,GAAU,UAAYA,IAAU,KAC3C,MAAO,GAGR,GAAKA,aAAiBH,GACrB,MAAO,GAGR,IAAMK,EAAI,EAAGA,EAAIP,GAAM,OAAQO,IAC9B,GAAKF,aAAiBL,GAAOO,CAAE,EAC9B,MAAO,GAIT,KAAQF,GAAQ,CAEf,IADAC,EAAIX,GAAUU,CAAM,EACdE,EAAI,EAAGA,EAAIN,GAAM,OAAQM,IAC9B,GAAKN,GAAOM,CAAE,IAAMD,EACnB,MAAO,GAGTD,EAAQR,GAAgBQ,CAAM,CAC/B,CAEA,MAAO,EACR,CAKAX,GAAO,QAAUU,KClGjB,IAAAI,EAAAC,EAAA,SAAAC,GAAAC,GAAA,cAmCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCxCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAe,IACfC,GAAa,IAyBjB,SAASC,GAAmBC,EAAQ,CACnC,OAAOH,GAAcG,CAAM,GAAKF,GAAYE,CAAM,CACnD,CAKAJ,GAAO,QAAUG,KCvDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,QAAS,sBAAuB,EAoBlD,SAASC,GAAmBC,EAAQ,CACnC,OAAOF,GAAY,OAAQE,CAAM,CAClC,CAKAH,GAAO,QAAUE,KCjDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsCA,IAAIC,GAAwB,KACxBC,GAAa,IACbC,GAAc,QAAS,sBAAuB,EAC9CC,GAAgB,KAChBC,GAAW,KACXC,GAAO,KAKPC,GACCN,GAAsB,EACrBC,GAAYC,GAAY,MAAO,EACnCI,GAAoBD,GAEpBC,GAAoBF,GAGrBE,GAAoBH,GAMrBJ,GAAO,QAAUO,KC9DjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAa,IACbC,GAAkB,QAAS,4BAA6B,EAKxDC,GAAoB,2BAwBxB,SAASC,GAAiBC,EAAQ,CACjC,IAAIC,EACJ,OAAML,GAAYI,CAAM,GAGxBC,EAAMJ,GAAiBG,CAAM,EACtBF,GAAkB,KAAMG,CAAI,GAH3B,EAIT,CAKAN,GAAO,QAAUI,KChEjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA2CA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KChDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAK1CC,GAAY,IA2BhB,SAASC,GAASC,EAAI,CACrB,IAAIC,EACAC,EAKJ,GAJK,CAACL,GAAUG,CAAE,IAGlBC,EAAMD,EAAE,OACH,CAACC,GACL,MAAO,GAER,IAAMC,EAAI,EAAGA,EAAID,EAAKC,IACrB,GAAKF,EAAE,WAAYE,CAAE,EAAIJ,GACxB,MAAO,GAGT,MAAO,EACR,CAKAF,GAAO,QAAUG,KC3EjB,IAAAI,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAwCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC7CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAS,QAAS,uBAAwB,EAyC9C,SAASC,GAAWC,EAAOC,EAAGC,EAAGC,EAAMC,EAAQ,CAC9C,GAAK,UAAU,OAAS,EAAI,CAC3B,GAAKD,IAAS,UAAYA,IAAS,OAClC,MAAM,IAAI,UAAWL,GAAQ,qFAAsF,CAAE,SAAU,MAAO,EAAE,KAAM,MAAO,EAAGK,CAAK,CAAE,EAEhK,GAAKC,IAAU,UAAYA,IAAU,OACpC,MAAM,IAAI,UAAWN,GAAQ,oFAAqF,CAAE,SAAU,MAAO,EAAE,KAAM,MAAO,EAAGM,CAAM,CAAE,CAEjK,CACA,OAAKD,IAAS,UAAYA,IAAS,OAC7BC,IAAU,UAAYA,IAAU,OAC3BJ,GAASC,GAAKD,GAASE,EAExBF,GAASC,GAAKD,EAAQE,EAE3BE,IAAU,UAAYA,IAAU,OAC3BJ,EAAQC,GAAKD,GAASE,EAEvBF,EAAQC,GAAKD,EAAQE,CAC/B,CAKAL,GAAO,QAAUE,KCvFjB,IAAAM,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAiDA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCtDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAe,IACfC,GAAS,QAAS,uBAAwB,EA0C9C,SAASC,GAAgBC,EAAOC,EAAGC,EAAGC,EAAMC,EAAQ,CACnD,IAAIC,EACAC,EACJ,GAAK,UAAU,OAAS,EAAI,CAC3B,GAAKH,IAAS,UAAYA,IAAS,OAClC,MAAM,IAAI,UAAWL,GAAQ,qFAAsF,CAAE,SAAU,MAAO,EAAE,KAAM,MAAO,EAAGK,CAAK,CAAE,EAEhK,GAAKC,IAAU,UAAYA,IAAU,OACpC,MAAM,IAAI,UAAWN,GAAQ,oFAAqF,CAAE,SAAU,MAAO,EAAE,KAAM,MAAO,EAAGM,CAAM,CAAE,CAEjK,CAKA,GAJK,CAACP,GAAcG,CAAM,IAG1BK,EAAML,EAAM,OACPK,IAAQ,GACZ,MAAO,GAER,GAAKF,IAAS,UAAYA,IAAS,OAAS,CAC3C,GAAKC,IAAU,UAAYA,IAAU,OAAS,CAC7C,IAAME,EAAI,EAAGA,EAAID,EAAKC,IACrB,GAAKN,EAAOM,CAAE,EAAIL,GAAKD,EAAOM,CAAE,EAAIJ,EACnC,MAAO,GAGT,MAAO,EACR,CACA,IAAMI,EAAI,EAAGA,EAAID,EAAKC,IACrB,GAAKN,EAAOM,CAAE,EAAIL,GAAKD,EAAOM,CAAE,GAAKJ,EACpC,MAAO,GAGT,MAAO,EACR,CACA,GAAKE,IAAU,UAAYA,IAAU,OAAS,CAC7C,IAAME,EAAI,EAAGA,EAAID,EAAKC,IACrB,GAAKN,EAAOM,CAAE,GAAKL,GAAKD,EAAOM,CAAE,EAAIJ,EACpC,MAAO,GAGT,MAAO,EACR,CACA,IAAMI,EAAI,EAAGA,EAAID,EAAKC,IACrB,GAAKN,EAAOM,CAAE,GAAKL,GAAKD,EAAOM,CAAE,GAAKJ,EACrC,MAAO,GAGT,MAAO,EACR,CAKAN,GAAO,QAAUG,KCtHjB,IAAAQ,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAgDA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCrDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAa,QAAS,qBAAsB,EAC5CC,GAAc,QAAS,sBAAuB,EAK9CC,GAAQ,CACX,OAAUD,GACV,MAASD,EACV,EAKAD,GAAO,QAAUG,KCpCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAQ,KAKRC,GAeJ,SAASC,IAAc,CACtB,IAAIC,EACAC,EAEJ,OAAAD,EAAa,IAAIH,GAAO,OAAY,CAAE,EAOtCG,EAAY,CAAE,EAAI,KAGlBC,EAAY,IAAIJ,GAAO,MAAWG,EAAW,MAAO,EAG3CC,EAAW,CAAE,IAAM,EAC7B,CAKAH,GAAOC,GAAY,EAKnBH,GAAO,QAAUE,KCtEjB,IAAAI,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAgB,KAKpBD,GAAO,QAAUC,KCvCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAuB9C,SAASC,GAAgBC,EAAM,CAC9B,IAAIC,EACAC,EAIJ,GAHK,CAACJ,GAAUE,CAAI,GAGfA,EAAI,SAAW,EACnB,MAAO,GAER,IAAME,EAAI,EAAGA,EAAIF,EAAI,OAAQE,IAE5B,GADAD,EAAKD,EAAKE,CAAE,EACPD,IAAO,KAAOA,IAAO,IACzB,MAAO,GAGT,MAAO,EACR,CAKAJ,GAAO,QAAUE,KClEjB,IAAAI,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAwCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC7CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAK1CC,GAAK,oKA+BT,SAASC,GAAeC,EAAQ,CAC/B,OAAMH,GAAUG,CAAM,EAGfF,GAAG,KAAME,CAAM,EAFd,EAGT,CAKAJ,GAAO,QAAUG,KCpEjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAyCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC9CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAwCA,SAASC,GAAWC,EAAQ,CAC3B,OAAS,OAAOA,GAAU,SAC3B,CAKAF,GAAO,QAAUC,KC/CjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqBA,IAAIC,GAAW,QAAQ,UAAU,SAKjCD,GAAO,QAAUC,KC1BjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,KAYf,SAASC,GAAMC,EAAQ,CACtB,GAAI,CACH,OAAAF,GAAS,KAAME,CAAM,EACd,EACR,OAAUC,EAAM,CACf,MAAO,EACR,CACD,CAKAJ,GAAO,QAAUE,KC9CjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAiB,IACjBC,GAAc,QAAS,4BAA6B,EACpDC,GAAU,QAAS,sBAAuB,EAC1CC,GAAO,KAKPC,GAAMJ,GAAe,EAqBzB,SAASK,GAAWC,EAAQ,CAC3B,OAAK,OAAOA,GAAU,SAChBA,aAAiBJ,GACd,GAEHE,GACGD,GAAMG,CAAM,EAEXL,GAAaK,CAAM,IAAM,mBAE5B,EACR,CAKAP,GAAO,QAAUM,KCnEjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,KACdC,GAAW,KA+Bf,SAASC,GAAWC,EAAQ,CAC3B,OAASH,GAAaG,CAAM,GAAKF,GAAUE,CAAM,CAClD,CAKAJ,GAAO,QAAUG,KC7DjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA0DA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAO,KACPC,GAAc,KACdC,GAAW,KAKfH,GAAaC,GAAM,cAAeC,EAAY,EAC9CF,GAAaC,GAAM,WAAYE,EAAS,EAKxCJ,GAAO,QAAUE,KCxEjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,KACdC,GAAS,QAAS,uBAAwB,EA0B9C,SAASC,GAAcC,EAAY,CAClC,GAAK,OAAOA,GAAc,WACzB,MAAM,IAAI,UAAWF,GAAQ,0DAA2DE,CAAU,CAAE,EAErG,OAAOC,EASP,SAASA,EAAOC,EAAQ,CACvB,IAAIC,EACAC,EAKJ,GAJK,CAACP,GAAaK,CAAM,IAGzBC,EAAMD,EAAM,OACPC,IAAQ,GACZ,MAAO,GAER,IAAMC,EAAI,EAAGA,EAAID,EAAKC,IACrB,GAAKJ,EAAWE,EAAOE,CAAE,CAAE,IAAM,GAChC,MAAO,GAGT,MAAO,EACR,CACD,CAKAR,GAAO,QAAUG,KCpFjB,IAAAM,EAAAC,EAAA,SAAAC,GAAAC,GAAA,cA2CA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KChDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAyDA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAW,IACXC,GAAY,KAKZC,GAAmBF,GAAUC,GAAU,WAAY,EACnDE,GAAgBH,GAAUC,GAAU,QAAS,EAK7CG,GAAiBJ,GAAUC,EAAU,EACzCF,GAAaK,GAAgB,aAAcF,EAAiB,EAC5DH,GAAaK,GAAgB,UAAWD,EAAc,EAKtDL,GAAO,QAAUM,KC7EjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA0BA,SAASC,GAAUC,EAAQ,CAC1B,OAAS,OAAOA,GAAU,QAC3B,CAKAF,GAAO,QAAUC,KCjCjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAiCA,SAASC,GAAOC,EAAQ,CAEvB,OAAO,OAAO,UAAU,SAAS,KAAMA,CAAM,CAC9C,CAKAF,GAAO,QAAUC,KCzCjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAQ,KAKRC,GAAK,iBAYT,SAASC,GAAMC,EAAQ,CACtB,GAAI,CACH,OAEC,OAAOA,EAAM,QAAQ,GAAM,UAG3BF,GAAG,KAAMD,GAAOG,CAAM,CAAE,CAE1B,OAAUC,EAAM,CACf,MAAO,EACR,CACD,CAKAL,GAAO,QAAUG,KCxDjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,QAAS,4BAA6B,EACpDC,GAAO,KAWX,SAASC,GAAUC,EAAQ,CAC1B,OACC,OAAOA,GAAU,UACjBH,GAAaG,CAAM,IAAM,mBACzBF,GAAME,CAAM,CAEd,CAKAJ,GAAO,QAAUG,KC7CjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,KACdC,GAAW,KAWf,SAASC,GAAUC,EAAQ,CAC1B,OAASH,GAAaG,CAAM,GAAKF,GAAUE,CAAM,CAClD,CAKAJ,GAAO,QAAUG,KCzCjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAW,KACXC,GAAc,KACdC,GAAW,KAKfH,GAAaC,GAAU,cAAeC,EAAY,EAClDF,GAAaC,GAAU,WAAYE,EAAS,EAK5CJ,GAAO,QAAUE,KCpCjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAmB,QAAS,iCAAkC,EAK9DC,GAAWD,GAAkB,EAAM,EACnCE,GAAcF,GAAkB,EAAM,EACtCG,GAAWH,GAAkB,EAAM,EAEvCD,GAAaE,GAAU,cAAeC,EAAY,EAClDH,GAAaE,GAAU,WAAYE,EAAS,EAK5CL,GAAO,QAAUG,KCtCjB,IAAAG,EAAAC,EAAA,SAAAC,GAAAC,GAAA,cAmEA,IAAIC,GAAa,IACbC,GAAO,KACPC,GAAW,KAKXC,GACCH,GAAW,EACfG,GAAWF,GAEXE,GAAWD,GAMZH,GAAO,QAAUI,KCpFjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAY,KAAgC,SAC5CC,GAAW,IAA+B,SAC1CC,GAAW,IAA+B,SAC1CC,GAAW,IAA+B,SAqC9C,SAASC,GAAkBC,EAAQ,CAClC,OAAK,OAAOA,GAAU,SACd,GAGPL,GAAWK,CAAM,GACjBJ,GAAUI,CAAM,GAChBH,GAAUG,CAAM,GAChBF,GAAUE,CAAM,CAElB,CAKAN,GAAO,QAAUK,KC7EjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC3CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAQ,OAAO,UAAU,SAY7B,SAASC,GAAUC,EAAQ,CAC1B,OAAOF,GAAM,KAAME,CAAM,CAC1B,CAKAH,GAAO,QAAUE,KCzCjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAWJ,SAASC,IAAc,CACtB,IAAIC,EAAM,GACV,OAAAA,GAAO,QACPA,GAAO,0BACPA,GAAO,oBACPA,GAAO,gBACPA,GAAO,IACC,IAAI,SAAUA,CAAI,EAAG,CAC9B,CAKAF,GAASC,GAAY,EAKrBF,GAAO,QAAUC,KCnDjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,EAAO,QAAS,SAAU,EAC1BC,GAAY,QAAS,sBAAuB,EAC5CC,GAAc,QAAS,4BAA6B,EACpDC,GAAW,IACXC,GAAW,IAA+B,YAC1CC,GAAQ,KACRC,GAAc,KAKdC,EAASN,GAAU,EACnBO,GAAK,cAcT,SAASC,IAAS,CACjB,OAEC,OAAO,QAAW,UAGlB,SAAWF,GAGXA,IAAWA,EAAO,SAKjBL,GAAaK,CAAO,IAAM,mBAG1BL,GAAaK,CAAO,IAAM,oBAI3BD,KAAgB,IAGhB,OAAO,SAAY,YAGnB,OAAON,GAAS,UAGhBK,GAAOL,CAAK,IAAM,oBAGlBG,GAAUH,EAAK,QAAS,GAGxBI,GAAUJ,EAAK,SAAS,IAAK,IAK5B,OAAOA,EAAK,SAAY,aAIvBG,GAAUH,EAAK,OAAQ,GAGvBI,GAAUJ,EAAK,QAAQ,IAAK,GAG5BQ,GAAG,KAAMR,EAAK,QAAQ,IAAK,EAK/B,CAKAD,GAAO,QAAUU,KC7GjB,IAAAC,EAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAO,KAKPC,GAAOD,GAAK,EAKhBD,GAAO,QAAUE,KC5CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAWJ,SAASC,IAAc,CACtB,IAAIC,EAAM,GACV,OAAAA,GAAO,QACPA,GAAO,0BACPA,GAAO,oBACPA,GAAO,gBACPA,GAAO,IACC,IAAI,SAAUA,CAAI,EAAG,CAC9B,CAKAF,GAAQC,GAAY,EAKpBF,GAAO,QAAUC,KCnDjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAwBA,IAAIC,GAAY,QAAS,sBAAuB,EAC5CC,GAAU,IACVC,GAAc,KAKdC,GAASH,GAAU,EAcvB,SAASI,IAAY,CACpB,OAECH,KAAY,IAGZ,OAAO,QAAW,UAGlB,SAAWE,IAGXD,KAAgB,EAElB,CAKAH,GAAO,QAAUK,KChEjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAO,KAKPC,GAAOD,GAAK,EAKhBD,GAAO,QAAUE,KC5CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAC1CC,GAAY,QAAS,+BAAgC,EA2BzD,SAASC,GAAaC,EAAQ,CAC7B,OACCH,GAAUG,CAAM,GAChBA,IAAUF,GAAWE,CAAM,CAE7B,CAKAJ,GAAO,QAAUG,KC5DjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAY,QAAS,0BAA2B,EAChDC,GAAY,QAAS,0BAA2B,EAChDC,GAAW,IAA+B,YA2B9C,SAASC,GAAeC,EAAQ,CAC/B,IAAIC,EACJ,OAAKH,GAAUE,CAAM,GAAKA,IAAU,IACnCC,EAAKD,EAAO,CAAE,EACLC,IAAOJ,GAAWI,CAAG,GAAKA,IAAOL,GAAWK,CAAG,GAElD,EACR,CAKAN,GAAO,QAAUI,KC/DjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAU,QAAS,2BAA4B,EAsBnD,SAASC,GAAeC,EAAI,CAC3B,OACCA,aAAaF,IAEZE,IAAM,MACN,OAAOA,GAAM,UACb,OAAOA,EAAE,MAAS,UAClB,OAAOA,EAAE,OAAU,UACnB,OAAOA,EAAE,SAAY,UACrB,OAAOA,EAAE,QAAW,UACpB,OAAOA,EAAE,OAAU,UACnB,OAAOA,EAAE,OAAU,UACnB,OAAOA,EAAE,OAAU,UACnB,OAAOA,EAAE,QAAW,UACpB,OAAOA,EAAE,OAAU,UACnB,OAAOA,EAAE,KAAQ,YACjB,OAAOA,EAAE,KAAQ,UAGpB,CAKAH,GAAO,QAAUE,KCpEjB,IAAAE,EAAAC,EAAA,SAAAC,GAAAC,GAAA,cAuCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC5CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAgB,IAsBpB,SAASC,GAAcC,EAAI,CAC1B,OACCF,GAAeE,CAAE,GACjBA,EAAE,QAAU,GACZA,EAAE,MAAM,SAAW,GACnBA,EAAE,QAAQ,SAAW,CAEvB,CAKAH,GAAO,QAAUE,KCxDjB,IAAAE,EAAAC,EAAA,SAAAC,GAAAC,GAAA,cAwCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC7CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAe,IAqBnB,SAASC,GAAgBC,EAAI,CAC5B,OACCF,GAAcE,CAAE,GAChBA,EAAE,MAAO,CAAE,IAAMA,EAAE,MAAO,CAAE,CAE9B,CAKAH,GAAO,QAAUE,KCrDjB,IAAAE,EAAAC,EAAA,SAAAC,GAAAC,GAAA,cAuCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC5CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAiB,IACjBC,GAAQ,QAAS,iCAAkC,EACnDC,GAAQ,QAAS,iCAAkC,EA2BvD,SAASC,GAAyBC,EAAI,CACrC,IAAIC,EACAC,EACAC,EACA,EACAC,EACAC,EACJ,GAAK,CAACT,GAAgBI,CAAE,EACvB,MAAO,GAKR,IAHAE,EAAIF,EAAE,MAAO,CAAE,EACfG,EAAIN,GAAOK,EAAE,CAAI,EACjBD,EAAKC,EAAI,EACHE,EAAI,EAAGA,EAAID,EAAGC,IAEnB,IADA,EAAIH,EAAKG,EACHC,EAAI,EAAGA,EAAIH,EAAGG,IACnB,GAAKL,EAAE,IAAKI,EAAGC,CAAE,IAAML,EAAE,IAAK,EAAGC,EAAGI,CAAE,EACrC,MAAO,GAIV,GAAKP,GAAOI,CAAE,GAEb,IAAMG,EAAI,EAAGA,EAAIF,EAAGE,IACnB,GAAKL,EAAE,IAAKI,EAAGC,CAAE,IAAML,EAAE,IAAKG,EAAGF,EAAGI,CAAE,EACrC,MAAO,GAIV,MAAO,EACR,CAKAV,GAAO,QAAUI,KCtFjB,IAAAO,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAwCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC7CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAa,QAAS,oBAAqB,EAgB/C,SAASC,GAAUC,EAAQ,CAC1B,IAAIC,EAAO,OAAOD,EAClB,OAASA,IAAU,OAAUC,IAAS,UAAYA,IAAS,WAC5D,CAUA,SAASC,GAAUC,EAAMC,EAAc,CACtC,IAAIC,EACJ,IAAMA,EAAI,EAAGA,EAAIF,EAAK,OAAQE,IAC7B,GAAKF,EAAME,CAAE,IAAMD,EAClB,MAAO,GAGT,MAAO,EACR,CAUA,SAASE,GAAWC,EAAKJ,EAAO,CAC/B,IAAIK,EACAC,EACAJ,EAIJ,GAFAF,EAAK,KAAMI,CAAI,EACfC,EAAOV,GAAYS,CAAI,EAClBC,EAAK,SAAW,EACpB,MAAO,GAER,IAAMH,EAAI,EAAGA,EAAIG,EAAK,OAAQH,IAE7B,GADAI,EAAMF,EAAKC,EAAMH,CAAE,CAAE,EAChBN,GAAUU,CAAI,IAAOP,GAAUC,EAAMM,CAAI,GAAKH,GAAWG,EAAKN,CAAK,GACvE,MAAO,GAGT,OAAAA,EAAK,IAAKI,CAAI,EACP,EACR,CAoCA,SAASG,GAAYV,EAAQ,CAC5B,OAAMD,GAAUC,CAAM,EAGfM,GAAWN,EAAO,CAAC,CAAE,EAFpB,EAGT,CAKAH,GAAO,QAAUa,KCrIjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA6CA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KClDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAU,IACVC,GAAa,KAoCjB,SAASC,GAAiBC,EAAQ,CACjC,OAAMH,GAASG,CAAM,EAGdF,GAAYE,CAAM,EAFjB,EAGT,CAKAJ,GAAO,QAAUG,KCrEjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAwCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC7CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAgB,IAChBC,GAAa,KAoCjB,SAASC,GAAuBC,EAAQ,CACvC,OAAMH,GAAeG,CAAM,EAGpBF,GAAYE,CAAM,EAFjB,EAGT,CAKAJ,GAAO,QAAUG,KCrEjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA6CA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KClDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAa,IACbC,GAAkB,QAAS,4BAA6B,EAKxDC,GAAW,cAuBf,SAASC,GAASC,EAAQ,CACzB,IAAIC,EACJ,OAAML,GAAYI,CAAM,GAGxBC,EAAMJ,GAAiBG,CAAM,EACtBF,GAAS,KAAMG,CAAI,GAHlB,EAIT,CAKAN,GAAO,QAAUI,KC/DjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAa,QAAS,yBAA0B,EAChDC,GAAY,QAAS,yBAA0B,EAC/CC,GAAkB,QAAS,gCAAiC,EAuBhE,SAASC,GAAWC,EAAQ,CAC3B,IAAIC,EACJ,OAAKD,aAAiBJ,IAAcI,aAAiBH,GAC7C,IAERI,EAAOH,GAAiBE,CAAM,EACrBC,IAAS,aAAeA,IAAS,aAC3C,CAKAN,GAAO,QAAUI,KC3DjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAyCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC9CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAa,QAAS,yBAA0B,EAChDC,GAAY,QAAS,yBAA0B,EAuBnD,SAASC,GAAeC,EAAQ,CAC/B,OAAKA,aAAiBH,IAAcG,aAAiBF,GAC7C,GAGP,OAAOE,GAAU,UACjBA,IAAU,MACV,OAAOA,EAAM,IAAO,UACpB,OAAOA,EAAM,IAAO,QAEtB,CAKAJ,GAAO,QAAUG,KC7DjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAyCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC9CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAiB,QAAS,yBAA0B,EACpDC,GAAkB,QAAS,0BAA2B,EAKtDC,GAAQ,CACXD,GACAD,EACD,EAKAD,GAAO,QAAUG,KCpCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,CAAAA,GAAA,SACC,iBACA,iBACD,ICHA,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,QAAS,gCAAiC,EACrDC,GAAiB,QAAS,gCAAiC,EAC3DC,GAAQ,KACRC,GAAQ,KAiBZ,SAASC,GAAqBC,EAAQ,CACrC,IAAIC,EACAC,EAEJ,GAAK,OAAOF,GAAU,UAAYA,IAAU,KAC3C,MAAO,GAGR,IAAME,EAAI,EAAGA,EAAIL,GAAM,OAAQK,IAC9B,GAAKF,aAAiBH,GAAOK,CAAE,EAC9B,MAAO,GAIT,KAAQF,GAAQ,CAEf,IADAC,EAAIN,GAAUK,CAAM,EACdE,EAAI,EAAGA,EAAIJ,GAAM,OAAQI,IAC9B,GAAKJ,GAAOI,CAAE,IAAMD,EACnB,MAAO,GAGTD,EAAQJ,GAAgBI,CAAM,CAC/B,CAEA,MAAO,EACR,CAKAN,GAAO,QAAUK,KCxEjB,IAAAI,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAmCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCxCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAuB,IAA4C,YACnEC,GAAM,QAAS,gDAAiD,EAKhEC,GAAaD,GAAM,EA6CvB,SAASE,GAAyBC,EAAQ,CACzC,OACCA,IAAU,MACV,OAAOA,GAAU,UAGjBJ,GAAsBI,EAAM,MAAO,GACnCA,EAAM,QAAUF,IAChB,OAAOE,EAAM,mBAAsB,UACnC,OAAOA,EAAM,YAAe,UAC5B,OAAOA,EAAM,YAAe,UAG5B,OAAOA,EAAM,KAAQ,YACrB,OAAOA,EAAM,KAAQ,UAEvB,CAKAL,GAAO,QAAUI,KC9FjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA6CA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KClDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAY,QAAS,yBAA0B,EAC/CC,GAAkB,QAAS,gCAAiC,EAmBhE,SAASC,GAAaC,EAAQ,CAC7B,OACCA,aAAiBH,IACjBC,GAAiBE,CAAM,IAAM,WAE/B,CAKAJ,GAAO,QAAUG,KCpDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqCA,IAAIC,GAAc,KAKlBD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAiB,QAAS,yBAA0B,EACpDC,GAAkB,QAAS,gCAAiC,EAmBhE,SAASC,GAAkBC,EAAQ,CAClC,OACCA,aAAiBH,IACjBC,GAAiBE,CAAM,IAAM,gBAE/B,CAKAJ,GAAO,QAAUG,KCpDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqCA,IAAIC,GAAmB,KAKvBD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAe,IAwBnB,SAASC,GAAuBC,EAAI,CACnC,OAASF,GAAcE,CAAE,GAAKA,EAAE,QAAU,WAC3C,CAKAH,GAAO,QAAUE,KCrDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA2CA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KChDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAgB,IAwBpB,SAASC,GAAwBC,EAAI,CACpC,OAASF,GAAeE,CAAE,GAAKA,EAAE,QAAU,WAC5C,CAKAH,GAAO,QAAUE,KCrDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA2CA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KChDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAgB,IAqBpB,SAASC,GAAcC,EAAI,CAC1B,OACCF,GAAeE,CAAE,GACjBA,EAAE,QAAU,GACZA,EAAE,MAAM,SAAW,GACnBA,EAAE,QAAQ,SAAW,CAEvB,CAKAH,GAAO,QAAUE,KCvDjB,IAAAE,EAAAC,EAAA,SAAAC,GAAAC,GAAA,cAuCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC5CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAe,IAwBnB,SAASC,GAAuBC,EAAI,CACnC,OAASF,GAAcE,CAAE,GAAKA,EAAE,QAAU,WAC3C,CAKAH,GAAO,QAAUE,KCrDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA2CA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KChDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAa,QAAS,yBAA0B,EAChDC,GAAkB,QAAS,gCAAiC,EAmBhE,SAASC,GAAcC,EAAQ,CAC9B,OACCA,aAAiBH,IACjBC,GAAiBE,CAAM,IAAM,YAE/B,CAKAJ,GAAO,QAAUG,KCpDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqCA,IAAIC,GAAe,KAKnBD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAkB,QAAS,0BAA2B,EACtDC,GAAkB,QAAS,gCAAiC,EAmBhE,SAASC,GAAmBC,EAAQ,CACnC,OACCA,aAAiBH,IACjBC,GAAiBE,CAAM,IAAM,iBAE/B,CAKAJ,GAAO,QAAUG,KCpDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqCA,IAAIC,GAAoB,KAKxBD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAe,IAwBnB,SAASC,GAAwBC,EAAI,CACpC,OAASF,GAAcE,CAAE,GAAKA,EAAE,QAAU,YAC3C,CAKAH,GAAO,QAAUE,KCrDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA2CA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KChDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAgB,IAwBpB,SAASC,GAAyBC,EAAI,CACrC,OAASF,GAAeE,CAAE,GAAKA,EAAE,QAAU,YAC5C,CAKAH,GAAO,QAAUE,KCrDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA2CA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KChDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAe,IAwBnB,SAASC,GAAwBC,EAAI,CACpC,OAASF,GAAcE,CAAE,GAAKA,EAAE,QAAU,YAC3C,CAKAH,GAAO,QAAUE,KCrDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA0CA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC/CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAC1CC,GAAc,QAAS,uCAAwC,EAmBnE,SAASC,GAAaC,EAAQ,CAC7B,OAAMH,GAAUG,CAAM,EAGfF,GAAaE,CAAM,EAFlB,EAGT,CAKAJ,GAAO,QAAUG,KCpDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,SAC1CC,GAAc,QAAS,uCAAwC,EAmBnE,SAASC,GAAaC,EAAQ,CAC7B,OAAMH,GAAUG,CAAM,EAGfF,GAAaE,EAAM,QAAQ,CAAE,EAF5B,EAGT,CAKAJ,GAAO,QAAUG,KCpDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,KACdC,GAAW,KA+Bf,SAASC,GAAaC,EAAQ,CAC7B,OAASH,GAAaG,CAAM,GAAKF,GAAUE,CAAM,CAClD,CAKAJ,GAAO,QAAUG,KC7DjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAgEA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAO,KACPC,GAAc,KACdC,GAAW,KAKfH,GAAaC,GAAM,cAAeC,EAAY,EAC9CF,GAAaC,GAAM,WAAYE,EAAS,EAKxCJ,GAAO,QAAUE,KC9EjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAqB,QAAS,mCAAoC,EAgCtE,SAASC,GAAwBC,EAAOC,EAAW,CAClD,IAAIC,EAAOJ,GAAoBE,EAAOC,CAAS,EAC/C,OAASC,IAAS,MAAQA,EAAK,eAAiB,EACjD,CAKAL,GAAO,QAAUE,KC9DjB,IAAAI,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAiDA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCtDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAuB,QAAS,sCAAuC,EAgC3E,SAASC,GAA0BC,EAAOC,EAAW,CACpD,IAAIC,EAAOJ,GAAsBE,EAAOC,CAAS,EACjD,OAASC,IAAS,MAAQA,EAAK,eAAiB,EACjD,CAKAL,GAAO,QAAUE,KC9DjB,IAAAI,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAiDA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCtDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAC1CC,GAAe,QAAS,kCAAmC,EAiC/D,SAASC,GAAgBC,EAAQ,CAChC,OACCH,GAAUG,CAAM,GAChBA,IAAUF,GAAcE,CAAM,CAEhC,CAKAJ,GAAO,QAAUG,KClEjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAY,IAAgC,YAC5CC,GAAO,QAAS,gCAAiC,EACjDC,GAAQ,QAAS,iCAAkC,EAmBvD,SAASC,GAAcC,EAAQ,CAC9B,IAAIC,EACJ,OAAML,GAAWI,CAAM,GAGvBC,EAAIH,GAAOD,GAAMG,CAAM,EAAI,EAAI,EACxBC,EAAEA,EAAEA,IAAMD,GAHT,EAIT,CAKAL,GAAO,QAAUI,KCvDjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAY,IAAgC,SAC5CC,GAAO,QAAS,gCAAiC,EACjDC,GAAQ,QAAS,iCAAkC,EAmBvD,SAASC,GAAcC,EAAQ,CAC9B,IAAIC,EACAC,EACJ,OAAMN,GAAWI,CAAM,GAGvBE,EAAIF,EAAM,QAAQ,EAClBC,EAAIH,GAAOD,GAAMK,CAAE,EAAI,EAAI,EACpBD,EAAEA,EAAEA,IAAMC,GAJT,EAKT,CAKAP,GAAO,QAAUI,KCzDjB,IAAAI,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,KACdC,GAAW,KA+Bf,SAASC,GAAcC,EAAQ,CAC9B,OAASH,GAAaG,CAAM,GAAKF,GAAUE,CAAM,CAClD,CAKAJ,GAAO,QAAUG,KC7DjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAgEA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAO,KACPC,GAAc,KACdC,GAAW,KAKfH,GAAaC,GAAM,cAAeC,EAAY,EAC9CF,GAAaC,GAAM,WAAYE,EAAS,EAKxCJ,GAAO,QAAUE,KC9EjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAe,IACfC,GAAc,QAAS,2BAA4B,EA4BvD,SAASC,GAAeC,EAAQ,CAC/B,OAAKH,GAAcG,CAAM,EACjBA,EAAM,YAAY,IAAMF,GAAY,EAEnCE,IAAUF,GAAY,CAChC,CAKAF,GAAO,QAAUG,KC7DjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC3CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAuCA,IAAIC,GAAW,QAAS,qBAAsB,EAW1CC,GAAcD,KAAa,SAK/BD,GAAO,QAAUE,KCvDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAqB,QAAS,mCAAoC,EAmCtE,SAASC,GAAgBC,EAAOC,EAAW,CAC1C,IAAIC,EAAOJ,GAAoBE,EAAOC,CAAS,EAC/C,OAASC,IAAS,MAAQ,OAAOA,EAAK,UAAa,SACpD,CAKAL,GAAO,QAAUE,KCjEjB,IAAAI,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAoDA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCzDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAuB,QAAS,sCAAuC,EAmC3E,SAASC,GAAkBC,EAAOC,EAAW,CAC5C,IAAIC,EAAOJ,GAAsBE,EAAOC,CAAS,EACjD,OAASC,IAAS,MAAQ,OAAOA,EAAK,UAAa,SACpD,CAKAL,GAAO,QAAUE,KCjEjB,IAAAI,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAoDA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCzDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAwCA,IAAIC,GAAW,IACXC,GAAe,IAKfC,GAAoBF,GAAUC,EAAa,EAK/CF,GAAO,QAAUG,KCnDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAM1CC,GAAO,GACPC,GAAO,GA2BX,SAASC,GAAeC,EAAI,CAC3B,IAAIC,EACAC,EACAC,EAKJ,GAJK,CAACP,GAAUI,CAAE,IAGlBC,EAAMD,EAAE,OACHC,IAAQ,GACZ,MAAO,GAER,IAAME,EAAI,EAAGA,EAAIF,EAAKE,IAErB,GADAD,EAAKF,EAAE,WAAYG,CAAE,EAChBD,EAAKL,IAAQK,EAAKJ,GACtB,MAAO,GAGT,MAAO,EACR,CAKAH,GAAO,QAAUI,KC/EjB,IAAAK,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAwCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC7CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,QAAS,sBAAuB,EAAE,KAC7CC,GAAW,IACXC,GAAS,QAAS,mBAAoB,EAAE,KAKxCC,GAAO,CACV,SAAY,MACb,EAcA,SAASC,IAAW,CACnB,IAAIC,EACJ,OAAKH,GAAQ,aAAc,EACnB,IAERG,EAAOL,GAAU,oBAAqBG,EAAK,EACtCE,aAAgB,MACb,GAEDJ,GAAUI,EAAM,QAAS,EACjC,CAKAN,GAAO,QAAUK,KC5DjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAO,KAKPC,GAAOD,GAAK,EAKhBD,GAAO,QAAUE,KC5CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAmD1CC,GAAiB,gFA2BrB,SAASC,GAAcC,EAAQ,CAI9B,MAHK,CAACH,GAAUG,CAAM,GAGjBA,EAAM,OAAS,GAAKA,EAAM,OAAS,IAChC,GAEDF,GAAe,KAAME,CAAM,CACnC,CAKAJ,GAAO,QAAUG,KCjHjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAK1CC,GAAqB,oDAmCzB,SAASC,GAAkBC,EAAQ,CAClC,OAAMH,GAAUG,CAAM,EAGfF,GAAmB,KAAME,CAAM,EAF9B,EAGT,CAKAJ,GAAO,QAAUG,KCxEjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAwCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC7CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBAA,GAAO,QAAU,UCtBjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,QAAS,4BAA6B,EACpDC,GAAW,IACXC,GAAW,IAA+B,YAC1CC,EAAO,KAcX,SAASC,IAAa,CACrB,OAEC,OAAOD,GAAS,UAGhBH,GAAaG,CAAK,IAAM,oBAGxBF,GAAUE,EAAK,QAAS,GAGxBD,GAAUC,EAAK,SAAS,QAAS,GAGjCD,GAAUC,EAAK,SAAS,MAAO,IAI9BA,EAAK,OAAS,WACdA,EAAK,OAAS,WAGjB,CAKAJ,GAAO,QAAUK,KCnEjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAO,KAKPC,GAAOD,GAAK,EAKhBD,GAAO,QAAUE,KC5CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBAA,GAAO,QAAU,UCtBjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAa,KACbC,GAAO,KAcX,SAASC,IAAiB,CACzB,OACCF,IACAC,GAAK,OAAS,SAEhB,CAKAF,GAAO,QAAUG,KC/CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAO,KAKPC,GAAOD,GAAK,EAKhBD,GAAO,QAAUE,KC5CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAU,QAAS,SAAU,EAKjCD,GAAO,QAAUC,KC3BjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAa,KACbC,GAAO,KAcX,SAASC,IAAqB,CAC7B,OACCF,IACAC,GAAK,OAAS,UAEhB,CAKAF,GAAO,QAAUG,KC/CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAO,KAKPC,GAAOD,GAAK,EAKhBD,GAAO,QAAUE,KC5CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAK1CC,GAAK,IA2BT,SAASC,GAASC,EAAQ,CACzB,OAAOH,GAAUG,CAAM,GAAKF,GAAG,KAAME,CAAM,CAC5C,CAKAJ,GAAO,QAAUG,KC7DjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAwCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC7CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAU,IAuBd,SAASC,GAAcC,EAAQ,CAC9B,OACCF,GAASE,CAAM,GACfA,EAAM,SAAW,CAEnB,CAKAH,GAAO,QAAUE,KCvDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAwCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC7CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAwCA,SAASC,GAAwBC,EAAQ,CACxC,OACC,OAAOA,GAAU,UACjBA,IAAU,MACVA,EAAM,SAAW,CAEnB,CAKAF,GAAO,QAAUC,KCnDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAwCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC7CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA4CA,SAASC,GAAmBC,EAAQ,CACnC,OACC,OAAOA,GAAU,UACjBA,IAAU,MACVA,EAAM,SAAW,CAEnB,CAKAF,GAAO,QAAUC,KCvDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAwCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC7CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAa,QAAS,oBAAqB,EAC3CC,GAAgB,IAChBC,GAAmB,IAKnBC,GAAMD,GAAiB,EAuB3B,SAASE,GAAeC,EAAQ,CAO/B,MANK,GAACJ,GAAeI,CAAM,GAGtBL,GAAYK,CAAM,EAAE,OAAS,GAG7BF,IAAO,OAAO,sBAAuBE,CAAM,EAAE,OAAS,EAI5D,CAKAN,GAAO,QAAUK,KCpEjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAwCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC7CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAwCA,SAASC,GAAeC,EAAQ,CAC/B,OAASA,IAAU,EACpB,CAKAF,GAAO,QAAUC,KC/CjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,SAuB9C,SAASC,GAAeC,EAAQ,CAC/B,OACCF,GAAUE,CAAM,GAChBA,EAAM,QAAQ,IAAM,EAEtB,CAKAH,GAAO,QAAUE,KCvDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,KACdC,GAAW,KAuBf,SAASC,GAAeC,EAAQ,CAC/B,OAASH,GAAaG,CAAM,GAAKF,GAAUE,CAAM,CAClD,CAKAJ,GAAO,QAAUG,KCrDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA0DA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAO,KACPC,GAAc,KACdC,GAAW,KAKfH,GAAaC,GAAM,cAAeC,EAAY,EAC9CF,GAAaC,GAAM,WAAYE,EAAS,EAKxCJ,GAAO,QAAUE,KCxEjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAuB,QAAS,sCAAuC,EAgC3E,SAASC,GAAwBC,EAAOC,EAAW,CAClD,IAAIC,EAAOJ,GAAsBE,EAAOC,CAAS,EACjD,OAASC,IAAS,MAAQA,EAAK,aAAe,EAC/C,CAKAL,GAAO,QAAUE,KC9DjB,IAAAI,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAiDA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCtDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAiB,QAAS,gCAAiC,EAC3DC,GAAS,QAAS,uBAAwB,EAC1CC,GAAU,IAmBd,SAASC,GAAaC,EAAQ,CAC7B,GAAK,OAAOA,GAAU,UAAYA,IAAU,KAC3C,MAAO,GAGR,GAAKA,aAAiB,UACrB,MAAO,GAGR,GAAKF,GAASE,CAAM,EAEnB,KAAQA,GAAQ,CACf,GAAKH,GAAQG,CAAM,IAAM,YACxB,MAAO,GAERA,EAAQJ,GAAgBI,CAAM,CAC/B,CAED,MAAO,EACR,CAKAL,GAAO,QAAUI,KCnEjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAY,IAAgC,YAmBhD,SAASC,GAAQC,EAAQ,CACxB,OACCF,GAAWE,CAAM,GACjBA,EAAQ,IAAM,CAEhB,CAKAH,GAAO,QAAUE,KCnDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAY,IAAgC,SAmBhD,SAASC,GAAQC,EAAQ,CACxB,OACCF,GAAWE,CAAM,GACjBA,EAAQ,IAAM,CAEhB,CAKAH,GAAO,QAAUE,KCnDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,KACdC,GAAW,KAmCf,SAASC,GAAQC,EAAQ,CACxB,OAASH,GAAaG,CAAM,GAAKF,GAAUE,CAAM,CAClD,CAKAJ,GAAO,QAAUG,KCjEjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqEA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAO,KACPC,GAAc,KACdC,GAAW,KAKfH,GAAaC,GAAM,cAAeC,EAAY,EAC9CF,GAAaC,GAAM,WAAYE,EAAS,EAKxCJ,GAAO,QAAUE,KCnFjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAwDA,SAASC,GAASC,EAAQ,CACzB,MAAS,CAAAA,CACV,CAKAF,GAAO,QAAUC,KC/DjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAoDA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCzDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAwCA,IAAIC,GAAW,IACXC,GAAU,KAKVC,GAAeF,GAAUC,EAAQ,EAKrCF,GAAO,QAAUG,KCnDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAwBA,IAAIC,GAAW,IAA+B,YAC1CC,GAAW,QAAS,oCAAqC,EAmB7D,SAASC,GAAUC,EAAQ,CAC1B,OACCH,GAAUG,CAAM,GAChBF,GAAUE,CAAM,CAElB,CAKAJ,GAAO,QAAUG,KCtDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAwBA,IAAIC,GAAW,IAA+B,SAC1CC,GAAW,QAAS,oCAAqC,EAmB7D,SAASC,GAAUC,EAAQ,CAC1B,OACCH,GAAUG,CAAM,GAChBF,GAAUE,EAAM,QAAQ,CAAE,CAE5B,CAKAJ,GAAO,QAAUG,KCtDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAwBA,IAAIC,GAAc,KACdC,GAAW,KA2Bf,SAASC,GAAUC,EAAQ,CAC1B,OAASH,GAAaG,CAAM,GAAKF,GAAUE,CAAM,CAClD,CAKAJ,GAAO,QAAUG,KC3DjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA6DA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAO,KACPC,GAAc,KACdC,GAAW,KAKfH,GAAaC,GAAM,cAAeC,EAAY,EAC9CF,GAAaC,GAAM,WAAYE,EAAS,EAKxCJ,GAAO,QAAUE,KC3EjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA6DA,IAAIC,GAAW,KACXC,GAAc,QAAS,uDAAwD,EAC/EC,GAAW,IAKXC,GAAmBD,GAAUF,GAAS,WAAY,EAClDI,GAAgBF,GAAUF,GAAS,QAAS,EAK5CK,GAAgBH,GAAUF,EAAS,EACvCC,GAAaI,GAAe,aAAcF,EAAiB,EAC3DF,GAAaI,GAAe,UAAWD,EAAc,EAKrDL,GAAO,QAAUM,KCjFjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAe,IAwBnB,SAASC,GAAqBC,EAAI,CACjC,OAASF,GAAcE,CAAE,GAAKA,EAAE,QAAU,SAC3C,CAKAH,GAAO,QAAUE,KCrDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA2CA,IAAIC,GAAsB,KAK1BD,GAAO,QAAUC,KChDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAgB,IAwBpB,SAASC,GAAsBC,EAAI,CAClC,OAASF,GAAeE,CAAE,GAAKA,EAAE,QAAU,SAC5C,CAKAH,GAAO,QAAUE,KCrDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA2CA,IAAIC,GAAuB,KAK3BD,GAAO,QAAUC,KChDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAe,IAwBnB,SAASC,GAAqBC,EAAI,CACjC,OAASF,GAAcE,CAAE,GAAKA,EAAE,QAAU,SAC3C,CAKAH,GAAO,QAAUE,KCrDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA2CA,IAAIC,GAAsB,KAK1BD,GAAO,QAAUC,KChDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAe,IAwBnB,SAASC,GAAqBC,EAAI,CACjC,OAASF,GAAcE,CAAE,GAAKA,EAAE,QAAU,SAC3C,CAKAH,GAAO,QAAUE,KCrDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA2CA,IAAIC,GAAsB,KAK1BD,GAAO,QAAUC,KChDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAgB,IAwBpB,SAASC,GAAsBC,EAAI,CAClC,OAASF,GAAeE,CAAE,GAAKA,EAAE,QAAU,SAC5C,CAKAH,GAAO,QAAUE,KCrDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA2CA,IAAIC,GAAuB,KAK3BD,GAAO,QAAUC,KChDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAe,IAwBnB,SAASC,GAAqBC,EAAI,CACjC,OAASF,GAAcE,CAAE,GAAKA,EAAE,QAAU,SAC3C,CAKAH,GAAO,QAAUE,KCrDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA0CA,IAAIC,GAAsB,KAK1BD,GAAO,QAAUC,KC/CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA4CA,IAAIC,GAAW,IACXC,GAAa,IAKbC,GAAkBF,GAAUC,EAAW,EAK3CF,GAAO,QAAUG,KCvDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAsB,KACtBC,GAAc,QAAS,4BAA6B,EAKpDC,GAAgBF,GAAoB,EA8BxC,SAASG,GAAmBC,EAAQ,CACnC,OAASF,IAAiBD,GAAaG,CAAM,IAAM,oBACpD,CAKAL,GAAO,QAAUI,KCjEjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAgDA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCrDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAwDA,SAASC,GAAuBC,EAAQ,CACvC,OACCA,IAAU,MACV,OAAOA,GAAU,UACjB,OAAOA,EAAM,MAAS,YACtB,OAAOA,EAAM,QAAW,YACxB,OAAOA,EAAM,OAAU,UAEzB,CAKAF,GAAO,QAAUC,KCrEjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA0CA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC/CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAe,IACfC,GAAW,IAgCf,SAASC,GAAcC,EAAQ,CAI9B,MAHK,CAACH,GAAcG,CAAM,GAAK,CAACF,GAAUE,CAAM,GAG3CA,EAAM,OAAS,GACZ,GAIPA,EAAO,CAAE,IAAM,IACfA,EAAO,CAAE,IAAM,KAGfA,EAAO,CAAE,IAAM,CAEjB,CAKAJ,GAAO,QAAUG,KC3EjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA8CA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCnDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAM1CC,GAAO,GACPC,GAAO,GACPC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,IA2BR,SAASC,GAAaC,EAAI,CACzB,IAAIC,EACAC,EACAC,EAKJ,GAJK,CAACX,GAAUQ,CAAE,IAGlBC,EAAMD,EAAE,OACH,CAACC,GACL,MAAO,GAER,IAAME,EAAI,EAAGA,EAAIF,EAAKE,IAErB,GADAD,EAAKF,EAAE,WAAYG,CAAE,EAEpBD,EAAKT,IACHS,EAAKR,IAAQQ,EAAKP,IAClBO,EAAKN,IAAKM,EAAKL,IACjBK,EAAKJ,GAEL,MAAO,GAGT,MAAO,EACR,CAKAP,GAAO,QAAUQ,KCxFjB,IAAAK,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAwCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC7CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAC1CC,GAAQ,QAAS,sCAAuC,EAmB5D,SAASC,GAAYC,EAAQ,CAC5B,OACCH,GAAUG,CAAM,GAChBF,GAAOE,CAAM,CAEf,CAKAJ,GAAO,QAAUG,KCpDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,SAC1CC,GAAQ,QAAS,sCAAuC,EAmB5D,SAASC,GAAYC,EAAQ,CAC5B,OACCH,GAAUG,CAAM,GAChBF,GAAOE,EAAM,QAAQ,CAAE,CAEzB,CAKAJ,GAAO,QAAUG,KCpDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,KACdC,GAAW,KA2Bf,SAASC,GAAYC,EAAQ,CAC5B,OAASH,GAAaG,CAAM,GAAKF,GAAUE,CAAM,CAClD,CAKAJ,GAAO,QAAUG,KCzDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA6DA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAO,KACPC,GAAc,KACdC,GAAW,KAKfH,GAAaC,GAAM,cAAeC,EAAY,EAC9CF,GAAaC,GAAM,WAAYE,EAAS,EAKxCJ,GAAO,QAAUE,KC3EjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAa,IAoCjB,SAASC,GAAqBC,EAAOC,EAAW,CAC/C,OAAyBD,GAAU,MAAQF,GAAYE,EAAOC,CAAS,EAC/D,GAEH,OAAOA,GAAa,SACjBA,KAAY,OAAQD,CAAM,EAEzB,OAAQC,CAAS,IAAK,OAAQD,CAAM,CAC9C,CAKAH,GAAO,QAAUE,KCvEjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA4CA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCjDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA6DA,IAAIC,GAAY,IACZC,GAAc,QAAS,uDAAwD,EAC/EC,GAAW,IAKXC,GAAmBD,GAAUF,GAAU,WAAY,EACnDI,GAAgBF,GAAUF,GAAU,QAAS,EAK7CK,GAAiBH,GAAUF,EAAU,EACzCC,GAAaI,GAAgB,aAAcF,EAAiB,EAC5DF,GAAaI,GAAgB,UAAWD,EAAc,EAKtDL,GAAO,QAAUM,KCjFjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,SAASC,GAAaC,EAAQ,CAC7B,IAAIC,EAAO,OAAOD,EAClB,OACCC,IAAS,UACTA,IAAS,UACTA,IAAS,WACTA,IAAS,UACTA,IAAS,UACTD,IAAU,MACVA,IAAU,MAEZ,CAKAF,GAAO,QAAUC,KClDjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAa,IA0BjB,SAASC,GAAgBC,EAAQ,CAChC,IAAIC,EAAI,OAAOD,EACf,OACCA,IAAU,OACRC,IAAM,UAAYA,IAAM,aAC1BH,GAAYE,EAAM,IAAK,CAEzB,CAKAH,GAAO,QAAUE,KC5DjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAwCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC7CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,KACdC,GAAa,IACbC,GAAW,QAAS,yBAA0B,EAC9CC,GAAiB,KAuBrB,SAASC,GAAgBC,EAAQ,CAChC,IAAIC,EACJ,OAAKN,GAAaK,CAAM,EAChB,IAERC,EAAID,EAAOH,EAAS,EAEnBD,GAAYK,CAAE,GACdA,EAAE,SAAW,GACbH,GAAgBE,EAAOH,EAAS,EAAE,CAAE,EAEtC,CAKAH,GAAO,QAAUK,KChEjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqCA,IAAIC,GAA2B,KAC3BC,GAAmB,QAAS,iCAAkC,EAC9DC,GAAO,KAKPC,GACCH,GAAyB,EAC7BG,GAAaD,GAEbC,GAAaF,GAAkB,EAAM,EAMtCF,GAAO,QAAUI,KCtDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAoEA,IAAIC,GAAK,8BAmBT,SAASC,GAAQC,EAAQ,CAIxB,GAHK,OAAOA,GAAU,UAGjB,CAACF,GAAG,KAAME,CAAM,EACpB,MAAO,GAER,GAAI,CACH,KAAK,MAAOA,CAAM,CACnB,OAAUC,EAAM,CACf,MAAO,EACR,CACA,MAAO,EACR,CAKAJ,GAAO,QAAUE,KCzGjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAC1CC,GAAY,QAAS,+BAAgC,EA2BzD,SAASC,GAAaC,EAAQ,CAC7B,OAASH,GAAUG,CAAM,GAAKF,GAAWE,CAAM,IAAMA,CACtD,CAKAJ,GAAO,QAAUG,KCzDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAe,IACfC,GAAY,IAAgC,YAC5CC,GAAc,QAAS,2BAA4B,EA+BvD,SAASC,GAAYC,EAAQ,CAC5B,IAAIC,EACJ,GAAK,UAAU,OACd,GAAKL,GAAcI,CAAM,EACxBC,EAAKD,EAAM,YAAY,UACZH,GAAWG,CAAM,EAC5BC,EAAKD,MAEL,OAAO,QAIRC,EAAKH,GAAY,EAGlB,OAAMG,EAAK,MAAS,EAETA,EAAK,MAAS,EAGfA,EAAK,IAAO,CACvB,CAKAN,GAAO,QAAUI,KCjFjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA2CA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KChDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAa,QAAS,qBAAsB,EAC5CC,GAAc,QAAS,sBAAuB,EAK9CC,GAAQ,CACX,OAAUD,GACV,MAASD,EACV,EAKAD,GAAO,QAAUG,KCpCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAQ,KAKRC,GAeJ,SAASC,IAAiB,CACzB,IAAIC,EACAC,EAEJ,OAAAD,EAAa,IAAIH,GAAO,OAAY,CAAE,EAOtCG,EAAY,CAAE,EAAI,KAGlBC,EAAY,IAAIJ,GAAO,MAAWG,EAAW,MAAO,EAG3CC,EAAW,CAAE,IAAM,EAC7B,CAKAH,GAAOC,GAAe,EAKtBH,GAAO,QAAUE,KCtEjB,IAAAI,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAmB,KAKvBD,GAAO,QAAUC,KCvCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAM1CC,GAAoB,yDAmCxB,SAASC,GAAaC,EAAQ,CAC7B,OAAMH,GAAUG,CAAM,EAIrBA,IAAU,aAAeA,IAAU,aAGnCA,IAAU,SAEVF,GAAkB,KAAME,CAAM,EARvB,EAUT,CAKAJ,GAAO,QAAUG,KChFjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA2CA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KChDjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAY,QAAS,0BAA2B,EAChDC,GAAY,QAAS,0BAA2B,EAChDC,GAAW,IAA+B,YA2B9C,SAASC,GAAaC,EAAQ,CAC7B,OACCF,GAAUE,CAAM,GAChBA,IAAUJ,GAAWI,CAAM,GAC3BA,IAAUH,GAAWG,CAAM,CAE7B,CAKAL,GAAO,QAAUI,KC9DjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAa,IACbC,GAAa,IAuBjB,SAASC,GAAUC,EAAOC,EAAW,CACpC,OACCJ,GAAYG,EAAOC,CAAS,GAC5BH,GAAYE,EAAOC,CAAS,CAAE,CAEhC,CAKAL,GAAO,QAAUG,KCxDjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAyCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC9CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAa,IACbC,GAAS,QAAS,qBAAsB,EAuB5C,SAASC,GAAYC,EAAOC,EAAW,CACtC,OAAyBD,GAAU,KAC3B,IAERA,EAAQF,GAAQE,CAAM,EACjB,OAAOC,GAAa,WACxBA,EAAW,OAAQA,CAAS,GAG1BA,KAAYD,GACdH,GAAYG,EAAOC,CAAS,CAAE,EAEhC,CAKAL,GAAO,QAAUG,KC/DjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAyCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC9CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAmB,QAAS,iCAAkC,EAK9DC,GAAWD,GAAkB,EAAM,EAKvCD,GAAO,QAAUE,KChCjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAkCA,IAAIC,GAAO,KAKPC,GAAOD,GAAK,EAKhBD,GAAO,QAAUE,KC5CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAa,QAAS,qBAAsB,EAC5CC,GAAkB,QAAS,gCAAiC,EAmBhE,SAASC,GAAcC,EAAQ,CAC9B,OACCA,aAAiBH,IACjBC,GAAiBE,CAAM,IAAM,YAE/B,CAKAJ,GAAO,QAAUG,KCpDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAe,IACfC,GAAa,IAwBjB,SAASC,GAAuBC,EAAI,CACnC,OACCH,GAAcG,CAAE,GAChB,OAAOA,EAAE,SAAY,YACrB,OAAOA,EAAE,WAAc,YACvB,OAAOA,EAAE,SAAY,YACrB,OAAOA,EAAE,SAAY,YACrB,OAAOA,EAAE,aAAgB,YACzB,OAAOA,EAAE,UAAa,YACtBF,GAAYE,EAAG,QAAS,GACxBF,GAAYE,EAAG,eAAgB,CAEjC,CAKAJ,GAAO,QAAUG,KChEjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA0CA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC/CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAoDA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAW,IACXC,GAAQ,IAKRC,GAAmBF,GAAUC,GAAM,WAAY,EAC/CE,GAAgBH,GAAUC,GAAM,QAAS,EAKzCG,GAAaJ,GAAUC,EAAM,EACjCF,GAAaK,GAAY,aAAcF,EAAiB,EACxDH,GAAaK,GAAY,UAAWD,EAAc,EAKlDL,GAAO,QAAUM,KCxEjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAa,IACbC,GAAmB,QAAS,gCAAiC,EAC7DC,GAAkB,QAAS,4BAA6B,EAsB5D,SAASC,GAAkBC,EAAQ,CAClC,OACCJ,GAAYI,CAAM,GAClBH,GAAiB,OAAO,KAAMC,GAAiBE,CAAM,CAAE,CAEzD,CAKAL,GAAO,QAAUI,KCxDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAyCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC9CjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAY,IAAgC,YAmBhD,SAASC,GAAmBC,EAAQ,CACnC,OACCF,GAAWE,CAAM,GACjBA,EAAQ,CAEV,CAKAH,GAAO,QAAUE,KCnDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAY,IAAgC,SAmBhD,SAASC,GAAmBC,EAAQ,CACnC,OACCF,GAAWE,CAAM,GACjBA,EAAM,QAAQ,EAAI,CAEpB,CAKAH,GAAO,QAAUE,KCnDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAc,KACdC,GAAW,KA+Bf,SAASC,GAAmBC,EAAQ,CACnC,OAASH,GAAaG,CAAM,GAAKF,GAAUE,CAAM,CAClD,CAKAJ,GAAO,QAAUG,KC7DjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAgEA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAO,KACPC,GAAc,KACdC,GAAW,KAKfH,GAAaC,GAAM,cAAeC,EAAY,EAC9CF,GAAaC,GAAM,WAAYE,EAAS,EAKxCJ,GAAO,QAAUE,KC9EjB,IAAAG,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cA6DA,IAAIC,GAAoB,KACpBC,GAAc,QAAS,uDAAwD,EAC/EC,GAAW,IAKXC,GAAmBD,GAAUF,GAAkB,WAAY,EAC3DI,GAAgBF,GAAUF,GAAkB,QAAS,EAKrDK,GAAyBH,GAAUF,EAAkB,EACzDC,GAAaI,GAAwB,aAAcF,EAAiB,EACpEF,GAAaI,GAAwB,UAAWD,EAAc,EAK9DL,GAAO,QAAUM,KCjFjB,IAAAC,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAmB9C,SAASC,GAAkBC,EAAQ,CAClC,OACCF,GAAUE,CAAM,GAChBA,EAAQ,CAEV,CAKAH,GAAO,QAAUE,KCnDjB,IAAAE,GAAAC,EAAA,SAAAC,GAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,SAmB9C,SAASC,GAAkBC,EAAQ,CAClC,OACCF,GAAUE,CAAM,GAChBA,EAAM,QAAQ,EAAI,CAEpB,CAKAH,GAAO,QAAUE,KCnDjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAc,KACdC,GAAW,KA+Bf,SAASC,GAAkBC,EAAQ,CAClC,OAASH,GAAaG,CAAM,GAAKF,GAAUE,CAAM,CAClD,CAKAJ,GAAO,QAAUG,KC7DjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAkEA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAO,KACPC,GAAc,KACdC,GAAW,KAKfH,GAAaC,GAAM,cAAeC,EAAY,EAC9CF,GAAaC,GAAM,WAAYE,EAAS,EAKxCJ,GAAO,QAAUE,KChFjB,IAAAG,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAuDA,IAAIC,GAAmB,KACnBC,GAAc,QAAS,uDAAwD,EAC/EC,GAAW,IAKXC,GAAmBD,GAAUF,GAAiB,WAAY,EAC1DI,GAAgBF,GAAUF,GAAiB,QAAS,EAKpDK,GAAwBH,GAAUF,EAAiB,EACvDC,GAAaI,GAAuB,aAAcF,EAAiB,EACnEF,GAAaI,GAAuB,UAAWD,EAAc,EAK7DL,GAAO,QAAUM,KC3EjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAC1CC,GAAO,QAAS,gCAAiC,EAmBrD,SAASC,GAAgBC,EAAQ,CAChC,OACCH,GAAUG,CAAM,GACd,EAAMA,IAAYF,EAEtB,CAKAF,GAAO,QAAUG,KCpDjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,SAC1CC,GAAO,QAAS,gCAAiC,EAmBrD,SAASC,GAAgBC,EAAQ,CAChC,OACCH,GAAUG,CAAM,GACd,EAAMA,EAAM,QAAQ,IAAQF,EAEhC,CAKAF,GAAO,QAAUG,KCpDjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAc,KACdC,GAAW,KAmCf,SAASC,GAAgBC,EAAQ,CAChC,OAASH,GAAaG,CAAM,GAAKF,GAAUE,CAAM,CAClD,CAKAJ,GAAO,QAAUG,KCjEjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAmEA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAO,KACPC,GAAc,KACdC,GAAW,KAKfH,GAAaC,GAAM,cAAeC,EAAY,EAC9CF,GAAaC,GAAM,WAAYE,EAAS,EAKxCJ,GAAO,QAAUE,KCjFjB,IAAAG,GAAAC,EAAA,SAAAC,IAAAC,GAAA,CAAAA,GAAA,SACC,SACA,cACA,SACA,gBACA,UACA,UACA,YACA,SACA,QACA,MACA,SACA,SACA,KACA,OACA,QACA,QACA,cACA,eACA,eACA,iBACA,iBACA,eACA,YACA,SACA,MACA,KACA,OACA,aACA,UACA,WACA,cACA,WACA,OACA,SACA,mBACA,mBACA,iBACA,oBACA,sBACA,eACA,iBACA,MACA,SACA,MACA,cACA,cACA,YACA,MACA,MACA,OACA,KACA,KACA,OACA,qBACA,mBACA,qBACA,qBACA,mBACA,wBACA,qBACA,yBACA,qBACA,gCACA,4BACA,2CACA,wCACD,ICnEA,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAM,QAAS,QAAS,EACxBC,GAAW,IACXC,GAAW,IAA+B,YAC1CC,GAAW,KAKXC,GAAOJ,GAAI,gBAAkBG,GA2BjC,SAASE,GAAeC,EAAI,CAC3B,OAAMJ,GAAUI,CAAE,EAGXL,GAAUG,GAAME,CAAE,EAFjB,EAGT,CAKAP,GAAO,QAAUM,KCnEjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAwCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC7CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAuCA,SAASC,GAAkBC,EAAQ,CAClC,OAECA,IAAU,MACV,OAAOA,GAAU,UAGjB,OAAOA,EAAM,IAAO,YACpB,OAAOA,EAAM,MAAS,YACtB,OAAOA,EAAM,MAAS,YACtB,OAAOA,EAAM,aAAgB,YAC7B,OAAOA,EAAM,gBAAmB,YAChC,OAAOA,EAAM,oBAAuB,YAGpC,OAAOA,EAAM,MAAS,UAExB,CAKAF,GAAO,QAAUC,KC7DjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAwCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC7CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAwBA,IAAIC,GAAmB,KAsBvB,SAASC,GAA0BC,EAAQ,CAC1C,OAECF,GAAkBE,CAAM,GAGxB,OAAOA,EAAM,QAAW,YAGxB,OAAOA,EAAM,gBAAmB,QAElC,CAKAH,GAAO,QAAUE,KC9DjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAwCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC7CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAwBA,IAAIC,GAAmB,KAsBvB,SAASC,GAA0BC,EAAQ,CAC1C,OAECF,GAAkBE,CAAM,GAGxB,OAAOA,EAAM,OAAU,YAGvB,OAAOA,EAAM,gBAAmB,QAElC,CAKAH,GAAO,QAAUE,KC9DjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAwCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC7CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAA2B,KAC3BC,GAA2B,KAsB/B,SAASC,GAAwBC,EAAQ,CACxC,OAECH,GAA0BG,CAAM,GAChCF,GAA0BE,CAAM,CAElC,CAKAJ,GAAO,QAAUG,KCxDjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAwCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC7CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cA4BA,SAASC,IAAS,CACjB,OAAOD,EACR,CAKAA,GAAO,QAAUC,KCnCjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cA4BA,SAASC,IAAa,CACrB,IAAIC,EAAM,IAAI,MACd,OAAOA,EAAI,KACZ,CAKAF,GAAO,QAAUC,KCpCjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAU,IACVC,GAAI,KACJC,GAAa,KAMbC,GAAe,kBAGfC,GAAiB,gBAoBrB,SAASC,IAAa,CACrB,IAAIC,EACAC,EACJ,GAAK,CAACP,GACL,MAAO,GAIR,IADAO,EAAIN,GAAE,EACEM,GAAI,CACX,GAAKJ,GAAa,KAAMI,EAAE,EAAG,EAC5B,MAAO,GAERA,EAAIA,EAAE,MACP,CAGA,OADAD,EAAQJ,GAAW,EACdI,EACGF,GAAe,KAAME,CAAM,EAE5B,EACR,CAKAP,GAAO,QAAUM,KC9EjB,IAAAG,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAkCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCvCjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAwBA,IAAIC,GAAyB,KAsB7B,SAASC,GAA2BC,EAAQ,CAC3C,OAECF,GAAwBE,CAAM,GAG9B,OAAOA,EAAM,YAAe,UAE9B,CAKAH,GAAO,QAAUE,KC3DjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAwCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC7CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAqB,QAAS,mCAAoC,EAgCtE,SAASC,GAA2BC,EAAOC,EAAW,CACrD,IAAIC,EAAOJ,GAAoBE,EAAOC,CAAS,EAC/C,OAASC,IAAS,MAAQA,EAAK,eAAiB,EACjD,CAKAL,GAAO,QAAUE,KC9DjB,IAAAI,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAiDA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCtDjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAuB,QAAS,sCAAuC,EAgC3E,SAASC,GAA6BC,EAAOC,EAAW,CACvD,IAAIC,EAAOJ,GAAsBE,EAAOC,CAAS,EACjD,OAASC,IAAS,MAAQA,EAAK,eAAiB,EACjD,CAKAL,GAAO,QAAUE,KC9DjB,IAAAI,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAiDA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCtDjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAa,IACbC,GAAuB,IAgC3B,SAASC,GAAyBC,EAAOC,EAAW,CACnD,OAAKJ,GAAYG,EAAOC,CAAS,IAAM,GAC/B,GAECH,GAAsBE,EAAOC,CAAS,IAAM,EACtD,CAKAL,GAAO,QAAUG,KCjEjB,IAAAG,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAiDA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCtDjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAuB,QAAS,sCAAuC,EAgC3E,SAASC,GAA2BC,EAAOC,EAAW,CACrD,IAAIC,EAAOJ,GAAsBE,EAAOC,CAAS,EACjD,OAASC,IAAS,MAAQA,EAAK,aAAe,EAC/C,CAKAL,GAAO,QAAUE,KC9DjB,IAAAI,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAiDA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCtDjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAuDA,IAAIC,GAAuB,IACvBC,GAAc,QAAS,uDAAwD,EAC/EC,GAAW,IAKXC,GAAmBD,GAAUF,GAAqB,WAAY,EAC9DI,GAAgBF,GAAUF,GAAqB,QAAS,EAKxDK,GAA4BH,GAAUF,EAAqB,EAC/DC,GAAaI,GAA2B,aAAcF,EAAiB,EACvEF,GAAaI,GAA2B,UAAWD,EAAc,EAKjEL,GAAO,QAAUM,KC3EjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAmB9C,SAASC,GAAqBC,EAAQ,CACrC,OACCF,GAAUE,CAAM,GAChBA,GAAS,CAEX,CAKAH,GAAO,QAAUE,KCnDjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,SAmB9C,SAASC,GAAqBC,EAAQ,CACrC,OACCF,GAAUE,CAAM,GAChBA,EAAM,QAAQ,GAAK,CAErB,CAKAH,GAAO,QAAUE,KCnDjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAc,KACdC,GAAW,KA+Bf,SAASC,GAAqBC,EAAQ,CACrC,OAASH,GAAaG,CAAM,GAAKF,GAAUE,CAAM,CAClD,CAKAJ,GAAO,QAAUG,KC7DjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAgEA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAO,KACPC,GAAc,KACdC,GAAW,KAKfH,GAAaC,GAAM,cAAeC,EAAY,EAC9CF,GAAaC,GAAM,WAAYE,EAAS,EAKxCJ,GAAO,QAAUE,KC9EjB,IAAAG,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAuDA,IAAIC,GAAsB,KACtBC,GAAc,QAAS,uDAAwD,EAC/EC,GAAW,IAKXC,GAAmBD,GAAUF,GAAoB,WAAY,EAC7DI,GAAgBF,GAAUF,GAAoB,QAAS,EAKvDK,GAA2BH,GAAUF,EAAoB,EAC7DC,GAAaI,GAA0B,aAAcF,EAAiB,EACtEF,GAAaI,GAA0B,UAAWD,EAAc,EAKhEL,GAAO,QAAUM,KC3EjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAY,IAAgC,YAmBhD,SAASC,GAAsBC,EAAQ,CACtC,OACCF,GAAWE,CAAM,GACjBA,GAAS,CAEX,CAKAH,GAAO,QAAUE,KCnDjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAY,IAAgC,SAmBhD,SAASC,GAAsBC,EAAQ,CACtC,OACCF,GAAWE,CAAM,GACjBA,EAAM,QAAQ,GAAK,CAErB,CAKAH,GAAO,QAAUE,KCnDjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAc,KACdC,GAAW,KA+Bf,SAASC,GAAsBC,EAAQ,CACtC,OAASH,GAAaG,CAAM,GAAKF,GAAUE,CAAM,CAClD,CAKAJ,GAAO,QAAUG,KC7DjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAgEA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAO,KACPC,GAAc,KACdC,GAAW,KAKfH,GAAaC,GAAM,cAAeC,EAAY,EAC9CF,GAAaC,GAAM,WAAYE,EAAS,EAKxCJ,GAAO,QAAUE,KC9EjB,IAAAG,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAuDA,IAAIC,GAAuB,KACvBC,GAAc,QAAS,uDAAwD,EAC/EC,GAAW,IAKXC,GAAmBD,GAAUF,GAAqB,WAAY,EAC9DI,GAAgBF,GAAUF,GAAqB,QAAS,EAKxDK,GAA4BH,GAAUF,EAAqB,EAC/DC,GAAaI,GAA2B,aAAcF,EAAiB,EACvEF,GAAaI,GAA2B,UAAWD,EAAc,EAKjEL,GAAO,QAAUM,KC3EjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAmB9C,SAASC,GAAqBC,EAAQ,CACrC,OACCF,GAAUE,CAAM,GAChBA,GAAS,CAEX,CAKAH,GAAO,QAAUE,KCnDjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,SAmB9C,SAASC,GAAqBC,EAAQ,CACrC,OACCF,GAAUE,CAAM,GAChBA,EAAM,QAAQ,GAAK,CAErB,CAKAH,GAAO,QAAUE,KCnDjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAc,KACdC,GAAW,KA+Bf,SAASC,GAAqBC,EAAQ,CACrC,OAASH,GAAaG,CAAM,GAAKF,GAAUE,CAAM,CAClD,CAKAJ,GAAO,QAAUG,KC7DjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAgEA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAO,KACPC,GAAc,KACdC,GAAW,KAKfH,GAAaC,GAAM,cAAeC,EAAY,EAC9CF,GAAaC,GAAM,WAAYE,EAAS,EAKxCJ,GAAO,QAAUE,KC9EjB,IAAAG,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAuDA,IAAIC,GAAsB,KACtBC,GAAc,QAAS,uDAAwD,EAC/EC,GAAW,IAKXC,GAAmBD,GAAUF,GAAoB,WAAY,EAC7DI,GAAgBF,GAAUF,GAAoB,QAAS,EAKvDK,GAA2BH,GAAUF,EAAoB,EAC7DC,GAAaI,GAA0B,aAAcF,EAAiB,EACtEF,GAAaI,GAA0B,UAAWD,EAAc,EAKhEL,GAAO,QAAUM,KC3EjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAe,IA0BnB,SAASC,GAAsBC,EAAI,CAClC,IAAIC,EACAC,EACAC,EACJ,GAAK,CAACL,GAAcE,CAAE,EACrB,MAAO,GAGR,GADAC,EAAID,EAAE,MAAO,CAAE,EACVC,IAAMD,EAAE,MAAO,CAAE,EACrB,MAAO,GAER,IAAME,EAAI,EAAGA,EAAID,EAAGC,IACnB,IAAMC,EAAI,EAAGA,EAAID,EAAGC,IACnB,GAAKH,EAAE,IAAKE,EAAGC,CAAE,IAAMH,EAAE,IAAKG,EAAGD,CAAE,EAClC,MAAO,GAIV,MAAO,EACR,CAKAL,GAAO,QAAUE,KCxEjB,IAAAK,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAuCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC5CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAiCA,SAASC,GAAQC,EAAQ,CACxB,OAAOA,IAAU,IAClB,CAKAF,GAAO,QAAUC,KCxCjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAoCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCzCjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAW,IACXC,GAAS,KAoBTC,GAAcF,GAAUC,EAAO,EAKnCF,GAAO,QAAUG,KChDjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAuDA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAW,IACXC,GAAW,IAKXC,GAAmBF,GAAUC,GAAS,WAAY,EAClDE,GAAgBH,GAAUC,GAAS,QAAS,EAK5CG,GAAgBJ,GAAUC,EAAS,EACvCF,GAAaK,GAAe,aAAcF,EAAiB,EAC3DH,GAAaK,GAAe,UAAWD,EAAc,EAKrDL,GAAO,QAAUM,KC3EjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAe,IACfC,GAAgB,KAAqC,WACrDC,GAAW,IAqBf,SAASC,GAAgBC,EAAI,CAC5B,MACC,CAACF,GAAUE,CAAE,IACZJ,GAAcI,CAAE,GAAKH,GAAeG,CAAE,EAEzC,CAKAL,GAAO,QAAUI,KCvDjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAwCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC7CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAW,IACXC,GAAW,IAuBXC,GAAgBF,GAAUC,EAAS,EAKvCF,GAAO,QAAUG,KCnDjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAwCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC7CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAY,IAAgC,YAC5CC,GAAS,KAA6B,YAmB1C,SAASC,GAAOC,EAAQ,CACvB,OAAMH,GAAWG,CAAM,EAIlBA,EAAQ,EACLF,GAAQE,EAAM,CAAI,EAEnBF,GAAQE,EAAM,CAAI,EANjB,EAOT,CAKAJ,GAAO,QAAUG,KCxDjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAY,IAAgC,SAC5CC,GAAS,KAA6B,YAmB1C,SAASC,GAAOC,EAAQ,CACvB,OAAMH,GAAWG,CAAM,EAIlBA,EAAQ,EACLF,GAAQE,EAAM,CAAI,EAEnBF,GAAQE,EAAM,CAAI,EANjB,EAOT,CAKAJ,GAAO,QAAUG,KCxDjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAc,KACdC,GAAW,KAmCf,SAASC,GAAOC,EAAQ,CACvB,OAASH,GAAaG,CAAM,GAAKF,GAAUE,CAAM,CAClD,CAKAJ,GAAO,QAAUG,KCjEjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAmEA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAO,KACPC,GAAc,KACdC,GAAW,KAKfH,GAAaC,GAAM,cAAeC,EAAY,EAC9CF,GAAaC,GAAM,WAAYE,EAAS,EAKxCJ,GAAO,QAAUE,KCjFjB,IAAAG,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAC1CC,GAAa,QAAS,gCAAiC,EA2B3D,SAASC,GAAcC,EAAQ,CAC9B,OAASH,GAAUG,CAAM,GAAKF,GAAYE,CAAM,IAAMA,CACvD,CAKAJ,GAAO,QAAUG,KCzDjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAiB,IA0BrB,SAASC,GAAsBC,EAAI,CAClC,IAAIC,EACAC,EACAC,EACAC,EACJ,GAAK,CAACN,GAAgBE,CAAE,EACvB,MAAO,GAGR,IADAC,EAAID,EAAE,MAAO,CAAE,EAAI,EACbG,EAAI,EAAGA,EAAIF,EAAGE,IAEnB,IADAD,EAAID,EAAIE,EACFC,EAAI,EAAGA,EAAIF,EAAGE,IACnB,GAAKJ,EAAE,IAAKG,EAAGC,CAAE,IAAMJ,EAAE,IAAKC,EAAEG,EAAGF,CAAE,EACpC,MAAO,GAIV,MAAO,EACR,CAKAL,GAAO,QAAUE,KCvEjB,IAAAM,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAuCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC5CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAW,IACXC,GAAgB,IAuBhBC,GAAqBF,GAAUC,EAAc,EAKjDF,GAAO,QAAUG,KCnDjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAwCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC7CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAY,IAAgC,YAmBhD,SAASC,GAAmBC,EAAQ,CACnC,OACCF,GAAWE,CAAM,GACjBA,EAAQ,CAEV,CAKAH,GAAO,QAAUE,KCnDjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAY,IAAgC,SAmBhD,SAASC,GAAmBC,EAAQ,CACnC,OACCF,GAAWE,CAAM,GACjBA,EAAM,QAAQ,EAAI,CAEpB,CAKAH,GAAO,QAAUE,KCnDjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAc,KACdC,GAAW,KAmCf,SAASC,GAAmBC,EAAQ,CACnC,OAASH,GAAaG,CAAM,GAAKF,GAAUE,CAAM,CAClD,CAKAJ,GAAO,QAAUG,KCjEjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAgEA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAO,KACPC,GAAc,KACdC,GAAW,KAKfH,GAAaC,GAAM,cAAeC,EAAY,EAC9CF,GAAaC,GAAM,WAAYE,EAAS,EAKxCJ,GAAO,QAAUE,KC9EjB,IAAAG,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAuDA,IAAIC,GAAoB,KACpBC,GAAc,QAAS,uDAAwD,EAC/EC,GAAW,IAKXC,GAAmBD,GAAUF,GAAkB,WAAY,EAC3DI,GAAgBF,GAAUF,GAAkB,QAAS,EAKrDK,GAAyBH,GAAUF,EAAkB,EACzDC,GAAaI,GAAwB,aAAcF,EAAiB,EACpEF,GAAaI,GAAwB,UAAWD,EAAc,EAK9DL,GAAO,QAAUM,KC3EjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAmB9C,SAASC,GAAkBC,EAAQ,CAClC,OACCF,GAAUE,CAAM,GAChBA,EAAQ,CAEV,CAKAH,GAAO,QAAUE,KCnDjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,SAmB9C,SAASC,GAAkBC,EAAQ,CAClC,OACCF,GAAUE,CAAM,GAChBA,EAAM,QAAQ,EAAI,CAEpB,CAKAH,GAAO,QAAUE,KCnDjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAc,KACdC,GAAW,KA+Bf,SAASC,GAAkBC,EAAQ,CAClC,OAASH,GAAaG,CAAM,GAAKF,GAAUE,CAAM,CAClD,CAKAJ,GAAO,QAAUG,KC7DjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAgEA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAO,KACPC,GAAc,KACdC,GAAW,KAKfH,GAAaC,GAAM,cAAeC,EAAY,EAC9CF,GAAaC,GAAM,WAAYE,EAAS,EAKxCJ,GAAO,QAAUE,KC9EjB,IAAAG,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAuDA,IAAIC,GAAmB,KACnBC,GAAc,QAAS,uDAAwD,EAC/EC,GAAW,IAKXC,GAAmBD,GAAUF,GAAiB,WAAY,EAC1DI,GAAgBF,GAAUF,GAAiB,QAAS,EAKpDK,GAAwBH,GAAUF,EAAiB,EACvDC,GAAaI,GAAuB,aAAcF,EAAiB,EACnEF,GAAaI,GAAuB,UAAWD,EAAc,EAK7DL,GAAO,QAAUM,KC3EjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAC1CC,GAAO,QAAS,gCAAiC,EAmBrD,SAASC,GAAgBC,EAAQ,CAChC,OACCH,GAAUG,CAAM,GACd,EAAMA,IAAYF,EAEtB,CAKAF,GAAO,QAAUG,KCpDjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,SAC1CC,GAAO,QAAS,gCAAiC,EAmBrD,SAASC,GAAgBC,EAAQ,CAChC,OACCH,GAAUG,CAAM,GACd,EAAMA,EAAM,QAAQ,IAAQF,EAEhC,CAKAF,GAAO,QAAUG,KCpDjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAc,KACdC,GAAW,KAmCf,SAASC,GAAgBC,EAAQ,CAChC,OAASH,GAAaG,CAAM,GAAKF,GAAUE,CAAM,CAClD,CAKAJ,GAAO,QAAUG,KCjEjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAmEA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAO,KACPC,GAAc,KACdC,GAAW,KAKfH,GAAaC,GAAM,cAAeC,EAAY,EAC9CF,GAAaC,GAAM,WAAYE,EAAS,EAKxCJ,GAAO,QAAUE,KCjFjB,IAAAG,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAC1CC,GAAU,QAAS,mCAAoC,EAmB3D,SAASC,GAASC,EAAQ,CACzB,OAAMH,GAAUG,CAAM,EAGfF,GAASE,CAAM,EAFd,EAGT,CAKAJ,GAAO,QAAUG,KCpDjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,SAC1CC,GAAU,QAAS,mCAAoC,EAmB3D,SAASC,GAASC,EAAQ,CACzB,OAAMH,GAAUG,CAAM,EAGfF,GAASE,EAAM,QAAQ,CAAE,EAFxB,EAGT,CAKAJ,GAAO,QAAUG,KCpDjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAc,KACdC,GAAW,KA+Bf,SAASC,GAASC,EAAQ,CACzB,OAASH,GAAaG,CAAM,GAAKF,GAAUE,CAAM,CAClD,CAKAJ,GAAO,QAAUG,KC7DjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAgEA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAO,KACPC,GAAc,KACdC,GAAW,KAKfH,GAAaC,GAAM,cAAeC,EAAY,EAC9CF,GAAaC,GAAM,WAAYE,EAAS,EAKxCJ,GAAO,QAAUE,KC9EjB,IAAAG,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAW,IACXC,GAAc,KAuBdC,GAAmBF,GAAUC,EAAY,EAK7CF,GAAO,QAAUG,KCnDjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAwCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC7CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAa,IACbC,GAAa,IAoBjB,SAASC,GAAYC,EAAI,CACxB,OACCH,GAAYG,CAAE,GACd,OAAOA,EAAE,MAAS,UAClBF,GAAYE,EAAG,OAAQ,GACvBF,GAAYE,EAAG,MAAO,CAExB,CAKAJ,GAAO,QAAUG,KCvDjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC3CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAmB9C,SAASC,GAAeC,EAAQ,CAC/B,OACCF,GAAUE,CAAM,GAChBA,GAAS,GACTA,GAAS,CAEX,CAKAH,GAAO,QAAUE,KCpDjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,SAmB9C,SAASC,GAAeC,EAAQ,CAC/B,OACCF,GAAUE,CAAM,GAChBA,EAAM,QAAQ,GAAK,GACnBA,EAAM,QAAQ,GAAK,CAErB,CAKAH,GAAO,QAAUE,KCpDjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAc,KACdC,GAAW,KA+Bf,SAASC,GAAeC,EAAQ,CAC/B,OAASH,GAAaG,CAAM,GAAKF,GAAUE,CAAM,CAClD,CAKAJ,GAAO,QAAUG,KC7DjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAgEA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAO,KACPC,GAAc,KACdC,GAAW,KAKfH,GAAaC,GAAM,cAAeC,EAAY,EAC9CF,GAAaC,GAAM,WAAYE,EAAS,EAKxCJ,GAAO,QAAUE,KC9EjB,IAAAG,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cA0DA,IAAIC,GAAgB,KAChBC,GAAc,QAAS,uDAAwD,EAC/EC,GAAW,IAKXC,GAAmBD,GAAUF,GAAc,WAAY,EACvDI,GAAgBF,GAAUF,GAAc,QAAS,EAKjDK,GAAqBH,GAAUF,EAAc,EACjDC,GAAaI,GAAoB,aAAcF,EAAiB,EAChEF,GAAaI,GAAoB,UAAWD,EAAc,EAK1DL,GAAO,QAAUM,KC9EjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAC1CC,GAAW,IAA+B,YAC1CC,GAAuB,IAA4C,YA+BvE,SAASC,GAAeC,EAAQ,CAC/B,OACCJ,GAAUI,CAAM,GAChBH,GAAUG,CAAM,GAChBF,GAAsBE,CAAM,CAE9B,CAKAL,GAAO,QAAUI,KClEjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAY,OAAO,UAAU,cAC7BC,GAAS,QAAS,uBAAwB,EA8B9C,SAASC,GAAeC,EAAOC,EAAQ,CACtC,IAAIC,EAAO,OAAOD,EAClB,GACCA,IAAU,MACTC,IAAS,UAAYA,IAAS,WAE/B,MAAM,IAAI,UAAWJ,GAAQ,uGAAwGG,CAAM,CAAE,EAG9I,OADAC,EAAO,OAAOF,EAEbA,IAAU,MACTE,IAAS,UAAYA,IAAS,WAExB,GAEDL,GAAU,KAAMI,EAAOD,CAAM,CACrC,CAKAJ,GAAO,QAAUG,KC1EjB,IAAAI,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cA8CA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCnDjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAiB,QAAS,gCAAiC,EAC3DC,GAAS,QAAS,uBAAwB,EAC1CC,GAAU,IAmBd,SAASC,GAAcC,EAAQ,CAC9B,GAAK,OAAOA,GAAU,UAAYA,IAAU,KAC3C,MAAO,GAGR,GAAKA,aAAiB,WACrB,MAAO,GAGR,GAAKF,GAASE,CAAM,EAEnB,KAAQA,GAAQ,CACf,GAAKH,GAAQG,CAAM,IAAM,aACxB,MAAO,GAERA,EAAQJ,GAAgBI,CAAM,CAC/B,CAED,MAAO,EACR,CAKAL,GAAO,QAAUI,KCnEjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAqB,QAAS,mCAAoC,EAgCtE,SAASC,GAAoBC,EAAOC,EAAW,CAC9C,IAAIC,EAAOJ,GAAoBE,EAAOC,CAAS,EAC/C,OACCC,IAAS,MACTA,EAAK,eAAiB,KAGrBA,EAAK,WAAa,IAIjB,OAAOA,EAAK,KAAQ,YACpBA,EAAK,MAAQ,OAIjB,CAKAL,GAAO,QAAUE,KC3EjB,IAAAI,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAiDA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCtDjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAuB,QAAS,sCAAuC,EAgC3E,SAASC,GAAsBC,EAAOC,EAAW,CAChD,IAAIC,EAAOJ,GAAsBE,EAAOC,CAAS,EACjD,OACCC,IAAS,MACTA,EAAK,eAAiB,KAGrBA,EAAK,WAAa,IAIjB,OAAOA,EAAK,KAAQ,YACpBA,EAAK,MAAQ,OAIjB,CAKAL,GAAO,QAAUE,KC3EjB,IAAAI,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAiDA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCtDjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAqB,QAAS,mCAAoC,EAmCtE,SAASC,GAAqBC,EAAOC,EAAW,CAC/C,IAAIC,EAAOJ,GAAoBE,EAAOC,CAAS,EAC/C,OACCC,IAAS,OAGRA,EAAK,WAAa,IAIjB,OAAOA,EAAK,KAAQ,YACpB,OAAOA,EAAK,KAAQ,WAIxB,CAKAL,GAAO,QAAUE,KC7EjB,IAAAI,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAoDA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCzDjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAuB,QAAS,sCAAuC,EAmC3E,SAASC,GAAuBC,EAAOC,EAAW,CACjD,IAAIC,EAAOJ,GAAsBE,EAAOC,CAAS,EACjD,OACCC,IAAS,OAGRA,EAAK,WAAa,IAIjB,OAAOA,EAAK,KAAQ,YACpB,OAAOA,EAAK,KAAQ,WAIxB,CAKAL,GAAO,QAAUE,KC7EjB,IAAAI,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAoDA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCzDjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAqB,QAAS,mCAAoC,EAmCtE,SAASC,GAAoBC,EAAOC,EAAW,CAC9C,IAAIC,EAAOJ,GAAoBE,EAAOC,CAAS,EAC/C,OACCC,IAAS,OAERA,EAAK,WAAa,QAClB,OAAOA,EAAK,KAAQ,WAGvB,CAKAL,GAAO,QAAUE,KCvEjB,IAAAI,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAoDA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCzDjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAuB,QAAS,sCAAuC,EAmC3E,SAASC,GAAsBC,EAAOC,EAAW,CAChD,IAAIC,EAAOJ,GAAsBE,EAAOC,CAAS,EACjD,OACCC,IAAS,OAERA,EAAK,WAAa,QAClB,OAAOA,EAAK,KAAQ,WAGvB,CAKAL,GAAO,QAAUE,KCvEjB,IAAAI,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAoDA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCzDjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAiB,QAAS,gCAAiC,EAC3DC,GAAS,QAAS,uBAAwB,EAC1CC,GAAU,IAmBd,SAASC,GAAkBC,EAAQ,CAClC,GAAK,OAAOA,GAAU,UAAYA,IAAU,KAC3C,MAAO,GAGR,GAAKA,aAAiB,eACrB,MAAO,GAGR,GAAKF,GAASE,CAAM,EAEnB,KAAQA,GAAQ,CACf,GAAKH,GAAQG,CAAM,IAAM,iBACxB,MAAO,GAERA,EAAQJ,GAAgBI,CAAM,CAC/B,CAED,MAAO,EACR,CAKAL,GAAO,QAAUI,KCnEjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAC1CC,GAAK,QAAS,uBAAwB,EAAE,OA+B5C,SAASC,GAAgBC,EAAQ,CAChC,OAAOH,GAAUG,CAAM,GAAKF,GAAG,KAAME,CAAM,CAC5C,CAKAJ,GAAO,QAAUG,KC7DjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cA2CA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KChDjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAC1CC,GAAiB,IAAsC,MAmB3D,SAASC,GAAgBC,EAAQ,CAChC,OACCH,GAAUG,CAAM,GAChB,CAACF,GAAgBE,CAAM,CAEzB,CAKAJ,GAAO,QAAUG,KCpDjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAC1CC,GAAiB,IAAsC,MAmB3D,SAASC,GAAgBC,EAAQ,CAChC,OACCH,GAAUG,CAAM,GAChB,CAACF,GAAgBE,CAAM,CAEzB,CAKAJ,GAAO,QAAUG,KCpDjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cA+CA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAa,IACbC,GAAsB,KACtBC,GAAsB,KAKtBC,EACCH,GACJG,EAAiBD,GAEjBC,EAAiBF,GAElBF,GAAaI,EAAgB,QAASF,EAAoB,EAC1DF,GAAaI,EAAgB,QAASD,EAAoB,EAK1DJ,GAAO,QAAUK,ICnEjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAuD1CC,GAAS,mEAGTC,GAAc,wCAGdC,GAAU,cACVC,GAAU,4BAGVC,GAAU,QAGVC,GAAY,uBA2BhB,SAASC,GAAeC,EAAQ,CAC/B,IAAIC,EACAC,EACAC,EACAC,EASJ,MARK,CAACZ,GAAUQ,CAAM,GAIjBN,GAAY,KAAMM,CAAM,GAK5BL,GAAQ,KAAMK,CAAM,GACpBJ,GAAQ,KAAMI,CAAM,EAEb,IAGRG,EAAQH,EAAM,MAAOP,EAAO,EAC5BS,EAASC,EAAO,CAAE,EAClBF,EAAYE,EAAO,CAAE,EACrBC,EAAOD,EAAO,CAAE,EAGf,IAACD,GACD,CAACA,EAAO,QACR,CAACJ,GAAU,KAAMI,EAAO,YAAY,CAAE,GAKtC,CAACD,GACDJ,GAAQ,KAAMO,CAAK,GAKrB,CAKAb,GAAO,QAAUQ,KCjKjB,IAAAM,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAC1CC,GAAY,QAAS,0CAA2C,EAmBpE,SAASC,GAAeC,EAAQ,CAC/B,OACCH,GAAUG,CAAM,GAChBF,GAAWE,CAAM,CAEnB,CAKAJ,GAAO,QAAUG,KCpDjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,SAC1CC,GAAY,QAAS,0CAA2C,EAmBpE,SAASC,GAAeC,EAAQ,CAC/B,OACCH,GAAUG,CAAM,GAChBF,GAAWE,EAAM,QAAQ,CAAE,CAE7B,CAKAJ,GAAO,QAAUG,KCpDjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAc,KACdC,GAAW,KA+Bf,SAASC,GAAeC,EAAQ,CAC/B,OAASH,GAAaG,CAAM,GAAKF,GAAUE,CAAM,CAClD,CAKAJ,GAAO,QAAUG,KC7DjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAgEA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAO,KACPC,GAAc,KACdC,GAAW,KAKfH,GAAaC,GAAM,cAAeC,EAAY,EAC9CF,GAAaC,GAAM,WAAYE,EAAS,EAKxCJ,GAAO,QAAUE,KC9EjB,IAAAG,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cA6DA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAW,IACXC,GAAgB,KAKhBC,GAAmBF,GAAUC,GAAc,WAAY,EACvDE,GAAgBH,GAAUC,GAAc,QAAS,EAKjDG,GAAqBJ,GAAUC,EAAc,EACjDF,GAAaK,GAAoB,aAAcF,EAAiB,EAChEH,GAAaK,GAAoB,UAAWD,EAAc,EAK1DL,GAAO,QAAUM,KCjFjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAiB,IACjBC,GAAgB,QAAS,2CAA4C,EA8BzE,SAASC,GAAoBC,EAAIC,EAAK,CACrC,OAAKJ,GAAgBG,CAAG,GAAKH,GAAgBI,CAAG,EACxCH,GAAeE,EAAIC,CAAG,EAEvB,EACR,CAKAL,GAAO,QAAUG,KC/DjB,IAAAG,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAgDA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCrDjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAc,QAAS,4BAA6B,EAwBxD,SAASC,GAAmBC,EAAGC,EAAI,CAClC,OAASH,GAAaE,CAAE,IAAMF,GAAaG,CAAE,CAC9C,CAKAJ,GAAO,QAAUE,KCrDjB,IAAAG,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAqDA,SAASC,GAAYC,EAAGC,EAAI,CAC3B,OAAS,OAAOD,GAAU,OAAOC,CAClC,CAKAH,GAAO,QAAUC,KC5DjB,IAAAG,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cA8CA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCnDjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAqB,QAAS,2CAA4C,EAC1EC,GAAgB,KA+CpB,SAASC,GAAaC,EAAGC,EAAI,CAC5B,OAAKD,IAAMC,EACLD,IAAM,EACH,EAAMA,IAAM,EAAMC,EAEnB,GAEHD,IAAMA,GAAKC,IAAMA,EACd,GAEHH,GAAeE,CAAE,GAAKF,GAAeG,CAAE,EACpCJ,GAAoBG,EAAGC,CAAE,EAE1B,EACR,CAKAL,GAAO,QAAUG,KCzFjB,IAAAG,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAoDA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCzDjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAyB,QAAS,gDAAiD,EACnFC,GAAgB,KA6CpB,SAASC,GAAiBC,EAAGC,EAAI,CAChC,OAAOD,IAAMC,GAASD,IAAMA,GAAKC,IAAMA,EAC/B,GAEHH,GAAeE,CAAE,GAAKF,GAAeG,CAAE,EACpCJ,GAAwBG,EAAGC,CAAE,EAE9B,EACR,CAKAL,GAAO,QAAUG,KCjFjB,IAAAG,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAoDA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCzDjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAC1CC,GAAY,QAAS,uBAAwB,EAAE,OA2BnD,SAASC,GAAUC,EAAQ,CAC1B,OAASH,GAAUG,CAAM,GAAKF,GAAU,KAAME,CAAM,CACrD,CAKAJ,GAAO,QAAUG,KCzDjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAiB,IACjBC,GAAQ,QAAS,iCAAkC,EACnDC,GAAQ,QAAS,iCAAkC,EA0BvD,SAASC,GAA6BC,EAAI,CACzC,IAAIC,EACAC,EACAC,EACA,EACAC,EACAC,EACJ,GAAK,CAACT,GAAgBI,CAAE,EACvB,MAAO,GAKR,IAHAE,EAAIF,EAAE,MAAO,CAAE,EACfG,EAAIN,GAAOK,EAAE,CAAI,EACjBD,EAAKC,EAAI,EACHE,EAAI,EAAGA,EAAID,EAAGC,IAEnB,IADA,EAAIH,EAAKG,EACHC,EAAI,EAAGA,EAAIH,EAAGG,IACnB,GAAKL,EAAE,IAAKI,EAAGC,CAAE,IAAM,CAACL,EAAE,IAAK,EAAGC,EAAGI,CAAE,EACtC,MAAO,GAIV,GAAKP,GAAOI,CAAE,GAEb,IAAMG,EAAI,EAAGA,GAAKF,EAAGE,IACpB,GAAKL,EAAE,IAAKI,EAAGC,CAAE,IAAM,CAACL,EAAE,IAAKG,EAAGF,EAAGI,CAAE,EACtC,MAAO,GAIV,MAAO,EACR,CAKAV,GAAO,QAAUI,KCrFjB,IAAAO,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAuCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC5CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAiB,IA0BrB,SAASC,GAA0BC,EAAI,CACtC,IAAIC,EACAC,EACAC,EACAC,EACJ,GAAK,CAACN,GAAgBE,CAAE,EACvB,MAAO,GAGR,IADAC,EAAID,EAAE,MAAO,CAAE,EAAI,EACbG,EAAI,EAAGA,EAAIF,EAAGE,IAEnB,IADAD,EAAID,EAAIE,EACFC,EAAI,EAAGA,GAAKF,EAAGE,IACpB,GAAKJ,EAAE,IAAKG,EAAGC,CAAE,IAAM,CAACJ,EAAE,IAAKC,EAAEG,EAAGF,CAAE,EACrC,MAAO,GAIV,MAAO,EACR,CAKAL,GAAO,QAAUE,KCvEjB,IAAAM,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAuCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC5CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAiB,IA0BrB,SAASC,GAAuBC,EAAI,CACnC,IAAIC,EACAC,EACAC,EACJ,GAAK,CAACL,GAAgBE,CAAE,EACvB,MAAO,GAGR,IADAC,EAAID,EAAE,MAAO,CAAE,EACTE,EAAI,EAAGA,EAAID,EAAGC,IACnB,IAAMC,EAAI,EAAGA,GAAKD,EAAGC,IACpB,GAAKH,EAAE,IAAKE,EAAGC,CAAE,IAAM,CAACH,EAAE,IAAKG,EAAGD,CAAE,EACnC,MAAO,GAIV,MAAO,EACR,CAKAL,GAAO,QAAUE,KCrEjB,IAAAK,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAuCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC5CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAQ,QAAS,oBAAqB,EACtCC,GAAkB,QAAS,gCAAiC,EAmBhE,SAASC,GAASC,EAAQ,CACzB,OACCA,aAAiBH,IACjBC,GAAiBE,CAAM,IAAM,OAE/B,CAKAJ,GAAO,QAAUG,KCpDjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAC1CC,GAAY,QAAS,+BAAgC,EA+BzD,SAASC,GAAaC,EAAQ,CAC7B,OAASH,GAAUG,CAAM,GAAKF,GAAWE,CAAM,IAAMA,CACtD,CAKAJ,GAAO,QAAUG,KC7DjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAY,IAAgC,YAC5CC,GAAO,QAAS,gCAAiC,EACjDC,GAAQ,QAAS,iCAAkC,EAmBvD,SAASC,GAAgBC,EAAQ,CAChC,IAAIC,EACJ,OAAML,GAAWI,CAAM,GAGvBC,EAAIH,GAAOD,GAAMG,CAAM,EAAI,EAAI,EACxBC,EAAEA,IAAMD,GAHP,EAIT,CAKAL,GAAO,QAAUI,KCvDjB,IAAAG,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAY,IAAgC,SAC5CC,GAAO,QAAS,gCAAiC,EACjDC,GAAQ,QAAS,iCAAkC,EAmBvD,SAASC,GAAgBC,EAAQ,CAChC,IAAIC,EACAC,EACJ,OAAMN,GAAWI,CAAM,GAGvBE,EAAIF,EAAM,QAAQ,EAClBC,EAAIH,GAAOD,GAAMK,CAAE,EAAI,EAAI,EACpBD,EAAEA,IAAMC,GAJP,EAKT,CAKAP,GAAO,QAAUI,KCzDjB,IAAAI,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAc,KACdC,GAAW,KA+Bf,SAASC,GAAgBC,EAAQ,CAChC,OAASH,GAAaG,CAAM,GAAKF,GAAUE,CAAM,CAClD,CAKAJ,GAAO,QAAUG,KC7DjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAgEA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAO,KACPC,GAAc,KACdC,GAAW,KAKfH,GAAaC,GAAM,cAAeC,EAAY,EAC9CF,GAAaC,GAAM,WAAYE,EAAS,EAKxCJ,GAAO,QAAUE,KC9EjB,IAAAG,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAY,IAAgC,YAC5CC,GAAO,QAAS,gCAAiC,EACjDC,GAAQ,QAAS,iCAAkC,EAuBvD,SAASC,GAA0BC,EAAQ,CAC1C,IAAIC,EACAC,EAMJ,MALK,CAACN,GAAWI,CAAM,IAIvBC,EAAIH,GAAOD,GAAMG,CAAM,EAAI,EAAI,EAC1BC,EAAEA,IAAMD,GACL,IAGRE,EAAM,EAAIF,EAAU,EACpBC,EAAIH,GAAOD,GAAMK,CAAE,EAAI,EAAI,EACpBD,EAAEA,IAAMC,EAChB,CAKAP,GAAO,QAAUI,KCnEjB,IAAAI,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAY,IAAgC,SAC5CC,GAAO,QAAS,gCAAiC,EACjDC,GAAQ,QAAS,iCAAkC,EAuBvD,SAASC,GAA0BC,EAAQ,CAC1C,IAAIC,EACAC,EAOJ,MANK,CAACN,GAAWI,CAAM,IAIvBE,EAAIF,EAAM,QAAQ,EAClBC,EAAIH,GAAOD,GAAMK,CAAE,EAAI,EAAI,EACtBD,EAAEA,IAAMC,GACL,IAGRA,EAAM,EAAIA,EAAM,EAChBD,EAAIH,GAAOD,GAAMK,CAAE,EAAI,EAAI,EACpBD,EAAEA,IAAMC,EAChB,CAKAP,GAAO,QAAUI,KCpEjB,IAAAI,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAc,KACdC,GAAW,KAmCf,SAASC,GAA0BC,EAAQ,CAC1C,OAASH,GAAaG,CAAM,GAAKF,GAAUE,CAAM,CAClD,CAKAJ,GAAO,QAAUG,KCjEjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAgEA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAO,KACPC,GAAc,KACdC,GAAW,KAKfH,GAAaC,GAAM,cAAeC,EAAY,EAC9CF,GAAaC,GAAM,WAAYE,EAAS,EAKxCJ,GAAO,QAAUE,KC9EjB,IAAAG,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAC1CC,GAAY,QAAS,+BAAgC,EAqBzD,SAASC,GAAaC,EAAQ,CAC7B,OAASH,GAAUG,CAAM,GAAKF,GAAWE,CAAM,IAAMA,CACtD,CAKAJ,GAAO,QAAUG,KCnDjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cA6DA,SAASC,GAAeC,EAAGC,EAAI,CAC9B,OAAKD,IAAMC,EACLD,IAAM,EACH,EAAMA,IAAM,EAAMC,EAEnB,GAED,EACR,CAKAH,GAAO,QAAUC,KC1EjB,IAAAG,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAoDA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCzDjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAuDA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAW,IACXC,GAAW,IAKXC,GAAmBF,GAAUC,GAAS,WAAY,EAClDE,GAAgBH,GAAUC,GAAS,QAAS,EAK5CG,GAAgBJ,GAAUC,EAAS,EACvCF,GAAaK,GAAe,aAAcF,EAAiB,EAC3DH,GAAaK,GAAe,UAAWD,EAAc,EAKrDL,GAAO,QAAUM,KC3EjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAuDA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAW,IACXC,GAAW,IAKXC,GAAmBF,GAAUC,GAAS,WAAY,EAClDE,GAAgBH,GAAUC,GAAS,QAAS,EAK5CG,GAAgBJ,GAAUC,EAAS,EACvCF,GAAaK,GAAe,aAAcF,EAAiB,EAC3DH,GAAaK,GAAe,UAAWD,EAAc,EAKrDL,GAAO,QAAUM,KC3EjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAiB,IA0BrB,SAASC,GAAmBC,EAAI,CAC/B,IAAIC,EACAC,EACAC,EACJ,GAAK,CAACL,GAAgBE,CAAE,EACvB,MAAO,GAGR,IADAC,EAAID,EAAE,MAAO,CAAE,EACTE,EAAI,EAAGA,EAAID,EAAGC,IACnB,IAAMC,EAAI,EAAGA,EAAID,EAAGC,IACnB,GAAKH,EAAE,IAAKE,EAAGC,CAAE,IAAMH,EAAE,IAAKG,EAAGD,CAAE,EAClC,MAAO,GAIV,MAAO,EACR,CAKAL,GAAO,QAAUE,KCrEjB,IAAAK,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAuCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC5CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAiB,QAAS,gCAAiC,EAC3DC,GAAS,QAAS,uBAAwB,EAC1CC,GAAU,IAmBd,SAASC,GAAeC,EAAQ,CAC/B,GAAK,OAAOA,GAAU,UAAYA,IAAU,KAC3C,MAAO,GAGR,GAAKA,aAAiB,YACrB,MAAO,GAGR,GAAKF,GAASE,CAAM,EAEnB,KAAQA,GAAQ,CACf,GAAKH,GAAQG,CAAM,IAAM,cACxB,MAAO,GAERA,EAAQJ,GAAgBI,CAAM,CAC/B,CAED,MAAO,EACR,CAKAL,GAAO,QAAUI,KCnEjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAmB,QAAS,iCAAkC,EAK9DC,GAAgBD,GAAkB,EAAM,EAK5CD,GAAO,QAAUE,KChCjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAkCA,IAAIC,GAAO,KAKPC,GAAOD,GAAK,EAKhBD,GAAO,QAAUE,KC5CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAY,IAAgC,YAC5CC,GAAO,QAAS,gCAAiC,EACjDC,GAAQ,QAAS,iCAAkC,EAuBvD,SAASC,GAAoBC,EAAQ,CACpC,IAAIC,EACAC,EACJ,OAAMN,GAAWI,CAAM,GAGvBE,EAAM,EAAIF,EAAU,EACpBC,EAAIH,GAAOD,GAAMK,CAAE,EAAI,EAAI,EACpBD,EAAEA,IAAMC,GAJP,EAKT,CAKAP,GAAO,QAAUI,KC7DjB,IAAAI,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAY,IAAgC,SAC5CC,GAAO,QAAS,gCAAiC,EACjDC,GAAQ,QAAS,iCAAkC,EAuBvD,SAASC,GAAoBC,EAAQ,CACpC,IAAIC,EACAC,EACJ,OAAMN,GAAWI,CAAM,GAGvBE,EAAM,EAAIF,EAAM,QAAQ,EAAM,EAC9BC,EAAIH,GAAOD,GAAMK,CAAE,EAAI,EAAI,EACpBD,EAAEA,IAAMC,GAJP,EAKT,CAKAP,GAAO,QAAUI,KC7DjB,IAAAI,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAc,KACdC,GAAW,KAmCf,SAASC,GAAoBC,EAAQ,CACpC,OAASH,GAAaG,CAAM,GAAKF,GAAUE,CAAM,CAClD,CAKAJ,GAAO,QAAUG,KCjEjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAgEA,IAAIC,GAAc,QAAS,uDAAwD,EAC/EC,GAAO,KACPC,GAAc,KACdC,GAAW,KAKfH,GAAaC,GAAM,cAAeC,EAAY,EAC9CF,GAAaC,GAAM,WAAYE,EAAS,EAKxCJ,GAAO,QAAUE,KC9EjB,IAAAG,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cA4DA,SAASC,GAAUC,EAAQ,CAC1B,MAAS,EAAAA,CACV,CAKAF,GAAO,QAAUC,KCnEjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAuDA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC5DjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAW,IACXC,GAAW,KAuBXC,GAAgBF,GAAUC,EAAS,EAKvCF,GAAO,QAAUG,KCnDjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAwCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC7CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAiB,QAAS,gCAAiC,EAC3DC,GAAS,QAAS,uBAAwB,EAC1CC,GAAU,IAmBd,SAASC,GAAaC,EAAQ,CAC7B,GAAK,OAAOA,GAAU,UAAYA,IAAU,KAC3C,MAAO,GAGR,GAAKA,aAAiB,UACrB,MAAO,GAGR,GAAKF,GAASE,CAAM,EAEnB,KAAQA,GAAQ,CACf,GAAKH,GAAQG,CAAM,IAAM,YACxB,MAAO,GAERA,EAAQJ,GAAgBI,CAAM,CAC/B,CAED,MAAO,EACR,CAKAL,GAAO,QAAUI,KCnEjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAY,IAAgC,YAC5CC,GAAa,QAAS,gDAAiD,EAmB3E,SAASC,GAAoBC,EAAQ,CACpC,OACCH,GAAWG,CAAM,GACjBA,GAAS,GACTA,GAASF,EAEX,CAKAF,GAAO,QAAUG,KCrDjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cA2CA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KChDjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAuB,IAA4C,YACnEC,GAAM,QAAS,gDAAiD,EA2CpE,SAASC,GAAkBC,EAAQ,CAClC,OACCA,IAAU,MACV,OAAOA,GAAU,UACjBH,GAAsBG,EAAM,MAAO,GACnCA,EAAM,QAAUF,IAChB,OAAOE,EAAM,mBAAsB,UACnC,OAAOA,EAAM,YAAe,UAC5B,OAAOA,EAAM,YAAe,QAE9B,CAKAJ,GAAO,QAAUG,KCjFjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cA2CA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KChDjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAC1CC,GAAc,QAAS,yBAA0B,EAAE,OAmBvD,SAASC,GAAWC,EAAQ,CAC3B,OACCH,GAAUG,CAAM,GAChBF,GAAY,KAAME,CAAM,CAE1B,CAKAJ,GAAO,QAAUG,KCpDjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAuCA,SAASC,GAAaC,EAAQ,CAC7B,OAAOA,IAAU,MAClB,CAKAF,GAAO,QAAUC,KC9CjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cA0CA,SAASC,GAAmBC,EAAQ,CACnC,OAA6BA,GAAU,IACxC,CAKAF,GAAO,QAAUC,KCjDjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAwCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC7CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAe,IACfC,GAAU,IACVC,GAAW,IAA+B,YAC1CC,GAAU,QAAS,6CAA8C,EACjEC,GAAmB,QAAS,oCAAqC,EA2BrE,SAASC,GAAyBC,EAAI,CACrC,IAAIC,EACAC,EACJ,GAAKP,GAASK,CAAE,EAAI,CAEnB,IADAC,EAAM,EACAC,EAAI,EAAGA,EAAIF,EAAE,OAAQE,IAAM,CAChC,GACC,CAACN,GAAUI,EAAGE,CAAE,CAAE,GAClBF,EAAGE,CAAE,EAAI,GACTF,EAAGE,CAAE,EAAI,EAET,MAAO,GAERD,GAAOD,EAAGE,CAAE,CACb,CACA,OAASL,GAASI,EAAK,CAAI,GAAKH,EACjC,CACA,GAAKJ,GAAcM,CAAE,EAAI,CAExB,IADAC,EAAM,EACAC,EAAI,EAAGA,EAAIF,EAAE,OAAQE,IAAM,CAChC,GACCF,EAAGE,CAAE,EAAI,GACTF,EAAGE,CAAE,EAAI,EAET,MAAO,GAERD,GAAOD,EAAGE,CAAE,CACb,CACA,OAASL,GAASI,EAAK,CAAI,GAAKH,EACjC,CACA,MAAO,EACR,CAKAL,GAAO,QAAUM,KCzFjB,IAAAI,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cA2CA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KChDjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAY,QAAS,0BAA2B,EAChDC,GAAY,QAAS,0BAA2B,EAChDC,GAAW,IAA+B,YA2B9C,SAASC,GAAaC,EAAQ,CAC7B,OACCF,GAAUE,CAAM,GAChBA,IAAUH,GAAWG,CAAM,GAC3BA,IAAUJ,GAAWI,CAAM,CAE7B,CAKAL,GAAO,QAAUI,KC9DjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAiB,QAAS,gCAAiC,EAC3DC,GAAS,QAAS,uBAAwB,EAC1CC,GAAU,IAmBd,SAASC,GAAYC,EAAQ,CAC5B,GAAK,OAAOA,GAAU,UAAYA,IAAU,KAC3C,MAAO,GAGR,GAAKA,aAAiB,SACrB,MAAO,GAGR,GAAKF,GAASE,CAAM,EAEnB,KAAQA,GAAQ,CACf,GAAKH,GAAQG,CAAM,IAAM,WACxB,MAAO,GAERA,EAAQJ,GAAgBI,CAAM,CAC/B,CAED,MAAO,EACR,CAKAL,GAAO,QAAUI,KCnEjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAqCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC1CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAWJ,SAASC,IAAc,CACtB,IAAIC,EAAM,GACV,OAAAA,GAAO,QACPA,GAAO,wBACPA,GAAO,oBACPA,GAAO,gBACPA,GAAO,IACC,IAAI,SAAUA,CAAI,EAAG,CAC9B,CAKAF,GAAQC,GAAY,EAKpBF,GAAO,QAAUC,KCnDjB,IAAAG,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAwBA,IAAIC,GAAY,QAAS,sBAAuB,EAC5CC,GAAU,IACVC,GAAW,IACXC,GAAc,KAKdC,GAASJ,GAAU,EAcvB,SAASK,IAAc,CACtB,OAECJ,KAAY,IAGZ,OAAO,mBAAsB,UAG7BC,GAAU,eAAgB,GAG1B,qBAAqB,iBAGrBA,GAAU,cAAe,GAGzB,oBAAoB,gBAGpB,OAAO,MAAS,UAGhB,OAASE,IAGTD,KAAgB,IAGhB,OAAO,eAAkB,UAE3B,CAKAJ,GAAO,QAAUM,KCnFjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAkCA,IAAIC,GAAO,KAKPC,GAAOD,GAAK,EAKhBD,GAAO,QAAUE,KC5CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAW,IAA+B,YAC1CC,GAAe,QAAS,2BAA4B,EAKpDC,GAAK,IAAI,OAAQ,IAAID,GAAa,OAAO,OAAO,IAAK,EA2BzD,SAASE,GAAcC,EAAI,CAC1B,OAAMJ,GAAUI,CAAE,EAGXF,GAAG,KAAME,CAAE,EAFV,EAGT,CAKAL,GAAO,QAAUI,KCjEjB,IAAAE,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAwCA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KC7CjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAqB,QAAS,mCAAoC,EAgCtE,SAASC,GAAoBC,EAAOC,EAAW,CAC9C,IAAIC,EAAOJ,GAAoBE,EAAOC,CAAS,EAC/C,OACCC,IAAS,OAERA,EAAK,WAAa,IAClB,OAAOA,EAAK,KAAQ,WAGvB,CAKAL,GAAO,QAAUE,KCpEjB,IAAAI,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAiDA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCtDjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAuB,QAAS,sCAAuC,EAgC3E,SAASC,GAAsBC,EAAOC,EAAW,CAChD,IAAIC,EAAOJ,GAAsBE,EAAOC,CAAS,EACjD,OACCC,IAAS,OAERA,EAAK,WAAa,IAClB,OAAOA,EAAK,KAAQ,WAGvB,CAKAL,GAAO,QAAUE,KCpEjB,IAAAI,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAiDA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCtDjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAqB,QAAS,mCAAoC,EAmCtE,SAASC,GAAqBC,EAAOC,EAAW,CAC/C,IAAIC,EAAOJ,GAAoBE,EAAOC,CAAS,EAC/C,OACCC,IAAS,MACTA,EAAK,eAAiB,IAErB,OAAOA,EAAK,KAAQ,YACpBA,EAAK,MAAQ,MAGhB,CAKAL,GAAO,QAAUE,KCxEjB,IAAAI,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAoDA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCzDjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAuB,QAAS,sCAAuC,EAmC3E,SAASC,GAAuBC,EAAOC,EAAW,CACjD,IAAIC,EAAOJ,GAAsBE,EAAOC,CAAS,EACjD,OACCC,IAAS,MACTA,EAAK,eAAiB,IAErB,OAAOA,EAAK,KAAQ,YACpBA,EAAK,MAAQ,MAGhB,CAKAL,GAAO,QAAUE,KCxEjB,IAAAI,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAoDA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KCzDjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cAsBA,IAAIC,GAAe,IACfC,GAAS,QAAS,uBAAwB,EA0B9C,SAASC,GAAeC,EAAY,CACnC,GAAK,OAAOA,GAAc,WACzB,MAAM,IAAI,UAAWF,GAAQ,0DAA2DE,CAAU,CAAE,EAErG,OAAOC,EASP,SAASA,EAAOC,EAAQ,CACvB,IAAIC,EACAC,EAKJ,GAJK,CAACP,GAAcK,CAAM,IAG1BC,EAAMD,EAAM,OACPC,IAAQ,GACZ,MAAO,GAER,IAAMC,EAAI,EAAGA,EAAID,EAAKC,IACrB,GAAKJ,EAAWE,EAAOE,CAAE,CAAE,IAAM,GAChC,MAAO,GAGT,MAAO,EACR,CACD,CAKAR,GAAO,QAAUG,KCpFjB,IAAAM,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cA2CA,IAAIC,GAAO,KAKXD,GAAO,QAAUC,KChDjB,IAAAC,GAAAC,EAAA,SAAAC,IAAAC,GAAA,cA0BA,IAAIC,GAAc,QAAS,yCAA0C,EAUjEC,GAAK,CAAC,EASVD,GAAaC,GAAI,WAAY,GAA0C,EASvED,GAAaC,GAAI,eAAgB,GAA+C,EAShFD,GAAaC,GAAI,gBAAiB,IAAgD,EAKlFF,GAAO,QAAUE,KC1CjB,IAAIC,EAAc,QAAS,yCAA0C,EAUjEC,EAAK,CAAC,EASVD,EAAaC,EAAI,WAAY,GAA2B,EASxDD,EAAaC,EAAI,YAAa,IAA6B,EAS3DD,EAAaC,EAAI,iBAAkB,IAAwC,EAS3ED,EAAaC,EAAI,cAAe,IAAoC,EASpED,EAAaC,EAAI,wBAAyB,IAA0C,EASpFD,EAAaC,EAAI,0BAA2B,IAA6C,EASzFD,EAAaC,EAAI,uBAAwB,IAA0C,EASnFD,EAAaC,EAAI,gCAAiC,IAAoD,EAStGD,EAAaC,EAAI,mBAAoB,IAAqC,EAS1ED,EAAaC,EAAI,0BAA2B,IAA4C,EASxFD,EAAaC,EAAI,2BAA4B,IAA6C,EAS1FD,EAAaC,EAAI,kBAAmB,IAAoC,EASxED,EAAaC,EAAI,qBAAsB,IAAuC,EAS9ED,EAAaC,EAAI,6BAA8B,IAAgD,EAS/FD,EAAaC,EAAI,2BAA4B,IAA8C,EAS3FD,EAAaC,EAAI,yBAA0B,IAA2C,EAStFD,EAAaC,EAAI,yBAA0B,IAA2C,EAStFD,EAAaC,EAAI,yBAA0B,IAA4C,EASvFD,EAAaC,EAAI,sBAAuB,IAAwC,EAShFD,EAAaC,EAAI,uBAAwB,IAAyC,EASlFD,EAAaC,EAAI,sBAAuB,IAAwC,EAShFD,EAAaC,EAAI,uBAAwB,IAAyC,EASlFD,EAAaC,EAAI,uBAAwB,IAAyC,EASlFD,EAAaC,EAAI,2BAA4B,IAA8C,EAS3FD,EAAaC,EAAI,gBAAiB,IAAkC,EASpED,EAAaC,EAAI,uBAAwB,IAA0C,EASnFD,EAAaC,EAAI,aAAc,GAAmC,EASlED,EAAaC,EAAI,UAAW,IAA+B,EAS3DD,EAAaC,EAAI,kBAAmB,IAAoC,EASxED,EAAaC,EAAI,gBAAiB,IAAkC,EASpED,EAAaC,EAAI,8BAA+B,IAAgD,EAShGD,EAAaC,EAAI,mBAAoB,GAAqC,EAS1ED,EAAaC,EAAI,wBAAyB,GAA0C,EASpFD,EAAaC,EAAI,uBAAwB,IAAyC,EASlFD,EAAaC,EAAI,8BAA+B,IAAgD,EAShGD,EAAaC,EAAI,wBAAyB,IAA0C,EASpFD,EAAaC,EAAI,wBAAyB,IAA0C,EASpFD,EAAaC,EAAI,0BAA2B,IAA8C,EAS1FD,EAAaC,EAAI,wBAAyB,IAAmC,EAS7ED,EAAaC,EAAI,oBAAqB,IAAsC,EAS5ED,EAAaC,EAAI,oBAAqB,IAAsC,EAS5ED,EAAaC,EAAI,aAAc,IAA8B,EAS7DD,EAAaC,EAAI,oBAAqB,IAAuC,EAS7ED,EAAaC,EAAI,iBAAkB,GAAmC,EAStED,EAAaC,EAAI,gBAAiB,IAAkC,EASpED,EAAaC,EAAI,kBAAmB,IAAoC,EASxED,EAAaC,EAAI,qBAAsB,IAAuC,EAS9ED,EAAaC,EAAI,uBAAwB,IAA0C,EASnFD,EAAaC,EAAI,cAAe,IAA+B,EAS/DD,EAAaC,EAAI,iBAAkB,IAAkC,EASrED,EAAaC,EAAI,YAAa,IAA6B,EAS3DD,EAAaC,EAAI,cAAe,IAA+B,EAS/DD,EAAaC,EAAI,UAAW,GAA2B,EASvDD,EAAaC,EAAI,eAAgB,IAAiC,EASlED,EAAaC,EAAI,gBAAiB,IAAkC,EASpED,EAAaC,EAAI,cAAe,IAAgC,EAShED,EAAaC,EAAI,oBAAqB,IAAuC,EAS7ED,EAAaC,EAAI,gBAAiB,IAAiC,EASnED,EAAaC,EAAI,oBAAqB,IAAsC,EAS5ED,EAAaC,EAAI,kBAAmB,IAAoC,EASxED,EAAaC,EAAI,UAAW,IAA2B,EASvDD,EAAaC,EAAI,YAAa,IAA6B,EAS3DD,EAAaC,EAAI,iBAAkB,IAAmC,EAStED,EAAaC,EAAI,gBAAiB,IAAgC,EASlED,EAAaC,EAAI,WAAY,GAA4B,EASzDD,EAAaC,EAAI,kBAAmB,IAAmC,EASvED,EAAaC,EAAI,mBAAoB,IAAoC,EASzED,EAAaC,EAAI,iBAAkB,IAAmC,EAStED,EAAaC,EAAI,gBAAiB,IAAkC,EASpED,EAAaC,EAAI,YAAa,IAA6B,EAS3DD,EAAaC,EAAI,iBAAkB,IAAmC,EAStED,EAAaC,EAAI,mBAAoB,IAAqC,EAS1ED,EAAaC,EAAI,aAAc,IAA6B,EAS5DD,EAAaC,EAAI,WAAY,GAA4B,EASzDD,EAAaC,EAAI,cAAe,IAA+B,EAS/DD,EAAaC,EAAI,gBAAiB,IAAiC,EASnED,EAAaC,EAAI,0BAA2B,IAA4C,EASxFD,EAAaC,EAAI,aAAc,IAA8B,EAS7DD,EAAaC,EAAI,kBAAmB,IAAoC,EASxED,EAAaC,EAAI,wBAAyB,IAA2C,EASrFD,EAAaC,EAAI,UAAW,IAA2B,EASvDD,EAAaC,EAAI,eAAgB,GAAgC,EASjED,EAAaC,EAAI,YAAa,IAA6B,EAS3DD,EAAaC,EAAI,gBAAiB,IAAkC,EASpED,EAAaC,EAAI,sBAAuB,IAAyC,EASjFD,EAAaC,EAAI,0BAA2B,IAA8C,EAS1FD,EAAaC,EAAI,cAAe,IAA+B,EAS/DD,EAAaC,EAAI,mBAAoB,IAAoC,EASzED,EAAaC,EAAI,wBAAyB,IAA0C,EASpFD,EAAaC,EAAI,yBAA0B,IAA2C,EAStFD,EAAaC,EAAI,wBAAyB,IAA0C,EASpFD,EAAaC,EAAI,eAAgB,IAAgC,EASjED,EAAaC,EAAI,oBAAqB,IAAqC,EAS3ED,EAAaC,EAAI,yBAA0B,IAA2C,EAStFD,EAAaC,EAAI,0BAA2B,IAA4C,EASxFD,EAAaC,EAAI,yBAA0B,IAA2C,EAStFD,EAAaC,EAAI,cAAe,IAA+B,EAS/DD,EAAaC,EAAI,yBAA0B,IAA2C,EAStFD,EAAaC,EAAI,2BAA4B,IAA8C,EAS3FD,EAAaC,EAAI,iBAAkB,IAAkC,EASrED,EAAaC,EAAI,eAAgB,IAAiC,EASlED,EAAaC,EAAI,gBAAiB,IAAkC,EASpED,EAAaC,EAAI,YAAa,IAA4B,EAS1DD,EAAaC,EAAI,iBAAkB,IAAmC,EAStED,EAAaC,EAAI,mBAAoB,IAAsC,EAS3ED,EAAaC,EAAI,aAAc,GAA8B,EAS7DD,EAAaC,EAAI,eAAgB,GAAiC,EASlED,EAAaC,EAAI,oBAAqB,IAAuC,EAS7ED,EAAaC,EAAI,gBAAiB,IAAkC,EASpED,EAAaC,EAAI,YAAa,IAA4B,EAS1DD,EAAaC,EAAI,eAAgB,IAAiC,EASlED,EAAaC,EAAI,mBAAoB,IAAqC,EAS1ED,EAAaC,EAAI,cAAe,IAA8B,EAS9DD,EAAaC,EAAI,mBAAoB,IAAmC,EASxED,EAAaC,EAAI,uBAAwB,IAAuC,EAShFD,EAAaC,EAAI,iBAAkB,IAAmC,EAStED,EAAaC,EAAI,eAAgB,IAAiC,EASlED,EAAaC,EAAI,yBAA0B,IAA6C,EASxFD,EAAaC,EAAI,oBAAqB,IAAsC,EAS5ED,EAAaC,EAAI,gBAAiB,IAAkC,EASpED,EAAaC,EAAI,gBAAiB,IAAkC,EASpED,EAAaC,EAAI,uBAAwB,GAAyC,EASlFD,EAAaC,EAAI,yBAA0B,IAA4C,EASvFD,EAAaC,EAAI,UAAW,GAA2B,EASvDD,EAAaC,EAAI,cAAe,IAAgC,EAShED,EAAaC,EAAI,SAAU,IAA0B,EASrDD,EAAaC,EAAI,UAAW,IAA2B,EASvDD,EAAaC,EAAI,eAAgB,IAAiC,EASlED,EAAaC,EAAI,WAAY,IAA4B,EASzDD,EAAaC,EAAI,gBAAiB,IAAkC,EASpED,EAAaC,EAAI,iBAAkB,IAAkC,EASrED,EAAaC,EAAI,sBAAuB,IAAwC,EAShFD,EAAaC,EAAI,uBAAwB,IAAyC,EASlFD,EAAaC,EAAI,sBAAuB,IAAwC,EAShFD,EAAaC,EAAI,iBAAkB,GAAkC,EASrED,EAAaC,EAAI,sBAAuB,IAAwC,EAShFD,EAAaC,EAAI,uBAAwB,IAAyC,EASlFD,EAAaC,EAAI,sBAAuB,IAAwC,EAShFD,EAAaC,EAAI,aAAc,GAA8B,EAS7DD,EAAaC,EAAI,kBAAmB,IAAoC,EASxED,EAAaC,EAAI,oBAAqB,IAAsC,EAS5ED,EAAaC,EAAI,wBAAyB,IAA2C,EASrFD,EAAaC,EAAI,eAAgB,IAAiC,EASlED,EAAaC,EAAI,cAAe,IAAgC,EAShED,EAAaC,EAAI,aAAc,IAA8B,EAS7DD,EAAaC,EAAI,sBAAuB,IAAwC,EAShFD,EAAaC,EAAI,cAAe,IAA+B,EAS/DD,EAAaC,EAAI,eAAgB,IAAgC,EASjED,EAAaC,EAAI,eAAgB,IAAgC,EASjED,EAAaC,EAAI,YAAa,GAA6B,EAS3DD,EAAaC,EAAI,iBAAkB,IAAmC,EAStED,EAAaC,EAAI,iBAAkB,IAAmC,EAStED,EAAaC,EAAI,iBAAkB,IAAmC,EAStED,EAAaC,EAAI,SAAU,IAA0B,EASrDD,EAAaC,EAAI,cAAe,IAA+B,EAS/DD,EAAaC,EAAI,aAAc,IAA+B,EAS9DD,EAAaC,EAAI,mBAAoB,IAAmC,EASxED,EAAaC,EAAI,cAAe,IAA+B,EAS/DD,EAAaC,EAAI,cAAe,IAA+B,EAS/DD,EAAaC,EAAI,eAAgB,GAAiC,EASlED,EAAaC,EAAI,WAAY,IAA4B,EASzDD,EAAaC,EAAI,aAAc,IAA+B,EAS9DD,EAAaC,EAAI,YAAa,IAA4B,EAS1DD,EAAaC,EAAI,eAAgB,IAAiC,EASlED,EAAaC,EAAI,wBAAyB,IAA4C,EAStFD,EAAaC,EAAI,QAAS,GAAyB,EASnDD,EAAaC,EAAI,aAAc,IAA+B,EAS9DD,EAAaC,EAAI,mBAAoB,IAAqC,EAS1ED,EAAaC,EAAI,gBAAiB,GAAkC,EASpED,EAAaC,EAAI,oBAAqB,IAAsC,EAS5ED,EAAaC,EAAI,yBAA0B,IAA4C,EASvFD,EAAaC,EAAI,mBAAoB,IAAqC,EAS1ED,EAAaC,EAAI,wBAAyB,IAA2C,EASrFD,EAAaC,EAAI,iBAAkB,IAAmC,EAStED,EAAaC,EAAI,UAAW,GAA0B,EAStDD,EAAaC,EAAI,gBAAiB,IAAkC,EASpED,EAAaC,EAAI,yBAA0B,IAA6C,EASxFD,EAAaC,EAAI,2BAA4B,IAA+C,EAS5FD,EAAaC,EAAI,aAAc,IAA+B,EAS9DD,EAAaC,EAAI,mBAAoB,IAAsC,EAS3ED,EAAaC,EAAI,4BAA6B,IAAgD,EAS9FD,EAAaC,EAAI,2BAA4B,IAA+C,EAS5FD,EAAaC,EAAI,4BAA6B,IAA8C,EAS5FD,EAAaC,EAAI,8BAA+B,IAAiD,EASjGD,EAAaC,EAAI,0BAA2B,IAA4C,EASxFD,EAAaC,EAAI,4BAA6B,IAA+C,EAS7FD,EAAaC,EAAI,uBAAwB,GAAyC,EASlFD,EAAaC,EAAI,4BAA6B,IAA+C,EAS7FD,EAAaC,EAAI,sBAAuB,IAAwC,EAShFD,EAAaC,EAAI,2BAA4B,IAA8C,EAS3FD,EAAaC,EAAI,uBAAwB,IAAyC,EASlFD,EAAaC,EAAI,4BAA6B,IAA+C,EAS7FD,EAAaC,EAAI,sBAAuB,IAAwC,EAShFD,EAAaC,EAAI,2BAA4B,IAA8C,EAS3FD,EAAaC,EAAI,uBAAwB,IAAyC,EASlFD,EAAaC,EAAI,SAAU,IAA0B,EASrDD,EAAaC,EAAI,cAAe,IAAgC,EAShED,EAAaC,EAAI,WAAY,GAA4B,EASzDD,EAAaC,EAAI,gBAAiB,IAAkC,EASpED,EAAaC,EAAI,iBAAkB,IAAmC,EAStED,EAAaC,EAAI,WAAY,GAA4B,EASzDD,EAAaC,EAAI,gBAAiB,IAAkC,EASpED,EAAaC,EAAI,eAAgB,IAAiC,EASlED,EAAaC,EAAI,QAAS,IAAyB,EASnDD,EAAaC,EAAI,eAAgB,IAAgC,EASjED,EAAaC,EAAI,uBAAwB,IAAyC,EASlFD,EAAaC,EAAI,gBAAiB,GAAkC,EASpED,EAAaC,EAAI,qBAAsB,IAAwC,EAS/ED,EAAaC,EAAI,oBAAqB,IAAsC,EAS5ED,EAAaC,EAAI,yBAA0B,IAA4C,EASvFD,EAAaC,EAAI,mBAAoB,IAAqC,EAS1ED,EAAaC,EAAI,wBAAyB,IAA2C,EASrFD,EAAaC,EAAI,iBAAkB,IAAmC,EAStED,EAAaC,EAAI,UAAW,IAA2B,EASvDD,EAAaC,EAAI,cAAe,IAA+B,EAS/DD,EAAaC,EAAI,mBAAoB,IAAqC,EAS1ED,EAAaC,EAAI,aAAc,IAA+B,EAS9DD,EAAaC,EAAI,gBAAiB,IAAiC,EASnED,EAAaC,EAAI,qBAAsB,IAAuC,EAS9ED,EAAaC,EAAI,gBAAiB,IAAkC,EASpED,EAAaC,EAAI,gBAAiB,IAAkC,EASpED,EAAaC,EAAI,eAAgB,IAAiC,EASlED,EAAaC,EAAI,qBAAsB,IAAwC,EAS/ED,EAAaC,EAAI,uBAAwB,IAA2C,EASpFD,EAAaC,EAAI,sBAAuB,IAAyC,EASjFD,EAAaC,EAAI,wBAAyB,IAA4C,EAStFD,EAAaC,EAAI,qBAAsB,IAAuC,EAS9ED,EAAaC,EAAI,uBAAwB,IAA0C,EASnFD,EAAaC,EAAI,mBAAoB,IAAqC,EAS1ED,EAAaC,EAAI,WAAY,IAA4B,EASzDD,EAAaC,EAAI,iBAAkB,IAAmC,EAStED,EAAaC,EAAI,iBAAkB,IAAmC,EAStED,EAAaC,EAAI,gBAAiB,IAAkC,EASpED,EAAaC,EAAI,gBAAiB,IAAkC,EASpED,EAAaC,EAAI,qBAAsB,IAAwC,EAS/ED,EAAaC,EAAI,qBAAsB,IAAuC,EAS9ED,EAAaC,EAAI,oBAAqB,IAAuC,EAS7ED,EAAaC,EAAI,aAAc,IAA+B,EAS9DD,EAAaC,EAAI,cAAe,IAAgC,EAShED,EAAaC,EAAI,kBAAmB,IAAqC,EASzED,EAAaC,EAAI,WAAY,IAA4B,EASzDD,EAAaC,EAAI,sBAAuB,IAAuC,EAS/ED,EAAaC,EAAI,8BAA+B,IAAiD,EASjGD,EAAaC,EAAI,2BAA4B,IAA8C,EAS3FD,EAAaC,EAAI,wBAAyB,IAA2C,EASrFD,EAAaC,EAAI,UAAW,IAA2B,EASvDD,EAAaC,EAAI,cAAe,IAA+B,EAS/DD,EAAaC,EAAI,iBAAkB,GAAmC,EAStED,EAAaC,EAAI,iBAAkB,IAAmC,EAStED,EAAaC,EAAI,2BAA4B,IAA8C,EAS3FD,EAAaC,EAAI,cAAe,IAA+B,EAS/DD,EAAaC,EAAI,gBAAiB,IAAkC,EASpED,EAAaC,EAAI,WAAY,GAA4B,EASzDD,EAAaC,EAAI,gBAAiB,IAAkC,EASpED,EAAaC,EAAI,WAAY,GAA4B,EASzDD,EAAaC,EAAI,gBAAiB,IAAkC,EASpED,EAAaC,EAAI,oBAAqB,IAAsC,EAS5ED,EAAaC,EAAI,gBAAiB,IAAkC,EASpED,EAAaC,EAAI,kBAAmB,IAAkC,EAStED,EAAaC,EAAI,qBAAsB,IAAuC,EAS9ED,EAAaC,EAAI,WAAY,IAA4B,EASzDD,EAAaC,EAAI,gBAAiB,IAAkC,EASpED,EAAaC,EAAI,cAAe,IAAgC,EAShED,EAAaC,EAAI,eAAgB,GAAiC,EASlED,EAAaC,EAAI,qBAAsB,IAAwC,EAS/ED,EAAaC,EAAI,mBAAoB,IAAsC,EAS3ED,EAAaC,EAAI,eAAgB,GAAgC,EASjED,EAAaC,EAAI,sBAAuB,IAAuC,EAS/ED,EAAaC,EAAI,gBAAiB,IAAiC,EASnED,EAAaC,EAAI,gBAAiB,IAAiC,EASnED,EAAaC,EAAI,YAAa,IAA8B,EAS5DD,EAAaC,EAAI,cAAe,IAA+B,EAS/DD,EAAaC,EAAI,oBAAqB,IAAuC,EAS7ED,EAAaC,EAAI,0BAA2B,IAA6C,EASzFD,EAAaC,EAAI,cAAe,IAA+B,EAS/DD,EAAaC,EAAI,QAAS,GAAyB,EASnDD,EAAaC,EAAI,aAAc,IAA+B,EAS9DD,EAAaC,EAAI,eAAgB,GAAiC,EASlED,EAAaC,EAAI,gBAAiB,IAAgC,EASlED,EAAaC,EAAI,eAAgB,IAAgC,EASjED,EAAaC,EAAI,aAAc,GAA6B,EAS5DD,EAAaC,EAAI,qBAAsB,IAAuC,EAS9ED,EAAaC,EAAI,uBAAwB,IAA0C,EASnFD,EAAaC,EAAI,sBAAuB,IAAyC,EASjFD,EAAaC,EAAI,wBAAyB,IAA4C,EAStFD,EAAaC,EAAI,QAAS,IAAwB,EAKlD,OAAO,QAAUA", - "names": ["require_main", "__commonJSMin", "exports", "module", "isInteger", "MAX_LENGTH", "isCollection", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "value", "require_main", "__commonJSMin", "exports", "module", "hasSymbolSupport", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "hasSymbols", "FLG", "hasToStringTagSupport", "require_lib", "__commonJSMin", "exports", "module", "main", "require_tostring", "__commonJSMin", "exports", "module", "Number", "toString", "require_try2serialize", "__commonJSMin", "exports", "module", "toString", "test", "value", "err", "require_object", "__commonJSMin", "exports", "module", "hasToStringTag", "nativeClass", "Number", "test", "FLG", "isNumber", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isNumber", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_integer", "__commonJSMin", "exports", "module", "PINF", "NINF", "isInt", "isInteger", "value", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isInt", "isInteger", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isInt", "isInteger", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isInteger", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_primitive", "__commonJSMin", "exports", "module", "isString", "value", "require_valueof", "__commonJSMin", "exports", "module", "valueOf", "require_try2valueof", "__commonJSMin", "exports", "module", "valueOf", "test", "value", "err", "require_object", "__commonJSMin", "exports", "module", "hasToStringTag", "nativeClass", "test", "FLG", "isString", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isString", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isNan", "isnan", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isNan", "isnan", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isnan", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "isCollection", "isInteger", "isString", "isnan", "format", "contains", "val", "searchValue", "position", "len", "pos", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_getday", "__commonJSMin", "exports", "module", "getDay", "require_try2getday", "__commonJSMin", "exports", "module", "getDay", "test", "value", "err", "require_main", "__commonJSMin", "exports", "module", "hasToStringTag", "nativeClass", "test", "FLG", "isDateObject", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "getPrototypeOf", "nativeClass", "isError", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "f", "isArray", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isArray", "format", "arrayfcn", "predicate", "every", "value", "len", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isObjectLike", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "arrayfun", "main", "isObjectLikeArray", "require_main", "__commonJSMin", "exports", "module", "isObjectLike", "isBuffer", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_exec", "__commonJSMin", "exports", "module", "exec", "require_try2exec", "__commonJSMin", "exports", "module", "exec", "test", "value", "err", "require_main", "__commonJSMin", "exports", "module", "hasToStringTag", "nativeClass", "test", "FLG", "isRegExp", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "objectKeys", "getPrototypeOf", "isDate", "isError", "isBuffer", "isRegExp", "deepEqual", "a", "b", "aKeys", "bKeys", "typeA", "typeB", "key", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isArray", "isObject", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "typeOf", "isFunction", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "has", "hasOwnProp", "value", "property", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isObject", "isFunction", "getPrototypeOf", "hasOwnProp", "nativeClass", "objectPrototype", "ownProps", "obj", "key", "isPlainObject", "value", "proto", "require_lib", "__commonJSMin", "exports", "module", "main", "require_validate", "__commonJSMin", "exports", "module", "isString", "isObject", "hasOwnProp", "format", "validate", "opts", "options", "require_defaults", "__commonJSMin", "exports", "module", "defaults", "require_has", "__commonJSMin", "exports", "module", "hasOwnProp", "deepHasOwnProp", "v", "props", "len", "i", "require_main", "__commonJSMin", "exports", "module", "isString", "isArray", "format", "validate", "defaults", "has", "deepHasOwnProp", "value", "path", "options", "isStr", "props", "opts", "err", "require_factory", "__commonJSMin", "exports", "module", "isString", "isArray", "format", "validate", "defaults", "has", "factory", "path", "options", "isStr", "props", "opts", "err", "deepHasOwnProp", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "factory", "require_validate", "__commonJSMin", "exports", "module", "isString", "isObject", "hasOwnProp", "format", "validate", "opts", "options", "require_defaults", "__commonJSMin", "exports", "module", "defaults", "require_main", "__commonJSMin", "exports", "module", "hasProp", "value", "property", "require_lib", "__commonJSMin", "exports", "module", "main", "require_has", "__commonJSMin", "exports", "module", "hasProp", "deepHasProp", "v", "props", "len", "i", "require_main", "__commonJSMin", "exports", "module", "isString", "isArray", "format", "validate", "defaults", "has", "deepHasProp", "value", "path", "options", "isStr", "props", "opts", "err", "require_factory", "__commonJSMin", "exports", "module", "isString", "isArray", "format", "validate", "defaults", "has", "factory", "path", "options", "isStr", "props", "opts", "err", "deepHasProp", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "factory", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasArrayBuffer", "isArrayBuffer", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_arraybuffer", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isArrayBuffer", "Float64Array", "GlobalArrayBuffer", "hasArrayBufferSupport", "bool", "view", "buf", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "evil", "hasArrowFunctionSupport", "bool", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "evil", "hasAsyncAwaitSupport", "bool", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "hasOwnProp", "hasAsyncIteratorSymbolSupport", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "getGlobal", "Global", "hasBigIntSupport", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasBigInt64Array", "isBigInt64Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isBigInt64Array", "require_primitive", "__commonJSMin", "exports", "module", "isBigInt", "value", "require_try2valueof", "__commonJSMin", "exports", "module", "test", "value", "err", "require_object", "__commonJSMin", "exports", "module", "nativeClass", "test", "BigInt", "value", "require_generic", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isBigInt", "value", "require_main", "__commonJSMin", "exports", "module", "setReadOnly", "isSymbol", "isPrimitive", "isObject", "require_polyfill", "__commonJSMin", "exports", "module", "setReadOnly", "constantFunction", "isBigInt", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "hasBigInts", "main", "polyfill", "isBigInt", "require_bigint64array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isBigInt64Array", "isBigInt", "GlobalBigInt64Array", "MAX_FLOAT64_INTEGER", "MAX_FLOAT64_INTEGER_P2", "hasBigInt64ArraySupport", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasBigInt64ArraySupport", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasBigUint64Array", "isBigUint64Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isBigUint64Array", "require_biguint64array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isBigUint64Array", "isBigInt", "GlobalBigUint64Array", "MAX_SIGNED_INT64", "MAX_SIGNED_INT64_P2", "hasBigUint64ArraySupport", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasBigUint64ArraySupport", "require_main", "__commonJSMin", "exports", "module", "evil", "hasClassSupport", "bool", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasDataView", "isDataView", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_dataview", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isDataView", "ArrayBuffer", "GlobalDataView", "hasDataViewSupport", "bool", "view", "buf", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_define_properties", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "defineProperties", "hasDefinePropertiesSupport", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_define_property", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "defineProperty", "hasDefinePropertySupport", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasFloat32Array", "isFloat32Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isFloat32Array", "require_float32array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isFloat32Array", "PINF", "GlobalFloat32Array", "hasFloat32ArraySupport", "bool", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasFloat32ArraySupport", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasFloat64Array", "isFloat64Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isFloat64Array", "require_float64array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isFloat64Array", "GlobalFloat64Array", "hasFloat64ArraySupport", "bool", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasFloat64ArraySupport", "require_foo", "__commonJSMin", "exports", "module", "foo", "require_main", "__commonJSMin", "exports", "module", "foo", "hasFunctionNameSupport", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "evil", "hasGeneratorSupport", "bool", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "hasGlobalThisSupport", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasInt8Array", "isInt8Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isInt8Array", "require_int8array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isInt8Array", "INT8_MAX", "INT8_MIN", "GlobalInt8Array", "hasInt8ArraySupport", "bool", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasInt8ArraySupport", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasInt16Array", "isInt16Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isInt16Array", "require_int16array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isInt16Array", "INT16_MAX", "INT16_MIN", "GlobalInt16Array", "hasInt16ArraySupport", "bool", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasInt16ArraySupport", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasInt32Array", "isInt32Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isInt32Array", "require_int32array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isInt32Array", "INT32_MAX", "INT32_MIN", "GlobalInt32Array", "hasInt32ArraySupport", "bool", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasInt32ArraySupport", "require_main", "__commonJSMin", "exports", "module", "hasOwnProp", "Symbol", "hasIteratorSymbolSupport", "require_lib", "__commonJSMin", "exports", "module", "main", "require_map", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "GlobalMap", "hasMapSupport", "bool", "key", "map", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_buffer", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isBuffer", "GlobalBuffer", "hasNodeBufferSupport", "bool", "b", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "evil", "hasProxySupport", "bool", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_set", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "GlobalSet", "hasSetSupport", "bool", "val", "set", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasSharedArrayBuffer", "isSharedArrayBuffer", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_sharedarraybuffer", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSharedArrayBuffer", "GlobalSharedArrayBuffer", "hasSharedArrayBufferSupport", "bool", "b1", "b2", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasUint8Array", "isUint8Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isUint8Array", "require_uint8array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isUint8Array", "UINT8_MAX", "GlobalUint8Array", "hasUint8ArraySupport", "bool", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasUint8ArraySupport", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasUint8ClampedArray", "isUint8ClampedArray", "value", "require_lib", "__commonJSMin", "exports", "module", "isUint8ClampedArray", "require_uint8clampedarray", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isUint8ClampedArray", "GlobalUint8ClampedArray", "hasUint8ClampedArraySupport", "bool", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasUint8ClampedArraySupport", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasUint16Array", "isUint16Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isUint16Array", "require_uint16array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isUint16Array", "UINT16_MAX", "GlobalUint16Array", "hasUint16ArraySupport", "bool", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasUint16ArraySupport", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasUint32Array", "isUint32Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isUint32Array", "require_uint32array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isUint32Array", "UINT32_MAX", "GlobalUint32Array", "hasUint32ArraySupport", "bool", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasUint32ArraySupport", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "isNonNegativeInteger", "value", "require_object", "__commonJSMin", "exports", "module", "isInteger", "isNonNegativeInteger", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isNonNegativeInteger", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "isString", "isNonNegativeInteger", "format", "OxD800", "OxDBFF", "OxDC00", "OxDFFF", "hasUTF16SurrogatePairAt", "str", "pos", "ch1", "ch2", "require_lib", "__commonJSMin", "exports", "module", "hasUTF16SurrogatePairAt", "require_main", "__commonJSMin", "exports", "module", "hasWebAssemblySupport", "require_lib", "__commonJSMin", "exports", "module", "main", "require_weakmap", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "GlobalWeakMap", "hasWeakMapSupport", "bool", "key", "wm", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_weakset", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "GlobalWeakSet", "hasWeakSetSupport", "bool", "val", "ws", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "format", "instanceOf", "value", "constructor", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "RE_URI", "RE_ILLEGALS", "RE_HEX1", "RE_HEX2", "RE_PATH", "RE_SCHEME", "isURI", "value", "authority", "scheme", "parts", "path", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isURI", "RE_HTTPS", "isAbsoluteHttpURI", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "PLATFORM", "IS_WINDOWS", "require_posix", "__commonJSMin", "exports", "module", "isString", "isAbsolutePath", "value", "require_win32", "__commonJSMin", "exports", "module", "isString", "isAbsolutePath", "value", "code", "len", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "IS_WINDOWS", "isAbsolutePathPosix", "isAbsolutePathWin32", "isAbsolutePath", "require_main", "__commonJSMin", "exports", "module", "isURI", "isAbsoluteURI", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isCollection", "isFunction", "isAccessorArray", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptor", "isAccessorProperty", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isAccessorPropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "isAlphagram", "x", "len", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "ZERO", "NINE", "A", "Z", "a", "z", "isAlphaNumeric", "x", "len", "ch", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "lowercase", "replace", "isString", "format", "RE_NON_ALPHANUMERIC", "ascending", "a", "b", "isAnagram", "str", "x", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "isArguments", "value", "require_detect", "__commonJSMin", "exports", "module", "isArguments", "bool", "detect", "require_native", "__commonJSMin", "exports", "module", "isEnumerableProperty", "require_has_string_enumerability_bug", "__commonJSMin", "exports", "module", "isEnum", "bool", "detect", "require_main", "__commonJSMin", "exports", "module", "isString", "isnan", "isInteger", "isEnum", "hasStringEnumBug", "isEnumerableProperty", "value", "property", "bool", "require_lib", "__commonJSMin", "exports", "module", "main", "require_polyfill", "__commonJSMin", "exports", "module", "hasOwnProp", "isEnumerableProperty", "isArray", "isInteger", "MAX_LENGTH", "isArguments", "value", "require_lib", "__commonJSMin", "exports", "module", "hasArgumentsClass", "main", "polyfill", "isArguments", "require_main", "__commonJSMin", "exports", "module", "arrayfun", "isArray", "isArrayArray", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isInteger", "MAX_ARRAY_LENGTH", "isArrayLength", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isInteger", "MAX_LENGTH", "isArrayLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isInteger", "MAX_LENGTH", "isArrayLikeObject", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_no_arraybuffer", "__commonJSMin", "exports", "module", "constantFunction", "isArrayBufferView", "require_ctors", "__commonJSMin", "exports", "module", "Int8Array", "Uint8Array", "Uint8ClampedArray", "Int16Array", "Uint16Array", "Int32Array", "Uint32Array", "Float32Array", "Float64Array", "CTORS", "require_names", "__commonJSMin", "exports", "module", "require_main", "__commonJSMin", "exports", "module", "ctorName", "fcnName", "getPrototypeOf", "hasFloat64ArraySupport", "Float64Array", "CTORS", "NAMES", "TypedArray", "Dummy", "isTypedArray", "value", "v", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_polyfill", "__commonJSMin", "exports", "module", "isTypedArray", "isDataView", "isArrayBufferView", "value", "require_main", "__commonJSMin", "exports", "module", "ArrayBuffer", "isArrayBufferView", "value", "require_lib", "__commonJSMin", "exports", "module", "hasArrayBufferSupport", "isFunction", "ArrayBuffer", "noArraybuffer", "polyfill", "main", "isArrayBufferView", "require_main", "__commonJSMin", "exports", "module", "isFunction", "function2string", "RE_ARROW_FUNCTION", "isArrowFunction", "value", "str", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "MAX_ASCII", "isASCII", "x", "len", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "format", "isBetween", "value", "a", "b", "left", "right", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isCollection", "format", "isBetweenArray", "value", "a", "b", "left", "right", "len", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_ctors", "__commonJSMin", "exports", "module", "Uint8Array", "Uint16Array", "ctors", "require_main", "__commonJSMin", "exports", "module", "ctors", "bool", "isBigEndian", "uint16view", "uint8view", "require_lib", "__commonJSMin", "exports", "module", "IS_BIG_ENDIAN", "require_main", "__commonJSMin", "exports", "module", "isString", "isBinaryString", "str", "ch", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "RE", "isBlankString", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isBoolean", "value", "require_tostring", "__commonJSMin", "exports", "module", "toString", "require_try2serialize", "__commonJSMin", "exports", "module", "toString", "test", "value", "err", "require_object", "__commonJSMin", "exports", "module", "hasToStringTag", "nativeClass", "Boolean", "test", "FLG", "isBoolean", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isBoolean", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "isArrayLike", "format", "arraylikefcn", "predicate", "every", "value", "len", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "arrayfun", "isBoolean", "isPrimitiveArray", "isObjectArray", "isBooleanArray", "require_primitive", "__commonJSMin", "exports", "module", "isSymbol", "value", "require_tostring", "__commonJSMin", "exports", "module", "toStr", "value", "require_try2tostring", "__commonJSMin", "exports", "module", "toStr", "RE", "test", "value", "err", "require_object", "__commonJSMin", "exports", "module", "nativeClass", "test", "isSymbol", "value", "require_generic", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isSymbol", "value", "require_main", "__commonJSMin", "exports", "module", "setReadOnly", "isSymbol", "isPrimitive", "isObject", "require_polyfill", "__commonJSMin", "exports", "module", "setReadOnly", "constantFunction", "isSymbol", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "hasSymbols", "main", "polyfill", "isSymbol", "require_main", "__commonJSMin", "exports", "module", "isBoolean", "isNumber", "isString", "isSymbol", "isBoxedPrimitive", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_to_string", "__commonJSMin", "exports", "module", "toStr", "toString", "value", "require_global_scope", "__commonJSMin", "exports", "module", "Global", "globalScope", "fcn", "require_main", "__commonJSMin", "exports", "module", "proc", "getGlobal", "nativeClass", "isObject", "isString", "toStr", "globalScope", "Global", "RE", "isNode", "require_lib", "__commonJSMin", "exports", "module", "main", "bool", "require_global_scope", "__commonJSMin", "exports", "module", "scope", "globalScope", "fcn", "require_main", "__commonJSMin", "exports", "module", "getGlobal", "IS_NODE", "globalScope", "Global", "isBrowser", "require_lib", "__commonJSMin", "exports", "module", "main", "bool", "require_main", "__commonJSMin", "exports", "module", "isString", "camelcase", "isCamelcase", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "lowercase", "uppercase", "isString", "isCapitalized", "value", "ch", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "ndarray", "isndarrayLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isndarrayLike", "isMatrixLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isMatrixLike", "isSquareMatrix", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSquareMatrix", "floor", "isOdd", "isCentrosymmetricMatrix", "v", "m1", "M", "N", "i", "j", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "objectKeys", "isObject", "value", "type", "contains", "seen", "searchValue", "i", "isCircObj", "obj", "keys", "val", "isCircular", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isArray", "isCircular", "isCircularArray", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isPlainObject", "isCircular", "isCircularPlainObject", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isFunction", "function2string", "RE_CLASS", "isClass", "value", "str", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "Complex128", "Complex64", "constructorName", "isComplex", "value", "type", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "Complex128", "Complex64", "isComplexLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_ctors", "__commonJSMin", "exports", "module", "Complex64Array", "Complex128Array", "CTORS", "require_names", "__commonJSMin", "exports", "module", "require_main", "__commonJSMin", "exports", "module", "ctorName", "getPrototypeOf", "CTORS", "NAMES", "isComplexTypedArray", "value", "v", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isNonNegativeInteger", "MAX", "MAX_LENGTH", "isComplexTypedArrayLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "Complex64", "constructorName", "isComplex64", "value", "require_lib", "__commonJSMin", "exports", "module", "isComplex64", "require_main", "__commonJSMin", "exports", "module", "Complex64Array", "constructorName", "isComplex64Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isComplex64Array", "require_main", "__commonJSMin", "exports", "module", "isMatrixLike", "isComplex64MatrixLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isndarrayLike", "isComplex64ndarrayLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isndarrayLike", "isVectorLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isVectorLike", "isComplex64VectorLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "Complex128", "constructorName", "isComplex128", "value", "require_lib", "__commonJSMin", "exports", "module", "isComplex128", "require_main", "__commonJSMin", "exports", "module", "Complex128Array", "constructorName", "isComplex128Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isComplex128Array", "require_main", "__commonJSMin", "exports", "module", "isMatrixLike", "isComplex128MatrixLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isndarrayLike", "isComplex128ndarrayLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isVectorLike", "isComplex128VectorLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "iscomposite", "isComposite", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "iscomposite", "isComposite", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isComposite", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptor", "isConfigurableProperty", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isConfigurablePropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "constantcase", "isConstantcase", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "cbrt", "floor", "isCubeNumber", "value", "n", "require_object", "__commonJSMin", "exports", "module", "isInteger", "cbrt", "floor", "isCubeNumber", "value", "n", "x", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isCubeNumber", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "isDateObject", "currentYear", "isCurrentYear", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "PLATFORM", "IS_DARWIN", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptor", "isDataProperty", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isDataPropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "arrayfun", "isDateObject", "isDateObjectArray", "require_main", "__commonJSMin", "exports", "module", "isString", "ZERO", "NINE", "isDigitString", "x", "len", "ch", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "readFile", "contains", "exists", "OPTS", "isDocker", "file", "require_lib", "__commonJSMin", "exports", "module", "main", "bool", "require_main", "__commonJSMin", "exports", "module", "isString", "RE_DOMAIN_NAME", "isDomainName", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "RE_DURATION_STRING", "isDurationString", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_process", "__commonJSMin", "exports", "module", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "isObject", "isString", "proc", "isElectron", "require_lib", "__commonJSMin", "exports", "module", "main", "bool", "require_process", "__commonJSMin", "exports", "module", "require_main", "__commonJSMin", "exports", "module", "isElectron", "proc", "isElectronMain", "require_lib", "__commonJSMin", "exports", "module", "main", "bool", "require_process", "__commonJSMin", "exports", "module", "process", "require_main", "__commonJSMin", "exports", "module", "isElectron", "proc", "isElectronRenderer", "require_lib", "__commonJSMin", "exports", "module", "main", "bool", "require_main", "__commonJSMin", "exports", "module", "isString", "RE", "isEmail", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isArray", "isEmptyArray", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isEmptyArrayLikeObject", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isEmptyCollection", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "objectKeys", "isPlainObject", "hasSymbolSupport", "FLG", "isEmptyObject", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isEmptyString", "value", "require_object", "__commonJSMin", "exports", "module", "isString", "isEmptyString", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isEmptyString", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isEnumerablePropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "getPrototypeOf", "typeOf", "isError", "isEvalError", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "isEven", "value", "require_object", "__commonJSMin", "exports", "module", "isInteger", "isEven", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isEven", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "isFalsy", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "arrayfun", "isFalsy", "isFalsyArray", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isfinite", "isFinite", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isfinite", "isFinite", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isFinite", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "isFinite", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isFiniteArray", "require_main", "__commonJSMin", "exports", "module", "isMatrixLike", "isFloat32MatrixLike", "v", "require_lib", "__commonJSMin", "exports", "module", "isFloat32MatrixLike", "require_main", "__commonJSMin", "exports", "module", "isndarrayLike", "isFloat32ndarrayLike", "v", "require_lib", "__commonJSMin", "exports", "module", "isFloat32ndarrayLike", "require_main", "__commonJSMin", "exports", "module", "isVectorLike", "isFloat32VectorLike", "v", "require_lib", "__commonJSMin", "exports", "module", "isFloat32VectorLike", "require_main", "__commonJSMin", "exports", "module", "isMatrixLike", "isFloat64MatrixLike", "v", "require_lib", "__commonJSMin", "exports", "module", "isFloat64MatrixLike", "require_main", "__commonJSMin", "exports", "module", "isndarrayLike", "isFloat64ndarrayLike", "v", "require_lib", "__commonJSMin", "exports", "module", "isFloat64ndarrayLike", "require_main", "__commonJSMin", "exports", "module", "isVectorLike", "isFloat64VectorLike", "v", "require_lib", "__commonJSMin", "exports", "module", "isFloat64VectorLike", "require_lib", "__commonJSMin", "exports", "module", "arrayfun", "isFunction", "isFunctionArray", "require_main", "__commonJSMin", "exports", "module", "hasGeneratorSupport", "nativeClass", "hasGenerators", "isGeneratorObject", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isGeneratorObjectLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isUint8Array", "isBuffer", "isgzipBuffer", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "ZERO", "NINE", "A", "F", "a", "f", "isHexString", "x", "len", "ch", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isinf", "isInfinite", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isinf", "isInfinite", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isInfinite", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "hasOwnProp", "isInheritedProperty", "value", "property", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "isInteger", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isIntegerArray", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "value", "type", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isFunction", "isIteratorLike", "value", "t", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isFunction", "ITERATOR", "isIteratorLike", "isIterableLike", "value", "f", "require_lib", "__commonJSMin", "exports", "module", "hasIteratorSymbolSupport", "constantFunction", "main", "isIterable", "require_main", "__commonJSMin", "exports", "module", "re", "isJSON", "value", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "kebabcase", "isKebabcase", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isDateObject", "isInteger", "currentYear", "isLeapYear", "value", "yr", "require_lib", "__commonJSMin", "exports", "module", "main", "require_ctors", "__commonJSMin", "exports", "module", "Uint8Array", "Uint16Array", "ctors", "require_main", "__commonJSMin", "exports", "module", "ctors", "bool", "isLittleEndian", "uint16view", "uint8view", "require_lib", "__commonJSMin", "exports", "module", "IS_LITTLE_ENDIAN", "require_main", "__commonJSMin", "exports", "module", "isString", "RE_LOCALHOST_IPV4", "isLocalhost", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "lowercase", "uppercase", "isString", "isLowercase", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "hasOwnProp", "isFunction", "isMethod", "value", "property", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isFunction", "Object", "isMethodIn", "value", "property", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "constantFunction", "isMobile", "require_lib", "__commonJSMin", "exports", "module", "main", "bool", "require_main", "__commonJSMin", "exports", "module", "MultiSlice", "constructorName", "isMultiSlice", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isTypedArray", "hasOwnProp", "isNamedTypedTupleLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "arrayfun", "isnan", "isPrimitiveArray", "isObjectArray", "isNaNArray", "require_main", "__commonJSMin", "exports", "module", "isFunction", "reNativeFunction", "function2string", "isNativeFunction", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "isNegativeInteger", "value", "require_object", "__commonJSMin", "exports", "module", "isInteger", "isNegativeInteger", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isNegativeInteger", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "isNegativeInteger", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isNegativeIntegerArray", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isNegativeNumber", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isNegativeNumber", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isNegativeNumber", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "isNegativeNumber", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isNegativeNumberArray", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "NINF", "isNegativeZero", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "NINF", "isNegativeZero", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isNegativeZero", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_builtins", "__commonJSMin", "exports", "module", "require_main", "__commonJSMin", "exports", "module", "mod", "contains", "isString", "BUILTINS", "LIST", "isNodeBuiltin", "x", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isNodeStreamLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isNodeStreamLike", "isNodeWritableStreamLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isNodeStreamLike", "isNodeReadableStreamLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isNodeWritableStreamLike", "isNodeReadableStreamLike", "isNodeDuplexStreamLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_parent", "__commonJSMin", "exports", "module", "parent", "require_stacktrace", "__commonJSMin", "exports", "module", "stacktrace", "err", "require_main", "__commonJSMin", "exports", "module", "IS_NODE", "p", "stacktrace", "RE_MODULE_ID", "RE_ERROR_STACK", "isNodeREPL", "stack", "m", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isNodeDuplexStreamLike", "isNodeTransformStreamLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptor", "isNonConfigurableProperty", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isNonConfigurablePropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "hasOwnProp", "isEnumerableProperty", "isNonEnumerableProperty", "value", "property", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isNonEnumerablePropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "isNonNegativeInteger", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isNonNegativeIntegerArray", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isNonNegativeNumber", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isNonNegativeNumber", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isNonNegativeNumber", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "isNonNegativeNumber", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isNonNegativeNumberArray", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "isNonPositiveInteger", "value", "require_object", "__commonJSMin", "exports", "module", "isInteger", "isNonPositiveInteger", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isNonPositiveInteger", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "isNonPositiveInteger", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isNonPositiveIntegerArray", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isNonPositiveNumber", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isNonPositiveNumber", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isNonPositiveNumber", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "isNonPositiveNumber", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isNonPositiveNumberArray", "require_main", "__commonJSMin", "exports", "module", "isMatrixLike", "isNonSymmetricMatrix", "v", "M", "i", "j", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isNull", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "arrayfun", "isNull", "isNullArray", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "arrayfun", "isNumber", "isPrimitiveArray", "isObjectArray", "isNumberArray", "require_main", "__commonJSMin", "exports", "module", "isTypedArray", "isNumberArray", "isBuffer", "isNumericArray", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "arrayfun", "isObject", "isObjectArray", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "isEven", "isOdd", "value", "require_object", "__commonJSMin", "exports", "module", "isInteger", "isEven", "isOdd", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isOdd", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "isString", "pascalcase", "isPascalcase", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSquareMatrix", "isPersymmetricMatrix", "v", "M", "n", "i", "j", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "arrayfun", "isPlainObject", "isPlainObjectArray", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "isPositiveInteger", "value", "require_object", "__commonJSMin", "exports", "module", "isInteger", "isPositiveInteger", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isPositiveInteger", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "isPositiveInteger", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isPositiveIntegerArray", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isPositiveNumber", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isPositiveNumber", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isPositiveNumber", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "isPositiveNumber", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isPositiveNumberArray", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "PINF", "isPositiveZero", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "PINF", "isPositiveZero", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isPositiveZero", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isprime", "isPrime", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isprime", "isPrime", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isPrime", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "arrayfun", "isPrimitive", "isPrimitiveArray", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isFunction", "hasOwnProp", "isPRNGLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isProbability", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isProbability", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isProbability", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "isProbability", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isProbabilityArray", "require_main", "__commonJSMin", "exports", "module", "isString", "isSymbol", "isNonNegativeInteger", "isPropertyKey", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isProtoOf", "format", "isPrototypeOf", "value", "proto", "type", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "getPrototypeOf", "typeOf", "isError", "isRangeError", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptor", "isReadOnlyProperty", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isReadOnlyPropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptor", "isReadWriteProperty", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isReadWritePropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptor", "isReadableProperty", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isReadablePropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "getPrototypeOf", "typeOf", "isError", "isReferenceError", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "RE", "isRegExpString", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_posix", "__commonJSMin", "exports", "module", "isString", "isAbsolutePath", "isRelativePath", "value", "require_win32", "__commonJSMin", "exports", "module", "isString", "isAbsolutePath", "isRelativePath", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "IS_WINDOWS", "isRelativePathPosix", "isRelativePathWin32", "isRelativePath", "require_main", "__commonJSMin", "exports", "module", "isString", "RE_URI", "RE_ILLEGALS", "RE_HEX1", "RE_HEX2", "RE_PATH", "RE_SCHEME", "isRelativeURI", "value", "authority", "scheme", "parts", "path", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isSafeInt", "isSafeInteger", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isSafeInt", "isSafeInteger", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isSafeInteger", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "arrayfun", "isSafeInteger", "isPrimitiveArray", "isObjectArray", "isSafeIntegerArray", "require_main", "__commonJSMin", "exports", "module", "isFloat64Array", "hasSameValues", "isSameFloat64Array", "v1", "v2", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "isSameNativeClass", "a", "b", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSameType", "a", "b", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSameComplexValue", "isComplexLike", "isSameValue", "a", "b", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSameComplexValueZero", "isComplexLike", "isSameValueZero", "a", "b", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "RE_SEMVER", "isSemVer", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSquareMatrix", "floor", "isOdd", "isSkewCentrosymmetricMatrix", "v", "m1", "M", "N", "i", "j", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSquareMatrix", "isSkewPersymmetricMatrix", "v", "M", "n", "i", "j", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSquareMatrix", "isSkewSymmetricMatrix", "v", "M", "i", "j", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "Slice", "constructorName", "isSlice", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "snakecase", "isSnakecase", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "sqrt", "floor", "isSquareNumber", "value", "n", "require_object", "__commonJSMin", "exports", "module", "isInteger", "sqrt", "floor", "isSquareNumber", "value", "n", "x", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isSquareNumber", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "sqrt", "floor", "isSquareTriangularNumber", "value", "n", "x", "require_object", "__commonJSMin", "exports", "module", "isInteger", "sqrt", "floor", "isSquareTriangularNumber", "value", "n", "x", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isSquareTriangularNumber", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "isString", "startcase", "isStartcase", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isStrictEqual", "a", "b", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "arrayfun", "isString", "isPrimitiveArray", "isObjectArray", "isStringArray", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "arrayfun", "isSymbol", "isPrimitiveArray", "isObjectArray", "isSymbolArray", "require_main", "__commonJSMin", "exports", "module", "isSquareMatrix", "isSymmetricMatrix", "v", "M", "i", "j", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "getPrototypeOf", "typeOf", "isError", "isSyntaxError", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "constantFunction", "isTouchDevice", "require_lib", "__commonJSMin", "exports", "module", "main", "bool", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "sqrt", "floor", "isTriangularNumber", "value", "n", "x", "require_object", "__commonJSMin", "exports", "module", "isInteger", "sqrt", "floor", "isTriangularNumber", "value", "n", "x", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isTriangularNumber", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "isTruthy", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "arrayfun", "isTruthy", "isTruthyArray", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "getPrototypeOf", "typeOf", "isError", "isTypeError", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isInteger", "MAX_LENGTH", "isTypedArrayLength", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isNonNegativeInteger", "MAX", "isTypedArrayLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "RE_UNC_PATH", "isUNCPath", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isUndefined", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isUndefinedOrNull", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isTypedArray", "isArray", "isNumber", "absdiff", "FLOAT64_SQRT_EPS", "isUnityProbabilityArray", "v", "sum", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "lowercase", "uppercase", "isString", "isUppercase", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "getPrototypeOf", "typeOf", "isError", "isURIError", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_global_scope", "__commonJSMin", "exports", "module", "scope", "globalScope", "fcn", "require_main", "__commonJSMin", "exports", "module", "getGlobal", "IS_NODE", "isObject", "globalScope", "Global", "isWebWorker", "require_lib", "__commonJSMin", "exports", "module", "main", "bool", "require_main", "__commonJSMin", "exports", "module", "isString", "reWhitespace", "RE", "isWhitespace", "x", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptor", "isWritableProperty", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isWritablePropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptor", "isWriteOnlyProperty", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isWriteOnlyPropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isTypedArray", "format", "typedarrayfcn", "predicate", "every", "value", "len", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "ns", "setReadOnly", "ns"] + "sources": ["../is-collection/lib/main.js", "../is-collection/lib/index.js", "../is-number/lib/primitive.js", "../has-symbol-support/lib/main.js", "../has-symbol-support/lib/index.js", "../has-tostringtag-support/lib/main.js", "../has-tostringtag-support/lib/index.js", "../is-number/lib/tostring.js", "../is-number/lib/try2serialize.js", "../is-number/lib/object.js", "../is-number/lib/main.js", "../is-number/lib/index.js", "../is-integer/lib/integer.js", "../is-integer/lib/primitive.js", "../is-integer/lib/object.js", "../is-integer/lib/main.js", "../is-integer/lib/index.js", "../is-string/lib/primitive.js", "../is-string/lib/valueof.js", "../is-string/lib/try2valueof.js", "../is-string/lib/object.js", "../is-string/lib/main.js", "../is-string/lib/index.js", "../is-nan/lib/primitive.js", "../is-nan/lib/object.js", "../is-nan/lib/main.js", "../is-nan/lib/index.js", "../contains/lib/main.js", "../contains/lib/index.js", "../is-date-object/lib/getday.js", "../is-date-object/lib/try2getday.js", "../is-date-object/lib/main.js", "../is-date-object/lib/index.js", "../is-error/lib/main.js", "../is-error/lib/index.js", "../is-array/lib/main.js", "../is-array/lib/index.js", "../tools/array-function/lib/main.js", "../tools/array-function/lib/index.js", "../is-object-like/lib/main.js", "../is-object-like/lib/index.js", "../is-buffer/lib/main.js", "../is-buffer/lib/index.js", "../is-regexp/lib/exec.js", "../is-regexp/lib/try2exec.js", "../is-regexp/lib/main.js", "../is-regexp/lib/index.js", "../deep-equal/lib/main.js", "../deep-equal/lib/index.js", "../is-object/lib/main.js", "../is-object/lib/index.js", "../is-function/lib/main.js", "../is-function/lib/index.js", "../has-own-property/lib/main.js", "../has-own-property/lib/index.js", "../is-plain-object/lib/main.js", "../is-plain-object/lib/index.js", "../deep-has-own-property/lib/validate.js", "../deep-has-own-property/lib/defaults.js", "../deep-has-own-property/lib/has.js", "../deep-has-own-property/lib/main.js", "../deep-has-own-property/lib/factory.js", "../deep-has-own-property/lib/index.js", "../deep-has-property/lib/validate.js", "../deep-has-property/lib/defaults.js", "../has-property/lib/main.js", "../has-property/lib/index.js", "../deep-has-property/lib/has.js", "../deep-has-property/lib/main.js", "../deep-has-property/lib/factory.js", "../deep-has-property/lib/index.js", "../is-arraybuffer/lib/main.js", "../is-arraybuffer/lib/index.js", "../has-arraybuffer-support/lib/arraybuffer.js", "../has-arraybuffer-support/lib/main.js", "../has-arraybuffer-support/lib/index.js", "../has-arrow-function-support/lib/main.js", "../has-arrow-function-support/lib/index.js", "../has-async-await-support/lib/main.js", "../has-async-await-support/lib/index.js", "../has-async-iterator-symbol-support/lib/main.js", "../has-async-iterator-symbol-support/lib/index.js", "../has-bigint-support/lib/main.js", "../has-bigint-support/lib/index.js", "../is-bigint64array/lib/main.js", "../is-bigint64array/lib/index.js", "../is-bigint/lib/primitive.js", "../is-bigint/lib/try2valueof.js", "../is-bigint/lib/object.js", "../is-bigint/lib/generic.js", "../is-bigint/lib/main.js", "../is-bigint/lib/polyfill.js", "../is-bigint/lib/index.js", "../has-bigint64array-support/lib/bigint64array.js", "../has-bigint64array-support/lib/main.js", "../has-bigint64array-support/lib/index.js", "../is-biguint64array/lib/main.js", "../is-biguint64array/lib/index.js", "../has-biguint64array-support/lib/biguint64array.js", "../has-biguint64array-support/lib/main.js", "../has-biguint64array-support/lib/index.js", "../has-class-support/lib/main.js", "../has-class-support/lib/index.js", "../is-dataview/lib/main.js", "../is-dataview/lib/index.js", "../has-dataview-support/lib/dataview.js", "../has-dataview-support/lib/main.js", "../has-dataview-support/lib/index.js", "../has-define-properties-support/lib/define_properties.js", "../has-define-properties-support/lib/main.js", "../has-define-properties-support/lib/index.js", "../has-define-property-support/lib/define_property.js", "../has-define-property-support/lib/main.js", "../has-define-property-support/lib/index.js", "../is-float32array/lib/main.js", "../is-float32array/lib/index.js", "../has-float32array-support/lib/float32array.js", "../has-float32array-support/lib/main.js", "../has-float32array-support/lib/index.js", "../is-float64array/lib/main.js", "../is-float64array/lib/index.js", "../has-float64array-support/lib/float64array.js", "../has-float64array-support/lib/main.js", "../has-float64array-support/lib/index.js", "../has-function-name-support/lib/foo.js", "../has-function-name-support/lib/main.js", "../has-function-name-support/lib/index.js", "../has-generator-support/lib/main.js", "../has-generator-support/lib/index.js", "../has-globalthis-support/lib/main.js", "../has-globalthis-support/lib/index.js", "../is-int8array/lib/main.js", "../is-int8array/lib/index.js", "../has-int8array-support/lib/int8array.js", "../has-int8array-support/lib/main.js", "../has-int8array-support/lib/index.js", "../is-int16array/lib/main.js", "../is-int16array/lib/index.js", "../has-int16array-support/lib/int16array.js", "../has-int16array-support/lib/main.js", "../has-int16array-support/lib/index.js", "../is-int32array/lib/main.js", "../is-int32array/lib/index.js", "../has-int32array-support/lib/int32array.js", "../has-int32array-support/lib/main.js", "../has-int32array-support/lib/index.js", "../has-iterator-symbol-support/lib/main.js", "../has-iterator-symbol-support/lib/index.js", "../has-map-support/lib/map.js", "../has-map-support/lib/main.js", "../has-map-support/lib/index.js", "../has-node-buffer-support/lib/buffer.js", "../has-node-buffer-support/lib/main.js", "../has-node-buffer-support/lib/index.js", "../has-proxy-support/lib/main.js", "../has-proxy-support/lib/index.js", "../has-set-support/lib/set.js", "../has-set-support/lib/main.js", "../has-set-support/lib/index.js", "../is-sharedarraybuffer/lib/main.js", "../is-sharedarraybuffer/lib/index.js", "../has-sharedarraybuffer-support/lib/sharedarraybuffer.js", "../has-sharedarraybuffer-support/lib/main.js", "../has-sharedarraybuffer-support/lib/index.js", "../is-uint8array/lib/main.js", "../is-uint8array/lib/index.js", "../has-uint8array-support/lib/uint8array.js", "../has-uint8array-support/lib/main.js", "../has-uint8array-support/lib/index.js", "../is-uint8clampedarray/lib/main.js", "../is-uint8clampedarray/lib/index.js", "../has-uint8clampedarray-support/lib/uint8clampedarray.js", "../has-uint8clampedarray-support/lib/main.js", "../has-uint8clampedarray-support/lib/index.js", "../is-uint16array/lib/main.js", "../is-uint16array/lib/index.js", "../has-uint16array-support/lib/uint16array.js", "../has-uint16array-support/lib/main.js", "../has-uint16array-support/lib/index.js", "../is-uint32array/lib/main.js", "../is-uint32array/lib/index.js", "../has-uint32array-support/lib/uint32array.js", "../has-uint32array-support/lib/main.js", "../has-uint32array-support/lib/index.js", "../is-nonnegative-integer/lib/primitive.js", "../is-nonnegative-integer/lib/object.js", "../is-nonnegative-integer/lib/main.js", "../is-nonnegative-integer/lib/index.js", "../has-utf16-surrogate-pair-at/lib/main.js", "../has-utf16-surrogate-pair-at/lib/index.js", "../has-wasm-support/lib/main.js", "../has-wasm-support/lib/index.js", "../has-weakmap-support/lib/weakmap.js", "../has-weakmap-support/lib/main.js", "../has-weakmap-support/lib/index.js", "../has-weakset-support/lib/weakset.js", "../has-weakset-support/lib/main.js", "../has-weakset-support/lib/index.js", "../instance-of/lib/main.js", "../instance-of/lib/index.js", "../is-uri/lib/main.js", "../is-uri/lib/index.js", "../is-absolute-http-uri/lib/main.js", "../is-absolute-http-uri/lib/index.js", "../is-windows/lib/index.js", "../is-absolute-path/lib/posix.js", "../is-absolute-path/lib/win32.js", "../is-absolute-path/lib/index.js", "../is-absolute-uri/lib/main.js", "../is-absolute-uri/lib/index.js", "../is-accessor-array/lib/main.js", "../is-accessor-array/lib/index.js", "../is-accessor-property/lib/main.js", "../is-accessor-property/lib/index.js", "../is-accessor-property-in/lib/main.js", "../is-accessor-property-in/lib/index.js", "../is-alphagram/lib/main.js", "../is-alphagram/lib/index.js", "../is-alphanumeric/lib/main.js", "../is-alphanumeric/lib/index.js", "../is-anagram/lib/main.js", "../is-anagram/lib/index.js", "../is-arguments/lib/main.js", "../is-arguments/lib/detect.js", "../is-enumerable-property/lib/native.js", "../is-enumerable-property/lib/has_string_enumerability_bug.js", "../is-enumerable-property/lib/main.js", "../is-enumerable-property/lib/index.js", "../is-arguments/lib/polyfill.js", "../is-arguments/lib/index.js", "../is-array-array/lib/main.js", "../is-array-array/lib/index.js", "../is-array-length/lib/main.js", "../is-array-length/lib/index.js", "../is-array-like/lib/main.js", "../is-array-like/lib/index.js", "../is-array-like-object/lib/main.js", "../is-array-like-object/lib/index.js", "../is-arraybuffer-view/lib/no_arraybuffer.js", "../is-typed-array/lib/ctors.js", "../is-typed-array/lib/names.json", "../is-typed-array/lib/main.js", "../is-typed-array/lib/index.js", "../is-arraybuffer-view/lib/polyfill.js", "../is-arraybuffer-view/lib/main.js", "../is-arraybuffer-view/lib/index.js", "../is-arrow-function/lib/main.js", "../is-arrow-function/lib/index.js", "../is-ascii/lib/main.js", "../is-ascii/lib/index.js", "../is-between/lib/main.js", "../is-between/lib/index.js", "../is-between-array/lib/main.js", "../is-between-array/lib/index.js", "../is-big-endian/lib/ctors.js", "../is-big-endian/lib/main.js", "../is-big-endian/lib/index.js", "../is-binary-string/lib/main.js", "../is-binary-string/lib/index.js", "../is-blank-string/lib/main.js", "../is-blank-string/lib/index.js", "../is-boolean/lib/primitive.js", "../is-boolean/lib/tostring.js", "../is-boolean/lib/try2serialize.js", "../is-boolean/lib/object.js", "../is-boolean/lib/main.js", "../is-boolean/lib/index.js", "../tools/array-like-function/lib/main.js", "../tools/array-like-function/lib/index.js", "../is-boolean-array/lib/index.js", "../is-symbol/lib/primitive.js", "../is-symbol/lib/tostring.js", "../is-symbol/lib/try2tostring.js", "../is-symbol/lib/object.js", "../is-symbol/lib/generic.js", "../is-symbol/lib/main.js", "../is-symbol/lib/polyfill.js", "../is-symbol/lib/index.js", "../is-boxed-primitive/lib/main.js", "../is-boxed-primitive/lib/index.js", "../is-node/lib/to_string.js", "../is-node/lib/global_scope.js", "../is-node/lib/main.js", "../is-node/lib/index.js", "../is-browser/lib/global_scope.js", "../is-browser/lib/main.js", "../is-browser/lib/index.js", "../is-camelcase/lib/main.js", "../is-camelcase/lib/index.js", "../is-capitalized/lib/main.js", "../is-capitalized/lib/index.js", "../is-ndarray-like/lib/main.js", "../is-ndarray-like/lib/index.js", "../is-matrix-like/lib/main.js", "../is-matrix-like/lib/index.js", "../is-square-matrix/lib/main.js", "../is-square-matrix/lib/index.js", "../is-centrosymmetric-matrix/lib/main.js", "../is-centrosymmetric-matrix/lib/index.js", "../is-circular/lib/main.js", "../is-circular/lib/index.js", "../is-circular-array/lib/main.js", "../is-circular-array/lib/index.js", "../is-circular-plain-object/lib/main.js", "../is-circular-plain-object/lib/index.js", "../is-class/lib/main.js", "../is-class/lib/index.js", "../is-complex/lib/main.js", "../is-complex/lib/index.js", "../is-complex-like/lib/main.js", "../is-complex-like/lib/index.js", "../is-complex-typed-array/lib/ctors.js", "../is-complex-typed-array/lib/names.json", "../is-complex-typed-array/lib/main.js", "../is-complex-typed-array/lib/index.js", "../is-complex-typed-array-like/lib/main.js", "../is-complex-typed-array-like/lib/index.js", "../is-complex64/lib/main.js", "../is-complex64/lib/index.js", "../is-complex64array/lib/main.js", "../is-complex64array/lib/index.js", "../is-complex64matrix-like/lib/main.js", "../is-complex64matrix-like/lib/index.js", "../is-complex64ndarray-like/lib/main.js", "../is-complex64ndarray-like/lib/index.js", "../is-vector-like/lib/main.js", "../is-vector-like/lib/index.js", "../is-complex64vector-like/lib/main.js", "../is-complex64vector-like/lib/index.js", "../is-complex128/lib/main.js", "../is-complex128/lib/index.js", "../is-complex128array/lib/main.js", "../is-complex128array/lib/index.js", "../is-complex128matrix-like/lib/main.js", "../is-complex128matrix-like/lib/index.js", "../is-complex128ndarray-like/lib/main.js", "../is-complex128ndarray-like/lib/index.js", "../is-complex128vector-like/lib/main.js", "../is-complex128vector-like/lib/index.js", "../is-composite/lib/primitive.js", "../is-composite/lib/object.js", "../is-composite/lib/main.js", "../is-composite/lib/index.js", "../is-configurable-property/lib/main.js", "../is-configurable-property/lib/index.js", "../is-configurable-property-in/lib/main.js", "../is-configurable-property-in/lib/index.js", "../is-constantcase/lib/main.js", "../is-constantcase/lib/index.js", "../is-cube-number/lib/primitive.js", "../is-cube-number/lib/object.js", "../is-cube-number/lib/main.js", "../is-cube-number/lib/index.js", "../is-current-year/lib/main.js", "../is-current-year/lib/index.js", "../is-darwin/lib/index.js", "../is-data-property/lib/main.js", "../is-data-property/lib/index.js", "../is-data-property-in/lib/main.js", "../is-data-property-in/lib/index.js", "../is-date-object-array/lib/index.js", "../is-digit-string/lib/main.js", "../is-digit-string/lib/index.js", "../is-docker/lib/main.js", "../is-docker/lib/index.js", "../is-domain-name/lib/main.js", "../is-domain-name/lib/index.js", "../is-duration-string/lib/main.js", "../is-duration-string/lib/index.js", "../is-electron/lib/process.js", "../is-electron/lib/main.js", "../is-electron/lib/index.js", "../is-electron-main/lib/process.js", "../is-electron-main/lib/main.js", "../is-electron-main/lib/index.js", "../is-electron-renderer/lib/process.js", "../is-electron-renderer/lib/main.js", "../is-electron-renderer/lib/index.js", "../is-email-address/lib/main.js", "../is-email-address/lib/index.js", "../is-empty-array/lib/main.js", "../is-empty-array/lib/index.js", "../is-empty-array-like-object/lib/main.js", "../is-empty-array-like-object/lib/index.js", "../is-empty-collection/lib/main.js", "../is-empty-collection/lib/index.js", "../is-empty-object/lib/main.js", "../is-empty-object/lib/index.js", "../is-empty-string/lib/primitive.js", "../is-empty-string/lib/object.js", "../is-empty-string/lib/main.js", "../is-empty-string/lib/index.js", "../is-enumerable-property-in/lib/main.js", "../is-enumerable-property-in/lib/index.js", "../is-eval-error/lib/main.js", "../is-eval-error/lib/index.js", "../is-even/lib/primitive.js", "../is-even/lib/object.js", "../is-even/lib/main.js", "../is-even/lib/index.js", "../is-falsy/lib/main.js", "../is-falsy/lib/index.js", "../is-falsy-array/lib/index.js", "../is-finite/lib/primitive.js", "../is-finite/lib/object.js", "../is-finite/lib/main.js", "../is-finite/lib/index.js", "../is-finite-array/lib/index.js", "../is-float32matrix-like/lib/main.js", "../is-float32matrix-like/lib/index.js", "../is-float32ndarray-like/lib/main.js", "../is-float32ndarray-like/lib/index.js", "../is-float32vector-like/lib/main.js", "../is-float32vector-like/lib/index.js", "../is-float64matrix-like/lib/main.js", "../is-float64matrix-like/lib/index.js", "../is-float64ndarray-like/lib/main.js", "../is-float64ndarray-like/lib/index.js", "../is-float64vector-like/lib/main.js", "../is-float64vector-like/lib/index.js", "../is-function-array/lib/index.js", "../is-generator-object/lib/main.js", "../is-generator-object/lib/index.js", "../is-generator-object-like/lib/main.js", "../is-generator-object-like/lib/index.js", "../is-gzip-buffer/lib/main.js", "../is-gzip-buffer/lib/index.js", "../is-hex-string/lib/main.js", "../is-hex-string/lib/index.js", "../is-infinite/lib/primitive.js", "../is-infinite/lib/object.js", "../is-infinite/lib/main.js", "../is-infinite/lib/index.js", "../is-inherited-property/lib/main.js", "../is-inherited-property/lib/index.js", "../is-integer-array/lib/index.js", "../is-primitive/lib/main.js", "../is-primitive/lib/index.js", "../is-iterator-like/lib/main.js", "../is-iterator-like/lib/index.js", "../is-iterable-like/lib/main.js", "../is-iterable-like/lib/index.js", "../is-json/lib/main.js", "../is-json/lib/index.js", "../is-kebabcase/lib/main.js", "../is-kebabcase/lib/index.js", "../is-leap-year/lib/main.js", "../is-leap-year/lib/index.js", "../is-little-endian/lib/ctors.js", "../is-little-endian/lib/main.js", "../is-little-endian/lib/index.js", "../is-localhost/lib/main.js", "../is-localhost/lib/index.js", "../is-lowercase/lib/main.js", "../is-lowercase/lib/index.js", "../is-method/lib/main.js", "../is-method/lib/index.js", "../is-method-in/lib/main.js", "../is-method-in/lib/index.js", "../is-mobile/lib/main.js", "../is-mobile/lib/index.js", "../is-multi-slice/lib/main.js", "../is-multi-slice/lib/index.js", "../is-named-typed-tuple-like/lib/main.js", "../is-named-typed-tuple-like/lib/index.js", "../is-nan-array/lib/index.js", "../is-native-function/lib/main.js", "../is-native-function/lib/index.js", "../is-negative-integer/lib/primitive.js", "../is-negative-integer/lib/object.js", "../is-negative-integer/lib/main.js", "../is-negative-integer/lib/index.js", "../is-negative-integer-array/lib/index.js", "../is-negative-number/lib/primitive.js", "../is-negative-number/lib/object.js", "../is-negative-number/lib/main.js", "../is-negative-number/lib/index.js", "../is-negative-number-array/lib/index.js", "../is-negative-zero/lib/primitive.js", "../is-negative-zero/lib/object.js", "../is-negative-zero/lib/main.js", "../is-negative-zero/lib/index.js", "../is-node-builtin/lib/builtins.json", "../is-node-builtin/lib/main.js", "../is-node-builtin/lib/index.js", "../is-node-stream-like/lib/main.js", "../is-node-stream-like/lib/index.js", "../is-node-writable-stream-like/lib/main.js", "../is-node-writable-stream-like/lib/index.js", "../is-node-readable-stream-like/lib/main.js", "../is-node-readable-stream-like/lib/index.js", "../is-node-duplex-stream-like/lib/main.js", "../is-node-duplex-stream-like/lib/index.js", "../is-node-repl/lib/parent.js", "../is-node-repl/lib/stacktrace.js", "../is-node-repl/lib/main.js", "../is-node-repl/lib/index.js", "../is-node-transform-stream-like/lib/main.js", "../is-node-transform-stream-like/lib/index.js", "../is-nonconfigurable-property/lib/main.js", "../is-nonconfigurable-property/lib/index.js", "../is-nonconfigurable-property-in/lib/main.js", "../is-nonconfigurable-property-in/lib/index.js", "../is-nonenumerable-property/lib/main.js", "../is-nonenumerable-property/lib/index.js", "../is-nonenumerable-property-in/lib/main.js", "../is-nonenumerable-property-in/lib/index.js", "../is-nonnegative-integer-array/lib/index.js", "../is-nonnegative-number/lib/primitive.js", "../is-nonnegative-number/lib/object.js", "../is-nonnegative-number/lib/main.js", "../is-nonnegative-number/lib/index.js", "../is-nonnegative-number-array/lib/index.js", "../is-nonpositive-integer/lib/primitive.js", "../is-nonpositive-integer/lib/object.js", "../is-nonpositive-integer/lib/main.js", "../is-nonpositive-integer/lib/index.js", "../is-nonpositive-integer-array/lib/index.js", "../is-nonpositive-number/lib/primitive.js", "../is-nonpositive-number/lib/object.js", "../is-nonpositive-number/lib/main.js", "../is-nonpositive-number/lib/index.js", "../is-nonpositive-number-array/lib/index.js", "../is-nonsymmetric-matrix/lib/main.js", "../is-nonsymmetric-matrix/lib/index.js", "../is-null/lib/main.js", "../is-null/lib/index.js", "../is-null-array/lib/main.js", "../is-null-array/lib/index.js", "../is-number-array/lib/index.js", "../is-numeric-array/lib/main.js", "../is-numeric-array/lib/index.js", "../is-object-array/lib/main.js", "../is-object-array/lib/index.js", "../is-odd/lib/primitive.js", "../is-odd/lib/object.js", "../is-odd/lib/main.js", "../is-odd/lib/index.js", "../is-pascalcase/lib/main.js", "../is-pascalcase/lib/index.js", "../is-persymmetric-matrix/lib/main.js", "../is-persymmetric-matrix/lib/index.js", "../is-plain-object-array/lib/main.js", "../is-plain-object-array/lib/index.js", "../is-positive-integer/lib/primitive.js", "../is-positive-integer/lib/object.js", "../is-positive-integer/lib/main.js", "../is-positive-integer/lib/index.js", "../is-positive-integer-array/lib/index.js", "../is-positive-number/lib/primitive.js", "../is-positive-number/lib/object.js", "../is-positive-number/lib/main.js", "../is-positive-number/lib/index.js", "../is-positive-number-array/lib/index.js", "../is-positive-zero/lib/primitive.js", "../is-positive-zero/lib/object.js", "../is-positive-zero/lib/main.js", "../is-positive-zero/lib/index.js", "../is-prime/lib/primitive.js", "../is-prime/lib/object.js", "../is-prime/lib/main.js", "../is-prime/lib/index.js", "../is-primitive-array/lib/main.js", "../is-primitive-array/lib/index.js", "../is-prng-like/lib/main.js", "../is-prng-like/lib/index.js", "../is-probability/lib/primitive.js", "../is-probability/lib/object.js", "../is-probability/lib/main.js", "../is-probability/lib/index.js", "../is-probability-array/lib/index.js", "../is-property-key/lib/main.js", "../is-property-key/lib/index.js", "../is-prototype-of/lib/main.js", "../is-prototype-of/lib/index.js", "../is-range-error/lib/main.js", "../is-range-error/lib/index.js", "../is-read-only-property/lib/main.js", "../is-read-only-property/lib/index.js", "../is-read-only-property-in/lib/main.js", "../is-read-only-property-in/lib/index.js", "../is-read-write-property/lib/main.js", "../is-read-write-property/lib/index.js", "../is-read-write-property-in/lib/main.js", "../is-read-write-property-in/lib/index.js", "../is-readable-property/lib/main.js", "../is-readable-property/lib/index.js", "../is-readable-property-in/lib/main.js", "../is-readable-property-in/lib/index.js", "../is-reference-error/lib/main.js", "../is-reference-error/lib/index.js", "../is-regexp-string/lib/main.js", "../is-regexp-string/lib/index.js", "../is-relative-path/lib/posix.js", "../is-relative-path/lib/win32.js", "../is-relative-path/lib/index.js", "../is-relative-uri/lib/main.js", "../is-relative-uri/lib/index.js", "../is-safe-integer/lib/primitive.js", "../is-safe-integer/lib/object.js", "../is-safe-integer/lib/main.js", "../is-safe-integer/lib/index.js", "../is-safe-integer-array/lib/index.js", "../is-same-float32array/lib/main.js", "../is-same-float32array/lib/index.js", "../is-same-float64array/lib/main.js", "../is-same-float64array/lib/index.js", "../is-same-native-class/lib/main.js", "../is-same-native-class/lib/index.js", "../is-same-type/lib/main.js", "../is-same-type/lib/index.js", "../is-same-value/lib/main.js", "../is-same-value/lib/index.js", "../is-same-value-zero/lib/main.js", "../is-same-value-zero/lib/index.js", "../is-semver/lib/main.js", "../is-semver/lib/index.js", "../is-skew-centrosymmetric-matrix/lib/main.js", "../is-skew-centrosymmetric-matrix/lib/index.js", "../is-skew-persymmetric-matrix/lib/main.js", "../is-skew-persymmetric-matrix/lib/index.js", "../is-skew-symmetric-matrix/lib/main.js", "../is-skew-symmetric-matrix/lib/index.js", "../is-slice/lib/main.js", "../is-slice/lib/index.js", "../is-snakecase/lib/main.js", "../is-snakecase/lib/index.js", "../is-square-number/lib/primitive.js", "../is-square-number/lib/object.js", "../is-square-number/lib/main.js", "../is-square-number/lib/index.js", "../is-square-triangular-number/lib/primitive.js", "../is-square-triangular-number/lib/object.js", "../is-square-triangular-number/lib/main.js", "../is-square-triangular-number/lib/index.js", "../is-startcase/lib/main.js", "../is-startcase/lib/index.js", "../is-strict-equal/lib/main.js", "../is-strict-equal/lib/index.js", "../is-string-array/lib/index.js", "../is-symbol-array/lib/index.js", "../is-symmetric-matrix/lib/main.js", "../is-symmetric-matrix/lib/index.js", "../is-syntax-error/lib/main.js", "../is-syntax-error/lib/index.js", "../is-touch-device/lib/main.js", "../is-touch-device/lib/index.js", "../is-triangular-number/lib/primitive.js", "../is-triangular-number/lib/object.js", "../is-triangular-number/lib/main.js", "../is-triangular-number/lib/index.js", "../is-truthy/lib/main.js", "../is-truthy/lib/index.js", "../is-truthy-array/lib/main.js", "../is-truthy-array/lib/index.js", "../is-type-error/lib/main.js", "../is-type-error/lib/index.js", "../is-typed-array-length/lib/main.js", "../is-typed-array-length/lib/index.js", "../is-typed-array-like/lib/main.js", "../is-typed-array-like/lib/index.js", "../is-unc-path/lib/main.js", "../is-unc-path/lib/index.js", "../is-undefined/lib/main.js", "../is-undefined/lib/index.js", "../is-undefined-or-null/lib/main.js", "../is-undefined-or-null/lib/index.js", "../is-unity-probability-array/lib/main.js", "../is-unity-probability-array/lib/index.js", "../is-uppercase/lib/main.js", "../is-uppercase/lib/index.js", "../is-uri-error/lib/main.js", "../is-uri-error/lib/index.js", "../is-web-worker/lib/global_scope.js", "../is-web-worker/lib/main.js", "../is-web-worker/lib/index.js", "../is-whitespace/lib/main.js", "../is-whitespace/lib/index.js", "../is-writable-property/lib/main.js", "../is-writable-property/lib/index.js", "../is-writable-property-in/lib/main.js", "../is-writable-property-in/lib/index.js", "../is-write-only-property/lib/main.js", "../is-write-only-property/lib/index.js", "../is-write-only-property-in/lib/main.js", "../is-write-only-property-in/lib/index.js", "../tools/typed-array-function/lib/main.js", "../tools/typed-array-function/lib/index.js", "../tools/lib/index.js", "../lib/index.js"], + "sourcesContent": ["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( '@stdlib/math/base/assert/is-integer' );\nvar MAX_LENGTH = require( '@stdlib/constants/array/max-typed-array-length' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a collection.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a collection\n*\n* @example\n* var bool = isCollection( [] );\n* // returns true\n*\n* @example\n* var bool = isCollection( {} );\n* // returns false\n*/\nfunction isCollection( value ) {\n\treturn (\n\t\ttypeof value === 'object' &&\n\t\tvalue !== null &&\n\t\ttypeof value.length === 'number' &&\n\t\tisInteger( value.length ) &&\n\t\tvalue.length >= 0 &&\n\t\tvalue.length <= MAX_LENGTH\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCollection;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a collection.\n*\n* @module @stdlib/assert/is-collection\n*\n* @example\n* var isCollection = require( '@stdlib/assert/is-collection' );\n*\n* var bool = isCollection( [] );\n* // returns true\n*\n* bool = isCollection( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native `Symbol` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol` support\n*\n* @example\n* var bool = hasSymbolSupport();\n* // returns \n*/\nfunction hasSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasSymbolSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Symbol` support.\n*\n* @module @stdlib/assert/has-symbol-support\n*\n* @example\n* var hasSymbolSupport = require( '@stdlib/assert/has-symbol-support' );\n*\n* var bool = hasSymbolSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasSymbols = require( './../../has-symbol-support' );\n\n\n// VARIABLES //\n\nvar FLG = hasSymbols();\n\n\n// MAIN //\n\n/**\n* Tests for native `toStringTag` support.\n*\n* @returns {boolean} boolean indicating if an environment has `toStringTag` support\n*\n* @example\n* var bool = hasToStringTagSupport();\n* // returns \n*/\nfunction hasToStringTagSupport() {\n\treturn ( FLG && typeof Symbol.toStringTag === 'symbol' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasToStringTagSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `toStringTag` support.\n*\n* @module @stdlib/assert/has-tostringtag-support\n*\n* @example\n* var hasToStringTagSupport = require( '@stdlib/assert/has-tostringtag-support' );\n*\n* var bool = hasToStringTagSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Number = require( '@stdlib/number/ctor' );\n\n\n// MAIN //\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Number.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nmodule.exports = toString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar toString = require( './tostring.js' ); // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = test;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasToStringTag = require( './../../has-tostringtag-support' );\nvar nativeClass = require( '@stdlib/utils/native-class' );\nvar Number = require( '@stdlib/number/ctor' );\nvar test = require( './try2serialize.js' );\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\nfunction isNumber( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Number ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Number]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a number\n*\n* @example\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isNumber( NaN );\n* // returns true\n*\n* @example\n* var bool = isNumber( null );\n* // returns false\n*/\nfunction isNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a number.\n*\n* @module @stdlib/assert/is-number\n*\n* @example\n* var isNumber = require( '@stdlib/assert/is-number' );\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( null );\n* // returns false\n*\n* @example\n* var isNumber = require( '@stdlib/assert/is-number' ).isPrimitive;\n*\n* var bool = isNumber( 3.14 );\n* // returns true\n*\n* bool = isNumber( NaN );\n* // returns true\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns false\n*\n* @example\n* var isNumber = require( '@stdlib/assert/is-number' ).isObject;\n*\n* var bool = isNumber( 3.14 );\n* // returns false\n*\n* bool = isNumber( new Number( 3.14 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar PINF = require( '@stdlib/constants/float64/pinf' );\nvar NINF = require( '@stdlib/constants/float64/ninf' );\nvar isInt = require( '@stdlib/math/base/assert/is-integer' );\n\n\n// MAIN //\n\n/**\n* Tests if a number primitive is an integer value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a number primitive is an integer value\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tvalue < PINF &&\n\t\tvalue > NINF &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar isInt = require( './integer.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an integer value\n*\n* @example\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\nvar isInt = require( './integer.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an integer value\n*\n* @example\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an integer\n*\n* @example\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isInteger( null );\n* // returns false\n*/\nfunction isInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an integer.\n*\n* @module @stdlib/assert/is-integer\n*\n* @example\n* var isInteger = require( '@stdlib/assert/is-integer' );\n*\n* var bool = isInteger( 5.0 );\n* // returns true\n*\n* bool = isInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isInteger( -3.14 );\n* // returns false\n*\n* bool = isInteger( null );\n* // returns false\n*\n* @example\n* // Use interface to check for integer primitives...\n* var isInteger = require( '@stdlib/assert/is-integer' ).isPrimitive;\n*\n* var bool = isInteger( -3.0 );\n* // returns true\n*\n* bool = isInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for integer objects...\n* var isInteger = require( '@stdlib/assert/is-integer' ).isObject;\n*\n* var bool = isInteger( 3.0 );\n* // returns false\n*\n* bool = isInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string primitive\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns false\n*/\nfunction isString( value ) {\n\treturn ( typeof value === 'string' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar valueOf = String.prototype.valueOf; // non-generic\n\n\n// EXPORTS //\n\nmodule.exports = valueOf;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar valueOf = require( './valueof.js' ); // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to extract a string value.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a string can be extracted\n*/\nfunction test( value ) {\n\ttry {\n\t\tvalueOf.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = test;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasToStringTag = require( './../../has-tostringtag-support' );\nvar nativeClass = require( '@stdlib/utils/native-class' );\nvar test = require( './try2valueof.js' );\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a string object\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns false\n*/\nfunction isString( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof String ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object String]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a string\n*\n* @example\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isString( 'beep' );\n* // returns true\n*/\nfunction isString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string.\n*\n* @module @stdlib/assert/is-string\n*\n* @example\n* var isString = require( '@stdlib/assert/is-string' );\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 5 );\n* // returns false\n*\n* @example\n* var isString = require( '@stdlib/assert/is-string' ).isObject;\n*\n* var bool = isString( new String( 'beep' ) );\n* // returns true\n*\n* bool = isString( 'beep' );\n* // returns false\n*\n* @example\n* var isString = require( '@stdlib/assert/is-string' ).isPrimitive;\n*\n* var bool = isString( 'beep' );\n* // returns true\n*\n* bool = isString( new String( 'beep' ) );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar isNan = require( '@stdlib/math/base/assert/is-nan' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a `NaN` number primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a `NaN` number primitive\n*\n* @example\n* var bool = isnan( NaN );\n* // returns true\n*\n* @example\n* var bool = isnan( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isnan( new Number( NaN ) );\n* // returns false\n*/\nfunction isnan( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisNan( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isnan;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\nvar isNan = require( '@stdlib/math/base/assert/is-nan' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value of `NaN`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value of `NaN`\n*\n* @example\n* var bool = isnan( NaN );\n* // returns false\n*\n* @example\n* var bool = isnan( new Number( NaN ) );\n* // returns true\n*/\nfunction isnan( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisNan( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isnan;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is `NaN`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is `NaN`\n*\n* @example\n* var bool = isnan( NaN );\n* // returns true\n*\n* @example\n* var bool = isnan( new Number( NaN ) );\n* // returns true\n*\n* @example\n* var bool = isnan( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isnan( null );\n* // returns false\n*/\nfunction isnan( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isnan;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is `NaN`.\n*\n* @module @stdlib/assert/is-nan\n*\n* @example\n* var isnan = require( '@stdlib/assert/is-nan' );\n*\n* var bool = isnan( NaN );\n* // returns true\n*\n* bool = isnan( new Number( NaN ) );\n* // returns true\n*\n* bool = isnan( 3.14 );\n* // returns false\n*\n* bool = isnan( null );\n* // returns false\n*\n* @example\n* var isnan = require( '@stdlib/assert/is-nan' ).isPrimitive;\n*\n* var bool = isnan( NaN );\n* // returns true\n*\n* bool = isnan( 3.14 );\n* // returns false\n*\n* bool = isnan( new Number( NaN ) );\n* // returns false\n*\n* @example\n* var isnan = require( '@stdlib/assert/is-nan' ).isObject;\n*\n* var bool = isnan( NaN );\n* // returns false\n*\n* bool = isnan( new Number( NaN ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isCollection = require( './../../is-collection' );\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isnan = require( './../../is-nan' ).isPrimitive;\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Tests if an array-like value contains a search value.\n*\n* @param {(Collection|string)} val - input value\n* @param {*} searchValue - search value\n* @param {integer} [position=0] - position at which to start searching for `searchValue`\n* @throws {TypeError} first argument must be array-like\n* @throws {Error} must provide a search value\n* @throws {TypeError} second argument must be a string when the first argument is a string\n* @throws {TypeError} third argument must be an integer\n* @returns {boolean} boolean indicating whether one value contains another\n*\n* @example\n* var bool = contains( 'last man standing', 'stand' );\n* // returns true\n*\n* @example\n* var bool = contains( [ 1, 2, 3, 4 ], 2 );\n* // returns true\n*\n* @example\n* var bool = contains( 'presidential election', 'president' );\n* // returns true\n*\n* @example\n* var bool = contains( [ NaN, 2, 3, 4 ], NaN );\n* // returns true\n*\n* @example\n* var bool = contains( 'javaScript', 'js' );\n* // returns false\n*\n* @example\n* var bool = contains( [ 1, 2, 3, {} ], {} );\n* // returns false\n*\n* @example\n* var bool = contains( 'Hidden Treasures', '' );\n* // returns true\n*/\nfunction contains( val, searchValue, position ) {\n\tvar len;\n\tvar pos;\n\tvar i;\n\tif ( !isCollection( val ) && !isString( val ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be array-like. Value: `%s`.', val ) );\n\t}\n\tif ( arguments.length < 2 ) {\n\t\tthrow new Error( 'insufficient arguments. Must provide a search value.' );\n\t}\n\tif ( arguments.length > 2 ) {\n\t\tif ( !isInteger( position ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Third argument must be an integer. Value: `%s`.', position ) );\n\t\t}\n\t\tpos = position;\n\t\tif ( pos < 0 ) {\n\t\t\tpos = 0;\n\t\t}\n\t} else {\n\t\tpos = 0;\n\t}\n\tif ( isString( val ) ) {\n\t\tif ( !isString( searchValue ) ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Second argument must be a string. Value: `%s`.', searchValue ) );\n\t\t}\n\t\treturn val.indexOf( searchValue, pos ) !== -1;\n\t}\n\tlen = val.length;\n\tif ( isnan( searchValue ) ) {\n\t\tfor ( i = pos; i < len; i++ ) {\n\t\t\tif ( isnan( val[ i ] ) ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\tfor ( i = pos; i < len; i++ ) {\n\t\tif ( val[ i ] === searchValue ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = contains;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if an array-like value contains another value.\n*\n* @module @stdlib/assert/contains\n*\n* @example\n* var contains = require( '@stdlib/assert/contains' );\n*\n* var bool = contains( 'Hello World', 'World' );\n* // returns true\n*\n* bool = contains( 'Hello World', 'world' );\n* // returns false\n*\n* bool = contains( [ 1, 2, 3, 4 ], 2 );\n* // returns true\n*\n* bool = contains( [ NaN, 2, 3, 4 ], NaN );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\nvar getDay = Date.prototype.getDay; // non-generic\n\n\n// EXPORTS //\n\nmodule.exports = getDay;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar getDay = require( './getday.js' );\n\n\n// MAIN //\n\n/**\n* Attempts to call a `Date` method.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if able to call a `Date` method\n*/\nfunction test( value ) {\n\ttry {\n\t\tgetDay.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = test;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasToStringTag = require( './../../has-tostringtag-support' );\nvar nativeClass = require( '@stdlib/utils/native-class' );\nvar test = require( './try2getday.js' );\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a `Date` object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a `Date` object\n*\n* @example\n* var bool = isDateObject( new Date() );\n* // returns true\n*\n* @example\n* var bool = isDateObject( '2017-01-01' );\n* // returns false\n*/\nfunction isDateObject( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Date ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Date]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isDateObject;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a `Date` object.\n*\n* @module @stdlib/assert/is-date-object\n*\n* @example\n* var isDateObject = require( '@stdlib/assert/is-date-object' );\n*\n* var bool = isDateObject( new Date() );\n* // returns true\n*\n* bool = isDateObject( '2017-01-01' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an `Error` object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an `Error` object\n*\n* @example\n* var bool = isError( new Error( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isError( {} );\n* // returns false\n*/\nfunction isError( value ) {\n\tif ( typeof value !== 'object' || value === null ) {\n\t\treturn false;\n\t}\n\t// Check for `Error` objects from the same realm (same Node.js `vm` or same `Window` object)...\n\tif ( value instanceof Error ) {\n\t\treturn true;\n\t}\n\t// Walk the prototype tree until we find an object having the desired native class...\n\twhile ( value ) {\n\t\tif ( nativeClass( value ) === '[object Error]' ) {\n\t\t\treturn true;\n\t\t}\n\t\tvalue = getPrototypeOf( value );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isError;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an `Error` object.\n*\n* @module @stdlib/assert/is-error\n*\n* @example\n* var isError = require( '@stdlib/assert/is-error' );\n*\n* var bool = isError( new Error( 'beep' ) );\n* // returns true\n*\n* bool = isError( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar f;\n\n\n// FUNCTIONS //\n\n/**\n* Tests if a value is an array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an array\n*\n* @example\n* var bool = isArray( [] );\n* // returns true\n*\n* @example\n* var bool = isArray( {} );\n* // returns false\n*/\nfunction isArray( value ) {\n\treturn ( nativeClass( value ) === '[object Array]' );\n}\n\n\n// MAIN //\n\nif ( Array.isArray ) {\n\tf = Array.isArray;\n} else {\n\tf = isArray;\n}\n\n\n// EXPORTS //\n\nmodule.exports = f;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array.\n*\n* @module @stdlib/assert/is-array\n*\n* @example\n* var isArray = require( '@stdlib/assert/is-array' );\n*\n* var bool = isArray( [] );\n* // returns true\n*\n* bool = isArray( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isArray = require( './../../../is-array' );\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Returns a function which tests if every element in an array passes a test condition.\n*\n* @param {Function} predicate - function to apply\n* @throws {TypeError} must provide a function\n* @returns {Function} an array function\n*\n* @example\n* var isOdd = require( '@stdlib/assert/is-odd' );\n*\n* var arr1 = [ 1, 3, 5, 7 ];\n* var arr2 = [ 3, 5, 8 ];\n*\n* var validate = arrayfcn( isOdd );\n*\n* var bool = validate( arr1 );\n* // returns true\n*\n* bool = validate( arr2 );\n* // returns false\n*/\nfunction arrayfcn( predicate ) {\n\tif ( typeof predicate !== 'function' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Must provide a function. Value: `%s`.', predicate ) );\n\t}\n\treturn every;\n\n\t/**\n\t* Tests if every element in an array passes a test condition.\n\t*\n\t* @private\n\t* @param {*} value - value to test\n\t* @returns {boolean} boolean indicating whether a value is an array for which all elements pass a test condition\n\t*/\n\tfunction every( value ) {\n\t\tvar len;\n\t\tvar i;\n\t\tif ( !isArray( value ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tlen = value.length;\n\t\tif ( len === 0 ) {\n\t\t\treturn false;\n\t\t}\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tif ( predicate( value[ i ] ) === false ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = arrayfcn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a function which tests if every element in an array passes a test condition.\n*\n* @module @stdlib/assert/tools/array-function\n*\n* @example\n* var isOdd = require( '@stdlib/assert/is-odd' );\n* var arrayfcn = require( '@stdlib/assert/tools/array-function' );\n*\n* var arr1 = [ 1, 3, 5, 7 ];\n* var arr2 = [ 3, 5, 8 ];\n*\n* var validate = arrayfcn( isOdd );\n*\n* var bool = validate( arr1 );\n* // returns true\n*\n* bool = validate( arr2 );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is object-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is object-like\n*\n* @example\n* var bool = isObjectLike( {} );\n* // returns true\n*\n* @example\n* var bool = isObjectLike( [] );\n* // returns true\n*\n* @example\n* var bool = isObjectLike( null );\n* // returns false\n*/\nfunction isObjectLike( value ) {\n\treturn (\n\t\tvalue !== null &&\n\t\ttypeof value === 'object'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isObjectLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is object-like.\n*\n* @module @stdlib/assert/is-object-like\n*\n* @example\n* var isObjectLike = require( '@stdlib/assert/is-object-like' );\n*\n* var bool = isObjectLike( {} );\n* // returns true\n*\n* bool = isObjectLike( [] );\n* // returns true\n*\n* bool = isObjectLike( null );\n* // returns false\n*\n* @example\n* var isObjectLike = require( '@stdlib/assert/is-object-like' ).isObjectLikeArray;\n*\n* var bool = isObjectLike( [ {}, [] ] );\n* // returns true\n*\n* bool = isObjectLike( [ {}, '3.0' ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-function' );\nvar main = require( './main.js' );\n\n\n// VARIABLES //\n\nvar isObjectLikeArray = arrayfun( main );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isObjectLikeArray', isObjectLikeArray );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isObjectLike = require( './../../is-object-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Buffer instance.\n*\n* @param {*} value - value to validate\n* @returns {boolean} boolean indicating if a value is a Buffer instance\n*\n* @example\n* var v = isBuffer( new Buffer( 'beep' ) );\n* // returns true\n*\n* @example\n* var v = isBuffer( new Buffer( [1,2,3,4] ) );\n* // returns true\n*\n* @example\n* var v = isBuffer( {} );\n* // returns false\n*\n* @example\n* var v = isBuffer( [] );\n* // returns false\n*/\nfunction isBuffer( value ) {\n\treturn (\n\t\tisObjectLike( value ) &&\n\t\t(\n\t\t\t// eslint-disable-next-line no-underscore-dangle\n\t\t\tvalue._isBuffer || // for envs missing Object.prototype.constructor (e.g., Safari 5-7)\n\t\t\t(\n\t\t\t\tvalue.constructor &&\n\n\t\t\t\t// WARNING: `typeof` is not a foolproof check, as certain envs consider RegExp and NodeList instances to be functions\n\t\t\t\ttypeof value.constructor.isBuffer === 'function' &&\n\t\t\t\tvalue.constructor.isBuffer( value )\n\t\t\t)\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBuffer;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Buffer instance.\n*\n* @module @stdlib/assert/is-buffer\n*\n* @example\n* var isBuffer = require( '@stdlib/assert/is-buffer' );\n*\n* var v = isBuffer( new Buffer( 'beep' ) );\n* // returns true\n*\n* v = isBuffer( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\nvar exec = RegExp.prototype.exec; // non-generic\n\n\n// EXPORTS //\n\nmodule.exports = exec;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar exec = require( './exec.js' );\n\n\n// MAIN //\n\n/**\n* Attempts to call a `RegExp` method.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if able to call a `RegExp` method\n*/\nfunction test( value ) {\n\ttry {\n\t\texec.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = test;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasToStringTag = require( './../../has-tostringtag-support' );\nvar nativeClass = require( '@stdlib/utils/native-class' );\nvar test = require( './try2exec.js' );\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a regular expression.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a regular expression\n*\n* @example\n* var bool = isRegExp( /\\.+/ );\n* // returns true\n*\n* @example\n* var bool = isRegExp( {} );\n* // returns false\n*/\nfunction isRegExp( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof RegExp ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object RegExp]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isRegExp;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a regular expression.\n*\n* @module @stdlib/assert/is-regexp\n*\n* @example\n* var isRegExp = require( '@stdlib/assert/is-regexp' );\n*\n* var bool = isRegExp( /\\.+/ );\n* // returns true\n*\n* bool = isRegExp( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar objectKeys = require( '@stdlib/utils/keys' );\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar isDate = require( './../../is-date-object' );\nvar isError = require( './../../is-error' );\nvar isBuffer = require( './../../is-buffer' );\nvar isRegExp = require( './../../is-regexp' );\n\n\n// MAIN //\n\n/**\n* Tests for deep equality between two values.\n*\n* @param {*} a - first comparison value\n* @param {*} b - second comparison value\n* @returns {boolean} boolean indicating if `a` is deep equal to `b`\n*\n* @example\n* var bool = deepEqual( [ 1, 2, 3 ], [ 1, 2, 3 ] );\n* // returns true\n*\n* @example\n* var bool = deepEqual( [ 1, 2, 3 ], [ 1, 2, '3' ] );\n* // returns false\n*\n* @example\n* var bool = deepEqual( { 'a': 2 }, { 'a': [ 2 ] } );\n* // returns false\n*\n* @example\n* var bool = deepEqual( [], {} );\n* // returns false\n*\n* @example\n* var bool = deepEqual( null, null );\n* // returns true\n*/\nfunction deepEqual( a, b ) {\n\tvar aKeys;\n\tvar bKeys;\n\tvar typeA;\n\tvar typeB;\n\tvar key;\n\tvar i;\n\n\ttypeA = typeof a;\n\ttypeB = typeof b;\n\tif ( a === null || typeA !== 'object' ) {\n\t\tif ( b === null || typeB !== 'object' ) {\n\t\t\treturn a === b;\n\t\t}\n\t\treturn false;\n\t}\n\t// Case: `a` is of type 'object'\n\tif ( typeB !== 'object' ) {\n\t\treturn false;\n\t}\n\tif ( getPrototypeOf( a ) !== getPrototypeOf( b ) ) {\n\t\treturn false;\n\t}\n\tif ( isDate( a ) ) {\n\t\treturn a.getTime() === b.getTime();\n\t}\n\tif ( isRegExp( a ) ) {\n\t\treturn a.source === b.source && a.flags === b.flags;\n\t}\n\tif ( isError( a ) ) {\n\t\tif ( a.message !== b.message || a.name !== b.name ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\tif ( isBuffer( a ) ) {\n\t\tif ( a.length !== b.length ) {\n\t\t\treturn false;\n\t\t}\n\t\tfor ( i = 0; i < a.length; i++ ) {\n\t\t\tif ( a[ i ] !== b[ i ] ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\taKeys = objectKeys( a );\n\tbKeys = objectKeys( b );\n\tif ( aKeys.length !== bKeys.length ) {\n\t\treturn false;\n\t}\n\taKeys.sort();\n\tbKeys.sort();\n\n\t// Cheap key test:\n\tfor ( i = 0; i < aKeys.length; i++ ) {\n\t\tif ( aKeys[ i ] !== bKeys[ i ] ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\t// Possibly expensive deep equality test for each corresponding key:\n\tfor ( i = 0; i < aKeys.length; i++ ) {\n\t\tkey = aKeys[ i ];\n\t\tif ( !deepEqual( a[ key ], b[ key ] ) ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn typeA === typeB;\n}\n\n\n// EXPORTS //\n\nmodule.exports = deepEqual;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for deep equality between two values.\n*\n* @module @stdlib/assert/deep-equal\n*\n* @example\n* var deepEqual = require( '@stdlib/assert/deep-equal' );\n*\n* var bool = deepEqual( [ 1, 2, 3 ], [ 1, 2, 3 ] );\n* // returns true\n*\n* bool = deepEqual( [ 1, 2, 3 ], [ 1, 2, '3' ] );\n* // returns false\n*\n* bool = deepEqual( { 'a': 2 }, { 'a': [ 2 ] } );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isArray = require( './../../is-array' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an object; e.g., `{}`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an object\n*\n* @example\n* var bool = isObject( {} );\n* // returns true\n*\n* @example\n* var bool = isObject( null );\n* // returns false\n*/\nfunction isObject( value ) {\n\treturn (\n\t\ttypeof value === 'object' &&\n\t\tvalue !== null &&\n\t\t!isArray( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isObject;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an object.\n*\n* @module @stdlib/assert/is-object\n*\n* @example\n* var isObject = require( '@stdlib/assert/is-object' );\n*\n* var bool = isObject( {} );\n* // returns true\n*\n* bool = isObject( true );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar typeOf = require( '@stdlib/utils/type-of' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a function.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a function\n*\n* @example\n* function beep() {\n* return 'beep';\n* }\n*\n* var bool = isFunction( beep );\n* // returns true\n*/\nfunction isFunction( value ) {\n\t// Note: cannot use `typeof` directly, as various browser engines incorrectly return `'function'` when operating on non-function objects, such as regular expressions and NodeLists.\n\treturn ( typeOf( value ) === 'function' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFunction;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a function.\n*\n* @module @stdlib/assert/is-function\n*\n* @example\n* var isFunction = require( '@stdlib/assert/is-function' );\n*\n* function beep() {\n* return 'beep';\n* }\n*\n* var bool = isFunction( beep );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// FUNCTIONS //\n\nvar has = Object.prototype.hasOwnProperty;\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasOwnProp( value, property ) {\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\treturn has.call( value, property );\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasOwnProp;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object has a specified property.\n*\n* @module @stdlib/assert/has-own-property\n*\n* @example\n* var hasOwnProp = require( '@stdlib/assert/has-own-property' );\n*\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasOwnProp( beep, 'boop' );\n* // returns true\n*\n* bool = hasOwnProp( beep, 'bop' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isObject = require( './../../is-object' );\nvar isFunction = require( './../../is-function' );\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar hasOwnProp = require( './../../has-own-property' );\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar objectPrototype = Object.prototype;\n\n\n// FUNCTIONS //\n\n/**\n* Tests that an object only has own properties.\n*\n* @private\n* @param {Object} obj - value to test\n* @returns {boolean} boolean indicating if an object only has own properties\n*/\nfunction ownProps( obj ) {\n\tvar key;\n\n\t// NOTE: possibility of perf boost if key enumeration order is known (see http://stackoverflow.com/questions/18531624/isplainobject-thing).\n\tfor ( key in obj ) {\n\t\tif ( !hasOwnProp( obj, key ) ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// MAIN //\n\n/**\n* Tests if a value is a plain object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a plain object\n*\n* @example\n* var bool = isPlainObject( {} );\n* // returns true\n*\n* @example\n* var bool = isPlainObject( null );\n* // returns false\n*/\nfunction isPlainObject( value ) {\n\tvar proto;\n\n\t// Screen for obvious non-objects...\n\tif ( !isObject( value ) ) {\n\t\treturn false;\n\t}\n\t// Objects with no prototype (e.g., `Object.create( null )`) are plain...\n\tproto = getPrototypeOf( value );\n\tif ( !proto ) {\n\t\treturn true;\n\t}\n\t// Objects having a prototype are plain if and only if they are constructed with a global `Object` function and the prototype points to the prototype of a plain object...\n\treturn (\n\t\t// Cannot have own `constructor` property:\n\t\t!hasOwnProp( value, 'constructor' ) &&\n\n\t\t// Prototype `constructor` property must be a function (see also https://bugs.jquery.com/ticket/9897 and http://stackoverflow.com/questions/18531624/isplainobject-thing):\n\t\thasOwnProp( proto, 'constructor' ) &&\n\t\tisFunction( proto.constructor ) &&\n\t\tnativeClass( proto.constructor ) === '[object Function]' &&\n\n\t\t// Test for object-specific method:\n\t\thasOwnProp( proto, 'isPrototypeOf' ) &&\n\t\tisFunction( proto.isPrototypeOf ) &&\n\n\t\t(\n\t\t\t// Test if the prototype matches the global `Object` prototype (same realm):\n\t\t\tproto === objectPrototype ||\n\n\t\t\t// Test that all properties are own properties (cross-realm; *most* likely a plain object):\n\t\t\townProps( value )\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPlainObject;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a plain object.\n*\n* @module @stdlib/assert/is-plain-object\n*\n* @example\n* var isPlainObject = require( '@stdlib/assert/is-plain-object' );\n*\n* var bool = isPlainObject( {} );\n* // returns true\n*\n* bool = isPlainObject( null );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isObject = require( './../../is-plain-object' );\nvar hasOwnProp = require( './../../has-own-property' );\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Validates function options.\n*\n* @private\n* @param {Object} opts - destination for function options\n* @param {Options} options - function options\n* @param {string} [options.sep] - key path separator\n* @returns {(Error|null)} error or null\n*\n* @example\n* var opts = {};\n* var options = {\n* 'sep': '/'\n* };\n* var err = validate( opts, options );\n* if ( err ) {\n* throw err;\n* }\n*/\nfunction validate( opts, options ) {\n\tif ( !isObject( options ) ) {\n\t\treturn new TypeError( format( 'invalid argument. Options argument must be an object. Value: `%s`.', options ) );\n\t}\n\tif ( hasOwnProp( options, 'sep' ) ) {\n\t\topts.sep = options.sep;\n\t\tif ( !isString( opts.sep ) ) {\n\t\t\treturn new TypeError( format( 'invalid option. `%s` option must be a string. Option: `%s`.', 'sep', opts.sep ) );\n\t\t}\n\t}\n\treturn null;\n}\n\n\n// EXPORTS //\n\nmodule.exports = validate;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Returns default options.\n*\n* @private\n* @returns {Object} default options\n*/\nfunction defaults() {\n\treturn {\n\t\t'sep': '.'\n\t};\n}\n\n\n// EXPORTS //\n\nmodule.exports = defaults;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasOwnProp = require( './../../has-own-property' );\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating whether an object has a nested property.\n*\n* @private\n* @param {*} v - value to test\n* @param {Array} props - list of properties defining a key path\n* @returns {boolean} boolean indicating whether an object has a nested property\n*/\nfunction deepHasOwnProp( v, props ) {\n\tvar len = props.length;\n\tvar i;\n\tif ( len === 0 ) {\n\t\treturn false;\n\t}\n\tfor ( i = 0; i < len; i++ ) {\n\t\tif ( hasOwnProp( v, props[ i ] ) ) {\n\t\t\tv = v[ props[ i ] ];\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = deepHasOwnProp;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isArray = require( './../../is-array' );\nvar format = require( '@stdlib/string/format' );\nvar validate = require( './validate.js' );\nvar defaults = require( './defaults.js' );\nvar has = require( './has.js' );\n\n\n// MAIN //\n\n/**\n* Tests whether an object contains a nested key path.\n*\n* @param {*} value - value to test\n* @param {(string|Array)} path - key path\n* @param {Options} [options] - function options\n* @param {string} [options.sep='.'] - key path separator\n* @throws {TypeError} second argument must be a string or key array\n* @throws {TypeError} options argument must be an object\n* @throws {TypeError} must provide valid options\n* @returns {boolean} boolean indicating whether an object has a nested property\n*\n* @example\n* var obj = { 'a': { 'b': { 'c': 'd' } } };\n* var bool = deepHasOwnProp( obj, 'a.b.c' );\n* // returns true\n*\n* @example\n* var arr = [\n* {\n* 'a': [\n* {\n* 'b': [\n* { 'c': 'd' },\n* { 'e': 'f' }\n* ]\n* }\n* ]\n* }\n* ];\n* var bool = deepHasOwnProp( arr, '0.a.0.b.0.c' );\n* // returns true\n*\n* @example\n* var obj = { 'a': { 'b': { 'c': 'd' } } };\n* var bool = deepHasOwnProp( obj, [ 'a', 'b', 'c' ] );\n* // returns true\n*\n* @example\n* var obj = { 'a': { 'b': { 'c': 'd' } } };\n* var bool = deepHasOwnProp( obj, 'a/b/c', {\n* 'sep': '/'\n* });\n* // returns true\n*/\nfunction deepHasOwnProp( value, path, options ) {\n\tvar isStr;\n\tvar props;\n\tvar opts;\n\tvar err;\n\n\tisStr = isString( path );\n\tif ( !isStr && !isArray( path ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Key path must be a string or a key array. Value: `%s`.', path ) );\n\t}\n\topts = defaults();\n\tif ( arguments.length > 2 ) {\n\t\terr = validate( opts, options );\n\t\tif ( err ) {\n\t\t\tthrow err;\n\t\t}\n\t}\n\tif ( value === void 0 || value === null ) {\n\t\treturn false;\n\t}\n\tif ( isStr ) {\n\t\tprops = path.split( opts.sep );\n\t} else {\n\t\tprops = path;\n\t}\n\treturn has( value, props );\n}\n\n\n// EXPORTS //\n\nmodule.exports = deepHasOwnProp;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isArray = require( './../../is-array' );\nvar format = require( '@stdlib/string/format' );\nvar validate = require( './validate.js' );\nvar defaults = require( './defaults.js' );\nvar has = require( './has.js' );\n\n\n// MAIN //\n\n/**\n* Returns a function which tests whether an object has a nested key path.\n*\n* @param {(string|Array)} path - key path\n* @param {Options} [options] - function options\n* @param {string} [options.sep='.'] - key path separator\n* @throws {TypeError} first argument must be a string or key array\n* @throws {TypeError} options argument must be an object\n* @throws {TypeError} must provide valid options\n* @returns {Function} function which tests whether an object has a nested key path\n*\n* @example\n* var has = factory( 'a/b/c', {\n* 'sep': '/'\n* });\n*/\nfunction factory( path, options ) {\n\tvar isStr;\n\tvar props;\n\tvar opts;\n\tvar err;\n\tisStr = isString( path );\n\tif ( !isStr && !isArray( path ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Key path must be a string or a key array. Value: `%s`.', path ) );\n\t}\n\topts = defaults();\n\tif ( arguments.length > 1 ) {\n\t\terr = validate( opts, options );\n\t\tif ( err ) {\n\t\t\tthrow err;\n\t\t}\n\t}\n\tif ( isStr ) {\n\t\tprops = path.split( opts.sep );\n\t} else {\n\t\tprops = path;\n\t}\n\treturn deepHasOwnProp;\n\n\t/**\n\t* Returns a boolean indicating whether an object has a nested key path.\n\t*\n\t* @private\n\t* @param {*} value - value to test\n\t* @returns {boolean} boolean indicating whether an object has a nested property\n\t*\n\t* @example\n\t* var obj = { 'a': { 'b': { 'c': 'd' } } };\n\t* var bool = deepHasOwnProp( obj );\n\t*/\n\tfunction deepHasOwnProp( value ) {\n\t\tif ( value === void 0 || value === null ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn has( value, props );\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = factory;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object contains a nested key path.\n*\n* @module @stdlib/assert/deep-has-own-property\n*\n* @example\n* var deepHasOwnProp = require( '@stdlib/assert/deep-has-own-property' );\n*\n* var obj = {\n* 'a': {\n* 'b': {\n* 'c': 'd'\n* }\n* }\n* };\n*\n* var bool = deepHasOwnProp( obj, 'a.b.c' );\n* // returns true\n*\n* bool = deepHasOwnProp( obj, [ 'a', 'b', 'c' ] );\n* // returns true\n*\n* @example\n* var factory = require( '@stdlib/assert/deep-has-own-property' ).factory;\n*\n* var has = factory( 'a/b/c', {\n* 'sep': '/'\n* });\n*\n* var obj = {\n* 'a': {\n* 'b': {\n* 'c': 'd'\n* }\n* }\n* };\n*\n* var bool = has( obj );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar factory = require( './factory.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'factory', factory );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isObject = require( './../../is-plain-object' );\nvar hasOwnProp = require( './../../has-own-property' );\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Validates function options.\n*\n* @private\n* @param {Object} opts - destination for function options\n* @param {Options} options - function options\n* @param {string} [options.sep] - key path separator\n* @returns {(Error|null)} error or null\n*\n* @example\n* var opts = {};\n* var options = {\n* 'sep': '/'\n* };\n* var err = validate( opts, options );\n* if ( err ) {\n* throw err;\n* }\n*/\nfunction validate( opts, options ) {\n\tif ( !isObject( options ) ) {\n\t\treturn new TypeError( format( 'invalid argument. Options argument must be an object. Value: `%s`.', options ) );\n\t}\n\tif ( hasOwnProp( options, 'sep' ) ) {\n\t\topts.sep = options.sep;\n\t\tif ( !isString( opts.sep ) ) {\n\t\t\treturn new TypeError( format( 'invalid option. `%s` option must be a string. Option: `%s`.', 'sep', opts.sep ) );\n\t\t}\n\t}\n\treturn null;\n}\n\n\n// EXPORTS //\n\nmodule.exports = validate;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Returns default options.\n*\n* @private\n* @returns {Object} default options\n*/\nfunction defaults() {\n\treturn {\n\t\t'sep': '.'\n\t};\n}\n\n\n// EXPORTS //\n\nmodule.exports = defaults;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if an object has a specified property, either own or inherited.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified property\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasProp( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasProp( beep, 'bap' );\n* // returns false\n*/\nfunction hasProp( value, property ) {\n\tif ( value === void 0 || value === null ) {\n\t\treturn false;\n\t}\n\tif ( typeof property === 'symbol' ) {\n\t\treturn property in Object( value );\n\t}\n\treturn ( String( property ) in Object( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasProp;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object has a specified property, either own or inherited.\n*\n* @module @stdlib/assert/has-property\n*\n* @example\n* var hasProp = require( '@stdlib/assert/has-property' );\n*\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = hasProp( beep, 'boop' );\n* // returns true\n*\n* bool = hasProp( beep, 'bop' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasProp = require( './../../has-property' );\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating whether an object has a nested property.\n*\n* @private\n* @param {*} v - value to test\n* @param {Array} props - list of properties defining a key path\n* @returns {boolean} boolean indicating whether an object has a nested property\n*/\nfunction deepHasProp( v, props ) {\n\tvar len = props.length;\n\tvar i;\n\tif ( len === 0 ) {\n\t\treturn false;\n\t}\n\tfor ( i = 0; i < len; i++ ) {\n\t\tif ( hasProp( v, props[i] ) ) {\n\t\t\tv = v[ props[ i ] ];\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = deepHasProp;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isArray = require( './../../is-array' );\nvar format = require( '@stdlib/string/format' );\nvar validate = require( './validate.js' );\nvar defaults = require( './defaults.js' );\nvar has = require( './has.js' );\n\n\n// MAIN //\n\n/**\n* Tests whether an object contains a nested key path, either own or inherited.\n*\n* @param {*} value - value to test\n* @param {(string|Array)} path - key path\n* @param {Options} [options] - function options\n* @param {string} [options.sep='.'] - key path separator\n* @throws {TypeError} second argument must be a string or key array\n* @throws {TypeError} options argument must be an object\n* @throws {TypeError} must provide valid options\n* @returns {boolean} boolean indicating whether an object has a nested property\n*\n* @example\n* function Foo() {\n* return this;\n* }\n* Foo.prototype.b = {\n* 'c': 'd'\n* };\n*\n* var obj = {\n* 'a': new Foo()\n* };\n*\n* var bool = deepHasProp( obj, 'a.b.c' );\n* // returns true\n*\n* @example\n* var arr = [\n* {\n* 'a': [\n* {\n* 'b': [\n* { 'c': 'd' },\n* { 'e': 'f' }\n* ]\n* }\n* ]\n* }\n* ];\n* var bool = deepHasProp( arr, '0.a.0.b.0.c' );\n* // returns true\n*\n* @example\n* var obj = { 'a': { 'b': { 'c': 'd' } } };\n* var bool = deepHasProp( obj, [ 'a', 'b', 'c' ] );\n* // returns true\n*\n* @example\n* var obj = { 'a': { 'b': { 'c': 'd' } } };\n* var bool = deepHasProp( obj, 'a/b/c', {\n* 'sep': '/'\n* });\n* // returns true\n*/\nfunction deepHasProp( value, path, options ) {\n\tvar isStr;\n\tvar props;\n\tvar opts;\n\tvar err;\n\n\tisStr = isString( path );\n\tif ( !isStr && !isArray( path ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Key path must be a string or a key array. Value: `%s`.', path ) );\n\t}\n\topts = defaults();\n\tif ( arguments.length > 2 ) {\n\t\terr = validate( opts, options );\n\t\tif ( err ) {\n\t\t\tthrow err;\n\t\t}\n\t}\n\tif ( value === void 0 || value === null ) {\n\t\treturn false;\n\t}\n\tif ( isStr ) {\n\t\tprops = path.split( opts.sep );\n\t} else {\n\t\tprops = path;\n\t}\n\treturn has( value, props );\n}\n\n\n// EXPORTS //\n\nmodule.exports = deepHasProp;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isArray = require( './../../is-array' );\nvar format = require( '@stdlib/string/format' );\nvar validate = require( './validate.js' );\nvar defaults = require( './defaults.js' );\nvar has = require( './has.js' );\n\n\n// MAIN //\n\n/**\n* Returns a function which tests whether an object has a nested key path, either own or inherited.\n*\n* @param {(string|Array)} path - key path\n* @param {Options} [options] - function options\n* @param {string} [options.sep='.'] - key path separator\n* @throws {TypeError} first argument must be a string or key array\n* @throws {TypeError} options argument must be an object\n* @throws {TypeError} must provide valid options\n* @returns {Function} function which tests whether an object has a nested key path\n*\n* @example\n* var has = factory( 'a/b/c', {\n* 'sep': '/'\n* });\n*/\nfunction factory( path, options ) {\n\tvar isStr;\n\tvar props;\n\tvar opts;\n\tvar err;\n\tisStr = isString( path );\n\tif ( !isStr && !isArray( path ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Key path must be a string or a key array. Value: `%s`.', path ) );\n\t}\n\topts = defaults();\n\tif ( arguments.length > 1 ) {\n\t\terr = validate( opts, options );\n\t\tif ( err ) {\n\t\t\tthrow err;\n\t\t}\n\t}\n\tif ( isStr ) {\n\t\tprops = path.split( opts.sep );\n\t} else {\n\t\tprops = path;\n\t}\n\treturn deepHasProp;\n\n\t/**\n\t* Returns a boolean indicating whether an object has a nested key path, either own or inherited.\n\t*\n\t* @private\n\t* @param {*} value - value to test\n\t* @returns {boolean} boolean indicating whether an object has a nested property\n\t*\n\t* @example\n\t* var obj = { 'a': { 'b': { 'c': 'd' } } };\n\t* var bool = deepHasProp( obj );\n\t*/\n\tfunction deepHasProp( value ) {\n\t\tif ( value === void 0 || value === null ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn has( value, props );\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = factory;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object contains a nested key path, either own or inherited.\n*\n* @module @stdlib/assert/deep-has-property\n*\n* @example\n* var deepHasProp = require( '@stdlib/assert/deep-has-property' );\n*\n* function Foo() {\n* return this;\n* }\n* Foo.prototype.b = {\n* 'c': 'd'\n* };\n*\n* var obj = {\n* 'a': new Foo()\n* };\n*\n* var bool = deepHasProp( obj, 'a.b.c' );\n* // returns true\n*\n* bool = deepHasProp( obj, [ 'a', 'b', 'c' ] );\n* // returns true\n*\n* @example\n* var factory = require( '@stdlib/assert/deep-has-property' ).factory;\n*\n* var has = factory( 'a/b/c', {\n* 'sep': '/'\n* });\n*\n* function Foo() {\n* return this;\n* }\n* Foo.prototype.b = {\n* 'c': 'd'\n* };\n*\n* var obj = {\n* 'a': new Foo()\n* };\n*\n* var bool = has( obj );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar factory = require( './factory.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'factory', factory );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasArrayBuffer = ( typeof ArrayBuffer === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is an ArrayBuffer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an ArrayBuffer\n*\n* @example\n* var ArrayBuffer = require( '@stdlib/array/buffer' );\n*\n* var bool = isArrayBuffer( new ArrayBuffer( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isArrayBuffer( [] );\n* // returns false\n*/\nfunction isArrayBuffer( value ) {\n\treturn (\n\t\t( hasArrayBuffer && value instanceof ArrayBuffer ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object ArrayBuffer]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArrayBuffer;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an ArrayBuffer.\n*\n* @module @stdlib/assert/is-arraybuffer\n*\n* @example\n* var ArrayBuffer = require( '@stdlib/array/buffer' );\n* var isArrayBuffer = require( '@stdlib/assert/is-arraybuffer' );\n*\n* var bool = isArrayBuffer( new ArrayBuffer( 10 ) );\n* // returns true\n*\n* bool = isArrayBuffer( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof ArrayBuffer === 'function' ) ? ArrayBuffer : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isArrayBuffer = require( './../../is-arraybuffer' );\nvar Float64Array = require( '@stdlib/array/float64' );\nvar GlobalArrayBuffer = require( './arraybuffer.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `ArrayBuffer` support.\n*\n* @returns {boolean} boolean indicating if an environment has `ArrayBuffer` support\n*\n* @example\n* var bool = hasArrayBufferSupport();\n* // returns \n*/\nfunction hasArrayBufferSupport() {\n\tvar bool;\n\tvar view;\n\tvar buf;\n\n\tif ( typeof GlobalArrayBuffer !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tbuf = new GlobalArrayBuffer( 16 );\n\t\tbool = ( isArrayBuffer( buf ) && typeof GlobalArrayBuffer.isView === 'function' );\n\t\tif ( bool ) {\n\t\t\tview = new Float64Array( buf );\n\t\t\tview[ 0 ] = -3.14;\n\t\t\tview[ 1 ] = NaN;\n\t\t\tbool = (\n\t\t\t\tbool &&\n\t\t\t\tGlobalArrayBuffer.isView( view ) &&\n\t\t\t\tbuf.byteLength === 16 &&\n\t\t\t\tview[ 0 ] === -3.14 &&\n\t\t\t\tview[ 1 ] !== view[ 1 ]\n\t\t\t);\n\t\t}\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasArrayBufferSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `ArrayBuffer` support.\n*\n* @module @stdlib/assert/has-arraybuffer-support\n*\n* @example\n* var hasArrayBufferSupport = require( '@stdlib/assert/has-arraybuffer-support' );\n*\n* var bool = hasArrayBufferSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar evil = require( '@stdlib/utils/eval' );\n\n\n// MAIN //\n\n/**\n* Tests for native arrow function support.\n*\n* @returns {boolean} boolean indicating if an environment has native arrow function support\n*\n* @example\n* var bool = hasArrowFunctionSupport();\n* // returns \n*/\nfunction hasArrowFunctionSupport() {\n\tvar bool;\n\ttry {\n\t\tevil( '\"use strict\"; (() => {})' );\n\t\tbool = true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasArrowFunctionSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native arrow function support.\n*\n* @module @stdlib/assert/has-arrow-function-support\n*\n* @example\n* var hasArrowFunctionSupport = require( '@stdlib/assert/has-arrow-function-support' );\n*\n* var bool = hasArrowFunctionSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar evil = require( '@stdlib/utils/eval' );\n\n\n// MAIN //\n\n/**\n* Tests for native `async/await` support.\n*\n* @returns {boolean} boolean indicating if an environment has native `async`/`await` support\n*\n* @example\n* var bool = hasAsyncAwaitSupport();\n* if ( bool ) {\n* console.log( 'Environment has native async/await support.' );\n* } else {\n* console.log( 'Environment lacks native async/await support.' );\n* }\n*/\nfunction hasAsyncAwaitSupport() {\n\tvar bool;\n\ttry {\n\t\tevil( '\"use strict\"; async () => {}' );\n\t\tbool = true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasAsyncAwaitSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `async`/`await` support.\n*\n* @module @stdlib/assert/has-async-await-support\n*\n* @example\n* var hasAsyncAwaitSupport = require( '@stdlib/assert/has-async-await-support' );\n*\n* var bool = hasAsyncAwaitSupport();\n* if ( bool ) {\n* console.log( 'Environment has native async/await support.' );\n* } else {\n* console.log( 'Environment lacks native async/await support.' );\n* }\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable stdlib/require-globals */\n\n'use strict';\n\n// MODULES //\n\nvar hasOwnProp = require( './../../has-own-property' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Symbol.asyncIterator` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol.asyncIterator` support\n*\n* @example\n* var bool = hasAsyncIteratorSymbolSupport();\n* // returns \n*/\nfunction hasAsyncIteratorSymbolSupport() { // eslint-disable-line id-length\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol' &&\n\t\thasOwnProp( Symbol, 'asyncIterator' ) &&\n\t\ttypeof Symbol.asyncIterator === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasAsyncIteratorSymbolSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Symbol.asyncIterator` support.\n*\n* @module @stdlib/assert/has-async-iterator-symbol-support\n*\n* @example\n* var hasAsyncIteratorSymbolSupport = require( '@stdlib/assert/has-async-iterator-symbol-support' );\n*\n* var bool = hasAsyncIteratorSymbolSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar getGlobal = require( '@stdlib/utils/global' );\n\n\n// VARIABLES //\n\nvar Global = getGlobal();\n\n\n// MAIN //\n\n/**\n* Tests for native `BigInt` support.\n*\n* @returns {boolean} boolean indicating if an environment has `BigInt` support\n*\n* @example\n* var bool = hasBigIntSupport();\n* // returns \n*/\nfunction hasBigIntSupport() {\n\treturn (\n\t\ttypeof Global.BigInt === 'function' &&\n\t\ttypeof BigInt === 'function' && // eslint-disable-line stdlib/require-globals\n\t\ttypeof Global.BigInt( '1' ) === 'bigint' &&\n\t\ttypeof BigInt( '1' ) === 'bigint' // eslint-disable-line stdlib/require-globals, no-undef\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasBigIntSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `BigInt` support.\n*\n* @module @stdlib/assert/has-bigint-support\n*\n* @example\n* var hasBigIntSupport = require( '@stdlib/assert/has-bigint-support' );\n*\n* var bool = hasBigIntSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasBigInt64Array = ( typeof BigInt64Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a BigInt64Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether the value is a BigInt64Array\n*\n* @example\n* var bool = isBigInt64Array( new BigInt64Array( 2 ) );\n* // returns true\n*\n* @example\n* var bool = isBigInt64Array( [] );\n* // returns false\n*\n* @example\n* var bool = isBigInt64Array( 123 );\n* // returns false\n*/\nfunction isBigInt64Array( value ) {\n\treturn (\n\t\t( hasBigInt64Array && value instanceof BigInt64Array ) || // eslint-disable-line stdlib/require-globals, no-undef\n\t\tnativeClass( value ) === '[object BigInt64Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBigInt64Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a BigInt64Array.\n*\n* @module @stdlib/assert/is-bigint64array\n*\n* @example\n* var isBigInt64Array = require( '@stdlib/assert/is-bigint64array' );\n*\n* var value = new BigInt64Array( 2 );\n* var bool = isBigInt64Array( value );\n* // returns true\n*\n* bool = isBigInt64Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isBigInt64Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isBigInt64Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a BigInt primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a BigInt primitive\n*/\nfunction isBigInt( value ) {\n\treturn ( typeof value === 'bigint' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBigInt;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Attempts to call a `BigInt` method.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if able to call a `BigInt` method\n*/\nfunction test( value ) {\n\ttry {\n\t\treturn (\n\t\t\t// Objects created via `Object.create( null )` have no `valueOf()` method:\n\t\t\ttypeof value.valueOf() === 'bigint'\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = test;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\nvar test = require( './try2valueof.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a BigInt object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a BigInt object\n*/\nfunction BigInt( value ) {\n\treturn (\n\t\ttypeof value === 'object' &&\n\t\tnativeClass( value ) === '[object BigInt]' &&\n\t\ttest( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = BigInt;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a BigInt.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a BigInt\n*/\nfunction isBigInt( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBigInt;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar isSymbol = require( './generic.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( isSymbol, 'isPrimitive', isPrimitive );\nsetReadOnly( isSymbol, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = isSymbol;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar constantFunction = require( '@stdlib/utils/constant-function' );\n\n\n// MAIN //\n\nvar isBigInt = constantFunction( false );\nvar isPrimitive = constantFunction( false );\nvar isObject = constantFunction( false );\n\nsetReadOnly( isBigInt, 'isPrimitive', isPrimitive );\nsetReadOnly( isBigInt, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = isBigInt;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a BigInt.\n*\n* @module @stdlib/assert/is-bigint\n*\n* @example\n* var BigInt = require( '@stdlib/bigint/ctor' );\n* var isBigInt = require( '@stdlib/assert/is-bigint' );\n*\n* var bool = isBigInt( BigInt( '1' ) );\n* // returns true\n*\n* bool = isBigInt( Object( BigInt( '1' ) ) );\n* // returns true\n*\n* bool = isBigInt( {} );\n* // returns false\n*\n* @example\n* var isBigInt = require( '@stdlib/assert/is-bigint' ).isPrimitive;\n*\n* var bool = isBigInt( BigInt( '1' ) );\n* // returns true\n*\n* bool = isBigInt( Object( BigInt( '1' ) ) );\n* // returns false\n*\n* bool = isBigInt( {} );\n* // returns false\n*\n* @example\n* var isBigIntObject = require( '@stdlib/assert/is-bigint' ).isObject;\n*\n* var bool = isBigIntObject( BigInt( '1' ) );\n* // returns false\n*\n* bool = isBigIntObject( Object( BigInt( '1' ) ) );\n* // returns true\n*\n* bool = isBigIntObject( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar hasBigInts = require( './../../has-bigint-support' );\nvar main = require( './main.js' );\nvar polyfill = require( './polyfill.js' );\n\n\n// MAIN //\n\nvar isBigInt;\nif ( hasBigInts() ) {\n\tisBigInt = main;\n} else {\n\tisBigInt = polyfill;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBigInt;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof BigInt64Array === 'function' ) ? BigInt64Array : null; // eslint-disable-line stdlib/require-globals, no-undef\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isBigInt64Array = require( './../../is-bigint64array' );\nvar isBigInt = require( './../../is-bigint' );\nvar GlobalBigInt64Array = require( './bigint64array.js' );\n\n\n// VARIABLES //\n\nvar MAX_FLOAT64_INTEGER = '9007199254740991'; // 2^53-1\nvar MAX_FLOAT64_INTEGER_P2 = '9007199254740993';\n\n\n// MAIN //\n\n/**\n* Tests for native `BigInt64Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `BigInt64Array` support\n*\n* @example\n* var bool = hasBigInt64ArraySupport();\n* // returns \n*/\nfunction hasBigInt64ArraySupport() {\n\tvar arr;\n\tif ( typeof GlobalBigInt64Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalBigInt64Array([\n\t\t\tMAX_FLOAT64_INTEGER,\n\t\t\tMAX_FLOAT64_INTEGER_P2\n\t\t]);\n\t\treturn (\n\t\t\tisBigInt64Array( arr ) &&\n\t\t\tisBigInt( arr[ 0 ] ) &&\n\t\t\tarr[ 0 ].toString() === MAX_FLOAT64_INTEGER &&\n\t\t\tisBigInt( arr[ 1 ] ) &&\n\t\t\tarr[ 1 ].toString() === MAX_FLOAT64_INTEGER_P2\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasBigInt64ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `BigInt64Array` support.\n*\n* @module @stdlib/assert/has-bigint64array-support\n*\n* @example\n* var hasBigInt64ArraySupport = require( '@stdlib/assert/has-bigint64array-support' );\n*\n* var bool = hasBigInt64ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasBigInt64ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasBigInt64ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasBigUint64Array = ( typeof BigUint64Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a BigUint64Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether the value is a BigUint64Array\n*\n* @example\n* var value = new BigUint64Array( 2 );\n* var bool = isBigUint64Array( value );\n* // returns true\n*\n* @example\n* var bool = isBigUint64Array( [] );\n* // returns false\n*\n* @example\n* var bool = isBigUint64Array( 123 );\n* // returns false\n*/\nfunction isBigUint64Array( value ) {\n\treturn (\n\t\t( hasBigUint64Array && value instanceof BigUint64Array ) || // eslint-disable-line stdlib/require-globals, no-undef\n\t\tnativeClass( value ) === '[object BigUint64Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBigUint64Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a BigUint64Array.\n*\n* @module @stdlib/assert/is-biguint64array\n*\n* @example\n* var isBigUint64Array = require( '@stdlib/assert/is-biguint64array' );\n*\n* var value = new BigUint64Array( 2 );\n* var bool = isBigUint64Array( value );\n* // returns true\n*\n* bool = isBigUint64Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isBigUint64Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isBigUint64Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof BigUint64Array === 'function' ) ? BigUint64Array : null; // eslint-disable-line stdlib/require-globals, no-undef\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isBigUint64Array = require( './../../is-biguint64array' );\nvar isBigInt = require( './../../is-bigint' );\nvar GlobalBigUint64Array = require( './biguint64array.js' );\n\n\n// VARIABLES //\n\nvar MAX_SIGNED_INT64 = '9223372036854775807'; // 2**63 - 1\nvar MAX_SIGNED_INT64_P2 = '9223372036854775809';\n\n\n// MAIN //\n\n/**\n* Tests for native `BigUint64Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `BigUint64Array` support\n*\n* @example\n* var bool = hasBigUint64ArraySupport();\n* // returns \n*/\nfunction hasBigUint64ArraySupport() {\n\tvar arr;\n\tif ( typeof GlobalBigUint64Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalBigUint64Array([\n\t\t\tMAX_SIGNED_INT64,\n\t\t\tMAX_SIGNED_INT64_P2\n\t\t]);\n\t\treturn (\n\t\t\tisBigUint64Array( arr ) &&\n\t\t\tisBigInt( arr[ 0 ] ) &&\n\t\t\tarr[ 0 ].toString() === MAX_SIGNED_INT64 &&\n\t\t\tisBigInt( arr[ 1 ] ) &&\n\t\t\tarr[ 1 ].toString() === MAX_SIGNED_INT64_P2\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasBigUint64ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `BigUint64Array` support.\n*\n* @module @stdlib/assert/has-biguint64array-support\n*\n* @example\n* var hasBigUint64ArraySupport = require( '@stdlib/assert/has-biguint64array-support' );\n*\n* var bool = hasBigUint64ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasBigUint64ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasBigUint64ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar evil = require( '@stdlib/utils/eval' );\n\n\n// MAIN //\n\n/**\n* Tests for native `class` support.\n*\n* @returns {boolean} boolean indicating if an environment has native `class` support\n*\n* @example\n* var bool = hasClassSupport();\n* if ( bool ) {\n* console.log( 'Environment has native class support.' );\n* } else {\n* console.log( 'Environment lacks native class support.' );\n* }\n*/\nfunction hasClassSupport() {\n\tvar bool;\n\ttry {\n\t\tevil( '\"use strict\"; class A{};' );\n\t\tbool = true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasClassSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `class` support.\n*\n* @module @stdlib/assert/has-class-support\n*\n* @example\n* var hasClassSupport = require( '@stdlib/assert/has-class-support' );\n*\n* var bool = hasClassSupport();\n* if ( bool ) {\n* console.log( 'Environment has native class support.' );\n* } else {\n* console.log( 'Environment lacks native class support.' );\n* }\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasDataView = ( typeof DataView === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a `DataView`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a DataView\n*\n* @example\n* var ArrayBuffer = require( '@stdlib/array/buffer' );\n* var DataView = require( '@stdlib/array/dataview' );\n*\n* var bool = isDataView( new DataView( new ArrayBuffer( 10 ) ) );\n* // returns true\n*\n* @example\n* var bool = isDataView( [] );\n* // returns false\n*/\nfunction isDataView( value ) {\n\treturn (\n\t\t( hasDataView && value instanceof DataView ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object DataView]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isDataView;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a `DataView`.\n*\n* @module @stdlib/assert/is-dataview\n*\n* @example\n* var ArrayBuffer = require( '@stdlib/array/buffer' );\n* var DataView = require( '@stdlib/array/dataview' );\n* var isDataView = require( '@stdlib/assert/is-dataview' );\n*\n* var bool = isDataView( new DataView( new ArrayBuffer( 10 ) ) );\n* // returns true\n*\n* bool = isDataView( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof DataView === 'function' ) ? DataView : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isDataView = require( './../../is-dataview' );\nvar ArrayBuffer = require( '@stdlib/array/buffer' );\nvar GlobalDataView = require( './dataview.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `DataView` support.\n*\n* @returns {boolean} boolean indicating if an environment has `DataView` support\n*\n* @example\n* var bool = hasDataViewSupport();\n* // returns \n*/\nfunction hasDataViewSupport() {\n\tvar bool;\n\tvar view;\n\tvar buf;\n\n\tif ( typeof GlobalDataView !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tbuf = new ArrayBuffer( 24 );\n\t\tview = new GlobalDataView( buf, 8 );\n\t\tbool = ( isDataView( view ) && typeof view.getFloat64 === 'function' && typeof view.setFloat64 === 'function' );\n\t\tif ( bool ) {\n\t\t\tview.setFloat64( 0, -3.14 );\n\t\t\tview.setFloat64( 8, NaN );\n\t\t\tbool = (\n\t\t\t\tbool &&\n\t\t\t\tview.buffer === buf &&\n\t\t\t\tview.byteLength === 16 &&\n\t\t\t\tview.byteOffset === 8 &&\n\t\t\t\tview.getFloat64( 0 ) === -3.14 &&\n\t\t\t\tview.getFloat64( 8 ) !== view.getFloat64( 8 )\n\t\t\t);\n\t\t}\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasDataViewSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `DataView` support.\n*\n* @module @stdlib/assert/has-dataview-support\n*\n* @example\n* var hasDataViewSupport = require( '@stdlib/assert/has-dataview-support' );\n*\n* var bool = hasDataViewSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperties === 'function' ) ? Object.defineProperties : null;\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar defineProperties = require( './define_properties.js' );\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperties` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperties` support\n*\n* @example\n* var bool = hasDefinePropertiesSupport();\n* // returns \n*/\nfunction hasDefinePropertiesSupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperties( {}, {\n\t\t\t'x': {}\n\t\t});\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasDefinePropertiesSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for `Object.defineProperties` support.\n*\n* @module @stdlib/assert/has-define-properties-support\n*\n* @example\n* var hasDefinePropertiesSupport = require( '@stdlib/assert/has-define-properties-support' );\n*\n* var bool = hasDefinePropertiesSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Object.defineProperty === 'function' ) ? Object.defineProperty : null;\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar defineProperty = require( './define_property.js' );\n\n\n// MAIN //\n\n/**\n* Tests for `Object.defineProperty` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Object.defineProperty` support\n*\n* @example\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\nfunction hasDefinePropertySupport() {\n\t// Test basic support...\n\ttry {\n\t\tdefineProperty( {}, 'x', {} );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasDefinePropertySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for `Object.defineProperty` support.\n*\n* @module @stdlib/assert/has-define-property-support\n*\n* @example\n* var hasDefinePropertySupport = require( '@stdlib/assert/has-define-property-support' );\n*\n* var bool = hasDefinePropertySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasFloat32Array = ( typeof Float32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float32Array\n*\n* @example\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat32Array( [] );\n* // returns false\n*/\nfunction isFloat32Array( value ) {\n\treturn (\n\t\t( hasFloat32Array && value instanceof Float32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Float32Array.\n*\n* @module @stdlib/assert/is-float32array\n*\n* @example\n* var isFloat32Array = require( '@stdlib/assert/is-float32array' );\n*\n* var bool = isFloat32Array( new Float32Array( 10 ) );\n* // returns true\n*\n* bool = isFloat32Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFloat32Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float32Array === 'function' ) ? Float32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFloat32Array = require( './../../is-float32array' );\nvar PINF = require( '@stdlib/constants/float64/pinf' );\nvar GlobalFloat32Array = require( './float32array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Float32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float32Array` support\n*\n* @example\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\nfunction hasFloat32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat32Array( [ 1.0, 3.14, -3.14, 5.0e40 ] );\n\t\tbool = (\n\t\t\tisFloat32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.140000104904175 &&\n\t\t\tarr[ 2 ] === -3.140000104904175 &&\n\t\t\tarr[ 3 ] === PINF\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasFloat32ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Float32Array` support.\n*\n* @module @stdlib/assert/has-float32array-support\n*\n* @example\n* var hasFloat32ArraySupport = require( '@stdlib/assert/has-float32array-support' );\n*\n* var bool = hasFloat32ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasFloat32ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasFloat32ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasFloat64Array = ( typeof Float64Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Float64Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Float64Array\n*\n* @example\n* var bool = isFloat64Array( new Float64Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isFloat64Array( [] );\n* // returns false\n*/\nfunction isFloat64Array( value ) {\n\treturn (\n\t\t( hasFloat64Array && value instanceof Float64Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Float64Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFloat64Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Float64Array.\n*\n* @module @stdlib/assert/is-float64array\n*\n* @example\n* var isFloat64Array = require( '@stdlib/assert/is-float64array' );\n*\n* var bool = isFloat64Array( new Float64Array( 10 ) );\n* // returns true\n*\n* bool = isFloat64Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFloat64Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isFloat64Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Float64Array === 'function' ) ? Float64Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFloat64Array = require( './../../is-float64array' );\nvar GlobalFloat64Array = require( './float64array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Float64Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Float64Array` support\n*\n* @example\n* var bool = hasFloat64ArraySupport();\n* // returns \n*/\nfunction hasFloat64ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalFloat64Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalFloat64Array( [ 1.0, 3.14, -3.14, NaN ] );\n\t\tbool = (\n\t\t\tisFloat64Array( arr ) &&\n\t\t\tarr[ 0 ] === 1.0 &&\n\t\t\tarr[ 1 ] === 3.14 &&\n\t\t\tarr[ 2 ] === -3.14 &&\n\t\t\tarr[ 3 ] !== arr[ 3 ]\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasFloat64ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Float64Array` support.\n*\n* @module @stdlib/assert/has-float64array-support\n*\n* @example\n* var hasFloat64ArraySupport = require( '@stdlib/assert/has-float64array-support' );\n*\n* var bool = hasFloat64ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasFloat64ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasFloat64ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Dummy function.\n*\n* @private\n*/\nfunction foo() {\n\t// No-op...\n}\n\n\n// EXPORTS //\n\nmodule.exports = foo;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar foo = require( './foo.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native function `name` support.\n*\n* @returns {boolean} boolean indicating if an environment has function `name` support\n*\n* @example\n* var bool = hasFunctionNameSupport();\n* // returns \n*/\nfunction hasFunctionNameSupport() {\n\treturn ( foo.name === 'foo' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasFunctionNameSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native function `name` support.\n*\n* @module @stdlib/assert/has-function-name-support\n*\n* @example\n* var hasFunctionNameSupport = require( '@stdlib/assert/has-function-name-support' );\n*\n* var bool = hasFunctionNameSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar evil = require( '@stdlib/utils/eval' );\n\n\n// MAIN //\n\n/**\n* Tests for native `function*()` support.\n*\n* @returns {boolean} boolean indicating if an environment has native `function*()` support\n*\n* @example\n* var bool = hasGeneratorSupport();\n* // returns \n*/\nfunction hasGeneratorSupport() {\n\tvar bool;\n\ttry {\n\t\tevil( '\"use strict\"; (function* () {})' );\n\t\tbool = true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasGeneratorSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `function*()` support.\n*\n* @module @stdlib/assert/has-generator-support\n*\n* @example\n* var hasGeneratorSupport = require( '@stdlib/assert/has-generator-support' );\n*\n* var bool = hasGeneratorSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2019 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for `globalThis` support.\n*\n* @returns {boolean} boolean indicating if an environment has `globalThis` support\n*\n* @example\n* var bool = hasGlobalThisSupport();\n* // returns \n*/\nfunction hasGlobalThisSupport() {\n\treturn (\n\t\ttypeof globalThis === 'object' &&\n\t\ttypeof globalThis.setTimeout === 'function' // eslint-disable-line no-undef\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasGlobalThisSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2019 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for `globalThis` support.\n*\n* @module @stdlib/assert/has-globalthis-support\n*\n* @example\n* var hasGlobalThisSupport = require( '@stdlib/assert/has-globalthis-support' );\n*\n* var bool = hasGlobalThisSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasInt8Array = ( typeof Int8Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is an Int8Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an Int8Array\n*\n* @example\n* var bool = isInt8Array( new Int8Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isInt8Array( [] );\n* // returns false\n*/\nfunction isInt8Array( value ) {\n\treturn (\n\t\t( hasInt8Array && value instanceof Int8Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Int8Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInt8Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an Int8Array.\n*\n* @module @stdlib/assert/is-int8array\n*\n* @example\n* var isInt8Array = require( '@stdlib/assert/is-int8array' );\n*\n* var bool = isInt8Array( new Int8Array( 10 ) );\n* // returns true\n*\n* bool = isInt8Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isInt8Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isInt8Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Int8Array === 'function' ) ? Int8Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInt8Array = require( './../../is-int8array' );\nvar INT8_MAX = require( '@stdlib/constants/int8/max' );\nvar INT8_MIN = require( '@stdlib/constants/int8/min' );\nvar GlobalInt8Array = require( './int8array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Int8Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Int8Array` support\n*\n* @example\n* var bool = hasInt8ArraySupport();\n* // returns \n*/\nfunction hasInt8ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalInt8Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalInt8Array( [ 1, 3.14, -3.14, INT8_MAX+1 ] );\n\t\tbool = (\n\t\t\tisInt8Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === -3 && // truncation\n\t\t\tarr[ 3 ] === INT8_MIN // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasInt8ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Int8Array` support.\n*\n* @module @stdlib/assert/has-int8array-support\n*\n* @example\n* var hasInt8ArraySupport = require( '@stdlib/assert/has-int8array-support' );\n*\n* var bool = hasInt8ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasInt8ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasInt8ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasInt16Array = ( typeof Int16Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is an Int16Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an Int16Array\n*\n* @example\n* var bool = isInt16Array( new Int16Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isInt16Array( [] );\n* // returns false\n*/\nfunction isInt16Array( value ) {\n\treturn (\n\t\t( hasInt16Array && value instanceof Int16Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Int16Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInt16Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an Int16Array.\n*\n* @module @stdlib/assert/is-int16array\n*\n* @example\n* var isInt16Array = require( '@stdlib/assert/is-int16array' );\n*\n* var bool = isInt16Array( new Int16Array( 10 ) );\n* // returns true\n*\n* bool = isInt16Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isInt16Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isInt16Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Int16Array === 'function' ) ? Int16Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInt16Array = require( './../../is-int16array' );\nvar INT16_MAX = require( '@stdlib/constants/int16/max' );\nvar INT16_MIN = require( '@stdlib/constants/int16/min' );\nvar GlobalInt16Array = require( './int16array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Int16Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Int16Array` support\n*\n* @example\n* var bool = hasInt16ArraySupport();\n* // returns \n*/\nfunction hasInt16ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalInt16Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalInt16Array( [ 1, 3.14, -3.14, INT16_MAX+1 ] );\n\t\tbool = (\n\t\t\tisInt16Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === -3 && // truncation\n\t\t\tarr[ 3 ] === INT16_MIN // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasInt16ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Int16Array` support.\n*\n* @module @stdlib/assert/has-int16array-support\n*\n* @example\n* var hasInt16ArraySupport = require( '@stdlib/assert/has-int16array-support' );\n*\n* var bool = hasInt16ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasInt16ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasInt16ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasInt32Array = ( typeof Int32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is an Int32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an Int32Array\n*\n* @example\n* var bool = isInt32Array( new Int32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isInt32Array( [] );\n* // returns false\n*/\nfunction isInt32Array( value ) {\n\treturn (\n\t\t( hasInt32Array && value instanceof Int32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Int32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInt32Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an Int32Array.\n*\n* @module @stdlib/assert/is-int32array\n*\n* @example\n* var isInt32Array = require( '@stdlib/assert/is-int32array' );\n*\n* var bool = isInt32Array( new Int32Array( 10 ) );\n* // returns true\n*\n* bool = isInt32Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isInt32Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isInt32Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Int32Array === 'function' ) ? Int32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInt32Array = require( './../../is-int32array' );\nvar INT32_MAX = require( '@stdlib/constants/int32/max' );\nvar INT32_MIN = require( '@stdlib/constants/int32/min' );\nvar GlobalInt32Array = require( './int32array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Int32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Int32Array` support\n*\n* @example\n* var bool = hasInt32ArraySupport();\n* // returns \n*/\nfunction hasInt32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalInt32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalInt32Array( [ 1, 3.14, -3.14, INT32_MAX+1 ] );\n\t\tbool = (\n\t\t\tisInt32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === -3 && // truncation\n\t\t\tarr[ 3 ] === INT32_MIN // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasInt32ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Int32Array` support.\n*\n* @module @stdlib/assert/has-int32array-support\n*\n* @example\n* var hasInt32ArraySupport = require( '@stdlib/assert/has-int32array-support' );\n*\n* var bool = hasInt32ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasInt32ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasInt32ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasOwnProp = require( './../../has-own-property' );\nvar Symbol = require( '@stdlib/symbol/ctor' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Symbol.iterator` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Symbol.iterator` support\n*\n* @example\n* var bool = hasIteratorSymbolSupport();\n* // returns \n*/\nfunction hasIteratorSymbolSupport() {\n\treturn (\n\t\ttypeof Symbol === 'function' &&\n\t\ttypeof Symbol( 'foo' ) === 'symbol' &&\n\t\thasOwnProp( Symbol, 'iterator' ) &&\n\t\ttypeof Symbol.iterator === 'symbol'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasIteratorSymbolSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Symbol.iterator` support.\n*\n* @module @stdlib/assert/has-iterator-symbol-support\n*\n* @example\n* var hasIteratorSymbolSupport = require( '@stdlib/assert/has-iterator-symbol-support' );\n*\n* var bool = hasIteratorSymbolSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Map === 'function' ) ? Map : null;\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar GlobalMap = require( './map.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Map` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Map` support\n*\n* @example\n* var bool = hasMapSupport();\n* // returns \n*/\nfunction hasMapSupport() {\n\tvar bool;\n\tvar key;\n\tvar map;\n\n\tif ( typeof GlobalMap !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tkey = {};\n\t\tmap = new GlobalMap();\n\t\tmap.set( key, 'beep' );\n\t\tbool = (\n\t\t\tmap.has( key ) &&\n\t\t\tmap.get( key ) === 'beep'\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasMapSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Map` support.\n*\n* @module @stdlib/assert/has-map-support\n*\n* @example\n* var hasMapSupport = require( '@stdlib/assert/has-map-support' );\n*\n* var bool = hasMapSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Buffer === 'function' ) ? Buffer : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isBuffer = require( './../../is-buffer' );\nvar GlobalBuffer = require( './buffer.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Buffer` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Buffer` support\n*\n* @example\n* var bool = hasNodeBufferSupport();\n* // returns \n*/\nfunction hasNodeBufferSupport() {\n\tvar bool;\n\tvar b;\n\n\tif ( typeof GlobalBuffer !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tif ( typeof GlobalBuffer.from === 'function' ) {\n\t\t\tb = GlobalBuffer.from( [ 1, 2, 3, 4 ] );\n\t\t} else {\n\t\t\tb = new GlobalBuffer( [ 1, 2, 3, 4 ] ); // Note: this is deprecated behavior starting in Node v6 (see https://nodejs.org/api/buffer.html#buffer_new_buffer_array)\n\t\t}\n\t\tbool = (\n\t\t\tisBuffer( b ) &&\n\t\t\tb[ 0 ] === 1 &&\n\t\t\tb[ 1 ] === 2 &&\n\t\t\tb[ 2 ] === 3 &&\n\t\t\tb[ 3 ] === 4\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasNodeBufferSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Buffer` support.\n*\n* @module @stdlib/assert/has-node-buffer-support\n*\n* @example\n* var hasNodeBufferSupport = require( '@stdlib/assert/has-node-buffer-support' );\n*\n* var bool = hasNodeBufferSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar evil = require( '@stdlib/utils/eval' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Proxy` support.\n*\n* @returns {boolean} boolean indicating if an environment has native `Proxy` support\n*\n* @example\n* var bool = hasProxySupport();\n* // returns \n*/\nfunction hasProxySupport() {\n\tvar bool;\n\ttry {\n\t\tevil( '\"use strict\"; var handler = { \"get\": function get( t, n ) { return t[ n ] * 100; } }; var target = { \"beep\": 3.14 }; var p = new Proxy( target, handler ); var x = p.beep; if ( x !== 314 ) { throw new Error( \"native Proxy is not supported.\" ); }' );\n\t\tbool = true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasProxySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Proxy` support.\n*\n* @module @stdlib/assert/has-proxy-support\n*\n* @example\n* var hasProxySupport = require( '@stdlib/assert/has-proxy-support' );\n*\n* var bool = hasProxySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Set === 'function' ) ? Set : null;\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar GlobalSet = require( './set.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Set` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Set` support\n*\n* @example\n* var bool = hasSetSupport();\n* // returns \n*/\nfunction hasSetSupport() {\n\tvar bool;\n\tvar val;\n\tvar set;\n\n\tif ( typeof GlobalSet !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tval = {};\n\t\tset = new GlobalSet();\n\t\tset.add( val );\n\t\tset.add( val );\n\t\tbool = set.has( val );\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasSetSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Set` support.\n*\n* @module @stdlib/assert/has-set-support\n*\n* @example\n* var hasSetSupport = require( '@stdlib/assert/has-set-support' );\n*\n* var bool = hasSetSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasSharedArrayBuffer = ( typeof SharedArrayBuffer === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a `SharedArrayBuffer`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a `SharedArrayBuffer`\n*\n* @example\n* var SharedArrayBuffer = require( '@stdlib/array/shared-buffer' );\n*\n* try {\n* var bool = isSharedArrayBuffer( new SharedArrayBuffer( 10 ) );\n* // returns true\n* } catch ( err ) {\n* console.log( 'Environment does not support SharedArrayBuffers.' );\n* }\n*\n* @example\n* var bool = isSharedArrayBuffer( [] );\n* // returns false\n*/\nfunction isSharedArrayBuffer( value ) {\n\treturn (\n\t\t( hasSharedArrayBuffer && value instanceof SharedArrayBuffer ) || // eslint-disable-line stdlib/require-globals, no-undef\n\t\tnativeClass( value ) === '[object SharedArrayBuffer]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSharedArrayBuffer;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a `SharedArrayBuffer`.\n*\n* @module @stdlib/assert/is-sharedarraybuffer\n*\n* @example\n* var SharedArrayBuffer = require( '@stdlib/array/shared-buffer' );\n* var isSharedArrayBuffer = require( '@stdlib/assert/is-sharedarraybuffer' );\n*\n* var bool;\n* try {\n* bool = isSharedArrayBuffer( new SharedArrayBuffer( 10 ) );\n* // returns true\n* } catch ( err ) {\n* console.log( 'Environment does not support SharedArrayBuffers.' );\n* }\n* bool = isSharedArrayBuffer( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof SharedArrayBuffer === 'function' ) ? SharedArrayBuffer : null; // eslint-disable-line no-undef, stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isSharedArrayBuffer = require( './../../is-sharedarraybuffer' );\nvar GlobalSharedArrayBuffer = require( './sharedarraybuffer.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `SharedArrayBuffer` support.\n*\n* @returns {boolean} boolean indicating if an environment has `SharedArrayBuffer` support\n*\n* @example\n* var bool = hasSharedArrayBufferSupport();\n* // returns \n*/\nfunction hasSharedArrayBufferSupport() { // eslint-disable-line id-length\n\tvar bool;\n\tvar b1;\n\tvar b2;\n\n\tif ( typeof GlobalSharedArrayBuffer !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tb1 = new GlobalSharedArrayBuffer( 16 );\n\t\tb2 = b1.slice( 4, 8 );\n\t\tbool = (\n\t\t\tisSharedArrayBuffer( b1 ) &&\n\t\t\tisSharedArrayBuffer( b2 ) &&\n\t\t\tb1.byteLength === 16 &&\n\t\t\tb2.byteLength === 4\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasSharedArrayBufferSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `SharedArrayBuffer` support.\n*\n* @module @stdlib/assert/has-sharedarraybuffer-support\n*\n* @example\n* var hasSharedArrayBufferSupport = require( '@stdlib/assert/has-sharedarraybuffer-support' );\n*\n* var bool = hasSharedArrayBufferSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasUint8Array = ( typeof Uint8Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint8Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint8Array\n*\n* @example\n* var bool = isUint8Array( new Uint8Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint8Array( [] );\n* // returns false\n*/\nfunction isUint8Array( value ) {\n\treturn (\n\t\t( hasUint8Array && value instanceof Uint8Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint8Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUint8Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Uint8Array.\n*\n* @module @stdlib/assert/is-uint8array\n*\n* @example\n* var isUint8Array = require( '@stdlib/assert/is-uint8array' );\n*\n* var bool = isUint8Array( new Uint8Array( 10 ) );\n* // returns true\n*\n* bool = isUint8Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isUint8Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isUint8Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint8Array === 'function' ) ? Uint8Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isUint8Array = require( './../../is-uint8array' );\nvar UINT8_MAX = require( '@stdlib/constants/uint8/max' );\nvar GlobalUint8Array = require( './uint8array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint8Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint8Array` support\n*\n* @example\n* var bool = hasUint8ArraySupport();\n* // returns \n*/\nfunction hasUint8ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint8Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT8_MAX+1, UINT8_MAX+2 ];\n\t\tarr = new GlobalUint8Array( arr );\n\t\tbool = (\n\t\t\tisUint8Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT8_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasUint8ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Uint8Array` support.\n*\n* @module @stdlib/assert/has-uint8array-support\n*\n* @example\n* var hasUint8ArraySupport = require( '@stdlib/assert/has-uint8array-support' );\n*\n* var bool = hasUint8ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasUint8ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasUint8ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasUint8ClampedArray = ( typeof Uint8ClampedArray === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint8ClampedArray.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint8ClampedArray\n*\n* @example\n* var bool = isUint8ClampedArray( new Uint8ClampedArray( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint8ClampedArray( [] );\n* // returns false\n*/\nfunction isUint8ClampedArray( value ) {\n\treturn (\n\t\t( hasUint8ClampedArray && value instanceof Uint8ClampedArray ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint8ClampedArray]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUint8ClampedArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Uint8ClampedArray.\n*\n* @module @stdlib/assert/is-uint8clampedarray\n*\n* @example\n* var isUint8ClampedArray = require( '@stdlib/assert/is-uint8clampedarray' );\n*\n* var bool = isUint8ClampedArray( new Uint8ClampedArray( 10 ) );\n* // returns true\n*\n* bool = isUint8ClampedArray( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isUint8ClampedArray = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isUint8ClampedArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint8ClampedArray === 'function' ) ? Uint8ClampedArray : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isUint8ClampedArray = require( './../../is-uint8clampedarray' );\nvar GlobalUint8ClampedArray = require( './uint8clampedarray.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint8ClampedArray` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint8ClampedArray` support\n*\n* @example\n* var bool = hasUint8ClampedArraySupport();\n* // returns \n*/\nfunction hasUint8ClampedArraySupport() { // eslint-disable-line id-length\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint8ClampedArray !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = new GlobalUint8ClampedArray( [ -1, 0, 1, 3.14, 4.99, 255, 256 ] );\n\t\tbool = (\n\t\t\tisUint8ClampedArray( arr ) &&\n\t\t\tarr[ 0 ] === 0 && // clamped\n\t\t\tarr[ 1 ] === 0 &&\n\t\t\tarr[ 2 ] === 1 &&\n\t\t\tarr[ 3 ] === 3 && // round to nearest\n\t\t\tarr[ 4 ] === 5 && // round to nearest\n\t\t\tarr[ 5 ] === 255 &&\n\t\t\tarr[ 6 ] === 255 // clamped\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasUint8ClampedArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Uint8ClampedArray` support.\n*\n* @module @stdlib/assert/has-uint8clampedarray-support\n*\n* @example\n* var hasUint8ClampedArraySupport = require( '@stdlib/assert/has-uint8clampedarray-support' );\n*\n* var bool = hasUint8ClampedArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasUint8ClampedArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasUint8ClampedArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasUint16Array = ( typeof Uint16Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint16Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint16Array\n*\n* @example\n* var bool = isUint16Array( new Uint16Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint16Array( [] );\n* // returns false\n*/\nfunction isUint16Array( value ) {\n\treturn (\n\t\t( hasUint16Array && value instanceof Uint16Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint16Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUint16Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Uint16Array.\n*\n* @module @stdlib/assert/is-uint16array\n*\n* @example\n* var isUint16Array = require( '@stdlib/assert/is-uint16array' );\n*\n* var bool = isUint16Array( new Uint16Array( 10 ) );\n* // returns true\n*\n* bool = isUint16Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isUint16Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isUint16Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint16Array === 'function' ) ? Uint16Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isUint16Array = require( './../../is-uint16array' );\nvar UINT16_MAX = require( '@stdlib/constants/uint16/max' );\nvar GlobalUint16Array = require( './uint16array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint16Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint16Array` support\n*\n* @example\n* var bool = hasUint16ArraySupport();\n* // returns \n*/\nfunction hasUint16ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint16Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT16_MAX+1, UINT16_MAX+2 ];\n\t\tarr = new GlobalUint16Array( arr );\n\t\tbool = (\n\t\t\tisUint16Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT16_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasUint16ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Uint16Array` support.\n*\n* @module @stdlib/assert/has-uint16array-support\n*\n* @example\n* var hasUint16ArraySupport = require( '@stdlib/assert/has-uint16array-support' );\n*\n* var bool = hasUint16ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasUint16ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasUint16ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasUint32Array = ( typeof Uint32Array === 'function' ); // eslint-disable-line stdlib/require-globals\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Uint32Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Uint32Array\n*\n* @example\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isUint32Array( [] );\n* // returns false\n*/\nfunction isUint32Array( value ) {\n\treturn (\n\t\t( hasUint32Array && value instanceof Uint32Array ) || // eslint-disable-line stdlib/require-globals\n\t\tnativeClass( value ) === '[object Uint32Array]'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUint32Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Uint32Array.\n*\n* @module @stdlib/assert/is-uint32array\n*\n* @example\n* var isUint32Array = require( '@stdlib/assert/is-uint32array' );\n*\n* var bool = isUint32Array( new Uint32Array( 10 ) );\n* // returns true\n*\n* bool = isUint32Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isUint32Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isUint32Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof Uint32Array === 'function' ) ? Uint32Array : null; // eslint-disable-line stdlib/require-globals\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isUint32Array = require( './../../is-uint32array' );\nvar UINT32_MAX = require( '@stdlib/constants/uint32/max' );\nvar GlobalUint32Array = require( './uint32array.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `Uint32Array` support.\n*\n* @returns {boolean} boolean indicating if an environment has `Uint32Array` support\n*\n* @example\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\nfunction hasUint32ArraySupport() {\n\tvar bool;\n\tvar arr;\n\n\tif ( typeof GlobalUint32Array !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tarr = [ 1, 3.14, -3.14, UINT32_MAX+1, UINT32_MAX+2 ];\n\t\tarr = new GlobalUint32Array( arr );\n\t\tbool = (\n\t\t\tisUint32Array( arr ) &&\n\t\t\tarr[ 0 ] === 1 &&\n\t\t\tarr[ 1 ] === 3 && // truncation\n\t\t\tarr[ 2 ] === UINT32_MAX-2 && // truncation and wrap around\n\t\t\tarr[ 3 ] === 0 && // wrap around\n\t\t\tarr[ 4 ] === 1 // wrap around\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasUint32ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `Uint32Array` support.\n*\n* @module @stdlib/assert/has-uint32array-support\n*\n* @example\n* var hasUint32ArraySupport = require( '@stdlib/assert/has-uint32array-support' );\n*\n* var bool = hasUint32ArraySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar hasUint32ArraySupport = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasUint32ArraySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative integer value\n*\n* @example\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() >= 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative integer\n*\n* @example\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeInteger( null );\n* // returns false\n*/\nfunction isNonNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative integer.\n*\n* @module @stdlib/assert/is-nonnegative-integer\n*\n* @example\n* var isNonNegativeInteger = require( '@stdlib/assert/is-nonnegative-integer' );\n*\n* var bool = isNonNegativeInteger( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeInteger( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( 3.14 );\n* // returns false\n*\n* bool = isNonNegativeInteger( null );\n* // returns false\n*\n* @example\n* var isNonNegativeInteger = require( '@stdlib/assert/is-nonnegative-integer' ).isPrimitive;\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* var isNonNegativeInteger = require( '@stdlib/assert/is-nonnegative-integer' ).isObject;\n*\n* var bool = isNonNegativeInteger( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isNonNegativeInteger = require( './../../is-nonnegative-integer' ).isPrimitive;\nvar format = require( '@stdlib/string/format' );\n\n\n// VARIABLES //\n\n// Range for a high surrogate\nvar OxD800 = 0xD800|0; // 55296\nvar OxDBFF = 0xDBFF|0; // 56319\n\n// Range for a low surrogate\nvar OxDC00 = 0xDC00|0; // 56320\nvar OxDFFF = 0xDFFF|0; // 57343\n\n\n// MAIN //\n\n/**\n* Tests if a position in a string marks the start of a UTF-16 surrogate pair.\n*\n* @private\n* @param {string} str - input string\n* @param {NonNegativeInteger} pos - position in string\n* @throws {TypeError} first argument must be a string\n* @throws {TypeError} second argument must be a nonnegative integer\n* @throws {RangeError} position must be a valid index in string\n* @returns {boolean} boolean indicating whether the string has a surrogate pair at a position\n*\n* @example\n* var out = hasUTF16SurrogatePairAt( '\uD83C\uDF37', 0 );\n* // returns true\n*\n* @example\n* var out = hasUTF16SurrogatePairAt( '\uD83C\uDF37', 1 );\n* // returns false\n*/\nfunction hasUTF16SurrogatePairAt( str, pos ) {\n\tvar ch1;\n\tvar ch2;\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Must provide a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isNonNegativeInteger( pos ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. Must provide a valid position (i.e., a nonnegative integer). Value: `%s`.', pos ) );\n\t}\n\tif ( pos >= str.length ) {\n\t\tthrow new RangeError( format( 'invalid argument. Must provide a valid position (i.e., within string bounds). Value: `%u`.', pos ) );\n\t}\n\tch1 = str.charCodeAt( pos );\n\tch2 = str.charCodeAt( pos + 1 );\n\treturn ch1 >= OxD800 && ch1 <= OxDBFF && ch2 >= OxDC00 && ch2 <= OxDFFF;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasUTF16SurrogatePairAt;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a position in a string marks the start of a UTF-16 surrogate pair.\n*\n* @module @stdlib/assert/has-utf16-surrogate-pair-at\n*\n* @example\n* var hasUTF16SurrogatePairAt = require( '@stdlib/assert/has-utf16-surrogate-pair-at' );\n*\n* var bool = hasUTF16SurrogatePairAt( '\uD83C\uDF37', 0 );\n* // returns true\n*\n* bool = hasUTF16SurrogatePairAt( '\uD83C\uDF37', 1 );\n* // returns false\n*/\n\n// MODULES //\n\nvar hasUTF16SurrogatePairAt = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = hasUTF16SurrogatePairAt;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests for native WebAssembly support.\n*\n* @returns {boolean} boolean indicating if an environment has native WebAssembly support\n*\n* @example\n* var bool = hasWebAssemblySupport();\n* // returns \n*/\nfunction hasWebAssemblySupport() {\n\treturn ( typeof WebAssembly === 'object' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasWebAssemblySupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native WebAssembly support.\n*\n* @module @stdlib/assert/has-wasm-support\n*\n* @example\n* var hasWebAssemblySupport = require( '@stdlib/assert/has-wasm-support' );\n*\n* var bool = hasWebAssemblySupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof WeakMap === 'function' ) ? WeakMap : null;\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar GlobalWeakMap = require( './weakmap.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `WeakMap` support.\n*\n* @returns {boolean} boolean indicating if an environment has `WeakMap` support\n*\n* @example\n* var bool = hasWeakMapSupport();\n* // returns \n*/\nfunction hasWeakMapSupport() {\n\tvar bool;\n\tvar key;\n\tvar wm;\n\n\tif ( typeof GlobalWeakMap !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tkey = {};\n\t\twm = new GlobalWeakMap();\n\t\twm.set( key, 'beep' );\n\t\tbool = (\n\t\t\twm.has( key ) &&\n\t\t\twm.get( key ) === 'beep'\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasWeakMapSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `WeakMap` support.\n*\n* @module @stdlib/assert/has-weakmap-support\n*\n* @example\n* var hasWeakMapSupport = require( '@stdlib/assert/has-weakmap-support' );\n*\n* var bool = hasWeakMapSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\nvar main = ( typeof WeakSet === 'function' ) ? WeakSet : null;\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar GlobalWeakSet = require( './weakset.js' );\n\n\n// MAIN //\n\n/**\n* Tests for native `WeakSet` support.\n*\n* @returns {boolean} boolean indicating if an environment has `WeakSet` support\n*\n* @example\n* var bool = hasWeakSetSupport();\n* // returns \n*/\nfunction hasWeakSetSupport() {\n\tvar bool;\n\tvar val;\n\tvar ws;\n\n\tif ( typeof GlobalWeakSet !== 'function' ) {\n\t\treturn false;\n\t}\n\t// Test basic support...\n\ttry {\n\t\tval = {};\n\t\tws = new GlobalWeakSet();\n\t\tws.add( val );\n\t\tws.add( val );\n\t\tbool = ws.has( val );\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\tbool = false;\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = hasWeakSetSupport;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test for native `WeakSet` support.\n*\n* @module @stdlib/assert/has-weakset-support\n*\n* @example\n* var hasWeakSetSupport = require( '@stdlib/assert/has-weakset-support' );\n*\n* var bool = hasWeakSetSupport();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Tests whether a value has in its prototype chain a specified constructor as a prototype property.\n*\n* @param {*} value - value to test\n* @param {Function} constructor - constructor to test against\n* @throws {TypeError} constructor must be callable\n* @returns {boolean} boolean indicating whether a value is an instance of a provided constructor\n*\n* @example\n* var bool = instanceOf( [], Array );\n* // returns true\n*\n* @example\n* var bool = instanceOf( {}, Object ); // exception\n* // returns true\n*\n* @example\n* var bool = instanceOf( 'beep', String );\n* // returns false\n*\n* @example\n* var bool = instanceOf( null, Object );\n* // returns false\n*\n* @example\n* var bool = instanceOf( 5, Object );\n* // returns false\n*/\nfunction instanceOf( value, constructor ) {\n\t// TODO: replace with `isCallable` check\n\tif ( typeof constructor !== 'function' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be callable. Value: `%s`.', constructor ) );\n\t}\n\treturn ( value instanceof constructor );\n}\n\n\n// EXPORTS //\n\nmodule.exports = instanceOf;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a value has in its prototype chain a specified constructor as a prototype property.\n*\n* @module @stdlib/assert/instance-of\n*\n* @example\n* var instanceOf = require( '@stdlib/assert/instance-of' );\n*\n* var bool = instanceOf( [], Array );\n* // returns true\n*\n* bool = instanceOf( {}, Object ); // exception\n* // returns true\n*\n* bool = instanceOf( 'beep', String );\n* // returns false\n*\n* bool = instanceOf( null, Object );\n* // returns false\n*\n* bool = instanceOf( 5, Object );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\n/**\n* Matches parts of a URI according to RFC 3986.\n*\n* ```text\n* : [ ? ] [ # ]\n* ```\n*\n* Regular expression: `/(?:([^:\\/?#]+):)?(?:\\/\\/([^\\/?#]*))?([^?#]*)(?:\\?[^#]*)?(?:#.*)?/`\n*\n* - `(?:([^:\\/?#]+):)`\n*\n* - match the scheme, including the `:`, but only capture the scheme name\n*\n* - `?`\n*\n* - match the scheme zero or one times\n*\n* - `(?:\\/\\/([^\\/?#]*))`\n*\n* - match the hierarchical part which is everything which is not a `/`, `#`, or `?`, but only capture whatever comes after the `//`\n*\n* - `?`\n*\n* - match the hierarchical part zero or one times\n*\n* - `([^?#]*)`\n*\n* - capture everything (the path) until meeting a `?` or `#`\n*\n* - `(?:\\?[^#]*)`\n*\n* - match, but don't capture, a query\n*\n* - `?`\n*\n* - match the query zero or one times\n*\n* - `(?:#.*)`\n*\n* - match, but don't capture, a fragment\n*\n* - `?`\n*\n* - match the fragment zero or one times\n*\n* @private\n* @constant\n* @type {RegExp}\n* @default /(?:([^:\\/?#]+):)?(?:\\/\\/([^\\/?#]*))?([^?#]*)(?:\\?[^#]*)?(?:#.*)?/\n*/\nvar RE_URI = /(?:([^:\\/?#]+):)?(?:\\/\\/([^\\/?#]*))?([^?#]*)(?:\\?[^#]*)?(?:#.*)?/; // eslint-disable-line no-useless-escape\n\n// Illegal characters (anything which is not in between the square brackets):\nvar RE_ILLEGALS = /[^a-z0-9:\\/?#\\[\\]@!$&'()*+,;=.\\-_~%]/i; // eslint-disable-line no-useless-escape\n\n// Incomplete HEX escapes:\nvar RE_HEX1 = /%[^0-9a-f]/i;\nvar RE_HEX2 = /%[0-9a-f](:?[^0-9a-f]|$)/i;\n\n// If authority is not present, path must not begin with '//'\nvar RE_PATH = /^\\/\\//;\n\n// Scheme must begin with a letter, then consist of letters, digits, '+', '.', or '-' => e.g., 'http', 'https', 'ftp'\nvar RE_SCHEME = /^[a-z][a-z0-9+\\-.]*$/;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a URI.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a URI\n*\n* @example\n* var bool = isURI( 'http://google.com' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'http://localhost/' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'http://example.w3.org/path%20with%20spaces.html' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'http://example.w3.org/%20' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'ftp://ftp.is.co.za/rfc/rfc1808.txt' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'ftp://ftp.is.co.za/../../../rfc/rfc1808.txt' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'http://www.ietf.org/rfc/rfc2396.txt' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'ldap://[2001:db8::7]/c=GB?objectClass?one' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'mailto:John.Doe@example.com' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'news:comp.infosystems.www.servers.unix' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'tel:+1-816-555-1212' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'telnet://192.0.2.16:80/' );\n* // returns true\n*\n* @example\n* var bool = isURI( 'urn:oasis:names:specification:docbook:dtd:xml:4.1.2' );\n* // returns true\n*\n* @example\n* // No scheme:\n* var bool = isURI( '' );\n* // returns false\n*\n* @example\n* // No scheme:\n* var bool = isURI( 'foo' );\n* // returns false\n*\n* @example\n* // No scheme:\n* var bool = isURI( 'foo@bar' );\n* // returns false\n*\n* @example\n* // No scheme:\n* var bool = isURI( '://foo/' );\n* // returns false\n*\n* @example\n* // Illegal characters:\n* var bool = isURI( 'http://' );\n* // returns false\n*\n* @example\n* // Invalid path:\n* var bool = isURI( 'http:////foo.html' );\n* // returns false\n*\n* @example\n* // Incomplete hex escapes...\n* var bool = isURI( 'http://example.w3.org/%a' );\n* // returns false\n*\n* @example\n* var bool = isURI( 'http://example.w3.org/%a/foo' );\n* // returns false\n*\n* @example\n* var bool = isURI( 'http://example.w3.org/%at' );\n* // returns false\n*/\nfunction isURI( value ) {\n\tvar authority;\n\tvar scheme;\n\tvar parts;\n\tvar path;\n\n\tif ( !isString( value ) ) {\n\t\treturn false;\n\t}\n\t// Check for illegal characters:\n\tif ( RE_ILLEGALS.test( value ) ) {\n\t\treturn false;\n\t}\n\t// Check for incomplete HEX escapes:\n\tif (\n\t\tRE_HEX1.test( value ) ||\n\t\tRE_HEX2.test( value )\n\t) {\n\t\treturn false;\n\t}\n\t// Split the string into various URI components:\n\tparts = value.match( RE_URI );\n\tscheme = parts[ 1 ];\n\tauthority = parts[ 2 ];\n\tpath = parts[ 3 ];\n\n\t// Scheme is required and must be valid:\n\tif (\n\t\t!scheme ||\n\t\t!scheme.length ||\n\t\t!RE_SCHEME.test( scheme.toLowerCase() )\n\t) {\n\t\treturn false;\n\t}\n\t// If authority is not present, path must not begin with `//`:\n\tif (\n\t\t!authority &&\n\t\tRE_PATH.test( path )\n\t) {\n\t\treturn false;\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isURI;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a URI.\n*\n* @module @stdlib/assert/is-uri\n*\n* @example\n* var isURI = require( '@stdlib/assert/is-uri' );\n*\n* var bool = isURI( 'http://google.com' );\n* // returns true\n*\n* bool = isURI( 'http://localhost/' );\n* // returns true\n*\n* bool = isURI( 'http://example.w3.org/path%20with%20spaces.html' );\n* // returns true\n*\n* bool = isURI( 'http://example.w3.org/%20' );\n* // returns true\n*\n* bool = isURI( 'ftp://ftp.is.co.za/rfc/rfc1808.txt' );\n* // returns true\n*\n* bool = isURI( 'ftp://ftp.is.co.za/../../../rfc/rfc1808.txt' );\n* // returns true\n*\n* bool = isURI( 'http://www.ietf.org/rfc/rfc2396.txt' );\n* // returns true\n*\n* bool = isURI( 'ldap://[2001:db8::7]/c=GB?objectClass?one' );\n* // returns true\n*\n* bool = isURI( 'mailto:John.Doe@example.com' );\n* // returns true\n*\n* bool = isURI( 'news:comp.infosystems.www.servers.unix' );\n* // returns true\n*\n* bool = isURI( 'tel:+1-816-555-1212' );\n* // returns true\n*\n* bool = isURI( 'telnet://192.0.2.16:80/' );\n* // returns true\n*\n* bool = isURI( 'urn:oasis:names:specification:docbook:dtd:xml:4.1.2' );\n* // returns true\n*\n* // No scheme:\n* bool = isURI( '' );\n* // returns false\n*\n* // No scheme:\n* bool = isURI( 'foo' );\n* // returns false\n*\n* // No scheme:\n* bool = isURI( 'foo@bar' );\n* // returns false\n*\n* // No scheme:\n* bool = isURI( '://foo/' );\n* // returns false\n*\n* // Illegal characters:\n* bool = isURI( 'http://' );\n* // returns false\n*\n* // Invalid path:\n* bool = isURI( 'http:////foo.html' );\n* // returns false\n*\n* // Incomplete hex escapes...\n* bool = isURI( 'http://example.w3.org/%a' );\n* // returns false\n*\n* bool = isURI( 'http://example.w3.org/%a/foo' );\n* // returns false\n*\n* bool = isURI( 'http://example.w3.org/%at' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isURI = require( './../../is-uri' );\n\n\n// VARIABLES //\n\nvar RE_HTTPS = /^https?:\\/\\//;\n\n\n// MAIN //\n\n/**\n* Tests whether a value is an absolute HTTP(S) URI.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an absolute URI\n*\n* @example\n* var bool = isAbsoluteHttpURI( 'https://example.com' );\n* // returns true\n*\n* @example\n* var bool = isAbsoluteHttpURI( 'https://example.com/docs#heading' );\n* // returns true\n*\n* @example\n* var bool = isAbsoluteHttpURI( 'ftp://example.com' );\n* // returns false\n*\n* @example\n* var bool = isAbsoluteHttpURI( '/dashboard' );\n* // returns false\n*\n* @example\n* var bool = isAbsoluteHttpURI( './png.json' );\n* // returns false\n*\n* @example\n* var bool = isAbsoluteHttpURI( null );\n* // returns false\n*/\nfunction isAbsoluteHttpURI( value ) {\n\treturn isURI( value ) && RE_HTTPS.test( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAbsoluteHttpURI;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a value is an absolute HTTP(S) URI.\n*\n* @module @stdlib/assert/is-absolute-http-uri\n*\n* @example\n* var isAbsoluteHttpURI = require( '@stdlib/assert/is-absolute-http-uri' );\n*\n* var bool = isAbsoluteHttpURI( 'http://example.com' );\n* // returns true\n*\n* bool = isAbsoluteHttpURI( './beep/boop' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the current process is running on Windows.\n*\n* @module @stdlib/assert/is-windows\n* @type {boolean}\n*\n* @example\n* var PLATFORM = require( '@stdlib/os/platform' );\n* var IS_WINDOWS = require( '@stdlib/assert/is-windows' );\n*\n* if ( IS_WINDOWS ) {\n* console.log( 'Running on Windows...' );\n* } else {\n* console.log( 'Running on %s...', PLATFORM );\n* }\n*/\n\n// MODULES //\n\nvar PLATFORM = require( '@stdlib/os/platform' );\n\n\n// MAIN //\n\n/**\n* Boolean indicating if the current process is running on Windows.\n*\n* @constant\n* @type {boolean}\n*/\nvar IS_WINDOWS = ( PLATFORM === 'win32' );\n\n\n// EXPORTS //\n\nmodule.exports = IS_WINDOWS;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a POSIX absolute path.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a POSIX absolute path\n*\n* @example\n* var bool = isAbsolutePath( '/foo/bar/baz' );\n* // returns true\n*\n* @example\n* var bool = isAbsolutePath( 'foo/bar/baz' );\n* // returns false\n*/\nfunction isAbsolutePath( value ) {\n\t// Must be string longer than `0` characters and start with a forward slash '/':\n\treturn (\n\t\tisString( value ) &&\n\t\tvalue.length > 0 &&\n\t\tvalue.charCodeAt( 0 ) === 47\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAbsolutePath;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Windows absolute path.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a Windows absolute path\n*\n* @example\n* var bool = isAbsolutePath( 'C:\\\\foo\\\\bar\\\\baz' );\n* // returns true\n*\n* @example\n* var bool = isAbsolutePath( 'foo\\\\bar\\\\baz' );\n* // returns false\n*/\nfunction isAbsolutePath( value ) {\n\tvar code;\n\tvar len;\n\tif ( !isString( value ) ) {\n\t\treturn false;\n\t}\n\tlen = value.length;\n\tif ( len === 0 ) {\n\t\treturn false;\n\t}\n\tcode = value.charCodeAt( 0 );\n\n\t// Check if the string begins with either a forward '/' or backward slash '\\\\':\n\tif ( code === 47 || code === 92 ) {\n\t\treturn true;\n\t}\n\t// Check for a device root (e.g., C:\\\\)...\n\tif (\n\t\t(code >= 65 && code <= 90) || // A-Z\n\t\t(code >= 97 && code <= 122) // a-z\n\t) {\n\t\t// Check if the string has a colon ':' character:\n\t\tif ( len > 2 && value.charCodeAt( 1 ) === 58 ) {\n\t\t\tcode = value.charCodeAt( 2 );\n\n\t\t\t// Check for either a forward or backward slash:\n\t\t\tif ( code === 47 || code === 92 ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAbsolutePath;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an absolute path.\n*\n* @module @stdlib/assert/is-absolute-path\n*\n* @example\n* var IS_WINDOWS = require( '@stdlib/assert/is-windows' );\n* var isAbsolutePath = require( '@stdlib/assert/is-absolute-path' );\n*\n* var bool;\n* if ( IS_WINDOWS ) {\n* bool = isAbsolutePath( 'C:\\\\foo\\\\bar\\\\baz' );\n* // returns true\n* } else {\n* bool = isAbsolutePath( '/foo/bar/baz' );\n* // returns true\n* }\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar IS_WINDOWS = require( './../../is-windows' );\nvar isAbsolutePathPosix = require( './posix.js' );\nvar isAbsolutePathWin32 = require( './win32.js' );\n\n\n// MAIN //\n\nvar isAbsolutePath;\nif ( IS_WINDOWS ) {\n\tisAbsolutePath = isAbsolutePathWin32;\n} else {\n\tisAbsolutePath = isAbsolutePathPosix;\n}\nsetReadOnly( isAbsolutePath, 'posix', isAbsolutePathPosix );\nsetReadOnly( isAbsolutePath, 'win32', isAbsolutePathWin32 );\n\n\n// EXPORTS //\n\nmodule.exports = isAbsolutePath;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isURI = require( './../../is-uri' );\n\n\n// MAIN //\n\n/**\n* Tests whether a value is an absolute URI.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an absolute URI\n*\n* @example\n* var bool = isAbsoluteURI( 'https://example.com' );\n* // returns true\n*\n* @example\n* var bool = isAbsoluteURI( 'https://example.com/docs#heading' );\n* // returns true\n*\n* @example\n* var bool = isAbsoluteURI( '/dashboard' );\n* // returns false\n*\n* @example\n* var bool = isAbsoluteURI( './png.json' );\n* // returns false\n*\n* @example\n* var bool = isAbsoluteURI( null );\n* // returns false\n*/\nfunction isAbsoluteURI( value ) {\n\treturn isURI( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAbsoluteURI;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a value is an absolute URI.\n*\n* @module @stdlib/assert/is-absolute-uri\n*\n* @example\n* var isAbsoluteURI = require( '@stdlib/assert/is-absolute-uri' );\n*\n* var bool = isAbsoluteURI( 'http://example.com' );\n* // returns true\n*\n* bool = isAbsoluteURI( './beep/boop' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isCollection = require( './../../is-collection' );\nvar isFunction = require( './../../is-function' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array-like object supporting the accessor (get/set) protocol.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an accessor array\n*\n* @example\n* var Complex128Array = require( '@stdlib/array/complex128' );\n*\n* var bool = isAccessorArray( new Complex128Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isAccessorArray( [] );\n* // returns false\n*\n* @example\n* var bool = isAccessorArray( {} );\n* // returns false\n*/\nfunction isAccessorArray( value ) {\n\treturn (\n\t\tisCollection( value ) &&\n\t\tisFunction( value.get ) &&\n\t\tisFunction( value.set )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAccessorArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object supporting the accessor (get/set) protocol.\n*\n* @module @stdlib/assert/is-accessor-array\n*\n* @example\n* var Complex128Array = require( '@stdlib/array/complex128array' );\n* var isAccessorArray = require( '@stdlib/assert/is-accessor-array' );\n*\n* var bool = isAccessorArray( new Complex128Array( 10 ) );\n* // returns true\n*\n* bool = isAccessorArray( [] );\n* // returns false\n*\n* bool = isAccessorArray( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptor = require( '@stdlib/utils/property-descriptor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property has an accessor descriptor.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property has an accessor descriptor\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function getter() {\n* return 'beep';\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'get': getter\n* });\n*\n* var bool = isAccessorProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isAccessorProperty( obj, 'beep' );\n* // returns true\n*/\nfunction isAccessorProperty( value, property ) {\n\tvar desc = propertyDescriptor( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\t(\n\t\t\ttypeof desc.get === 'function' ||\n\t\t\ttypeof desc.set === 'function'\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAccessorProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property has an accessor descriptor.\n*\n* @module @stdlib/assert/is-accessor-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isAccessorProperty = require( '@stdlib/assert/is-accessor-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function getter() {\n* return 'beep';\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'get': getter\n* });\n*\n* var bool = isAccessorProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isAccessorProperty( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property has an accessor descriptor.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property has an accessor descriptor\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function getter() {\n* return 'beep';\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'get': getter\n* });\n*\n* var bool = isAccessorPropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isAccessorPropertyIn( obj, 'beep' );\n* // returns true\n*/\nfunction isAccessorPropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\t(\n\t\t\ttypeof desc.get === 'function' ||\n\t\t\ttypeof desc.set === 'function'\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAccessorPropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property has an accessor descriptor.\n*\n* @module @stdlib/assert/is-accessor-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isAccessorPropertyIn = require( '@stdlib/assert/is-accessor-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function getter() {\n* return 'beep';\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'get': getter\n* });\n*\n* var bool = isAccessorPropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isAccessorPropertyIn( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an alphagram.\n*\n* @param {*} x - value to test\n* @returns {boolean} boolean indicating if a value is an alphagram\n*\n* @example\n* var out = isAlphagram( 'beep' );\n* // returns true\n*\n* @example\n* var out = isAlphagram( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var out = isAlphagram( 'zba' );\n* // returns false\n*\n* @example\n* var out = isAlphagram( '' );\n* // returns false\n*\n* @example\n* var out = isAlphagram( 123 );\n* // returns false\n*/\nfunction isAlphagram( x ) {\n\tvar len;\n\tvar i;\n\n\tif ( !isString( x ) ) {\n\t\treturn false;\n\t}\n\tlen = x.length;\n\tif ( !len ) {\n\t\treturn false;\n\t}\n\tfor ( i = 1; i < len; i++ ) {\n\t\tif ( x[ i-1 ] > x[ i ] ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAlphagram;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an alphagram.\n*\n* @module @stdlib/assert/is-alphagram\n*\n* @example\n* var isAlphagram = require( '@stdlib/assert/is-alphagram' );\n*\n* var out = isAlphagram( 'beep' );\n* // returns true\n*\n* out = isAlphagram( 'zba' );\n* // returns false\n*\n* out = isAlphagram( '' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\n// Character codes:\nvar ZERO = 48;\nvar NINE = 57;\nvar A = 65;\nvar Z = 90;\nvar a = 97;\nvar z = 122;\n\n\n// MAIN //\n\n/**\n* Tests whether a string contains only alphanumeric characters.\n*\n* @param {*} x - value to test\n* @returns {boolean} boolean indicating if a string contains only alphanumeric characters\n*\n* @example\n* var out = isAlphaNumeric( 'abc123def456' );\n* // returns true\n*\n* @example\n* var out = isAlphaNumeric( '0xffffff' );\n* // returns true\n*\n* @example\n* var out = isAlphaNumeric( '123' );\n* // returns true\n*\n* @example\n* var out = isAlphaNumeric( '' );\n* // returns false\n*\n* @example\n* var out = isAlphaNumeric( 123 );\n* // returns false\n*/\nfunction isAlphaNumeric( x ) {\n\tvar len;\n\tvar ch;\n\tvar i;\n\tif ( !isString( x ) ) {\n\t\treturn false;\n\t}\n\tlen = x.length;\n\tif ( len === 0 ) {\n\t\treturn false;\n\t}\n\tfor ( i = 0; i < len; i++ ) {\n\t\tch = x.charCodeAt( i );\n\t\tif (\n\t\t\t(ch < ZERO || ch > NINE) &&\n\t\t\t(ch < a || ch > z) &&\n\t\t\t(ch < A || ch > Z)\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAlphaNumeric;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a string contains only alphanumeric characters.\n*\n* @module @stdlib/assert/is-alphanumeric\n*\n* @example\n* var isAlphaNumeric = require( '@stdlib/assert/is-alphanumeric' );\n*\n* var out = isAlphaNumeric( 'abc123a' );\n* // returns true\n*\n* out = isAlphaNumeric( '0xffffff' );\n* // returns true\n*\n* out = isAlphaNumeric( '' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar lowercase = require( '@stdlib/string/base/lowercase' );\nvar replace = require( '@stdlib/string/base/replace' );\nvar isString = require( './../../is-string' ).isPrimitive;\nvar format = require( '@stdlib/string/format' );\n\n\n// VARIABLES //\n\nvar RE_NON_ALPHANUMERIC = /[^a-z0-9]/g;\n\n\n// FUNCTIONS //\n\n/**\n* Comparator function for sorting characters in ascending order.\n*\n* @private\n* @param {string} a - character\n* @param {string} b - character\n* @returns {number} comparison value\n*/\nfunction ascending( a, b ) {\n\tif ( a < b ) {\n\t\treturn -1;\n\t}\n\tif ( a === b ) {\n\t\treturn 0;\n\t}\n\treturn 1;\n}\n\n\n// MAIN //\n\n/**\n* Tests if a value is an anagram.\n*\n* @param {string} str - comparison string\n* @param {*} x - value to test\n* @throws {TypeError} first argument must be a string\n* @returns {boolean} boolean indicating if a value is an anagram\n*\n* @example\n* var bool = isAnagram( 'I am a weakish speller', 'William Shakespeare' );\n* // returns true\n*\n* @example\n* var bool = isAnagram( 'bat', 'tabba' );\n* // returns false\n*/\nfunction isAnagram( str, x ) {\n\tif ( !isString( str ) ) {\n\t\tthrow new TypeError( format( 'invalid argument. First argument must be a string. Value: `%s`.', str ) );\n\t}\n\tif ( !isString( x ) ) {\n\t\treturn false;\n\t}\n\tstr = replace( lowercase( str ), RE_NON_ALPHANUMERIC, '' );\n\tx = replace( lowercase( x ), RE_NON_ALPHANUMERIC, '' );\n\tif ( str.length !== x.length ) {\n\t\treturn false;\n\t}\n\tstr = str.split( '' ).sort( ascending ).join( '' );\n\tx = x.split( '' ).sort( ascending ).join( '' );\n\treturn ( str === x );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isAnagram;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an anagram.\n*\n* @module @stdlib/assert/is-anagram\n*\n* @example\n* var isAnagram = require( '@stdlib/assert/is-anagram' );\n*\n* var bool = isAnagram( 'I am a weakish speller', 'William Shakespeare' );\n* // returns true\n*\n* bool = isAnagram( 'bat', 'tabba' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// MAIN //\n\n/**\n* Tests whether a value is an `arguments` object.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an `arguments` object\n*\n* @example\n* function foo() {\n* return arguments;\n* }\n*\n* var bool = isArguments( foo() );\n* // returns true\n*\n* @example\n* var bool = isArguments( [] );\n* // returns false\n*/\nfunction isArguments( value ) {\n\treturn ( nativeClass( value ) === '[object Arguments]' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArguments;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isArguments = require( './main.js' );\n\n\n// VARIABLES //\n\nvar bool;\n\n\n// FUNCTIONS //\n\n/**\n* Detects whether an environment returns the expected internal class of the `arguments` object.\n*\n* @private\n* @returns {boolean} boolean indicating whether an environment behaves as expected\n*\n* @example\n* var bool = detect();\n* // returns \n*/\nfunction detect() {\n\treturn isArguments( arguments );\n}\n\n\n// MAIN //\n\nbool = detect();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if an object's own property is enumerable.\n*\n* @private\n* @name isEnumerableProperty\n* @type {Function}\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is enumerable\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = isEnumerableProperty( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = isEnumerableProperty( beep, 'hasOwnProperty' );\n* // returns false\n*/\nvar isEnumerableProperty = Object.prototype.propertyIsEnumerable;\n\n\n// EXPORTS //\n\nmodule.exports = isEnumerableProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isEnum = require( './native.js' );\n\n\n// VARIABLES //\n\nvar bool;\n\n\n// FUNCTIONS //\n\n/**\n* Detects whether an environment has a bug where String indices are not detected as \"enumerable\" properties. Observed in Node v0.10.\n*\n* @private\n* @returns {boolean} boolean indicating whether an environment has the bug\n*/\nfunction detect() {\n\treturn !isEnum.call( 'beep', '0' );\n}\n\n\n// MAIN //\n\nbool = detect();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' );\nvar isnan = require( './../../is-nan' ).isPrimitive;\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar isEnum = require( './native.js' );\nvar hasStringEnumBug = require( './has_string_enumerability_bug.js' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property is enumerable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is enumerable\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = isEnumerableProperty( beep, 'boop' );\n* // returns true\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = isEnumerableProperty( beep, 'hasOwnProperty' );\n* // returns false\n*/\nfunction isEnumerableProperty( value, property ) {\n\tvar bool;\n\tif (\n\t\tvalue === void 0 ||\n\t\tvalue === null\n\t) {\n\t\treturn false;\n\t}\n\tbool = isEnum.call( value, property );\n\tif ( !bool && hasStringEnumBug && isString( value ) ) {\n\t\t// Note: we only check for indices, as properties attached to a `String` object are properly detected as enumerable above.\n\t\tproperty = +property;\n\t\treturn (\n\t\t\t!isnan( property ) &&\n\t\t\tisInteger( property ) &&\n\t\t\tproperty >= 0 &&\n\t\t\tproperty < value.length\n\t\t);\n\t}\n\treturn bool;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEnumerableProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property is enumerable.\n*\n* @module @stdlib/assert/is-enumerable-property\n*\n* @example\n* var isEnumerableProperty = require( '@stdlib/assert/is-enumerable-property' );\n*\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = isEnumerableProperty( beep, 'boop' );\n* // returns true\n*\n* bool = isEnumerableProperty( beep, 'hasOwnProperty' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasOwnProp = require( './../../has-own-property' );\nvar isEnumerableProperty = require( './../../is-enumerable-property' );\nvar isArray = require( './../../is-array' );\nvar isInteger = require( '@stdlib/math/base/assert/is-integer' );\nvar MAX_LENGTH = require( '@stdlib/constants/uint32/max' );\n\n\n// MAIN //\n\n/**\n* Tests whether a value is an `arguments` object.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an `arguments` object\n*\n* @example\n* function foo() {\n* return arguments;\n* }\n*\n* var bool = isArguments( foo() );\n* // returns true\n*\n* @example\n* var bool = isArguments( [] );\n* // returns false\n*/\nfunction isArguments( value ) {\n\treturn (\n\t\tvalue !== null &&\n\t\ttypeof value === 'object' &&\n\t\t!isArray( value ) &&\n\t\ttypeof value.length === 'number' &&\n\t\tisInteger( value.length ) &&\n\t\tvalue.length >= 0 &&\n\t\tvalue.length <= MAX_LENGTH &&\n\t\thasOwnProp( value, 'callee' ) &&\n\t\t!isEnumerableProperty( value, 'callee' )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArguments;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an `arguments` object.\n*\n* @module @stdlib/assert/is-arguments\n*\n* @example\n* var isArguments = require( '@stdlib/assert/is-arguments' );\n*\n* function foo() {\n* return arguments;\n* }\n*\n* var bool = isArguments( foo() );\n* // returns true\n*\n* bool = isArguments( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar hasArgumentsClass = require( './detect.js' );\nvar main = require( './main.js' );\nvar polyfill = require( './polyfill.js' );\n\n\n// MAIN //\n\nvar isArguments;\nif ( hasArgumentsClass ) {\n\tisArguments = main;\n} else {\n\tisArguments = polyfill;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArguments;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar arrayfun = require( './../../tools/array-function' );\nvar isArray = require( './../../is-array' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array of arrays.\n*\n* @name isArrayArray\n* @type {Function}\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an array of arrays\n*\n* @example\n* var bool = isArrayArray( [ [], [] ] );\n* // returns true\n*\n* bool = isArrayArray( [ {}, {} ] );\n* // returns false\n*\n* bool = isArrayArray( [] );\n* // returns false\n*/\nvar isArrayArray = arrayfun( isArray );\n\n\n// EXPORTS //\n\nmodule.exports = isArrayArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array of arrays.\n*\n* @module @stdlib/assert/is-array-array\n*\n* @example\n* var isArrayArray = require( '@stdlib/assert/is-array-array' );\n*\n* var bool = isArrayArray( [ [], [] ] );\n* // returns true\n*\n* bool = isArrayArray( [ {}, {} ] );\n* // returns false\n*\n* bool = isArrayArray( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar MAX_ARRAY_LENGTH = require( '@stdlib/constants/array/max-array-length' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a valid array length.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a valid array length\n*\n* @example\n* var bool = isArrayLength( 3 );\n* // returns true\n*\n* @example\n* var bool = isArrayLength( 3.14 );\n* // returns false\n*/\nfunction isArrayLength( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0 &&\n\t\tvalue <= MAX_ARRAY_LENGTH\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArrayLength;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a valid array length.\n*\n* @module @stdlib/assert/is-array-length\n*\n* @example\n* var isArrayLength = require( '@stdlib/assert/is-array-length' );\n*\n* var bool = isArrayLength( 5 );\n* // returns true\n*\n* bool = isArrayLength( 2.0e200 );\n* // returns false\n*\n* bool = isArrayLength( -3.14 );\n* // returns false\n*\n* bool = isArrayLength( null );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( '@stdlib/math/base/assert/is-integer' );\nvar MAX_LENGTH = require( '@stdlib/constants/array/max-array-length' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is array-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is array-like\n*\n* @example\n* var bool = isArrayLike( [] );\n* // returns true\n*\n* @example\n* var bool = isArrayLike( {'length':10} );\n* // returns true\n*/\nfunction isArrayLike( value ) {\n\treturn (\n\t\tvalue !== void 0 &&\n\t\tvalue !== null &&\n\t\ttypeof value !== 'function' &&\n\t\ttypeof value.length === 'number' &&\n\t\tisInteger( value.length ) &&\n\t\tvalue.length >= 0 &&\n\t\tvalue.length <= MAX_LENGTH\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is array-like.\n*\n* @module @stdlib/assert/is-array-like\n*\n* @example\n* var isArrayLike = require( '@stdlib/assert/is-array-like' );\n*\n* var bool = isArrayLike( [] );\n* // returns true\n*\n* bool = isArrayLike( { 'length': 10 } );\n* // returns true\n*\n* bool = isArrayLike( 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( '@stdlib/math/base/assert/is-integer' );\nvar MAX_LENGTH = require( '@stdlib/constants/array/max-array-length' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array-like object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is an array-like object\n*\n* @example\n* var bool = isArrayLikeObject( [] );\n* // returns true\n*\n* @example\n* var bool = isArrayLikeObject( { 'length':10 } );\n* // returns true\n*\n* @example\n* var bool = isArrayLikeObject( 'beep' );\n* // returns false\n*/\nfunction isArrayLikeObject( value ) {\n\treturn (\n\t\ttypeof value === 'object' &&\n\t\tvalue !== null &&\n\t\ttypeof value.length === 'number' &&\n\t\tisInteger( value.length ) &&\n\t\tvalue.length >= 0 &&\n\t\tvalue.length <= MAX_LENGTH\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArrayLikeObject;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object.\n*\n* @module @stdlib/assert/is-array-like-object\n*\n* @example\n* var isArrayLikeObject = require( '@stdlib/assert/is-array-like-object' );\n*\n* var bool = isArrayLikeObject( [] );\n* // returns true\n*\n* bool = isArrayLikeObject( { 'length':10 } );\n* // returns true\n*\n* bool = isArrayLikeObject( 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar constantFunction = require( '@stdlib/utils/constant-function' );\n\n\n// MAIN //\n\nvar isArrayBufferView = constantFunction( false );\n\n\n// EXPORTS //\n\nmodule.exports = isArrayBufferView;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Int8Array = require( '@stdlib/array/int8' );\nvar Uint8Array = require( '@stdlib/array/uint8' );\nvar Uint8ClampedArray = require( '@stdlib/array/uint8c' );\nvar Int16Array = require( '@stdlib/array/int16' );\nvar Uint16Array = require( '@stdlib/array/uint16' );\nvar Int32Array = require( '@stdlib/array/int32' );\nvar Uint32Array = require( '@stdlib/array/uint32' );\nvar Float32Array = require( '@stdlib/array/float32' );\nvar Float64Array = require( '@stdlib/array/float64' );\n\n\n// MAIN //\n\nvar CTORS = [\n\tFloat64Array,\n\tFloat32Array,\n\tInt32Array,\n\tUint32Array,\n\tInt16Array,\n\tUint16Array,\n\tInt8Array,\n\tUint8Array,\n\tUint8ClampedArray\n];\n\n\n// EXPORTS //\n\nmodule.exports = CTORS;\n", "[\n\t\"Int8Array\",\n\t\"Uint8Array\",\n\t\"Uint8ClampedArray\",\n\t\"Int16Array\",\n\t\"Uint16Array\",\n\t\"Int32Array\",\n\t\"Uint32Array\",\n\t\"Float32Array\",\n\t\"Float64Array\"\n]\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar ctorName = require( '@stdlib/utils/constructor-name' );\nvar fcnName = require( '@stdlib/utils/function-name' );\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar hasFloat64ArraySupport = require( './../../has-float64array-support' );\nvar Float64Array = require( '@stdlib/array/float64' );\nvar CTORS = require( './ctors.js' );\nvar NAMES = require( './names.json' );\n\n\n// VARIABLES //\n\n// Abstract `TypedArray` class:\nvar TypedArray = ( hasFloat64ArraySupport() ) ? getPrototypeOf( Float64Array ) : Dummy; // eslint-disable-line max-len\n\n// Ensure abstract typed array class has expected name:\nTypedArray = ( fcnName( TypedArray ) === 'TypedArray' ) ? TypedArray : Dummy;\n\n\n// FUNCTIONS //\n\n/**\n* Dummy constructor.\n*\n* @private\n*/\nfunction Dummy() {} // eslint-disable-line no-empty-function\n\n\n// MAIN //\n\n/**\n* Tests if a value is a typed array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a typed array\n*\n* @example\n* var Int8Array = require( '@stdlib/array/int8' );\n*\n* var bool = isTypedArray( new Int8Array( 10 ) );\n* // returns true\n*/\nfunction isTypedArray( value ) {\n\tvar v;\n\tvar i;\n\n\tif ( typeof value !== 'object' || value === null ) {\n\t\treturn false;\n\t}\n\t// Check for the abstract class...\n\tif ( value instanceof TypedArray ) {\n\t\treturn true;\n\t}\n\t// Check for typed array objects from the same realm (same Node.js `vm` or same `Window` object)...\n\tfor ( i = 0; i < CTORS.length; i++ ) {\n\t\tif ( value instanceof CTORS[ i ] ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\t// Walk the prototype tree until we find an object having a desired class...\n\twhile ( value ) {\n\t\tv = ctorName( value );\n\t\tfor ( i = 0; i < NAMES.length; i++ ) {\n\t\t\tif ( NAMES[ i ] === v ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\tvalue = getPrototypeOf( value );\n\t}\n\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isTypedArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a typed array.\n*\n* @module @stdlib/assert/is-typed-array\n*\n* @example\n* var Int8Array = require( '@stdlib/array/int8' );\n* var isTypedArray = require( '@stdlib/assert/is-typed-array' );\n*\n* var bool = isTypedArray( new Int8Array( 10 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isTypedArray = require( './../../is-typed-array' );\nvar isDataView = require( './../../is-dataview' );\n\n\n// MAIN //\n\n/**\n* Polyfill for determining whether an object is an array buffer view.\n*\n* ## Notes\n*\n* - This polyfill should only be used in environments which do not provide native `ArrayBuffer.isView` support.\n* - The implementation checks whether a value is a data view or typed array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an array buffer view\n*\n* @example\n* var Int8Array = require( '@stdlib/array/int8' );\n* var bool = isArrayBufferView( new Int8Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isArrayBufferView( [] );\n* // returns false\n*/\nfunction isArrayBufferView( value ) {\n\treturn isTypedArray( value ) || isDataView( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArrayBufferView;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar ArrayBuffer = require( '@stdlib/array/buffer' );\n\n\n// MAIN //\n\n/**\n* Determines whether an object is an array buffer view.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an array buffer view\n*\n* @example\n* var Int8Array = require( '@stdlib/array/int8' );\n* var bool = isArrayBufferView( new Int8Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isArrayBufferView( [] );\n* // returns false\n*/\nfunction isArrayBufferView( value ) {\n\treturn ArrayBuffer.isView( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArrayBufferView;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an `ArrayBuffer` view.\n*\n* @module @stdlib/assert/is-arraybuffer-view\n*\n* @example\n* var isArrayBufferView = require( '@stdlib/assert/is-arraybuffer-view' );\n* var Int32Array = require( '@stdlib/array/int32' );\n*\n* var bool = isArrayBufferView( new Int32Array( 10 ) );\n* // returns true\n*\n* bool = isArrayBufferView( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar hasArrayBufferSupport = require( './../../has-arraybuffer-support' );\nvar isFunction = require( './../../is-function' );\nvar ArrayBuffer = require( '@stdlib/array/buffer' );\nvar noArraybuffer = require( './no_arraybuffer.js' );\nvar polyfill = require( './polyfill.js' );\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar isArrayBufferView;\nif ( hasArrayBufferSupport() ) {\n\tif ( isFunction( ArrayBuffer.isView ) ) {\n\t\tisArrayBufferView = main;\n\t} else {\n\t\tisArrayBufferView = polyfill;\n\t}\n} else {\n\tisArrayBufferView = noArraybuffer;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArrayBufferView;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFunction = require( './../../is-function' );\nvar function2string = require( '@stdlib/function/to-string' );\n\n\n// VARIABLES //\n\nvar RE_ARROW_FUNCTION = /^(?:\\([^)]*\\) *|[^=]*)=>/;\n\n\n// MAIN //\n\n/**\n* Tests whether a value is an arrow function.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an arrow function\n*\n* @example\n* var arrow = () => {};\n* var bool = isArrowFunction( arrow );\n* // returns true\n*\n* @example\n* function beep() {\n* return 'beep';\n* }\n*\n* var bool = isArrowFunction( beep );\n* // returns false\n*/\nfunction isArrowFunction( value ) {\n\tvar str;\n\tif ( !isFunction( value ) ) {\n\t\treturn false;\n\t}\n\tstr = function2string( value );\n\treturn RE_ARROW_FUNCTION.test( str );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isArrowFunction;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an arrow function.\n*\n* @module @stdlib/assert/is-arrow-function\n*\n* @example\n* var isArrowFunction = require( '@stdlib/assert/is-arrow-function' );\n*\n* var beep = () => 'beep';\n*\n* var bool = isArrowFunction( beep );\n* // returns true\n\n* function boop() {\n* return 'boop';\n* }\n*\n* bool = isArrowFunction( boop );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\nvar MAX_ASCII = 127;\n\n\n// MAIN //\n\n/**\n* Tests whether a character belongs to the ASCII character set and whether this is true for all characters in a provided string.\n*\n* @param {*} x - value to test\n* @returns {boolean} boolean indicating if a string has all ASCII characters\n*\n* @example\n* var out = isASCII( 'beep' );\n* // returns true\n*\n* @example\n* var out = isASCII( '\u00C8' );\n* // returns false\n*\n* @example\n* var out = isASCII( '' );\n* // returns false\n*\n* @example\n* var out = isASCII( 123 );\n* // returns false\n*/\nfunction isASCII( x ) {\n\tvar len;\n\tvar i;\n\tif ( !isString( x ) ) {\n\t\treturn false;\n\t}\n\tlen = x.length;\n\tif ( !len ) {\n\t\treturn false;\n\t}\n\tfor ( i = 0; i < len; i++ ) {\n\t\tif ( x.charCodeAt( i ) > MAX_ASCII ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isASCII;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a character belongs to the ASCII character set and whether this is true for all characters in a provided string.\n*\n* @module @stdlib/assert/is-ascii\n*\n* @example\n* var isASCII = require( '@stdlib/assert/is-ascii' );\n*\n* var out = isASCII( 'beep' );\n* // returns true\n*\n* out = isASCII( '\u00C8' );\n* // returns false\n*\n* out = isASCII( '' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is between two values.\n*\n* @param {*} value - value to test\n* @param {*} a - left comparison value\n* @param {*} b - right comparison value\n* @param {string} [left=\"closed\"] - indicates whether the left comparison value is inclusive\n* @param {string} [right=\"closed\"] - indicates whether the right comparison value is inclusive\n* @throws {TypeError} `left` must be a recognized string\n* @throws {TypeError} `right` must be a recognized string\n* @returns {boolean} boolean indicating whether a value is between two values\n*\n* @example\n* var bool = isBetween( 3.14, 3.0, 4.0 );\n* // returns true\n*\n* @example\n* var bool = isBetween( 4.5, 3.0, 4.0 );\n* // returns false\n*\n* @example\n* var bool = isBetween( 3.14, 3.14, 4.0 );\n* // returns true\n*\n* @example\n* var bool = isBetween( 3.14, 3.14, 4.0, 'open', 'closed' );\n* // returns false\n*\n* @example\n* var bool = isBetween( 3.14, 3.0, 3.14 );\n* // returns true\n*\n* @example\n* var bool = isBetween( 3.14, 3.0, 3.14, 'closed', 'open' );\n* // returns false\n*/\nfunction isBetween( value, a, b, left, right ) {\n\tif ( arguments.length > 3 ) {\n\t\tif ( left !== 'closed' && left !== 'open' ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Fourth argument must be one of the following: \"%s\". Value: `%s`.', [ 'closed', 'open' ].join( '\", \"' ), left ) );\n\t\t}\n\t\tif ( right !== 'closed' && right !== 'open' ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Fifth argument must be one of the following: \"%s\". Value: `%s`.', [ 'closed', 'open' ].join( '\", \"' ), right ) );\n\t\t}\n\t}\n\tif ( left === 'closed' || left === void 0 ) {\n\t\tif ( right === 'closed' || right === void 0 ) {\n\t\t\treturn ( value >= a && value <= b );\n\t\t}\n\t\treturn ( value >= a && value < b );\n\t}\n\tif ( right === 'closed' || right === void 0 ) {\n\t\treturn ( value > a && value <= b );\n\t}\n\treturn ( value > a && value < b );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBetween;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is between two values.\n*\n* @module @stdlib/assert/is-between\n*\n* @example\n* var isBetween = require( '@stdlib/assert/is-between' );\n*\n* var bool = isBetween( 3.14, 3.0, 4.0 );\n* // returns true\n*\n* bool = isBetween( 4.5, 3.0, 4.0 );\n* // returns false\n*\n* bool = isBetween( 3.14, 3.14, 4.0 );\n* // returns true\n*\n* bool = isBetween( 3.14, 3.14, 4.0, 'open', 'closed' );\n* // returns false\n*\n* bool = isBetween( 3.14, 3.0, 3.14 );\n* // returns true\n*\n* bool = isBetween( 3.14, 3.0, 3.14, 'closed', 'open' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isCollection = require( './../../is-collection' );\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array-like object where every element is between two values.\n*\n* @param {*} value - value to test\n* @param {*} a - left comparison value\n* @param {*} b - right comparison value\n* @param {string} [left=\"closed\"] - indicates whether the left comparison value is inclusive\n* @param {string} [right=\"closed\"] - indicates whether the right comparison value is inclusive\n* @throws {TypeError} `left` must be a recognized string\n* @throws {TypeError} `right` must be a recognized string\n* @returns {boolean} boolean indicating whether a value is an array-like object where every element is between two values\n*\n* @example\n* var arr = [ 3.0, 3.14, 4.0 ];\n* var bool = isBetweenArray( arr, 3.0, 4.0 );\n* // returns true\n*\n* @example\n* var arr = [ 3.0, 3.14, 4.0 ];\n* var bool = isBetweenArray( arr, 3.14, 4.0 );\n* // returns false\n*\n* @example\n* var arr = [ 3.0, 3.14, 4.0 ];\n* var bool = isBetweenArray( arr, 3.0, 3.14 );\n* // returns false\n*\n* @example\n* var arr = [ 3.0, 3.14, 4.0 ];\n* var bool = isBetweenArray( arr, 3.0, 4.0, 'open', 'closed' );\n* // returns false\n*\n* @example\n* var arr = [ 3.0, 3.14, 4.0 ];\n* var bool = isBetweenArray( arr, 3.0, 4.0, 'closed', 'open' );\n* // returns false\n*/\nfunction isBetweenArray( value, a, b, left, right ) {\n\tvar len;\n\tvar i;\n\tif ( arguments.length > 3 ) {\n\t\tif ( left !== 'closed' && left !== 'open' ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Fourth argument must be one of the following: \"%s\". Value: `%s`.', [ 'closed', 'open' ].join( '\", \"' ), left ) );\n\t\t}\n\t\tif ( right !== 'closed' && right !== 'open' ) {\n\t\t\tthrow new TypeError( format( 'invalid argument. Fifth argument must be one of the following: \"%s\". Value: `%s`.', [ 'closed', 'open' ].join( '\", \"' ), right ) );\n\t\t}\n\t}\n\tif ( !isCollection( value ) ) {\n\t\treturn false;\n\t}\n\tlen = value.length;\n\tif ( len === 0 ) {\n\t\treturn false;\n\t}\n\tif ( left === 'closed' || left === void 0 ) {\n\t\tif ( right === 'closed' || right === void 0 ) {\n\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\tif ( value[ i ] < a || value[ i ] > b ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tif ( value[ i ] < a || value[ i ] >= b ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\tif ( right === 'closed' || right === void 0 ) {\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tif ( value[ i ] <= a || value[ i ] > b ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\tfor ( i = 0; i < len; i++ ) {\n\t\tif ( value[ i ] <= a || value[ i ] >= b ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBetweenArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object where every element is between two values.\n*\n* @module @stdlib/assert/is-between-array\n*\n* @example\n* var isBetweenArray = require( '@stdlib/assert/is-between-array' );\n*\n* var arr = [ 3.0, 3.14, 4.0 ];\n*\n* var bool = isBetweenArray( arr, 3.0, 4.0 );\n* // returns true\n*\n* bool = isBetweenArray( arr, 3.14, 4.0 );\n* // returns false\n*\n* bool = isBetweenArray( arr, 3.0, 3.14 );\n* // returns false\n*\n* bool = isBetweenArray( arr, 3.0, 4.0, 'open', 'closed' );\n* // returns false\n*\n* bool = isBetweenArray( arr, 3.0, 4.0, 'closed', 'open' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Uint8Array = require( '@stdlib/array/uint8' );\nvar Uint16Array = require( '@stdlib/array/uint16' );\n\n\n// MAIN //\n\nvar ctors = {\n\t'uint16': Uint16Array,\n\t'uint8': Uint8Array\n};\n\n\n// EXPORTS //\n\nmodule.exports = ctors;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar ctors = require( './ctors.js' );\n\n\n// VARIABLES //\n\nvar bool;\n\n\n// FUNCTIONS //\n\n/**\n* Returns a boolean indicating if an environment is big endian.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment is big endian\n*\n* @example\n* var bool = isBigEndian();\n* // returns \n*/\nfunction isBigEndian() {\n\tvar uint16view;\n\tvar uint8view;\n\n\tuint16view = new ctors[ 'uint16' ]( 1 );\n\n\t/*\n\t* Set the uint16 view to a value having distinguishable lower and higher order words.\n\t*\n\t* 4660 => 0x1234 => 0x12 0x34 => '00010010 00110100' => (0x12,0x34) == (18,52)\n\t*/\n\tuint16view[ 0 ] = 0x1234;\n\n\t// Create a uint8 view on top of the uint16 buffer:\n\tuint8view = new ctors[ 'uint8' ]( uint16view.buffer );\n\n\t// If big endian, the least significant byte will be last...\n\treturn ( uint8view[ 1 ] === 0x34 );\n}\n\n\n// MAIN //\n\nbool = isBigEndian();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if an environment is big endian.\n*\n* @module @stdlib/assert/is-big-endian\n*\n* @example\n* var IS_BIG_ENDIAN = require( '@stdlib/assert/is-big-endian' );\n*\n* var bool = IS_BIG_ENDIAN;\n* // returns \n*/\n\n// MODULES //\n\nvar IS_BIG_ENDIAN = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = IS_BIG_ENDIAN;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a binary string.\n*\n* @param {*} str - value to test\n* @returns {boolean} boolean indicating if an input value is a binary string\n*\n* @example\n* var bool = isBinaryString( '1000101' );\n* // returns true\n*\n* @example\n* var bool = isBinaryString( 'beep' );\n* // returns false\n*\n* @example\n* var bool = isBinaryString( '' );\n* // returns false\n*/\nfunction isBinaryString( str ) {\n\tvar ch;\n\tvar i;\n\tif ( !isString( str ) ) {\n\t\treturn false;\n\t}\n\tif ( str.length === 0 ) {\n\t\treturn false;\n\t}\n\tfor ( i = 0; i < str.length; i++ ) {\n\t\tch = str[ i ];\n\t\tif ( ch !== '1' && ch !== '0' ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBinaryString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a binary string.\n*\n* @module @stdlib/assert/is-binary-string\n*\n* @example\n* var isBinaryString = require( '@stdlib/assert/is-binary-string' );\n*\n* var bool = isBinaryString( '1000101' );\n* // returns true\n*\n* bool = isBinaryString( 'beep' );\n* // returns false\n*\n* bool = isBinaryString( '' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\nvar RE = /^[\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u0085\\u00A0\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000\\uFEFF]*$/;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a blank string (i.e., an empty string or a string consisting only of whitespace characters).\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if an input value is a blank string\n*\n* @example\n* var bool = isBlankString( ' ' );\n* // returns true\n*\n* @example\n* var bool = isBlankString( '' );\n* // returns true\n*\n* @example\n* var bool = isBlankString( '\\t\\t\\t' );\n* // returns true\n*\n* @example\n* var bool = isBlankString( '\\r\\n\\r\\n' );\n* // returns true\n*\n* @example\n* var bool = isBlankString( 'beep' );\n* // returns false\n*/\nfunction isBlankString( value ) {\n\tif ( !isString( value ) ) {\n\t\treturn false;\n\t}\n\treturn RE.test( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBlankString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a blank string (i.e., an empty string or a string consisting only of whitespace characters).\n*\n* @module @stdlib/assert/is-blank-string\n*\n* @example\n* var isBlankString = require( '@stdlib/assert/is-blank-string' );\n*\n* var bool = isBlankString( ' ' );\n* // returns true\n*\n* bool = isBlankString( '' );\n* // returns true\n*\n* bool = isBlankString( 'beep' );\n* // returns false\n*\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a boolean primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a boolean primitive\n*\n* @example\n* var bool = isBoolean( true );\n* // returns true\n*\n* @example\n* var bool = isBoolean( false );\n* // returns true\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n*\n* var bool = isBoolean( new Boolean( true ) );\n* // returns false\n*/\nfunction isBoolean( value ) {\n\treturn ( typeof value === 'boolean' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBoolean;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// eslint-disable-next-line stdlib/no-redeclare\nvar toString = Boolean.prototype.toString; // non-generic\n\n\n// EXPORTS //\n\nmodule.exports = toString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar toString = require( './tostring.js' ); // eslint-disable-line stdlib/no-redeclare\n\n\n// MAIN //\n\n/**\n* Attempts to serialize a value to a string.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value can be serialized\n*/\nfunction test( value ) {\n\ttry {\n\t\ttoString.call( value );\n\t\treturn true;\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = test;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasToStringTag = require( './../../has-tostringtag-support' );\nvar nativeClass = require( '@stdlib/utils/native-class' );\nvar Boolean = require( '@stdlib/boolean/ctor' );\nvar test = require( './try2serialize.js' );\n\n\n// VARIABLES //\n\nvar FLG = hasToStringTag();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a boolean object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a boolean object\n*\n* @example\n* var bool = isBoolean( true );\n* // returns false\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n*\n* var bool = isBoolean( new Boolean( false ) );\n* // returns true\n*/\nfunction isBoolean( value ) {\n\tif ( typeof value === 'object' ) {\n\t\tif ( value instanceof Boolean ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( FLG ) {\n\t\t\treturn test( value );\n\t\t}\n\t\treturn ( nativeClass( value ) === '[object Boolean]' );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBoolean;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a boolean.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a boolean\n*\n* @example\n* var bool = isBoolean( false );\n* // returns true\n*\n* @example\n* var bool = isBoolean( true );\n* // returns true\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n*\n* var bool = isBoolean( new Boolean( false ) );\n* // returns true\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n*\n* var bool = isBoolean( new Boolean( true ) );\n* // returns true\n*/\nfunction isBoolean( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBoolean;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a boolean.\n*\n* @module @stdlib/assert/is-boolean\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n* var isBoolean = require( '@stdlib/assert/is-boolean' );\n*\n* var bool = isBoolean( false );\n* // returns true\n*\n* bool = isBoolean( new Boolean( false ) );\n* // returns true\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n* var isBoolean = require( '@stdlib/assert/is-boolean' ).isPrimitive;\n*\n* var bool = isBoolean( false );\n* // returns true\n*\n* bool = isBoolean( new Boolean( true ) );\n* // returns false\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n* var isBoolean = require( '@stdlib/assert/is-boolean' ).isObject;\n*\n* var bool = isBoolean( true );\n* // returns false\n*\n* bool = isBoolean( new Boolean( false ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isArrayLike = require( './../../../is-array-like' );\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Returns a function which tests if every element in an array-like object passes a test condition.\n*\n* @param {Function} predicate - function to apply\n* @throws {TypeError} must provide a function\n* @returns {Function} an array-like object function\n*\n* @example\n* var isOdd = require( '@stdlib/assert/is-odd' );\n*\n* var arr1 = [ 1, 3, 5, 7 ];\n* var arr2 = [ 3, 5, 8 ];\n*\n* var validate = arraylikefcn( isOdd );\n*\n* var bool = validate( arr1 );\n* // returns true\n*\n* bool = validate( arr2 );\n* // returns false\n*/\nfunction arraylikefcn( predicate ) {\n\tif ( typeof predicate !== 'function' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Must provide a function. Value: `%s`.', predicate ) );\n\t}\n\treturn every;\n\n\t/**\n\t* Tests if every element in an array-like object passes a test condition.\n\t*\n\t* @private\n\t* @param {*} value - value to test\n\t* @returns {boolean} boolean indicating whether a value is an array-like object for which all elements pass a test condition\n\t*/\n\tfunction every( value ) {\n\t\tvar len;\n\t\tvar i;\n\t\tif ( !isArrayLike( value ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tlen = value.length;\n\t\tif ( len === 0 ) {\n\t\t\treturn false;\n\t\t}\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tif ( predicate( value[ i ] ) === false ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = arraylikefcn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a function which tests if every element in an array-like object passes a test condition.\n*\n* @module @stdlib/assert/tools/array-like-function\n*\n* @example\n* var isOdd = require( '@stdlib/assert/is-odd' );\n* var arraylikefcn = require( '@stdlib/assert/tools/array-like-function' );\n*\n* var arr1 = [ 1, 3, 5, 7 ];\n* var arr2 = [ 3, 5, 8 ];\n*\n* var validate = arraylikefcn( isOdd );\n*\n* var bool = validate( arr1 );\n* // returns true\n*\n* bool = validate( arr2 );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object of booleans.\n*\n* @module @stdlib/assert/is-boolean-array\n*\n* @example\n* var isBooleanArray = require( '@stdlib/assert/is-boolean-array' );\n*\n* var bool = isBooleanArray( [ true, false, true ] );\n* // returns true\n*\n* bool = isBooleanArray( [ true, 'abc', false ] );\n* // returns false\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n* var isBooleanArray = require( '@stdlib/assert/is-boolean-array' ).primitives;\n*\n* var bool = isBooleanArray( [ true, false ] );\n* // returns true\n*\n* bool = isBooleanArray( [ false, new Boolean( true ) ] );\n* // returns false\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n* var isBooleanArray = require( '@stdlib/assert/is-boolean-array' ).objects;\n*\n* var bool = isBooleanArray( [ new Boolean( false ), new Boolean( true ) ] );\n* // returns true\n*\n* bool = isBooleanArray( [ new Boolean( false ), true ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isBoolean = require( './../../is-boolean' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isBoolean.isPrimitive );\nvar isObjectArray = arrayfun( isBoolean.isObject );\n\n\n// MAIN //\n\nvar isBooleanArray = arrayfun( isBoolean );\nsetReadOnly( isBooleanArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isBooleanArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isBooleanArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a symbol primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a symbol primitive\n*/\nfunction isSymbol( value ) {\n\treturn ( typeof value === 'symbol' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSymbol;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/*\n* Note: we wrap `toString` to allow loading this file in non-ES2015 environments.\n*/\n\n// MAIN //\n\n/**\n* Attempts to serialize a value as a symbol.\n*\n* @private\n* @param {*} value - value to serialize\n* @returns {string} serialized value\n*/\nfunction toStr( value ) {\n\t// Non-generic:\n\treturn Symbol.prototype.toString.call( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = toStr;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar toStr = require( './tostring.js' );\n\n\n// VARIABLES //\n\nvar RE = /^Symbol\\(.*\\)$/;\n\n\n// MAIN //\n\n/**\n* Attempts to call a `Symbol` method.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if able to call a `Symbol` method\n*/\nfunction test( value ) {\n\ttry {\n\t\treturn (\n\t\t\t// Objects created via `Object.create( null )` have no `valueOf()` method:\n\t\t\ttypeof value.valueOf() === 'symbol' &&\n\n\t\t\t// Test output of a non-generic method:\n\t\t\tRE.test( toStr( value ) )\n\t\t);\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = test;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\nvar test = require( './try2tostring.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a symbol object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a symbol object\n*/\nfunction isSymbol( value ) {\n\treturn (\n\t\ttypeof value === 'object' &&\n\t\tnativeClass( value ) === '[object Symbol]' &&\n\t\ttest( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSymbol;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a symbol.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a symbol\n*/\nfunction isSymbol( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSymbol;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar isSymbol = require( './generic.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( isSymbol, 'isPrimitive', isPrimitive );\nsetReadOnly( isSymbol, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = isSymbol;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar constantFunction = require( '@stdlib/utils/constant-function' );\n\n\n// MAIN //\n\nvar isSymbol = constantFunction( false );\nvar isPrimitive = constantFunction( false );\nvar isObject = constantFunction( false );\n\nsetReadOnly( isSymbol, 'isPrimitive', isPrimitive );\nsetReadOnly( isSymbol, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = isSymbol;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a symbol.\n*\n* @module @stdlib/assert/is-symbol\n*\n* @example\n* var Symbol = require( '@stdlib/symbol/ctor' );\n* var isSymbol = require( '@stdlib/assert/is-symbol' );\n*\n* var bool = isSymbol( Symbol( 'beep' ) );\n* // returns true\n*\n* bool = isSymbol( Object( Symbol( 'beep' ) ) );\n* // returns true\n*\n* bool = isSymbol( {} );\n* // returns false\n*\n* @example\n* var Symbol = require( '@stdlib/symbol/ctor' );\n* var isSymbol = require( '@stdlib/assert/is-symbol' ).isPrimitive;\n*\n* var bool = isSymbol( Symbol( 'beep' ) );\n* // returns true\n*\n* bool = isSymbol( Object( Symbol( 'beep' ) ) );\n* // returns false\n*\n* bool = isSymbol( {} );\n* // returns false\n*\n* @example\n* var Symbol = require( '@stdlib/symbol/ctor' );\n* var isSymbolObject = require( '@stdlib/assert/is-symbol' ).isObject;\n*\n* var bool = isSymbolObject( Symbol( 'beep' ) );\n* // returns false\n*\n* bool = isSymbolObject( Object( Symbol( 'beep' ) ) );\n* // returns true\n*\n* bool = isSymbolObject( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar hasSymbols = require( './../../has-symbol-support' );\nvar main = require( './main.js' );\nvar polyfill = require( './polyfill.js' );\n\n\n// MAIN //\n\nvar isSymbol;\nif ( hasSymbols() ) {\n\tisSymbol = main;\n} else {\n\tisSymbol = polyfill;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSymbol;\n\n// exports: { \"isPrimitive\": \"isSymbol.isPrimitive\", \"isObject\": \"isSymbol.isObject\" }\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isBoolean = require( './../../is-boolean' ).isObject;\nvar isNumber = require( './../../is-number' ).isObject;\nvar isString = require( './../../is-string' ).isObject;\nvar isSymbol = require( './../../is-symbol' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a JavaScript boxed primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a JavaScript boxed primitive\n*\n* @example\n* var bool = isBoxedPrimitive( new String( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isBoxedPrimitive( new Number( 3.21 ) );\n* // returns true\n*\n* @example\n* var Symbol = require( '@stdlib/symbol/ctor' );\n* var bool = isBoxedPrimitive( Object( Symbol( 'beep' ) ) );\n* // returns true\n*\n* @example\n* var bool = isBoxedPrimitive( true );\n* // returns false\n*\n* @example\n* var bool = isBoxedPrimitive( {} );\n* // returns false\n*\n* @example\n* var Symbol = require( '@stdlib/symbol/ctor' );\n* var bool = isBoxedPrimitive( Symbol( 'beep' ) );\n* // returns false\n*/\nfunction isBoxedPrimitive( value ) {\n\tif ( typeof value !== 'object' ) {\n\t\treturn false;\n\t}\n\treturn (\n\t\tisBoolean( value ) ||\n\t\tisNumber( value ) ||\n\t\tisString( value ) ||\n\t\tisSymbol( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBoxedPrimitive;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a JavaScript boxed primitive.\n*\n* @module @stdlib/assert/is-boxed-primitive\n*\n* @example\n* var Boolean = require( '@stdlib/boolean/ctor' );\n* var isBoxedPrimitive = require( '@stdlib/assert/is-boxed-primitive' );\n*\n* var bool = isBoxedPrimitive( new Boolean( true ) );\n* // returns true\n*\n* bool = isBoxedPrimitive( true );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar toStr = Object.prototype.toString;\n\n\n// MAIN //\n\n/**\n* Returns the internal class of a provided value.\n*\n* @private\n* @param {*} value - input value\n* @returns {string} internal class\n*/\nfunction toString( value ) { // eslint-disable-line stdlib/no-redeclare\n\treturn toStr.call( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = toString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar Global;\n\n\n// FUNCTIONS //\n\n/**\n* Test if the global scope is bound to the \"global\" variable present in Node.js environments. When creating a new function using the `Function(){}` constructor, the execution scope aliased by the `this` variable is the global scope.\n*\n* @private\n* @returns {boolean} boolean indicating if global scope is bound to \"global\" variable\n*/\nfunction globalScope() {\n\tvar fcn = '';\n\tfcn += 'try {';\n\tfcn += 'return this === global;';\n\tfcn += '} catch ( err ) {';\n\tfcn += 'return false;';\n\tfcn += '}';\n\treturn (new Function( fcn ))(); // eslint-disable-line no-new-func, stdlib/require-globals\n}\n\n\n// MAIN //\n\nGlobal = globalScope();\n\n\n// EXPORTS //\n\nmodule.exports = Global;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar proc = require( 'process' );\nvar getGlobal = require( '@stdlib/utils/global' );\nvar nativeClass = require( '@stdlib/utils/native-class' );\nvar isObject = require( './../../is-plain-object' );\nvar isString = require( './../../is-string' ).isPrimitive;\nvar toStr = require( './to_string.js' );\nvar globalScope = require( './global_scope.js' );\n\n\n// VARIABLES //\n\nvar Global = getGlobal();\nvar RE = /node|io\\.js/;\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating if the runtime is Node.js.\n*\n* @returns {boolean} boolean indicating if runtime is Node.js\n*\n* @example\n* var bool = isNode();\n* // returns \n*/\nfunction isNode() {\n\treturn (\n\t\t// Check for presence of `global` variable:\n\t\ttypeof global === 'object' &&\n\n\t\t// Check that the `global` variable matches the determined global variable:\n\t\tglobal === Global &&\n\n\t\t// Check for a circular reference to the global variable:\n\t\tGlobal === Global.global &&\n\n\t\t// Check that the global variable has the expected internal class:\n\t\t(\n\t\t\t// Node < v7\n\t\t\tnativeClass( Global ) === '[object global]' ||\n\n\t\t\t// Node >= v7 (https://github.com/nodejs/node/issues/9274)\n\t\t\tnativeClass( Global ) === '[object Object]'\n\t\t) &&\n\n\t\t// Check that the `global` variable is equal to the global scope:\n\t\tglobalScope === true &&\n\n\t\t// Check for a `require` global variable:\n\t\ttypeof require === 'function' &&\n\n\t\t// Check for a `process` global variable:\n\t\ttypeof proc === 'object' &&\n\n\t\t// Check that the `process` global variable has the expected internal class (NOTE: we use `toStr`, rather than `nativecClass` to address changes introduced in Node >= v14.6.0; see https://github.com/stdlib-js/stdlib/issues/375):\n\t\ttoStr( proc ) === '[object process]' &&\n\n\t\t// Check for a `versions` property:\n\t\tisObject( proc.versions ) &&\n\n\t\t// Check for a `node` property:\n\t\tisString( proc.versions.node ) &&\n\n\t\t/* eslint-disable node/no-unsupported-features/es-builtins */\n\t\t(\n\t\t\t// `process.release` was added in Node v3.0.0 via io.js:\n\t\t\ttypeof proc.release === 'undefined' ||\n\n\t\t\t(\n\t\t\t\t// Check for a `release` property:\n\t\t\t\tisObject( proc.release ) &&\n\n\t\t\t\t// Check for a `name` property:\n\t\t\t\tisString( proc.release.name ) &&\n\n\t\t\t\t// Check that the release name contains either `node` or `io.js` (in Node.js/io.js, the release name is read-only):\n\t\t\t\tRE.test( proc.release.name )\n\t\t\t)\n\t\t)\n\t\t/* eslint-enable node/no-unsupported-features/es-builtins */\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNode;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the runtime is Node.js.\n*\n* @module @stdlib/assert/is-node\n*\n* @example\n* var IS_NODE = require( '@stdlib/assert/is-node' );\n*\n* var bool = IS_NODE;\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar bool = main();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar scope;\n\n\n// FUNCTIONS //\n\n/**\n* Test if the global scope is bound to the \"window\" variable present in browser environments. When creating a new function using the `Function(){}` constructor, the execution scope aliased by the `this` variable is the global scope.\n*\n* @private\n* @returns {boolean} boolean indicating if global scope is bound to \"window\" variable\n*/\nfunction globalScope() {\n\tvar fcn = '';\n\tfcn += 'try {';\n\tfcn += 'return this === window;';\n\tfcn += '} catch ( err ) {';\n\tfcn += 'return false;';\n\tfcn += '}';\n\treturn (new Function( fcn ))(); // eslint-disable-line stdlib/require-globals, no-new-func\n}\n\n\n// MAIN //\n\nscope = globalScope();\n\n\n// EXPORTS //\n\nmodule.exports = scope;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* global window */\n\n'use strict';\n\n// MODULES //\n\nvar getGlobal = require( '@stdlib/utils/global' );\nvar IS_NODE = require( './../../is-node' );\nvar globalScope = require( './global_scope.js' );\n\n\n// VARIABLES //\n\nvar Global = getGlobal();\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating if the runtime is a web browser.\n*\n* @returns {boolean} boolean indicating if runtime is a web browser\n*\n* @example\n* var bool = isBrowser();\n* // returns \n*/\nfunction isBrowser() {\n\treturn (\n\t\t// Check that we are not running in a Node.js runtime:\n\t\tIS_NODE === false &&\n\n\t\t// Check for presence of `window` variable:\n\t\ttypeof window === 'object' &&\n\n\t\t// Check that the `window` variable matches the determined global variable:\n\t\twindow === Global &&\n\n\t\t// Check that the `window` variable is equal to the global scope:\n\t\tglobalScope === true\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isBrowser;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the runtime is a web browser.\n*\n* @module @stdlib/assert/is-browser\n*\n* @example\n* var IS_BROWSER = require( '@stdlib/assert/is-browser' );\n*\n* var bool = IS_BROWSER;\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar bool = main();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar camelcase = require( '@stdlib/string/base/camelcase' );\n\n\n// MAIN //\n\n/**\n* Tests if a string is in camelcase.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a string is in camelcase\n*\n* @example\n* var bool = isCamelcase( 'beepBoop' );\n* // returns true\n*\n* @example\n* var bool = isCamelcase( 'beepBoop123' );\n* // returns true\n*\n* @example\n* var bool = isCamelcase( 'beep Boop' );\n* // returns false\n*\n* @example\n* var bool = isCamelcase( 'beep' );\n* // returns true\n*/\nfunction isCamelcase( value ) {\n\treturn (\n\t\tisString( value ) &&\n\t\tvalue === camelcase( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCamelcase;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a camelcase string.\n*\n* @module @stdlib/assert/is-camelcase\n*\n* @example\n* var isCamelcase = require( '@stdlib/assert/is-camelcase' );\n*\n* var bool = isCamelcase( 'beepBoop' );\n* // returns true\n*\n* bool = isCamelcase( 'beep Boop' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar lowercase = require( '@stdlib/string/lowercase' );\nvar uppercase = require( '@stdlib/string/uppercase' );\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string having an uppercase first character.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a string with an uppercase first character\n*\n* @example\n* var bool = isCapitalized( 'Hello' );\n* // returns true\n*\n* @example\n* var bool = isCapitalized( 'WORLD' );\n* // returns true\n*\n* @example\n* var bool = isCapitalized( '!' );\n* // returns false\n*\n* @example\n* var bool = isCapitalized( 'salt and light' );\n* // returns false\n*/\nfunction isCapitalized( value ) {\n\tvar ch;\n\tif ( isString( value ) && value !== '' ) {\n\t\tch = value[ 0 ];\n\t\treturn ( ch === uppercase( ch ) && ch !== lowercase( ch ) );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCapitalized;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string having an uppercase first character.\n*\n* @module @stdlib/assert/is-capitalized\n*\n* @example\n* var isCapitalized = require( '@stdlib/assert/is-capitalized' );\n*\n* var bool = isCapitalized( 'Hello' );\n* // returns true\n*\n* bool = isCapitalized( 'world' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar ndarray = require( '@stdlib/ndarray/base/ctor' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is ndarray-like.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is ndarray-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 0, 0, 0, 0 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isndarrayLike( arr );\n* // returns true\n*\n* bool = isndarrayLike( [] );\n* // returns false\n*/\nfunction isndarrayLike( v ) {\n\treturn (\n\t\tv instanceof ndarray ||\n\t\t(\n\t\t\tv !== null &&\n\t\t\ttypeof v === 'object' &&\n\t\t\ttypeof v.data === 'object' &&\n\t\t\ttypeof v.shape === 'object' &&\n\t\t\ttypeof v.strides === 'object' &&\n\t\t\ttypeof v.offset === 'number' &&\n\t\t\ttypeof v.order === 'string' &&\n\t\t\ttypeof v.ndims === 'number' &&\n\t\t\ttypeof v.dtype === 'string' &&\n\t\t\ttypeof v.length === 'number' &&\n\t\t\ttypeof v.flags === 'object' &&\n\t\t\ttypeof v.get === 'function' &&\n\t\t\ttypeof v.set === 'function'\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isndarrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is ndarray-like.\n*\n* @module @stdlib/assert/is-ndarray-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isndarrayLike = require( '@stdlib/assert/is-ndarray-like' );\n*\n* var arr = ndarray( 'generic', [ 0, 0, 0, 0 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isndarrayLike( arr );\n* // returns true\n*\n* bool = isndarrayLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isndarrayLike = require( './../../is-ndarray-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 2-dimensional ndarray-like object.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 2-dimensional ndarray-like object\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 0, 0, 0, 0 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isMatrixLike( arr );\n* // returns true\n*\n* bool = isMatrixLike( [] );\n* // returns false\n*/\nfunction isMatrixLike( v ) {\n\treturn (\n\t\tisndarrayLike( v ) &&\n\t\tv.ndims === 2 &&\n\t\tv.shape.length === 2 &&\n\t\tv.strides.length === 2\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isMatrixLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 2-dimensional ndarray-like object.\n*\n* @module @stdlib/assert/is-matrix-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isMatrixLike = require( '@stdlib/assert/is-matrix-like' );\n*\n* var arr = ndarray( 'float64', [ 0, 0, 0, 0 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isMatrixLike( arr );\n* // returns true\n*\n* bool = isMatrixLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isMatrixLike = require( './../../is-matrix-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 2-dimensional ndarray-like object having equal dimensions.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 2-dimensional ndarray-like object having equal dimensions\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 0, 0, 0, 0 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSquareMatrix( arr );\n* // returns true\n*\n* bool = isSquareMatrix( [] );\n* // returns false\n*/\nfunction isSquareMatrix( v ) {\n\treturn (\n\t\tisMatrixLike( v ) &&\n\t\tv.shape[ 0 ] === v.shape[ 1 ]\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSquareMatrix;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 2-dimensional ndarray-like object having equal dimensions.\n*\n* @module @stdlib/assert/is-square-matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isSquareMatrix = require( '@stdlib/assert/is-square-matrix' );\n*\n* var arr = ndarray( 'generic', [ 0, 0, 0, 0 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSquareMatrix( arr );\n* // returns true\n*\n* bool = isSquareMatrix( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isSquareMatrix = require( './../../is-square-matrix' );\nvar floor = require( '@stdlib/math/base/special/floor' );\nvar isOdd = require( '@stdlib/math/base/assert/is-odd' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a centrosymmetric matrix.\n*\n* ## Notes\n*\n* - The implementation must rely on manually checking that \\\\(M_{ij} = M_{N-i-1,N-j-1}\\\\), and, while element access is deterministic, no way exists to prevent cache misses outside of reordering the underlying matrix elements, thus incurring a larger performance penalty than just \"jumping around\" in a single pass.\n* - Worst case scenario: O(N^2).\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a centrosymmetric matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 2, 1, 1, 2 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isCentrosymmetricMatrix( arr );\n* // returns true\n*\n* bool = isCentrosymmetricMatrix( [] );\n* // returns false\n*/\nfunction isCentrosymmetricMatrix( v ) {\n\tvar m1;\n\tvar M;\n\tvar N;\n\tvar n;\n\tvar i;\n\tvar j;\n\tif ( !isSquareMatrix( v ) ) {\n\t\treturn false;\n\t}\n\tM = v.shape[ 0 ];\n\tN = floor( M/2.0 ); // corresponds to a row index + 1\n\tm1 = M - 1;\n\tfor ( i = 0; i < N; i++ ) {\n\t\tn = m1 - i;\n\t\tfor ( j = 0; j < M; j++ ) {\n\t\t\tif ( v.get( i, j ) !== v.get( n, m1-j ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\tif ( isOdd( M ) ) {\n\t\t// Only need to examine the first half of the row (up until the center element) due to symmetry...\n\t\tfor ( j = 0; j < N; j++ ) {\n\t\t\tif ( v.get( i, j ) !== v.get( N, m1-j ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCentrosymmetricMatrix;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a centrosymmetric matrix.\n*\n* @module @stdlib/assert/is-centrosymmetric-matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isCentrosymmetricMatrix = require( '@stdlib/assert/is-centrosymmetric-matrix' );\n*\n* var arr = ndarray( 'generic', [ 2, 1, 1, 2 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isCentrosymmetricMatrix( arr );\n* // returns true\n*\n* bool = isCentrosymmetricMatrix( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar objectKeys = require( '@stdlib/utils/keys' );\n\n\n// FUNCTIONS //\n\n/**\n* Tests if a value is an object.\n*\n* ## Notes\n*\n* - The function excludes `null`.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is an object\n*/\nfunction isObject( value ) {\n\tvar type = typeof value;\n\treturn ( value !== null && ( type === 'object' || type === 'function' ) );\n}\n\n/**\n* Tests if the seen array contains a search value.\n*\n* @private\n* @param {Array} seen - array of seen objects\n* @param {*} searchValue - search value\n* @returns {boolean} boolean indicating whether array contains search value\n*/\nfunction contains( seen, searchValue ) {\n\tvar i;\n\tfor ( i = 0; i < seen.length; i++ ) {\n\t\tif ( seen[ i ] === searchValue ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\n/**\n* Tests if an object contains a circular reference by recursively traversing object keys.\n*\n* @private\n* @param {Object} obj - object to test\n* @param {Array} seen - array of seen objects\n* @returns {boolean} boolean indicating whether object contains a circular reference\n*/\nfunction isCircObj( obj, seen ) {\n\tvar keys;\n\tvar val;\n\tvar i;\n\n\tseen.push( obj );\n\tkeys = objectKeys( obj );\n\tif ( keys.length === 0 ) {\n\t\treturn false;\n\t}\n\tfor ( i = 0; i < keys.length; i++ ) {\n\t\tval = obj[ keys[ i ] ];\n\t\tif ( isObject( val ) && ( contains( seen, val ) || isCircObj( val, seen ) ) ) { // eslint-disable-line max-len\n\t\t\treturn true;\n\t\t}\n\t}\n\tseen.pop( obj );\n\treturn false;\n}\n\n\n// MAIN //\n\n/**\n* Tests if an object-like value contains a circular reference.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is object-like and contains a circular reference\n*\n* @example\n* var obj = {\n* 'a': 'beep',\n* 'b': {\n* 'c': 'boop'\n* }\n* };\n* obj.b.self = obj;\n* var bool = isCircular( obj );\n* // returns true\n*\n* @example\n* var arr = [ 1, 2, 3 ];\n* arr.push( arr );\n* var bool = isCircular( arr );\n* // returns true\n*\n* @example\n* var bool = isCircular( {} );\n* // returns false\n*\n* @example\n* var bool = isCircular( null );\n* // returns false\n*/\nfunction isCircular( value ) {\n\tif ( !isObject( value ) ) {\n\t\treturn false;\n\t}\n\treturn isCircObj( value, [] );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCircular;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if an object-like value contains a circular reference.\n*\n* @module @stdlib/assert/is-circular\n*\n* @example\n* var isCircular = require( '@stdlib/assert/is-circular' );\n*\n* var obj = {\n* 'a': 'beep',\n* 'b': {\n* 'c': 'boop'\n* }\n* };\n* obj.b.self = obj;\n*\n* var bool = isCircular( obj );\n* // returns true\n*\n* bool = isCircular( null );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isArray = require( './../../is-array' );\nvar isCircular = require( './../../is-circular' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array containing a circular reference.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an array containing a circular reference\n*\n* @example\n* var arr = [ 1, 2, 3 ];\n* arr.push( arr );\n* var bool = isCircularArray( arr );\n* // returns true\n*\n* @example\n* var obj = {\n* 'a': 'beep',\n* 'b': {\n* 'c': 'boop'\n* }\n* };\n* obj.b.self = obj;\n* var bool = isCircularArray( obj );\n* // returns false\n*\n* @example\n* var bool = isCircularArray( [] );\n* // returns false\n*\n* @example\n* var bool = isCircularArray( null );\n* // returns false\n*/\nfunction isCircularArray( value ) {\n\tif ( !isArray( value ) ) {\n\t\treturn false;\n\t}\n\treturn isCircular( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCircularArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array containing a circular reference.\n*\n* @module @stdlib/assert/is-circular-array\n*\n* @example\n* var isCircularArray = require( '@stdlib/assert/is-circular-array' );\n*\n* var arr = [ 1, 2, 3 ];\n* arr.push( arr );\n*\n* var bool = isCircularArray( arr );\n* // returns true\n*\n* bool = isCircularArray( null );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPlainObject = require( './../../is-plain-object' );\nvar isCircular = require( './../../is-circular' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a plain object containing a circular reference.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a plain object containing a circular reference\n*\n* @example\n* var obj = {\n* 'a': 'beep',\n* 'b': {\n* 'c': 'boop'\n* }\n* };\n* obj.b.self = obj;\n* var bool = isCircularPlainObject( obj );\n* // returns true\n*\n* @example\n* var arr = [ 1, 2, 3 ];\n* arr.push( arr );\n* var bool = isCircularPlainObject( arr );\n* // returns false\n*\n* @example\n* var bool = isCircularPlainObject( {} );\n* // returns false\n*\n* @example\n* var bool = isCircularPlainObject( null );\n* // returns false\n*/\nfunction isCircularPlainObject( value ) {\n\tif ( !isPlainObject( value ) ) {\n\t\treturn false;\n\t}\n\treturn isCircular( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCircularPlainObject;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a plain object containing a circular reference.\n*\n* @module @stdlib/assert/is-circular-plain-object\n*\n* @example\n* var isCircular = require( '@stdlib/assert/is-circular-plain-object' );\n*\n* var obj = {\n* 'a': 'beep',\n* 'b': {\n* 'c': 'boop'\n* }\n* };\n* obj.b.self = obj;\n*\n* var bool = isCircularPlainObject( obj );\n* // returns true\n*\n* bool = isCircularPlainObject( null );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFunction = require( './../../is-function' );\nvar function2string = require( '@stdlib/function/to-string' );\n\n\n// VARIABLES //\n\nvar RE_CLASS = /^\\s*class\\s/;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a class.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a class\n*\n* @example\n* var bool = isClass( class Person {} );\n* // returns true\n*\n* @example\n* var bool = isClass( function Person() {} );\n* // returns false\n*\n* @example\n* var bool = isClass( null );\n* // returns false\n*/\nfunction isClass( value ) {\n\tvar str;\n\tif ( !isFunction( value ) ) {\n\t\treturn false;\n\t}\n\tstr = function2string( value );\n\treturn RE_CLASS.test( str );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isClass;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a class.\n*\n* @module @stdlib/assert/is-class\n*\n* @example\n* var isClass = require( '@stdlib/assert/is-class' );\n*\n* var bool = isClass( class Person {} );\n* // returns true\n*\n* bool = isClass( function Person() {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Complex128 = require( '@stdlib/complex/float64' );\nvar Complex64 = require( '@stdlib/complex/float32' );\nvar constructorName = require( '@stdlib/utils/constructor-name' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 64-bit or 128-bit complex number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a 64-bit or 128-bit complex number\n*\n* @example\n* var Complex128 = require( '@stdlib/complex/float64' );\n* var Complex64 = require( '@stdlib/complex/float32' );\n*\n* var x = new Complex128( 4.0, 2.0 );\n* var bool = isComplex( x );\n* // returns true\n*\n* x = new Complex64( 4.0, 2.0 );\n* bool = isComplex( x );\n* // returns true\n*/\nfunction isComplex( value ) {\n\tvar type;\n\tif ( value instanceof Complex128 || value instanceof Complex64 ) {\n\t\treturn true;\n\t}\n\ttype = constructorName( value );\n\treturn ( type === 'Complex64' || type === 'Complex128' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 64-bit or 128-bit complex number.\n*\n* @module @stdlib/assert/is-complex\n*\n* @example\n* var Complex128 = require( '@stdlib/complex/float64' );\n* var Complex64 = require( '@stdlib/complex/float32' );\n* var isComplex = require( '@stdlib/assert/is-complex' );\n*\n* var x = new Complex128( 4.0, 2.0 );\n* var bool = isComplex( x );\n* // returns true\n*\n* x = new Complex64( 4.0, 2.0 );\n* bool = isComplex( x );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Complex128 = require( '@stdlib/complex/float64' );\nvar Complex64 = require( '@stdlib/complex/float32' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a complex number-like object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a complex number-like object.\n*\n* @example\n* var Complex128 = require( '@stdlib/complex/float64' );\n* var Complex64 = require( '@stdlib/complex/float32' );\n*\n* var x = new Complex128( 4.0, 2.0 );\n* var bool = isComplexLike( x );\n* // returns true\n*\n* x = new Complex64( 4.0, 2.0 );\n* bool = isComplexLike( x );\n* // returns true\n*/\nfunction isComplexLike( value ) {\n\tif ( value instanceof Complex128 || value instanceof Complex64 ) {\n\t\treturn true;\n\t}\n\treturn (\n\t\ttypeof value === 'object' &&\n\t\tvalue !== null &&\n\t\ttypeof value.re === 'number' &&\n\t\ttypeof value.im === 'number'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplexLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a complex number-like object.\n*\n* @module @stdlib/assert/is-complex-like\n*\n* @example\n* var Complex128 = require( '@stdlib/complex/float64' );\n* var Complex64 = require( '@stdlib/complex/float32' );\n* var isComplexLike = require( '@stdlib/assert/is-complex-like' );\n*\n* var x = new Complex128( 4.0, 2.0 );\n* var bool = isComplexLike( x );\n* // returns true\n*\n* x = new Complex64( 4.0, 2.0 );\n* bool = isComplexLike( x );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Complex64Array = require( '@stdlib/array/complex64' );\nvar Complex128Array = require( '@stdlib/array/complex128' );\n\n\n// MAIN //\n\nvar CTORS = [\n\tComplex128Array,\n\tComplex64Array\n];\n\n\n// EXPORTS //\n\nmodule.exports = CTORS;\n", "[\n\t\"Complex64Array\",\n\t\"Complex128Array\"\n]\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar ctorName = require( '@stdlib/utils/constructor-name' );\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar CTORS = require( './ctors.js' );\nvar NAMES = require( './names.json' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a complex typed array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a complex typed array\n*\n* @example\n* var Complex128Array = require( '@stdlib/array/complex128' );\n*\n* var bool = isComplexTypedArray( new Complex128Array( 10 ) );\n* // returns true\n*/\nfunction isComplexTypedArray( value ) {\n\tvar v;\n\tvar i;\n\n\tif ( typeof value !== 'object' || value === null ) {\n\t\treturn false;\n\t}\n\t// Check for complex typed array objects from the same realm (same Node.js `vm` or same `Window` object)...\n\tfor ( i = 0; i < CTORS.length; i++ ) {\n\t\tif ( value instanceof CTORS[ i ] ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\t// Walk the prototype tree until we find an object having a desired class...\n\twhile ( value ) {\n\t\tv = ctorName( value );\n\t\tfor ( i = 0; i < NAMES.length; i++ ) {\n\t\t\tif ( NAMES[ i ] === v ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\tvalue = getPrototypeOf( value );\n\t}\n\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplexTypedArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a complex typed array.\n*\n* @module @stdlib/assert/is-complex-typed-array\n*\n* @example\n* var Complex128Array = require( '@stdlib/array/complex128' );\n* var isComplexTypedArray = require( '@stdlib/assert/is-complex-typed-array' );\n*\n* var bool = isComplexTypedArray( new Complex128Array( 10 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNonNegativeInteger = require( './../../is-nonnegative-integer' ).isPrimitive;\nvar MAX = require( '@stdlib/constants/array/max-typed-array-length' );\n\n\n// VARIABLES //\n\nvar MAX_LENGTH = MAX / 2; // every complex array element has both a real and imaginary component stored as separate numbers, so the maximum length is half that of a normal typed array\n\n\n// MAIN //\n\n/**\n* Tests if a value is complex-typed-array-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is complex-typed-array-like\n*\n* @example\n* var arr = {\n*\t'BYTES_PER_ELEMENT': 8,\n*\t'length': 10,\n*\t'byteOffset': 0,\n*\t'byteLength': 10,\n* 'get': function get() {},\n* 'set': function set() {}\n* };\n* var val = isComplexTypedArrayLike( arr );\n* // returns true\n*\n* @example\n* var Complex64Array = require( '@stdlib/array/complex64' );\n*\n* var val = isComplexTypedArrayLike( new Complex64Array( 4 ) );\n* // returns true\n*\n* @example\n* var val = isComplexTypedArrayLike( [] );\n* // returns false\n*\n* @example\n* var val = isComplexTypedArrayLike( {} );\n* // returns false\n*\n* @example\n* var val = isComplexTypedArrayLike( null );\n* // returns false\n*\n* @example\n* var val = isComplexTypedArrayLike( 'beep' );\n* // returns false\n*/\nfunction isComplexTypedArrayLike( value ) {\n\treturn (\n\t\tvalue !== null &&\n\t\ttypeof value === 'object' &&\n\n\t\t// Check for standard typed array properties:\n\t\tisNonNegativeInteger( value.length ) &&\n\t\tvalue.length <= MAX_LENGTH &&\n\t\ttypeof value.BYTES_PER_ELEMENT === 'number' &&\n\t\ttypeof value.byteOffset === 'number' &&\n\t\ttypeof value.byteLength === 'number' &&\n\n\t\t// Check for properties necessary for complex typed arrays:\n\t\ttypeof value.get === 'function' &&\n\t\ttypeof value.set === 'function'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplexTypedArrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is complex-typed-array-like.\n*\n* @module @stdlib/assert/is-complex-typed-array-like\n*\n* @example\n* var Complex64Array = require( '@stdlib/array/complex64' );\n* var isComplexTypedArrayLike = require( '@stdlib/assert/is-complex-typed-array-like' );\n*\n* var bool = isComplexTypedArrayLike( new Complex64Array() );\n* // returns true\n*\n* bool = isComplexTypedArrayLike({\n*\t'length': 10,\n*\t'byteOffset': 0,\n*\t'byteLength': 10,\n*\t'BYTES_PER_ELEMENT': 4,\n* 'get': function get() {},\n* 'set': function set() {}\n* });\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Complex64 = require( '@stdlib/complex/float32' );\nvar constructorName = require( '@stdlib/utils/constructor-name' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 64-bit complex number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a 64-bit complex number\n*\n* @example\n* var Complex64 = require( '@stdlib/complex/float32' );\n*\n* var x = new Complex64( 4.0, 2.0 );\n*\n* var bool = isComplex64( x );\n* // returns true\n*/\nfunction isComplex64( value ) {\n\treturn (\n\t\tvalue instanceof Complex64 ||\n\t\tconstructorName( value ) === 'Complex64'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex64;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 64-bit complex number.\n*\n* @module @stdlib/assert/is-complex64\n*\n* @example\n* var Complex64 = require( '@stdlib/complex/float32' );\n* var isComplex64 = require( '@stdlib/assert/is-complex64' );\n*\n* var x = new Complex64( 4.0, 2.0 );\n*\n* var bool = isComplex64( x );\n* // returns true\n*/\n\n// MODULES //\n\nvar isComplex64 = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isComplex64;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Complex64Array = require( '@stdlib/array/complex64' );\nvar constructorName = require( '@stdlib/utils/constructor-name' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Complex64Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Complex64Array\n*\n* @example\n* var bool = isComplex64Array( new Complex64Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isComplex64Array( [] );\n* // returns false\n*/\nfunction isComplex64Array( value ) {\n\treturn (\n\t\tvalue instanceof Complex64Array ||\n\t\tconstructorName( value ) === 'Complex64Array'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex64Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Complex64Array.\n*\n* @module @stdlib/assert/is-complex64array\n*\n* @example\n* var isComplex64Array = require( '@stdlib/assert/is-complex64array' );\n*\n* var bool = isComplex64Array( new Complex64Array( 10 ) );\n* // returns true\n*\n* bool = isComplex64Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isComplex64Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isComplex64Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isMatrixLike = require( './../../is-matrix-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 2-dimensional ndarray-like object whose underlying data type is `complex64`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 2-dimensional ndarray-like object whose underlying data type is `complex64`\n*\n* @example\n* var Complex64Array = require( '@stdlib/array/complex64' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Complex64Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n* var arr = ndarray( 'complex64', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isComplex64MatrixLike( arr );\n* // returns true\n*\n* bool = isComplex64MatrixLike( [] );\n* // returns false\n*/\nfunction isComplex64MatrixLike( v ) {\n\treturn ( isMatrixLike( v ) && v.dtype === 'complex64' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex64MatrixLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 2-dimensional ndarray-like object whose underlying data type is `complex64`.\n*\n* @module @stdlib/assert/is-complex64matrix-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Complex64Array = require( '@stdlib/array/complex64' );\n* var isComplex64MatrixLike = require( '@stdlib/assert/is-complex64matrix-like' );\n*\n* var buffer = new Complex64Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'complex64', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isComplex64MatrixLike( arr );\n* // returns true\n*\n* bool = isComplex64MatrixLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isndarrayLike = require( './../../is-ndarray-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an ndarray-like object whose underlying data type is `complex64`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is an ndarray-like object whose underlying data type is `complex64`\n*\n* @example\n* var Complex64Array = require( '@stdlib/array/complex64' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Complex64Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n* var arr = ndarray( 'complex64', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isComplex64ndarrayLike( arr );\n* // returns true\n*\n* bool = isComplex64ndarrayLike( [] );\n* // returns false\n*/\nfunction isComplex64ndarrayLike( v ) {\n\treturn ( isndarrayLike( v ) && v.dtype === 'complex64' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex64ndarrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an ndarray-like object whose underlying data type is `complex64`.\n*\n* @module @stdlib/assert/is-complex64ndarray-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Complex64Array = require( '@stdlib/array/complex64' );\n* var isComplex64ndarrayLike = require( '@stdlib/assert/is-complex64ndarray-like' );\n*\n* var buffer = new Complex64Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'complex64', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isComplex64ndarrayLike( arr );\n* // returns true\n*\n* bool = isComplex64ndarrayLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isndarrayLike = require( './../../is-ndarray-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 1-dimensional ndarray-like object.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 1-dimensional ndarray-like object\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 0, 0, 0, 0 ], [ 4 ], [ 1 ], 0, 'row-major' );\n* var bool = isVectorLike( arr );\n* // returns true\n*\n* bool = isVectorLike( [] );\n* // returns false\n*/\nfunction isVectorLike( v ) {\n\treturn (\n\t\tisndarrayLike( v ) &&\n\t\tv.ndims === 1 &&\n\t\tv.shape.length === 1 &&\n\t\tv.strides.length === 1\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isVectorLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 1-dimensional ndarray-like object.\n*\n* @module @stdlib/assert/is-vector-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isVectorLike = require( '@stdlib/assert/is-vector-like' );\n*\n* var arr = ndarray( 'generic', [ 0, 0, 0, 0 ], [ 4 ], [ 1 ], 0, 'row-major' );\n* var bool = isVectorLike( arr );\n* // returns true\n*\n* bool = isVectorLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isVectorLike = require( './../../is-vector-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 1-dimensional ndarray-like object whose underlying data type is `complex64`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 1-dimensional ndarray-like object whose underlying data type is `complex64`\n*\n* @example\n* var Complex64Array = require( '@stdlib/array/complex64' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Complex64Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n* var arr = ndarray( 'complex64', buffer, [ 4 ], [ 1 ], 0, 'row-major' );\n*\n* var bool = isComplex64VectorLike( arr );\n* // returns true\n*\n* bool = isComplex64VectorLike( [] );\n* // returns false\n*/\nfunction isComplex64VectorLike( v ) {\n\treturn ( isVectorLike( v ) && v.dtype === 'complex64' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex64VectorLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 1-dimensional ndarray-like object whose underlying data type is `complex64`.\n*\n* @module @stdlib/assert/is-complex64vector-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Complex64Array = require( '@stdlib/array/complex64' );\n* var isComplex64VectorLike = require( '@stdlib/assert/is-complex64vector-like' );\n*\n* var buffer = new Complex64Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'complex64', buffer, [ 4 ], [ 1 ], 0, 'row-major' );\n*\n* var bool = isComplex64VectorLike( arr );\n* // returns true\n*\n* bool = isComplex64VectorLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Complex128 = require( '@stdlib/complex/float64' );\nvar constructorName = require( '@stdlib/utils/constructor-name' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 128-bit complex number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a 128-bit complex number\n*\n* @example\n* var Complex128 = require( '@stdlib/complex/float64' );\n*\n* var x = new Complex128( 4.0, 2.0 );\n*\n* var bool = isComplex128( x );\n* // returns true\n*/\nfunction isComplex128( value ) {\n\treturn (\n\t\tvalue instanceof Complex128 ||\n\t\tconstructorName( value ) === 'Complex128'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex128;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 128-bit complex number.\n*\n* @module @stdlib/assert/is-complex128\n*\n* @example\n* var Complex128 = require( '@stdlib/complex/float64' );\n* var isComplex128 = require( '@stdlib/assert/is-complex128' );\n*\n* var x = new Complex128( 4.0, 2.0 );\n*\n* var bool = isComplex128( x );\n* // returns true\n*/\n\n// MODULES //\n\nvar isComplex128 = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isComplex128;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Complex128Array = require( '@stdlib/array/complex128' );\nvar constructorName = require( '@stdlib/utils/constructor-name' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Complex128Array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a Complex128Array\n*\n* @example\n* var bool = isComplex128Array( new Complex128Array( 10 ) );\n* // returns true\n*\n* @example\n* var bool = isComplex128Array( [] );\n* // returns false\n*/\nfunction isComplex128Array( value ) {\n\treturn (\n\t\tvalue instanceof Complex128Array ||\n\t\tconstructorName( value ) === 'Complex128Array'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex128Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Complex128Array.\n*\n* @module @stdlib/assert/is-complex128array\n*\n* @example\n* var isComplex128Array = require( '@stdlib/assert/is-complex128array' );\n*\n* var bool = isComplex128Array( new Complex128Array( 10 ) );\n* // returns true\n*\n* bool = isComplex128Array( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isComplex128Array = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isComplex128Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isMatrixLike = require( './../../is-matrix-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 2-dimensional ndarray-like object whose underlying data type is `complex128`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 2-dimensional ndarray-like object whose underlying data type is `complex128`\n*\n* @example\n* var Complex128Array = require( '@stdlib/array/complex128' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n* var arr = ndarray( 'complex128', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isComplex128MatrixLike( arr );\n* // returns true\n*\n* bool = isComplex128MatrixLike( [] );\n* // returns false\n*/\nfunction isComplex128MatrixLike( v ) {\n\treturn ( isMatrixLike( v ) && v.dtype === 'complex128' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex128MatrixLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 2-dimensional ndarray-like object whose underlying data type is `complex128`.\n*\n* @module @stdlib/assert/is-complex128matrix-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Complex128Array = require( '@stdlib/array/complex128' );\n* var isComplex128MatrixLike = require( '@stdlib/assert/is-complex128matrix-like' );\n*\n* var buffer = new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'complex128', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isComplex128MatrixLike( arr );\n* // returns true\n*\n* bool = isComplex128MatrixLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isndarrayLike = require( './../../is-ndarray-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an ndarray-like object whose underlying data type is `complex128`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is an ndarray-like object whose underlying data type is `complex128`\n*\n* @example\n* var Complex128Array = require( '@stdlib/array/complex128' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n* var arr = ndarray( 'complex128', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isComplex128ndarrayLike( arr );\n* // returns true\n*\n* bool = isComplex128ndarrayLike( [] );\n* // returns false\n*/\nfunction isComplex128ndarrayLike( v ) {\n\treturn ( isndarrayLike( v ) && v.dtype === 'complex128' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex128ndarrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an ndarray-like object whose underlying data type is `complex128`.\n*\n* @module @stdlib/assert/is-complex128ndarray-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Complex128Array = require( '@stdlib/array/complex128' );\n* var isComplex128ndarrayLike = require( '@stdlib/assert/is-complex128ndarray-like' );\n*\n* var buffer = new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'complex128', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isComplex128ndarrayLike( arr );\n* // returns true\n*\n* bool = isComplex128ndarrayLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isVectorLike = require( './../../is-vector-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 1-dimensional ndarray-like object whose underlying data type is `complex128`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 1-dimensional ndarray-like object whose underlying data type is `complex128`\n*\n* @example\n* var Complex128Array = require( '@stdlib/array/complex128' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n* var arr = ndarray( 'complex128', buffer, [ 4 ], [ 1 ], 0, 'row-major' );\n*\n* var bool = isComplex128VectorLike( arr );\n* // returns true\n*\n* bool = isComplex128VectorLike( [] );\n* // returns false\n*/\nfunction isComplex128VectorLike( v ) {\n\treturn ( isVectorLike( v ) && v.dtype === 'complex128' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComplex128VectorLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 1-dimensional ndarray-like object whose underlying data type is `complex128`.\n*\n* @module @stdlib/assert/is-complex128vector-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Complex128Array = require( '@stdlib/array/complex128' );\n* var isComplex128VectorLike = require( '@stdlib/assert/is-complex128vector-like' );\n*\n* var buffer = new Complex128Array( [ 0, 0, 0, 0, 0, 0, 0, 0 ] );\n* var arr = ndarray( 'complex128', buffer, [ 4 ], [ 1 ], 0, 'row-major' );\n*\n* var bool = isComplex128VectorLike( arr );\n* // returns true\n*\n* bool = isComplex128VectorLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar iscomposite = require( '@stdlib/math/base/assert/is-composite' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a value which is a composite number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a value which is a composite number\n*\n* @example\n* var bool = isComposite( 4.0 );\n* // returns true\n*\n* @example\n* var bool = isComposite( new Number( 4.0 ) );\n* // returns false\n*/\nfunction isComposite( value ) {\n\tif ( !isNumber( value ) ) {\n\t\treturn false;\n\t}\n\treturn iscomposite( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComposite;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\nvar iscomposite = require( '@stdlib/math/base/assert/is-composite' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value which is a composite number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value which is a composite number\n*\n* @example\n* var bool = isComposite( 4.0 );\n* // returns false\n*\n* @example\n* var bool = isComposite( new Number( 4.0 ) );\n* // returns true\n*/\nfunction isComposite( value ) {\n\tif ( !isNumber( value ) ) {\n\t\treturn false;\n\t}\n\treturn iscomposite( value.valueOf() );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComposite;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a composite number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a composite number\n*\n* @example\n* var bool = isComposite( 4.0 );\n* // returns true\n*\n* @example\n* var bool = isComposite( new Number( 4.0 ) );\n* // returns true\n*\n* @example\n* var bool = isComposite( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isComposite( -4.0 );\n* // returns false\n*\n* @example\n* var bool = isComposite( null );\n* // returns false\n*/\nfunction isComposite( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isComposite;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a composite number.\n*\n* @module @stdlib/assert/is-composite\n*\n* @example\n* var isComposite = require( '@stdlib/assert/is-composite' );\n*\n* var bool = isComposite( 4.0 );\n* // returns true\n*\n* bool = isComposite( new Number( 4.0 ) );\n* // returns true\n*\n* bool = isComposite( 3.14 );\n* // returns false\n*\n* bool = isComposite( -4.0 );\n* // returns false\n*\n* bool = isComposite( null );\n* // returns false\n*\n* @example\n* var isComposite = require( '@stdlib/assert/is-composite' ).isPrimitive;\n*\n* var bool = isComposite( 4.0 );\n* // returns true\n*\n* bool = isComposite( new Number( 4.0 ) );\n* // returns false\n*\n* @example\n* var isComposite = require( '@stdlib/assert/is-composite' ).isObject;\n*\n* var bool = isComposite( 4.0 );\n* // returns false\n*\n* bool = isComposite( new Number( 4.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptor = require( '@stdlib/utils/property-descriptor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property is configurable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is configurable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isConfigurableProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isConfigurableProperty( obj, 'beep' );\n* // returns false\n*/\nfunction isConfigurableProperty( value, property ) {\n\tvar desc = propertyDescriptor( value, property );\n\treturn ( desc !== null && desc.configurable === true );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isConfigurableProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property is configurable.\n*\n* @module @stdlib/assert/is-configurable-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isConfigurableProperty = require( '@stdlib/assert/is-configurable-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isConfigurableProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isConfigurableProperty( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property is configurable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is configurable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isConfigurablePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isConfigurablePropertyIn( obj, 'beep' );\n* // returns false\n*/\nfunction isConfigurablePropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn ( desc !== null && desc.configurable === true );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isConfigurablePropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property is configurable.\n*\n* @module @stdlib/assert/is-configurable-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isConfigurablePropertyIn = require( '@stdlib/assert/is-configurable-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isConfigurablePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isConfigurablePropertyIn( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/*\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar constantcase = require( '@stdlib/string/base/constantcase' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a constantcase string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a constantcase string\n*\n* @example\n* var bool = isConstantcase( 'BEEP_BOOP' );\n* // returns true\n*\n* bool = isConstantcase( 'beep_boop' );\n* // returns false\n*\n* bool = isConstantcase( 'BEEP-BOOP' );\n* // returns true\n*\n* bool = isConstantcase( 'beep boop' );\n* // returns false\n*\n* bool = isConstantcase( 'beep' );\n* // returns false\n*\n* bool = isConstantcase( '' );\n* // returns true\n*\n* bool = isConstantcase( null );\n* // returns false\n*/\nfunction isConstantcase( value ) {\n\treturn (\n\t\tisString( value ) &&\n\t\tvalue === constantcase( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isConstantcase;\n", "/*\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a constantcase string.\n*\n* @module @stdlib/assert/is-constantcase\n*\n* @example\n* var isConstantcase = require( '@stdlib/assert/is-constantcase' );\n*\n* var bool = isConstantcase( 'BEEP_BOOP' );\n* // returns true\n*\n* bool = isConstantcase( 'BEEP and BOOP' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar cbrt = require( '@stdlib/math/base/special/cbrt' );\nvar floor = require( '@stdlib/math/base/special/floor' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a value which is a cube number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a value which is a cube number\n*\n* @example\n* var bool = isCubeNumber( 8.0 );\n* // returns true\n*\n* @example\n* var bool = isCubeNumber( new Number( 8.0 ) );\n* // returns false\n*/\nfunction isCubeNumber( value ) {\n\tvar n;\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\tn = floor( cbrt( value ) + 0.5 );\n\treturn n*n*n === value;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCubeNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\nvar cbrt = require( '@stdlib/math/base/special/cbrt' );\nvar floor = require( '@stdlib/math/base/special/floor' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value which is a cube number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value which is a cube number\n*\n* @example\n* var bool = isCubeNumber( 8.0 );\n* // returns false\n*\n* @example\n* var bool = isCubeNumber( new Number( 8.0 ) );\n* // returns true\n*/\nfunction isCubeNumber( value ) {\n\tvar n;\n\tvar x;\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\tx = value.valueOf();\n\tn = floor( cbrt( x ) + 0.5 );\n\treturn n*n*n === x;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCubeNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a cube number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a cube number\n*\n* @example\n* var bool = isCubeNumber( 8.0 );\n* // returns true\n*\n* @example\n* var bool = isCubeNumber( new Number( 8.0 ) );\n* // returns true\n*\n* @example\n* var bool = isCubeNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isCubeNumber( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isCubeNumber( null );\n* // returns false\n*/\nfunction isCubeNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCubeNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a cube number.\n*\n* @module @stdlib/assert/is-cube-number\n*\n* @example\n* var isCubeNumber = require( '@stdlib/assert/is-cube-number' );\n*\n* var bool = isCubeNumber( 8.0 );\n* // returns true\n*\n* bool = isCubeNumber( new Number( 8.0 ) );\n* // returns true\n*\n* bool = isCubeNumber( 3.14 );\n* // returns false\n*\n* bool = isCubeNumber( -5.0 );\n* // returns false\n*\n* bool = isCubeNumber( null );\n* // returns false\n*\n* @example\n* var isCubeNumber = require( '@stdlib/assert/is-cube-number' ).isPrimitive;\n*\n* var bool = isCubeNumber( 8.0 );\n* // returns true\n*\n* bool = isCubeNumber( new Number( 8.0 ) );\n* // returns false\n*\n* @example\n* var isCubeNumber = require( '@stdlib/assert/is-cube-number' ).isObject;\n*\n* var bool = isCubeNumber( 8.0 );\n* // returns false\n*\n* bool = isCubeNumber( new Number( 8.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isDateObject = require( './../../is-date-object' );\nvar currentYear = require( '@stdlib/time/current-year' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is either an integer equal to the current year or a `Date` object representing the current year.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a provided value is the current year\n*\n* @example\n* var bool = isCurrentYear( new Date() );\n* // returns true\n*\n* @example\n* var currentYear = require( '@stdlib/time/current-year' );\n* var bool = isCurrentYear( currentYear() );\n* // returns true\n*\n* @example\n* var bool = isCurrentYear( 2021 );\n* // returns false\n*\n* @example\n* var bool = isCurrentYear( null );\n* // returns false\n*/\nfunction isCurrentYear( value ) {\n\tif ( isDateObject( value ) ) {\n\t\treturn value.getFullYear() === currentYear();\n\t}\n\treturn ( value === currentYear() );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isCurrentYear;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is the current year.\n*\n* @module @stdlib/assert/is-current-year\n*\n* @example\n* var currentYear = require( '@stdlib/time/current-year' );\n* var isCurrentYear = require( '@stdlib/assert/is-current-year' );\n*\n* var bool = isCurrentYear( currentYear() );\n* // returns true\n*\n* bool = isCurrentYear( 2021 );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the current process is running on Darwin.\n*\n* @module @stdlib/assert/is-darwin\n* @type {boolean}\n*\n* @example\n* var PLATFORM = require( '@stdlib/os/platform' );\n* var IS_DARWIN = require( '@stdlib/assert/is-darwin' );\n*\n* if ( IS_DARWIN ) {\n* console.log( 'Running on Darwin...' );\n* } else {\n* console.log( 'Running on %s...', PLATFORM );\n* }\n*/\n\n// MODULES //\n\nvar PLATFORM = require( '@stdlib/os/platform' );\n\n\n// MAIN //\n\n/**\n* Boolean indicating if the current process is running on Darwin.\n*\n* @constant\n* @type {boolean}\n*/\nvar IS_DARWIN = ( PLATFORM === 'darwin' );\n\n\n// EXPORTS //\n\nmodule.exports = IS_DARWIN;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptor = require( '@stdlib/utils/property-descriptor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property has a data descriptor.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property has a data descriptor\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function getter() {\n* return 'beep';\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'get': getter\n* });\n*\n* var bool = isDataProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isDataProperty( obj, 'beep' );\n* // returns false\n*/\nfunction isDataProperty( value, property ) {\n\tvar desc = propertyDescriptor( value, property );\n\treturn ( desc !== null && typeof desc.writable === 'boolean' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isDataProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property has a data descriptor.\n*\n* @module @stdlib/assert/is-data-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isDataProperty = require( '@stdlib/assert/is-data-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function getter() {\n* return 'beep';\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'get': getter\n* });\n*\n* var bool = isDataProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isDataProperty( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property has a data descriptor.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property has a data descriptor\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function getter() {\n* return 'beep';\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'get': getter\n* });\n*\n* var bool = isDataPropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isDataPropertyIn( obj, 'beep' );\n* // returns false\n*/\nfunction isDataPropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn ( desc !== null && typeof desc.writable === 'boolean' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isDataPropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property has a data descriptor.\n*\n* @module @stdlib/assert/is-data-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isDataPropertyIn = require( '@stdlib/assert/is-data-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function getter() {\n* return 'beep';\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'get': getter\n* });\n*\n* var bool = isDataPropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isDataPropertyIn( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only `Date` objects.\n*\n* @module @stdlib/assert/is-date-object-array\n*\n* @example\n* var isDateObjectArray = require( '@stdlib/assert/is-date-object-array' );\n*\n* var bool = isDateObjectArray( [ new Date(), new Date() ] );\n* // returns true\n*\n* bool = isDateObjectArray( [ {}, new Number( 3.0 ) ] );\n* // returns false\n*\n* bool = isDateObjectArray( [ {}, '3.0' ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isDateObject = require( './../../is-date-object' );\n\n\n// MAIN //\n\nvar isDateObjectArray = arrayfun( isDateObject );\n\n\n// EXPORTS //\n\nmodule.exports = isDateObjectArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\n// Character codes:\nvar ZERO = 48;\nvar NINE = 57;\n\n\n// MAIN //\n\n/**\n* Tests whether a string contains only numeric digits.\n*\n* @param {*} x - value to test\n* @returns {boolean} boolean indicating if a string contains only numeric digits\n*\n* @example\n* var out = isDigitString( '0123456789' );\n* // returns true\n*\n* @example\n* var out = isDigitString( '0xffffff' );\n* // returns false\n*\n* @example\n* var out = isDigitString( '' );\n* // returns false\n*\n* @example\n* var out = isDigitString( 123 );\n* // returns false\n*/\nfunction isDigitString( x ) {\n\tvar len;\n\tvar ch;\n\tvar i;\n\tif ( !isString( x ) ) {\n\t\treturn false;\n\t}\n\tlen = x.length;\n\tif ( len === 0 ) {\n\t\treturn false;\n\t}\n\tfor ( i = 0; i < len; i++ ) {\n\t\tch = x.charCodeAt( i );\n\t\tif ( ch < ZERO || ch > NINE ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isDigitString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a string contains only numeric digits.\n*\n* @module @stdlib/assert/is-digit-string\n*\n* @example\n* var isDigitString = require( '@stdlib/assert/is-digit-string' );\n*\n* var out = isDigitString( '0123456789' );\n* // returns true\n*\n* out = isDigitString( '0xffffff' );\n* // returns false\n*\n* out = isDigitString( '' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar readFile = require( '@stdlib/fs/read-file' ).sync;\nvar contains = require( './../../contains' );\nvar exists = require( '@stdlib/fs/exists' ).sync;\n\n\n// VARIABLES //\n\nvar OPTS = {\n\t'encoding': 'utf8'\n};\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating if the process is running in a Docker container.\n*\n* @returns {boolean} boolean indicating if the process is running in a Docker container\n*\n* @example\n* var bool = isDocker();\n* // returns \n*/\nfunction isDocker() {\n\tvar file;\n\tif ( exists( '/.dockerenv' ) ) {\n\t\treturn true;\n\t}\n\tfile = readFile( '/proc/self/cgroup', OPTS );\n\tif ( file instanceof Error ) {\n\t\treturn false;\n\t}\n\treturn contains( file, 'docker' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isDocker;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the process is running in a Docker container.\n*\n* @module @stdlib/assert/is-docker\n*\n* @example\n* var IS_DOCKER = require( '@stdlib/assert/is-docker' );\n*\n* var bool = IS_DOCKER;\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar bool = main();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\n/**\n* Regular expression: `/^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$/`\n*\n* - `\\^`\n* - match any string which begins with\n*\n* - `(?:)`\n* - capture but do not remember\n*\n* - `[a-z0-9]`\n* - match a single digit or letter\n*\n* - `(?:)`\n* - capture but do not remember\n*\n* - `[a-z0-9-]{0,61}`\n* - match between 0 and 61 digits, letters, or hyphens\n*\n* - `[a-z0-9]`\n* - match a single digit or letter\n*\n* - `?`\n* - match the previous token between zero and one times\n*\n* - `\\.`\n* - match a literal `.`\n*\n* - `+`\n* - match the previous group one or more times\n*\n* - `[a-z0-9]`\n* - match a single digit or letter\n*\n* - `[a-z0-9-]{0,61}`\n* - match between 0 and 61 digits, letters, or hyphens\n*\n* - `[a-z0-9]`\n* - match a single digit or letter\n*\n* - `$`\n* - match end of string\n*\n* @private\n* @constant\n* @type {RegExp}\n*/\nvar RE_DOMAIN_NAME = /^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$/i;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a domain name.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a domain name\n*\n* @example\n* var bool = isDomainName( 'beep.boop' );\n* // returns true\n*\n* @example\n* var bool = isDomainName( 'beep boop' );\n* // returns false\n*\n* @example\n* var bool = isDomainName( 'foo@bar.com' );\n* // returns false\n*\n* @example\n* var bool = isDomainName( null );\n* // returns false\n*/\nfunction isDomainName( value ) {\n\tif ( !isString( value ) ) {\n\t\treturn false;\n\t}\n\tif ( value.length < 2 || value.length > 255 ) {\n\t\treturn false;\n\t}\n\treturn RE_DOMAIN_NAME.test( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isDomainName;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a domain name.\n*\n* @module @stdlib/assert/is-domain-name\n*\n* @example\n* var isDomainName = require( '@stdlib/assert/is-domain-name' );\n*\n* var bool = isDomainName( 'example.com' );\n* // returns true\n*\n* bool = isDomainName( 'foo@bar.com' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\nvar RE_DURATION_STRING = /^(?:\\d+d)?(?:\\d+h)?(?:\\d+m)?(?:\\d+s)?(?:\\d+ms)?$/i;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a duration string.\n*\n* ## Notes\n*\n* - The function validates that a value is a string. For all other types, the function returns `false`.\n*\n* - A duration string is a string containing a sequence of time units. A time unit is a non-negative integer followed by a unit identifier. The following unit identifiers are supported:\n*\n* - `d`: days\n* - `h`: hours\n* - `m`: minutes\n* - `s`: seconds\n* - `ms`: milliseconds\n*\n* For example, the string `1m3s10ms` is a duration string containing three time units: `1m` (1 minute), `3s` (3 seconds), and `10ms` (10 milliseconds). The string `60m` is a duration string containing a single time unit: `60m` (60 minutes). A duration string must contain at least one time unit. Time units must be supplied in descending order of magnitude (i.e., days, hours, minutes, seconds, milliseconds).\n*\n* - Duration strings are case insensitive. For example, the string `1M3S10MS` is equivalent to `1m3s10ms`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a duration string\n*\n* @example\n* var bool = isDurationString( '1d' );\n* // returns true\n*\n* @example\n* var bool = isDurationString( '1d2h' );\n* // returns true\n*/\nfunction isDurationString( value ) {\n\tif ( !isString( value ) ) {\n\t\treturn false;\n\t}\n\treturn RE_DURATION_STRING.test( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isDurationString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a duration string.\n*\n* @module @stdlib/assert/is-duration-string\n*\n* @example\n* var isDurationString = require( '@stdlib/assert/is-duration-string' );\n*\n* var bool = isDurationString( '1d' );\n* // returns true\n*\n* bool = isDurationString( '1d2h' );\n* // returns true\n*\n* bool = isDurationString( '1d2h-2m' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nmodule.exports = process;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\nvar isObject = require( './../../is-plain-object' );\nvar isString = require( './../../is-string' ).isPrimitive;\nvar proc = require( './process.js' );\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating if the runtime is Electron.\n*\n* @returns {boolean} boolean indicating if runtime is Electron\n*\n* @example\n* var bool = isElectron();\n* // returns \n*/\nfunction isElectron() {\n\treturn (\n\t\t// Check for a `process` global variable:\n\t\ttypeof proc === 'object' &&\n\n\t\t// Check that the `process` global variable has the expected internal class:\n\t\tnativeClass( proc ) === '[object process]' &&\n\n\t\t// Check for a `versions` property:\n\t\tisObject( proc.versions ) &&\n\n\t\t// Check for an `electron` property:\n\t\tisString( proc.versions.electron ) &&\n\n\t\t// Check for a `chrome` property:\n\t\tisString( proc.versions.chrome ) &&\n\n\t\t// Check for a `type` property:\n\t\t(\n\t\t\tproc.type === 'browser' ||\n\t\t\tproc.type === 'renderer'\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isElectron;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the runtime is Electron.\n*\n* @module @stdlib/assert/is-electron\n*\n* @example\n* var IS_ELECTRON = require( '@stdlib/assert/is-electron' );\n*\n* var bool = IS_ELECTRON;\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar bool = main();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// EXPORTS //\n\nmodule.exports = process;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isElectron = require( './../../is-electron' );\nvar proc = require( './process.js' );\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating if the runtime is the main Electron process.\n*\n* @returns {boolean} boolean indicating if runtime is the main Electron process\n*\n* @example\n* var bool = isElectronMain();\n* // returns \n*/\nfunction isElectronMain() {\n\treturn (\n\t\tisElectron &&\n\t\tproc.type === 'browser'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isElectronMain;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the runtime is the main Electron process.\n*\n* @module @stdlib/assert/is-electron-main\n*\n* @example\n* var IS_ELECTRON_MAIN = require( '@stdlib/assert/is-electron-main' );\n*\n* var bool = IS_ELECTRON_MAIN;\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar bool = main();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar process = require( 'process' );\n\n\n// EXPORTS //\n\nmodule.exports = process;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isElectron = require( './../../is-electron' );\nvar proc = require( './process.js' );\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating if the runtime is the Electron renderer process.\n*\n* @returns {boolean} boolean indicating if runtime is the Electron renderer process\n*\n* @example\n* var bool = isElectronRenderer();\n* // returns \n*/\nfunction isElectronRenderer() {\n\treturn (\n\t\tisElectron &&\n\t\tproc.type === 'renderer'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isElectronRenderer;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the runtime is the Electron renderer process.\n*\n* @module @stdlib/assert/is-electron-renderer\n*\n* @example\n* var IS_ELECTRON_RENDERER = require( '@stdlib/assert/is-electron-renderer' );\n*\n* var bool = IS_ELECTRON_RENDERER;\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar bool = main();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\nvar RE = /@/;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a valid(ish) email address.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a valid(ish) email address\n*\n* @example\n* var bool = isEmail( 'beep@boop.com' );\n* // returns true\n*\n* @example\n* var bool = isEmail( 'beep' );\n* // returns false\n*\n* @example\n* var bool = isEmail( 'beep.com' );\n* // returns false\n*\n* @example\n* var bool = isEmail( null );\n* // returns false\n*/\nfunction isEmail( value ) {\n\treturn isString( value ) && RE.test( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEmail;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an email address.\n*\n* @module @stdlib/assert/is-email-address\n*\n* @example\n* var isEmail = require( '@stdlib/assert/is-email-address' );\n*\n* var bool = isEmail( 'beep@boop.com' );\n* // returns true\n*\n* bool = isEmail( 'beep' );\n* // returns false\n*\n* bool = isEmail( null );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isArray = require( './../../is-array' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an empty array.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an empty array\n*\n* @example\n* var bool = isEmptyArray( [] );\n* // returns true\n*\n* @example\n* var bool = isEmptyArray( [ 1, 2, 3 ] );\n* // returns false\n*\n* @example\n* var bool = isEmptyArray( {} );\n* // returns false\n*/\nfunction isEmptyArray( value ) {\n\treturn (\n\t\tisArray( value ) &&\n\t\tvalue.length === 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEmptyArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an empty array.\n*\n* @module @stdlib/assert/is-empty-array\n*\n* @example\n* var isEmptyArray = require( '@stdlib/assert/is-empty-array' );\n*\n* var bool = isEmptyArray( [] );\n* // returns true\n*\n* bool = isEmptyArray( [ 1, 2, 3 ] );\n* // returns false\n*\n* bool = isEmptyArray( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if a value is an empty array-like object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is an empty array-like object\n*\n* @example\n* var bool = isEmptyArrayLikeObject( [] );\n* // returns true\n*\n* @example\n* var bool = isEmptyArrayLikeObject( { 'length': 0 } );\n* // returns true\n*\n* @example\n* var bool = isEmptyArrayLikeObject( '' );\n* // returns false\n*/\nfunction isEmptyArrayLikeObject( value ) {\n\treturn (\n\t\ttypeof value === 'object' &&\n\t\tvalue !== null &&\n\t\tvalue.length === 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEmptyArrayLikeObject;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an empty array-like object.\n*\n* @module @stdlib/assert/is-empty-array-like-object\n*\n* @example\n* var isEmptyArrayLikeObject = require( '@stdlib/assert/is-empty-array-like-object' );\n*\n* var bool = isEmptyArrayLikeObject( [] );\n* // returns true\n*\n* bool = isEmptyArrayLikeObject( { 'length': 0 } );\n* // returns true\n*\n* bool = isEmptyArrayLikeObject( '' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if a value is an empty collection.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an empty collection\n*\n* @example\n* var bool = isEmptyCollection( [] );\n* // returns true\n*\n* @example\n* var bool = isEmptyCollection( { 'length': 0 } );\n* // returns true\n*\n* @example\n* var bool = isEmptyCollection( [ 1, 2, 3 ] );\n* // returns false\n*\n* @example\n* var bool = isEmptyCollection( {} );\n* // returns false\n*/\nfunction isEmptyCollection( value ) {\n\treturn (\n\t\ttypeof value === 'object' &&\n\t\tvalue !== null &&\n\t\tvalue.length === 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEmptyCollection;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an empty collection.\n*\n* @module @stdlib/assert/is-empty-collection\n*\n* @example\n* var isEmptyCollection = require( '@stdlib/assert/is-empty-collection' );\n*\n* var bool = isEmptyCollection( [] );\n* // returns true\n*\n* bool = isEmptyCollection( [ 1, 2, 3 ] );\n* // returns false\n*\n* bool = isEmptyCollection( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar objectKeys = require( '@stdlib/utils/keys' );\nvar isPlainObject = require( './../../is-plain-object' );\nvar hasSymbolSupport = require( './../../has-symbol-support' );\n\n\n// VARIABLES //\n\nvar FLG = hasSymbolSupport();\n\n\n// MAIN //\n\n/**\n* Tests if a value is an empty object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an empty object\n*\n* @example\n* var bool = isEmptyObject( {} );\n* // returns true\n*\n* @example\n* var bool = isEmptyObject( { 'beep': 'boop' } );\n* // returns false\n*\n* @example\n* var bool = isEmptyObject( [] );\n* // returns false\n*/\nfunction isEmptyObject( value ) {\n\tif ( !isPlainObject( value ) ) {\n\t\treturn false;\n\t}\n\tif ( objectKeys( value ).length > 0 ) {\n\t\treturn false;\n\t}\n\tif ( FLG && Object.getOwnPropertySymbols( value ).length > 0 ) {\n\t\treturn false;\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEmptyObject;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an empty object.\n*\n* @module @stdlib/assert/is-empty-object\n*\n* @example\n* var isEmptyObject = require( '@stdlib/assert/is-empty-object' );\n*\n* var bool = isEmptyObject( {} );\n* // returns true\n*\n* bool = isEmptyObject( { 'beep': 'boop' } );\n* // returns false\n*\n* bool = isEmptyObject( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if a value is an empty string primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an empty string primitive\n*\n* @example\n* var bool = isEmptyString( '' );\n* // returns true\n*\n* @example\n* var bool = isEmptyString( 'beep' );\n* // returns false\n*\n* @example\n* var bool = isEmptyString( [] );\n* // returns false\n*/\nfunction isEmptyString( value ) {\n\treturn ( value === '' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEmptyString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is an empty string object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an empty string object\n*\n* @example\n* var bool = isEmptyString( '' );\n* // returns false\n*\n* @example\n* var bool = isEmptyString( new String( '' ) );\n* // returns true\n*\n* @example\n* var bool = isEmptyString( [] );\n* // returns false\n*/\nfunction isEmptyString( value ) {\n\treturn (\n\t\tisString( value ) &&\n\t\tvalue.valueOf() === ''\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEmptyString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an empty string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an empty string\n*\n* @example\n* var bool = isEmptyString( '' );\n* // returns true\n*\n* @example\n* var bool = isEmptyString( 'beep' );\n* // returns false\n*\n* @example\n* var bool = isEmptyString( [] );\n* // returns false\n*/\nfunction isEmptyString( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEmptyString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an empty string.\n*\n* @module @stdlib/assert/is-empty-string\n*\n* @example\n* var isEmptyString = require( '@stdlib/assert/is-empty-string' );\n*\n* var bool = isEmptyString( '' );\n* // returns true\n*\n* bool = isEmptyString( 'beep' );\n* // returns false\n*\n* bool = isEmptyString( [] );\n* // returns false\n*\n* @example\n* var isEmptyString = require( '@stdlib/assert/is-empty-string' ).isObject;\n*\n* var bool = isEmptyString( new String( '' ) );\n* // returns true\n*\n* bool = isEmptyString( '' );\n* // returns false\n*\n* @example\n* var isEmptyString = require( '@stdlib/assert/is-empty-string' ).isPrimitive;\n*\n* var bool = isEmptyString( '' );\n* // returns true\n*\n* bool = isEmptyString( new String( '' ) );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property is enumerable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is enumerable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': true,\n* 'enumerable': false,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isEnumerablePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isEnumerablePropertyIn( obj, 'beep' );\n* // returns false\n*/\nfunction isEnumerablePropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property ); // Note: works for both property names and symbols, which the `in` operator does not.\n\treturn ( desc !== null && desc.enumerable === true );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEnumerablePropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property is enumerable.\n*\n* @module @stdlib/assert/is-enumerable-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isEnumerablePropertyIn = require( '@stdlib/assert/is-enumerable-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': true,\n* 'enumerable': false,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isEnumerablePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isEnumerablePropertyIn( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar typeOf = require( '@stdlib/utils/type-of' );\nvar isError = require( './../../is-error' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an `EvalError` object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an `EvalError` object\n*\n* @example\n* var bool = isEvalError( new EvalError( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isEvalError( {} );\n* // returns false\n*/\nfunction isEvalError( value ) {\n\tif ( typeof value !== 'object' || value === null ) {\n\t\treturn false;\n\t}\n\t// Check for `EvalError` objects from the same realm (same Node.js `vm` or same `Window` object)...\n\tif ( value instanceof EvalError ) {\n\t\treturn true;\n\t}\n\t// All `EvalError` objects are `Error` objects...\n\tif ( isError( value ) ) {\n\t\t// Walk the prototype tree until we find the desired constructor...\n\t\twhile ( value ) {\n\t\t\tif ( typeOf( value ) === 'evalerror' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tvalue = getPrototypeOf( value );\n\t\t}\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEvalError;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an `EvalError` object.\n*\n* @module @stdlib/assert/is-eval-error\n*\n* @example\n* var isEvalError = require( '@stdlib/assert/is-eval-error' );\n*\n* var bool = isEvalError( new EvalError( 'beep' ) );\n* // returns true\n*\n* bool = isEvalError( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive that is an even number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive that is an even number\n*\n* @example\n* var bool = isEven( -4.0 );\n* // returns true\n*\n* @example\n* var bool = isEven( new Number( -4.0 ) );\n* // returns false\n*/\nfunction isEven( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue % 2 === 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEven;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object that is an even number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object that is an even number\n*\n* @example\n* var bool = isEven( 4.0 );\n* // returns false\n*\n* @example\n* var bool = isEven( new Number( 4.0 ) );\n* // returns true\n*/\nfunction isEven( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue % 2 === 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEven;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an even number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an even number.\n*\n* @example\n* var bool = isEven( 4.0 );\n* // returns true\n*\n* @example\n* var bool = isEven( new Number( 4.0 ) );\n* // returns true\n*\n* @example\n* var bool = isEven( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isEven( new Number( 5.0 ) );\n* // returns false\n*\n* @example\n* var bool = isEven( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isEven( null );\n* // returns false\n*/\nfunction isEven( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isEven;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an even number.\n*\n* @module @stdlib/assert/is-even\n*\n* @example\n* var isEven = require( '@stdlib/assert/is-even' );\n*\n* var bool = isEven( 4.0 );\n* // returns true\n*\n* bool = isEven( new Number( 4.0 ) );\n* // returns true\n*\n* bool = isEven( 3.0 );\n* // returns false\n*\n* bool = isEven( new Number( 5.0 ) );\n* // returns false\n*\n* bool = isEven( -3.14 );\n* // returns false\n*\n* bool = isEven( null );\n* // returns false\n*\n* @example\n* // Use interface to check for even number primitives...\n* var isEven = require( '@stdlib/assert/is-even' ).isPrimitive;\n*\n* var bool = isEven( -4.0 );\n* // returns true\n*\n* bool = isEven( new Number( -4.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for even number objects...\n* var isEven = require( '@stdlib/assert/is-even' ).isObject;\n*\n* var bool = isEven( 4.0 );\n* // returns false\n*\n* bool = isEven( new Number( 4.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if a value is falsy.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is falsy\n*\n* @example\n* var bool = isFalsy( false );\n* // returns true\n*\n* @example\n* var bool = isFalsy( null );\n* // returns true\n*\n* @example\n* var bool = isFalsy( '' );\n* // returns true\n*\n* @example\n* var bool = isFalsy( 0 );\n* // returns true\n*\n* @example\n* var bool = isFalsy( void 0 );\n* // returns true\n*\n* @example\n* var bool = isFalsy( NaN );\n* // returns true\n*\n* @example\n* var bool = isFalsy( [] );\n* // returns false\n*/\nfunction isFalsy( value ) {\n\treturn ( value ) ? false : true; // eslint-disable-line no-unneeded-ternary\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFalsy;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is falsy.\n*\n* @module @stdlib/assert/is-falsy\n*\n* @example\n* var isFalsy = require( '@stdlib/assert/is-falsy' );\n*\n* var bool = isFalsy( false );\n* // returns true\n*\n* bool = isFalsy( null );\n* // returns true\n*\n* bool = isFalsy( '' );\n* // returns true\n*\n* bool = isFalsy( 0 );\n* // returns true\n*\n* bool = isFalsy( void 0 );\n* // returns true\n*\n* bool = isFalsy( NaN );\n* // returns true\n*\n* bool = isFalsy( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only falsy values.\n*\n* @module @stdlib/assert/is-falsy-array\n*\n* @example\n* var isFalsyArray = require( '@stdlib/assert/is-falsy-array' );\n*\n* var bool = isFalsyArray( [ false, null, void 0, '', 0, NaN ] );\n* // returns true\n*\n* bool = isFalsyArray( [ {}, [] ] );\n* // returns false\n*\n* bool = isFalsyArray( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isFalsy = require( './../../is-falsy' );\n\n\n// MAIN //\n\nvar isFalsyArray = arrayfun( isFalsy );\n\n\n// EXPORTS //\n\nmodule.exports = isFalsyArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable stdlib/no-redeclare */\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar isfinite = require( '@stdlib/math/base/assert/is-finite' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a finite value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a finite value\n*\n* @example\n* var bool = isFinite( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isFinite( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isFinite( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisfinite( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFinite;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable stdlib/no-redeclare */\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\nvar isfinite = require( '@stdlib/math/base/assert/is-finite' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a finite value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a finite value\n*\n* @example\n* var bool = isFinite( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isFinite( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isFinite( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisfinite( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFinite;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable stdlib/no-redeclare */\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a finite number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a finite number\n*\n* @example\n* var bool = isFinite( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isFinite( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isFinite( 1.0/0.0 );\n* // returns false\n*\n* @example\n* var bool = isFinite( null );\n* // returns false\n*/\nfunction isFinite( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFinite;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a finite number.\n*\n* @module @stdlib/assert/is-finite\n*\n* @example\n* var isFinite = require( '@stdlib/assert/is-finite' );\n*\n* var bool = isFinite( 5.0 );\n* // returns true\n*\n* bool = isFinite( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isFinite( 1.0/0.0 );\n* // returns false\n*\n* bool = isFinite( null );\n* // returns false\n*\n* @example\n* var isFinite = require( '@stdlib/assert/is-finite' ).isPrimitive;\n*\n* var bool = isFinite( -3.0 );\n* // returns true\n*\n* bool = isFinite( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* var isFinite = require( '@stdlib/assert/is-finite' ).isObject;\n*\n* var bool = isFinite( 3.0 );\n* // returns false\n*\n* bool = isFinite( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only finite numbers.\n*\n* @module @stdlib/assert/is-finite-array\n*\n* @example\n* var isFiniteArray = require( '@stdlib/assert/is-finite-array' );\n*\n* var bool = isFiniteArray( [ -3.0, new Number(0.0), 2.0 ] );\n* // returns true\n*\n* bool = isFiniteArray( [ -3.0, 1.0/0.0 ] );\n* // returns false\n*\n* @example\n* var isFiniteArray = require( '@stdlib/assert/is-finite-array' ).primitives;\n*\n* var bool = isFiniteArray( [ -1.0, 10.0 ] );\n* // returns true\n*\n* bool = isFiniteArray( [ -1.5, 0.0, 5.0 ] );\n* // returns true\n*\n* bool = isFiniteArray( [ -3.0, new Number(-1.0) ] );\n* // returns false\n*\n* @example\n* var isFiniteArray = require( '@stdlib/assert/is-finite-array' ).objects;\n*\n* var bool = isFiniteArray( [ new Number(1.0), new Number(3.0) ] );\n* // returns true\n*\n* bool = isFiniteArray( [ -1.0, 0.0, 3.0 ] );\n* // returns false\n*\n* bool = isFiniteArray( [ 3.0, new Number(-1.0) ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFinite = require( './../../is-finite' ); // eslint-disable-line stdlib/no-redeclare\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isFinite.isPrimitive );\nvar isObjectArray = arrayfun( isFinite.isObject );\n\n\n// MAIN //\n\nvar isFiniteArray = arrayfun( isFinite );\nsetReadOnly( isFiniteArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isFiniteArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isFiniteArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isMatrixLike = require( './../../is-matrix-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 2-dimensional ndarray-like object whose underlying data type is `float32`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 2-dimensional ndarray-like object whose underlying data type is `float32`\n*\n* @example\n* var Float32Array = require( '@stdlib/array/float32' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Float32Array( [ 0, 0, 0, 0 ] );\n* var arr = ndarray( 'float32', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isFloat32MatrixLike( arr );\n* // returns true\n*\n* bool = isFloat32MatrixLike( [] );\n* // returns false\n*/\nfunction isFloat32MatrixLike( v ) {\n\treturn ( isMatrixLike( v ) && v.dtype === 'float32' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32MatrixLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 2-dimensional ndarray-like object whose underlying data type is `float32`.\n*\n* @module @stdlib/assert/is-float32matrix-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Float32Array = require( '@stdlib/array/float32' );\n* var isFloat32MatrixLike = require( '@stdlib/assert/is-float32matrix-like' );\n*\n* var buffer = new Float32Array( [ 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'float32', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isFloat32MatrixLike( arr );\n* // returns true\n*\n* bool = isFloat32MatrixLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFloat32MatrixLike = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32MatrixLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isndarrayLike = require( './../../is-ndarray-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an ndarray-like object whose underlying data type is `float32`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is an ndarray-like object whose underlying data type is `float32`\n*\n* @example\n* var Float32Array = require( '@stdlib/array/float32' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Float32Array( [ 0, 0, 0, 0 ] );\n* var arr = ndarray( 'float32', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isFloat32ndarrayLike( arr );\n* // returns true\n*\n* bool = isFloat32ndarrayLike( [] );\n* // returns false\n*/\nfunction isFloat32ndarrayLike( v ) {\n\treturn ( isndarrayLike( v ) && v.dtype === 'float32' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32ndarrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an ndarray-like object whose underlying data type is `float32`.\n*\n* @module @stdlib/assert/is-float32ndarray-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Float32Array = require( '@stdlib/array/float32' );\n* var isFloat32ndarrayLike = require( '@stdlib/assert/is-float32ndarray-like' );\n*\n* var buffer = new Float32Array( [ 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'float32', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isFloat32ndarrayLike( arr );\n* // returns true\n*\n* bool = isFloat32ndarrayLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFloat32ndarrayLike = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32ndarrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isVectorLike = require( './../../is-vector-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 1-dimensional ndarray-like object whose underlying data type is `float32`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 1-dimensional ndarray-like object whose underlying data type is `float32`\n*\n* @example\n* var Float32Array = require( '@stdlib/array/float32' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Float32Array( [ 0, 0, 0, 0 ] );\n* var arr = ndarray( 'float32', buffer, [ 4 ], [ 1 ], 0, 'row-major' );\n*\n* var bool = isFloat32VectorLike( arr );\n* // returns true\n*\n* bool = isFloat32VectorLike( [] );\n* // returns false\n*/\nfunction isFloat32VectorLike( v ) {\n\treturn ( isVectorLike( v ) && v.dtype === 'float32' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32VectorLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 1-dimensional ndarray-like object whose underlying data type is `float32`.\n*\n* @module @stdlib/assert/is-float32vector-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Float32Array = require( '@stdlib/array/float32' );\n* var isFloat32VectorLike = require( '@stdlib/assert/is-float32vector-like' );\n*\n* var buffer = new Float32Array( [ 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'float32', buffer, [ 4 ], [ 1 ], 0, 'row-major' );\n*\n* var bool = isFloat32VectorLike( arr );\n* // returns true\n*\n* bool = isFloat32VectorLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFloat32VectorLike = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isFloat32VectorLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isMatrixLike = require( './../../is-matrix-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 2-dimensional ndarray-like object whose underlying data type is `float64`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 2-dimensional ndarray-like object whose underlying data type is `float64`\n*\n* @example\n* var Float64Array = require( '@stdlib/array/float64' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Float64Array( [ 0, 0, 0, 0 ] );\n* var arr = ndarray( 'float64', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isFloat64MatrixLike( arr );\n* // returns true\n*\n* bool = isFloat64MatrixLike( [] );\n* // returns false\n*/\nfunction isFloat64MatrixLike( v ) {\n\treturn ( isMatrixLike( v ) && v.dtype === 'float64' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFloat64MatrixLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 2-dimensional ndarray-like object whose underlying data type is `float64`.\n*\n* @module @stdlib/assert/is-float64matrix-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Float64Array = require( '@stdlib/array/float64' );\n* var isFloat64MatrixLike = require( '@stdlib/assert/is-float64matrix-like' );\n*\n* var buffer = new Float64Array( [ 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'float64', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isFloat64MatrixLike( arr );\n* // returns true\n*\n* bool = isFloat64MatrixLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFloat64MatrixLike = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isFloat64MatrixLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isndarrayLike = require( './../../is-ndarray-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an ndarray-like object whose underlying data type is `float64`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is an ndarray-like object whose underlying data type is `float64`\n*\n* @example\n* var Float64Array = require( '@stdlib/array/float64' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Float64Array( [ 0, 0, 0, 0 ] );\n* var arr = ndarray( 'float64', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isFloat64ndarrayLike( arr );\n* // returns true\n*\n* bool = isFloat64ndarrayLike( [] );\n* // returns false\n*/\nfunction isFloat64ndarrayLike( v ) {\n\treturn ( isndarrayLike( v ) && v.dtype === 'float64' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFloat64ndarrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an ndarray-like object whose underlying data type is `float64`.\n*\n* @module @stdlib/assert/is-float64ndarray-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Float64Array = require( '@stdlib/array/float64' );\n* var isFloat64ndarrayLike = require( '@stdlib/assert/is-float64ndarray-like' );\n*\n* var buffer = new Float64Array( [ 0, 0, 0, 0 ] );\n*\n* var arr = ndarray( 'float64', buffer, [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n*\n* var bool = isFloat64ndarrayLike( arr );\n* // returns true\n*\n* bool = isFloat64ndarrayLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFloat64ndarrayLike = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isFloat64ndarrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isVectorLike = require( './../../is-vector-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a 1-dimensional ndarray-like object whose underlying data type is `float64`.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a 1-dimensional ndarray-like object whose underlying data type is `float64`\n*\n* @example\n* var Float64Array = require( '@stdlib/array/float64' );\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var buffer = new Float64Array( [ 0, 0, 0, 0 ] );\n* var arr = ndarray( 'float64', buffer, [ 4 ], [ 1 ], 0, 'row-major' );\n*\n* var bool = isFloat64VectorLike( arr );\n* // returns true\n*\n* bool = isFloat64VectorLike( [] );\n* // returns false\n*/\nfunction isFloat64VectorLike( v ) {\n\treturn ( isVectorLike( v ) && v.dtype === 'float64' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isFloat64VectorLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a 1-dimensional ndarray-like object whose underlying data type is `float64`.\n*\n* @module @stdlib/assert/is-float64vector-like\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var Float64Array = require( '@stdlib/array/float64' );\n* var isFloat64VectorLike = require( '@stdlib/assert/is-float64vector-like' );\n*\n* var buffer = new Float64Array( [ 0, 0, 0, 0 ] );\n* var arr = ndarray( 'float64', buffer, [ 4 ], [ 1 ], 0, 'row-major' );\n*\n* var bool = isFloat64VectorLike( arr );\n* // returns true\n*\n* bool = isFloat64VectorLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isFloat64VectorLike = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = isFloat64VectorLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only functions.\n*\n* @module @stdlib/assert/is-function-array\n*\n* @example\n* var isFunctionArray = require( '@stdlib/assert/is-function-array' );\n*\n* function beep() {}\n*\n* function boop() {}\n*\n* var bool = isFunctionArray( [ beep, boop ] );\n* // returns true\n*\n* bool = isFunctionArray( [ {}, beep ] );\n* // returns false\n*\n* bool = isFunctionArray( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isFunction = require( './../../is-function' );\n\n\n// MAIN //\n\nvar isFunctionArray = arrayfun( isFunction );\n\n\n// EXPORTS //\n\nmodule.exports = isFunctionArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasGeneratorSupport = require( './../../has-generator-support' );\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// VARIABLES //\n\nvar hasGenerators = hasGeneratorSupport();\n\n\n// MAIN //\n\n/**\n* Tests if a value is a generator object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a generator object\n*\n* @example\n* function* generateID() {\n* var idx = 0;\n* while ( idx < idx+1 ) {\n* yield idx;\n* idx += 1;\n* }\n* }\n* var bool = isGeneratorObject( generateID() );\n* // returns true\n*\n* @example\n* var bool = isGeneratorObject( {} );\n* // returns false\n*\n* @example\n* var bool = isGeneratorObject( null );\n* // returns false\n*/\nfunction isGeneratorObject( value ) {\n\treturn ( hasGenerators && nativeClass( value ) === '[object Generator]' );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isGeneratorObject;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a generator object.\n*\n* @module @stdlib/assert/is-generator-object\n*\n* @example\n* var isGeneratorObject = require( '@stdlib/assert/is-generator-object' );\n*\n* function* generateID() {\n* var idx = 0;\n* while ( idx < idx+1 ) {\n* yield idx;\n* idx += 1;\n* }\n* }\n*\n* var bool = isGeneratorObject( generateID() );\n* // returns true\n*\n* bool = isGeneratorObject( generateID );\n* // returns false\n*\n* bool = isGeneratorObject( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if a value is generator object-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is generator object-like\n*\n* @example\n* var gen = {\n* 'next': function noop() {},\n* 'return': function noop() {},\n* 'throw': function noop() {}\n* };\n* var bool = isGeneratorObjectLike( gen );\n* // returns true\n*\n* @example\n* function* generateID() {\n* var idx = 0;\n* while ( idx < idx+1 ) {\n* yield idx;\n* idx += 1;\n* }\n* }\n* var bool = isGeneratorObjectLike( generateID() );\n* // returns true\n*\n* @example\n* var bool = isGeneratorObjectLike( {} );\n* // returns false\n*\n* @example\n* var bool = isGeneratorObjectLike( null );\n* // returns false\n*/\nfunction isGeneratorObjectLike( value ) {\n\treturn (\n\t\tvalue !== null &&\n\t\ttypeof value === 'object' &&\n\t\ttypeof value.next === 'function' &&\n\t\ttypeof value.return === 'function' &&\n\t\ttypeof value.throw === 'function'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isGeneratorObjectLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is generator object-like.\n*\n* @module @stdlib/assert/is-generator-object-like\n*\n* @example\n* var isGeneratorObjectLike = require( '@stdlib/assert/is-generator-object-like' );\n*\n* var gen = {\n* 'next': function noop() {},\n* 'return': function noop() {},\n* 'throw': function noop() {}\n* };\n* var bool = isGeneratorObjectLike( gen );\n* // returns true\n*\n* bool = isGeneratorObjectLike( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isUint8Array = require( './../../is-uint8array' );\nvar isBuffer = require( './../../is-buffer' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a gzip buffer (or Uint8Array).\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a gzip buffer\n*\n* @example\n* var Uint8Array = require( '@stdlib/array/uint8' );\n*\n* var buf = new Uint8Array( 20 );\n* buf[ 0 ] = 31; // 0x1f => magic number\n* buf[ 1 ] = 139; // 0x8b\n* buf[ 2 ] = 8; // 0x08 => compression method\n*\n* var bool = isgzipBuffer( buf );\n* // returns true\n*\n* @example\n* var Uint8Array = require( '@stdlib/array/uint8' );\n*\n* var bool = isgzipBuffer( new Uint8Array( 20 ) );\n* // returns false\n*\n* @example\n* var bool = isgzipBuffer( [] );\n* // returns false\n*/\nfunction isgzipBuffer( value ) {\n\tif ( !isUint8Array( value ) && !isBuffer( value ) ) {\n\t\treturn false;\n\t}\n\tif ( value.length < 19 ) { // 10-byte header + 8-byte footer + payload\n\t\treturn false;\n\t}\n\treturn (\n\t\t// Check for expected magic number:\n\t\tvalue[ 0 ] === 0x1F &&\n\t\tvalue[ 1 ] === 0x8B &&\n\n\t\t// Check for expected compression method:\n\t\tvalue[ 2 ] === 0x08\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isgzipBuffer;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a gzip buffer (or Uint8Array).\n*\n* @module @stdlib/assert/is-gzip-buffer\n*\n* @example\n* var Uint8Array = require( '@stdlib/array/uint8' );\n* var isgzipBuffer = require( '@stdlib/assert/is-gzip-buffer' );\n*\n* var buf = new Uint8Array( 20 );\n* buf[ 0 ] = 31; // 0x1f => magic number\n* buf[ 1 ] = 139; // 0x8b\n* buf[ 2 ] = 8; // 0x08 => compression method\n*\n* var bool = isgzipBuffer( buf );\n* // returns true\n*\n* bool = isgzipBuffer( new Uint8Array( 20 ) );\n* // returns false\n*\n* bool = isgzipBuffer( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\n// Character codes:\nvar ZERO = 48;\nvar NINE = 57;\nvar A = 65;\nvar F = 70;\nvar a = 97;\nvar f = 102;\n\n\n// MAIN //\n\n/**\n* Tests whether a string contains only hexadecimal digits.\n*\n* @param {*} x - value to test\n* @returns {boolean} boolean indicating if a string contains only hexadecimal digits\n*\n* @example\n* var out = isHexString( '0123456789abcdefABCDEF' );\n* // returns true\n*\n* @example\n* var out = isHexString( '0xffffff' );\n* // returns false\n*\n* @example\n* var out = isHexString( '' );\n* // returns false\n*\n* @example\n* var out = isHexString( 123 );\n* // returns false\n*/\nfunction isHexString( x ) {\n\tvar len;\n\tvar ch;\n\tvar i;\n\tif ( !isString( x ) ) {\n\t\treturn false;\n\t}\n\tlen = x.length;\n\tif ( !len ) {\n\t\treturn false;\n\t}\n\tfor ( i = 0; i < len; i++ ) {\n\t\tch = x.charCodeAt( i );\n\t\tif (\n\t\t\tch < ZERO ||\n\t\t\t( ch > NINE && ch < A ) ||\n\t\t\t( ch > F && ch < a ) ||\n\t\t\tch > f\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isHexString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a string contains only hexadecimal digits.\n*\n* @module @stdlib/assert/is-hex-string\n*\n* @example\n* var isHexString = require( '@stdlib/assert/is-hex-string' );\n*\n* var out = isHexString( '0123456789abcdefABCDEF' );\n* // returns true\n*\n* out = isHexString( '0xffffff' );\n* // returns false\n*\n* out = isHexString( '' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar isinf = require( '@stdlib/math/base/assert/is-infinite' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having an infinite value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having an infinite value\n*\n* @example\n* var bool = isInfinite( -1.0/0.0 );\n* // returns true\n*\n* @example\n* var bool = isInfinite( new Number( -1.0/0.0 ) );\n* // returns false\n*/\nfunction isInfinite( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisinf( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInfinite;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\nvar isinf = require( '@stdlib/math/base/assert/is-infinite' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having an infinite value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having an infinite value\n*\n* @example\n* var bool = isInfinite( 1.0/0.0 );\n* // returns false\n*\n* @example\n* var bool = isInfinite( new Number( 1.0/0.0 ) );\n* // returns true\n*/\nfunction isInfinite( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisinf( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInfinite;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an infinite number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is an infinite number\n*\n* @example\n* var bool = isInfinite( 1.0/0.0 );\n* // returns true\n*\n* @example\n* var bool = isInfinite( new Number( 1.0/0.0 ) );\n* // returns true\n*\n* @example\n* var bool = isInfinite( 5.0 );\n* // returns false\n*\n* @example\n* var bool = isInfinite( null );\n* // returns false\n*/\nfunction isInfinite( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInfinite;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an infinite number.\n*\n* @module @stdlib/assert/is-infinite\n*\n* @example\n* var isInfinite = require( '@stdlib/assert/is-infinite' );\n*\n* var bool = isInfinite( 1.0/0.0 );\n* // returns true\n*\n* bool = isInfinite( new Number( 1.0/0.0 ) );\n* // returns true\n*\n* bool = isInfinite( 5.0 );\n* // returns false\n*\n* bool = isInfinite( null );\n* // returns false\n*\n* @example\n* var isInfinite = require( '@stdlib/assert/is-infinite' ).isPrimitive;\n*\n* var bool = isInfinite( -1.0/0.0 );\n* // returns true\n*\n* bool = isInfinite( new Number( -1.0/0.0 ) );\n* // returns false\n*\n* @example\n* var isInfinite = require( '@stdlib/assert/is-infinite' ).isObject;\n*\n* var bool = isInfinite( 1.0/0.0 );\n* // returns false\n*\n* bool = isInfinite( new Number( 1.0/0.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasOwnProp = require( './../../has-own-property' );\n\n\n// MAIN //\n\n/**\n* Tests if an object has an inherited property.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has an inherited property\n*\n* @example\n* var obj = {\n* 'boop': true\n* };\n*\n* var bool = isInheritedProperty( obj, 'toString' );\n* // returns true\n*\n* @example\n* var obj = {\n* 'boop': true\n* };\n*\n* var bool = isInheritedProperty( obj, 'boop' );\n* // returns false\n*\n* @example\n* var obj = {\n* 'boop': true\n* };\n*\n* var bool = isInheritedProperty( obj, 'bap' );\n* // returns false\n*/\nfunction isInheritedProperty( value, property ) {\n\tif ( value === void 0 || value === null || hasOwnProp( value, property ) ) {\n\t\treturn false;\n\t}\n\tif ( typeof property === 'symbol' ) {\n\t\treturn property in Object( value );\n\t}\n\treturn ( String( property ) in Object( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isInheritedProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object has an inherited property.\n*\n* @module @stdlib/assert/is-inherited-property\n*\n* @example\n* var isInheritedProperty = require( '@stdlib/assert/is-inherited-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* var bool = isInheritedProperty( obj, 'toString' );\n* // returns true\n*\n* bool = isInheritedProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isInheritedProperty( obj, 'bop' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only integers.\n*\n* @module @stdlib/assert/is-integer-array\n*\n* @example\n* var isIntegerArray = require( '@stdlib/assert/is-integer-array' );\n*\n* var bool = isIntegerArray( [ -3.0, new Number(0.0), 2.0 ] );\n* // returns true\n*\n* bool = isIntegerArray( [ -3.0, '3.0' ] );\n* // returns false\n*\n* @example\n* var isIntegerArray = require( '@stdlib/assert/is-integer-array' ).primitives;\n*\n* var bool = isIntegerArray( [ -1.0, 10.0 ] );\n* // returns true\n*\n* bool = isIntegerArray( [ -1.0, 0.0, 5.0 ] );\n* // returns true\n*\n* bool = isIntegerArray( [ -3.0, new Number(-1.0) ] );\n* // returns false\n*\n* @example\n* var isIntegerArray = require( '@stdlib/assert/is-integer-array' ).objects;\n*\n* var bool = isIntegerArray( [ new Number(1.0), new Number(3.0) ] );\n* // returns true\n*\n* bool = isIntegerArray( [ -1.0, 0.0, 3.0 ] );\n* // returns false\n*\n* bool = isIntegerArray( [ 3.0, new Number(-1.0) ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isInteger.isPrimitive );\nvar isObjectArray = arrayfun( isInteger.isObject );\n\n\n// MAIN //\n\nvar isIntegerArray = arrayfun( isInteger );\nsetReadOnly( isIntegerArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isIntegerArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isIntegerArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is a JavaScript primitive.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a JavaScript primitive\n*\n* @example\n* var bool = isPrimitive( true );\n* // returns true\n*\n* @example\n* var bool = isPrimitive( {} );\n* // returns false\n*/\nfunction isPrimitive( value ) {\n\tvar type = typeof value;\n\treturn (\n\t\ttype === 'string' ||\n\t\ttype === 'number' ||\n\t\ttype === 'boolean' ||\n\t\ttype === 'symbol' || // ES6/ES2015\n\t\ttype === 'bigint' || // ES11/ES2020\n\t\tvalue === null ||\n\t\tvalue === void 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPrimitive;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a JavaScript primitive.\n*\n* @module @stdlib/assert/is-primitive\n*\n* @example\n* var isPrimitive = require( '@stdlib/assert/is-primitive' );\n*\n* var bool = isPrimitive( true );\n* // returns true\n*\n* bool = isPrimitive( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFunction = require( './../../is-function' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is iterator-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is iterator-like\n*\n* @example\n* var it = {\n* 'next': function noop() {}\n* };\n* var bool = isIteratorLike( it );\n* // returns true\n*\n* @example\n* var bool = isIteratorLike( {} );\n* // returns false\n*\n* @example\n* var bool = isIteratorLike( null );\n* // returns false\n*/\nfunction isIteratorLike( value ) {\n\tvar t = typeof value;\n\treturn (\n\t\tvalue !== null &&\n\t\t( t === 'object' || t === 'function' ) &&\n\t\tisFunction( value.next )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isIteratorLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is iterator-like.\n*\n* @module @stdlib/assert/is-iterator-like\n*\n* @example\n* var isIteratorLike = require( '@stdlib/assert/is-iterator-like' );\n*\n* var it = {\n* 'next': function noop() {}\n* };\n* var bool = isIteratorLike( it );\n* // returns true\n*\n* bool = isIteratorLike( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './../../is-primitive' );\nvar isFunction = require( './../../is-function' );\nvar ITERATOR = require( '@stdlib/symbol/iterator' );\nvar isIteratorLike = require( './../../is-iterator-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is iterable-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is iterable-like\n*\n* @example\n* var bool = isIterableLike( [] );\n* // returns \n*\n* @example\n* var bool = isIterableLike( {} );\n* // returns false\n*\n* @example\n* var bool = isIterableLike( null );\n* // returns false\n*/\nfunction isIterableLike( value ) {\n\tvar f;\n\tif ( isPrimitive( value ) ) {\n\t\treturn false;\n\t}\n\tf = value[ ITERATOR ];\n\treturn (\n\t\tisFunction( f ) &&\n\t\tf.length === 0 &&\n\t\tisIteratorLike( value[ ITERATOR ]() ) // Why this form? In order to preserve `this`.\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isIterableLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is iterable-like.\n*\n* @module @stdlib/assert/is-iterable-like\n*\n* @example\n* var isIterableLike = require( '@stdlib/assert/is-iterable-like' );\n*\n* var bool = isIterableLike( [] );\n* // returns \n*\n* bool = isIterableLike( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar hasIteratorSymbolSupport = require( './../../has-iterator-symbol-support' );\nvar constantFunction = require( '@stdlib/utils/constant-function' );\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar isIterable;\nif ( hasIteratorSymbolSupport() ) {\n\tisIterable = main;\n} else {\n\tisIterable = constantFunction( false );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isIterable;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\n/**\n* Detects a JSON string.\n*\n* Regular expression: `/^\\{[\\s\\S]*\\}$|^\\[[\\s\\S]*\\]$/`\n*\n* - `^\\{`\n*\n* - match a `{` literal which is the first character\n*\n* - `[\\s\\S]*`\n*\n* - match any whitespace and non-whitespace characters which occur `0` or more times\n*\n* - `\\}$`\n*\n* - match a `}` literal which is the last character\n*\n* - `|`\n*\n* - alternatively\n*\n* - `^\\[`\n*\n* - match a `[` literal which is the first character\n*\n* - `[\\s\\S]*`\n*\n* - match any whitespace and non-whitespace characters which occur `0` or more times\n*\n* - `\\]$`\n*\n* - match a `]` literal which is the last character\n*\n*\n* Example matching strings:\n*\n* - `'{}'`\n* - `'[]'`\n* - `'{adjlkfaj3743.,><\\n\\t\\rdf}'`\n* - `'[adjlkfaj3743.,><\\n\\t\\rdf]'`\n* - `'{\"a\":5}'`\n*\n* @constant\n* @type {RegExp}\n* @default /^\\{[\\s\\S]*\\}$|^\\[[\\s\\S]*\\]$/\n*/\nvar re = /^\\{[\\s\\S]*\\}$|^\\[[\\s\\S]*\\]$/;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a parseable JSON string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a parseable JSON string\n*\n* @example\n* var v = isJSON( '{\"a\":5}' );\n* // returns true\n*\n* @example\n* var v = isJSON( '{a\":5}' );\n* // returns false\n*/\nfunction isJSON( value ) {\n\tif ( typeof value !== 'string' ) {\n\t\treturn false;\n\t}\n\tif ( !re.test( value ) ) {\n\t\treturn false;\n\t}\n\ttry {\n\t\tJSON.parse( value );\n\t} catch ( err ) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isJSON;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a parseable JSON string.\n*\n* @module @stdlib/assert/is-json\n*\n* @example\n* var isJSON = require( '@stdlib/assert/is-json' );\n*\n* var v = isJSON( '{\"a\":5}' );\n* // returns true\n*\n* v = isJSON( '{a\":5}' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar kebabcase = require( '@stdlib/string/base/kebabcase' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string in kebab case.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a string in kebab case\n*\n* @example\n* var bool = isKebabcase( 'beep-boop' );\n* // returns true\n*\n* @example\n* var bool = isKebabcase( 'Beep-boop' );\n* // returns false\n*\n* @example\n* var bool = isKebabcase( 'BEEP_BOOP' );\n* // returns false\n*\n* @example\n* var bool = isKebabcase( 1 );\n* // returns false\n*/\nfunction isKebabcase( value ) {\n\treturn ( isString( value ) && kebabcase( value ) === value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isKebabcase;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string in kebab case.\n*\n* @module @stdlib/assert/is-kebabcase\n*\n* @example\n* var isKebabcase = require( '@stdlib/assert/is-kebabcase' );\n*\n* var bool = isKebabcase( 'beep-boop' );\n* // returns true\n*\n* bool = isKebabcase( 'BEEP_BOOP' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isDateObject = require( './../../is-date-object' );\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar currentYear = require( '@stdlib/time/current-year' );\n\n\n// MAIN //\n\n/**\n* Tests whether a value corresponds to a leap year in the Gregorian calendar.\n*\n* ## Notes\n*\n* - According to the Gregorian calendar, every year that is exactly divisible by `4` is a leap year, except those years which are also divisible by `100` and not by `400` (e.g., `1900`).\n*\n* @param {*} [value] - input value\n* @returns {boolean} boolean whether a value corresponds to a leap year\n*\n* @example\n* var bool = isLeapYear();\n* // returns \n*\n* @example\n* var bool = isLeapYear( new Date() );\n* // returns \n*\n* @example\n* var bool = isLeapYear( 1996 );\n* // returns true\n*\n* @example\n* var bool = isLeapYear( 2001 );\n* // returns false\n*/\nfunction isLeapYear( value ) {\n\tvar yr;\n\tif ( arguments.length ) {\n\t\tif ( isDateObject( value ) ) {\n\t\t\tyr = value.getFullYear();\n\t\t} else if ( isInteger( value ) ) {\n\t\t\tyr = value;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t} else {\n\t\t// Note: cannot cache, as possible for application to cross into a new year:\n\t\tyr = currentYear();\n\t}\n\t// Special case if year is a new century...\n\tif ( (yr % 100) === 0 ) {\n\t\t// Centuries are only leap years at the end of \"leap cycles\" which happen every `400` years:\n\t\treturn ( (yr % 400) === 0 );\n\t}\n\t// All other years which are exactly divisible by `4` are leap years:\n\treturn ( (yr % 4) === 0 );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isLeapYear;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a value corresponds to a leap year in the Gregorian calendar.\n*\n* @module @stdlib/assert/is-leap-year\n*\n* @example\n* var isLeapYear = require( '@stdlib/assert/is-leap-year' );\n*\n* var bool = isLeapYear();\n* // returns \n*\n* bool = isLeapYear( new Date() );\n* // returns \n*\n* bool = isLeapYear( 1996 );\n* // returns true\n*\n* bool = isLeapYear( 2001 );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Uint8Array = require( '@stdlib/array/uint8' );\nvar Uint16Array = require( '@stdlib/array/uint16' );\n\n\n// MAIN //\n\nvar ctors = {\n\t'uint16': Uint16Array,\n\t'uint8': Uint8Array\n};\n\n\n// EXPORTS //\n\nmodule.exports = ctors;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar ctors = require( './ctors.js' );\n\n\n// VARIABLES //\n\nvar bool;\n\n\n// FUNCTIONS //\n\n/**\n* Returns a boolean indicating if an environment is little endian.\n*\n* @private\n* @returns {boolean} boolean indicating if an environment is little endian\n*\n* @example\n* var bool = isLittleEndian();\n* // returns \n*/\nfunction isLittleEndian() {\n\tvar uint16view;\n\tvar uint8view;\n\n\tuint16view = new ctors[ 'uint16' ]( 1 );\n\n\t/*\n\t* Set the uint16 view to a value having distinguishable lower and higher order words.\n\t*\n\t* 4660 => 0x1234 => 0x12 0x34 => '00010010 00110100' => (0x12,0x34) == (18,52)\n\t*/\n\tuint16view[ 0 ] = 0x1234;\n\n\t// Create a uint8 view on top of the uint16 buffer:\n\tuint8view = new ctors[ 'uint8' ]( uint16view.buffer );\n\n\t// If little endian, the least significant byte will be first...\n\treturn ( uint8view[ 0 ] === 0x34 );\n}\n\n\n// MAIN //\n\nbool = isLittleEndian();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a boolean indicating if an environment is little endian.\n*\n* @module @stdlib/assert/is-little-endian\n*\n* @example\n* var IS_LITTLE_ENDIAN = require( '@stdlib/assert/is-little-endian' );\n*\n* var bool = IS_LITTLE_ENDIAN;\n* // returns \n*/\n\n// MODULES //\n\nvar IS_LITTLE_ENDIAN = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = IS_LITTLE_ENDIAN;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\n// IPv4 127.0.0.0/8 address block:\nvar RE_LOCALHOST_IPV4 = /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/;\n\n\n// MAIN //\n\n/**\n* Tests whether a value is a localhost hostname.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a localhost hostname\n*\n* @example\n* var bool = isLocalhost( 'localhost' );\n* // returns true\n*\n* @example\n* var bool = isLocalhost( '127.0.0.1' );\n* // returns true\n*\n* @example\n* var bool = isLocalhost( '[::1]' );\n* // returns true\n*\n* @example\n* var bool = isLocalhost( 'wikipedia.org' );\n* // returns false\n*\n* @example\n* var bool = isLocalhost( 'stdlib.io' );\n* // returns false\n*\n* @example\n* var bool = isLocalhost( null );\n* // returns false\n*/\nfunction isLocalhost( value ) {\n\tif ( !isString( value ) ) {\n\t\treturn false;\n\t}\n\treturn (\n\t\tvalue === 'localhost' || value === 'LOCALHOST' ||\n\n\t\t// IPv6 localhost address:\n\t\tvalue === '[::1]' ||\n\n\t\tRE_LOCALHOST_IPV4.test( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isLocalhost;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a value is is a localhost hostname.\n*\n* @module @stdlib/assert/is-localhost\n*\n* @example\n* var isLocalhost = require( '@stdlib/assert/is-localhost' );\n*\n* var bool = isLocalhost( 'localhost' );\n* // returns true\n*\n* bool = isLocalhost( '127.0.0.1' );\n* // returns true\n*\n* bool = isLocalhost( '[::1]' );\n* // returns true\n*\n* bool = isLocalhost( 'stdlib.io' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar lowercase = require( '@stdlib/string/lowercase' );\nvar uppercase = require( '@stdlib/string/uppercase' );\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a lowercase string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a lowercase string\n*\n* @example\n* var bool = isLowercase( 'salt and light' );\n* // returns true\n*\n* @example\n* var bool = isLowercase( 'HELLO' );\n* // returns false\n*\n* @example\n* var bool = isLowercase( 'World' );\n* // returns false\n*\n* @example\n* var bool = isLowercase( '!' );\n* // returns false\n*/\nfunction isLowercase( value ) {\n\treturn (\n\t\tisString( value ) &&\n\t\tvalue === lowercase( value ) &&\n\t\tvalue !== uppercase( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isLowercase;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a lowercase string.\n*\n* @module @stdlib/assert/is-lowercase\n*\n* @example\n* var isLowercase = require( '@stdlib/assert/is-lowercase' );\n*\n* var bool = isLowercase( 'hello' );\n* // returns true\n*\n* bool = isLowercase( 'World' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasOwnProp = require( './../../has-own-property' );\nvar isFunction = require( './../../is-function' );\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified method name.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified method name\n*\n* @example\n* var beep = {\n* 'boop': isMethod\n* };\n*\n* var bool = isMethod( beep, 'boop' );\n* // returns true\n*\n* var bool = isMethod( beep, 'toString' );\n* // returns false\n*/\nfunction isMethod( value, property ) {\n\treturn (\n\t\thasOwnProp( value, property ) &&\n\t\tisFunction( value[ property ] )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isMethod;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object has a specified method name.\n*\n* @module @stdlib/assert/is-method\n*\n* @example\n* var isMethod = require( '@stdlib/assert/is-method' );\n*\n* var beep = {\n* 'boop': isMethod\n* };\n*\n* var bool = isMethod( beep, 'boop' );\n* // returns true\n*\n* bool = isMethod( beep, 'toString' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFunction = require( './../../is-function' );\nvar Object = require( '@stdlib/object/ctor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object has a specified method name, either own or inherited.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object has a specified method name\n*\n* @example\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = isMethodIn( beep, 'toString' );\n* // returns true\n*\n* bool = isMethodIn( beep, 'boop' );\n* // returns false\n*/\nfunction isMethodIn( value, property ) {\n\tif ( value === void 0 || value === null ) {\n\t\treturn false;\n\t}\n\tvalue = Object( value );\n\tif ( typeof property !== 'symbol' ) {\n\t\tproperty = String( property );\n\t}\n\treturn (\n\t\t( property in value ) &&\n\t\tisFunction( value[ property ] )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isMethodIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object has a specified method name, either own or inherited.\n*\n* @module @stdlib/assert/is-method-in\n*\n* @example\n* var isMethodIn = require( '@stdlib/assert/is-method-in' );\n*\n* var beep = {\n* 'boop': true\n* };\n*\n* var bool = isMethodIn( beep, 'toString' );\n* // returns true\n*\n* bool = isMethodIn( beep, 'boop' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar constantFunction = require( '@stdlib/utils/constant-function' );\n\n\n// MAIN //\n\nvar isMobile = constantFunction( false );\n\n\n// EXPORTS //\n\nmodule.exports = isMobile;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the current environment is a mobile device.\n*\n* @module @stdlib/assert/is-mobile\n*\n* @example\n* var IS_MOBILE = require( '@stdlib/assert/is-mobile' );\n*\n* var bool = IS_MOBILE;\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar bool = main();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar MultiSlice = require( '@stdlib/slice/multi' );\nvar constructorName = require( '@stdlib/utils/constructor-name' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a MultiSlice object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a MultiSlice object\n*\n* @example\n* var MultiSlice = require( '@stdlib/slice/multi' );\n*\n* var s = new MultiSlice();\n*\n* var bool = isMultiSlice( s );\n* // returns true\n*/\nfunction isMultiSlice( value ) {\n\treturn (\n\t\tvalue instanceof MultiSlice ||\n\t\tconstructorName( value ) === 'MultiSlice'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isMultiSlice;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a MultiSlice object.\n*\n* @module @stdlib/assert/is-multi-slice\n*\n* @example\n* var MultiSlice = require( '@stdlib/slice/multi' );\n* var isMultiSlice = require( '@stdlib/assert/is-multi-slice' );\n*\n* var s = new MultiSlice();\n*\n* var bool = isMultiSlice( s );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isTypedArray = require( './../../is-typed-array' );\nvar hasOwnProp = require( './../../has-own-property' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is named typed tuple-like.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is named typed tuple-like\n*\n* @example\n* var namedtypedtuple = require( '@stdlib/utils/named-typed-tuple' );\n*\n* var Point = namedtypedtuple( [ 'x', 'y' ] );\n*\n* var p = new Point();\n*\n* var bool = isNamedTypedTupleLike( p );\n* // returns true\n*\n* bool = isNamedTypedTupleLike( [] );\n* // returns false\n*/\nfunction isNamedTypedTupleLike( v ) {\n\treturn (\n\t\tisTypedArray( v ) &&\n\t\ttypeof v.fieldOf === 'function' &&\n\t\ttypeof v.findField === 'function' &&\n\t\ttypeof v.ind2key === 'function' &&\n\t\ttypeof v.key2ind === 'function' &&\n\t\ttypeof v.lastFieldOf === 'function' &&\n\t\ttypeof v.subtuple === 'function' &&\n\t\thasOwnProp( v, 'fields' ) &&\n\t\thasOwnProp( v, 'orderedFields' )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNamedTypedTupleLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is named typed tuple-like.\n*\n* @module @stdlib/assert/is-named-typed-tuple-like\n*\n* @example\n* var namedtypedtuple = require( '@stdlib/utils/named-typed-tuple' );\n* var isNamedTypedTupleLike = require( '@stdlib/assert/is-named-typed-tuple-like' );\n*\n* var Point = namedtypedtuple( [ 'x', 'y' ] );\n*\n* var p = new Point();\n*\n* var bool = isNamedTypedTupleLike( p );\n* // returns true\n*\n* bool = isNamedTypedTupleLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only `NaN` values.\n*\n* @module @stdlib/assert/is-nan-array\n*\n* @example\n* var isNaNArray = require( '@stdlib/assert/is-nan-array' );\n*\n* var bool = isNaNArray( [ NaN, NaN, NaN ] );\n* // returns true\n*\n* bool = isNaNArray( [ NaN, 2 ] );\n* // returns false\n*\n* bool = isNaNArray.primitives( [ NaN, new Number( NaN ) ] );\n* // returns false\n*\n* bool = isNaNArray.primitives( [ NaN, NaN, NaN ] );\n* // returns true\n*\n* bool = isNaNArray.objects( [ new Number( NaN ), new Number( NaN ) ] );\n* // returns true\n*\n* bool = isNaNArray.objects( [ NaN, new Number( NaN ), new Number( NaN ) ] );\n* // returns false\n*\n* bool = isNaNArray.objects( [ NaN, NaN, NaN ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isnan = require( './../../is-nan' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isnan.isPrimitive );\nvar isObjectArray = arrayfun( isnan.isObject );\n\n\n// MAIN //\n\nvar isNaNArray = arrayfun( isnan );\nsetReadOnly( isNaNArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isNaNArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isNaNArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFunction = require( './../../is-function' );\nvar reNativeFunction = require( '@stdlib/regexp/native-function' );\nvar function2string = require( '@stdlib/function/to-string' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a native function.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a native function\n*\n* @example\n* function beep() {\n* console.log( 'boop' );\n* }\n*\n* var bool = isNativeFunction( beep );\n* // returns false\n*\n* bool = isNativeFunction( Date );\n* // returns true\n*/\nfunction isNativeFunction( value ) {\n\treturn (\n\t\tisFunction( value ) &&\n\t\treNativeFunction.REGEXP.test( function2string( value ) )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNativeFunction;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a native function.\n*\n* @module @stdlib/assert/is-native-function\n*\n* @example\n* var isNativeFunction = require( '@stdlib/assert/is-native-function' );\n*\n* function beep() {\n* console.log( 'boop' );\n* }\n*\n* var bool = isNativeFunction( beep );\n* // returns false\n*\n* bool = isNativeFunction( Date );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a negative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a negative integer value\n*\n* @example\n* var bool = isNegativeInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isNegativeInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue < 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a negative integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a negative integer value\n*\n* @example\n* var bool = isNegativeInteger( -3.0 );\n* // returns false\n*\n* @example\n* var bool = isNegativeInteger( new Number( -3.0 ) );\n* // returns true\n*/\nfunction isNegativeInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() < 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a negative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a negative integer\n*\n* @example\n* var bool = isNegativeInteger( -5.0 );\n* // returns true\n*\n* @example\n* var bool = isNegativeInteger( new Number( -5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNegativeInteger( 5.0 );\n* // returns false\n*\n* @example\n* var bool = isNegativeInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isNegativeInteger( null );\n* // returns false\n*/\nfunction isNegativeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a negative integer.\n*\n* @module @stdlib/assert/is-negative-integer\n*\n* @example\n* var isNegativeInteger = require( '@stdlib/assert/is-negative-integer' );\n*\n* var bool = isNegativeInteger( -5.0 );\n* // returns true\n*\n* bool = isNegativeInteger( new Number( -5.0 ) );\n* // returns true\n*\n* bool = isNegativeInteger( 5.0 );\n* // returns false\n*\n* bool = isNegativeInteger( -3.14 );\n* // returns false\n*\n* bool = isNegativeInteger( null );\n* // returns false\n*\n* @example\n* var isNegativeInteger = require( '@stdlib/assert/is-negative-integer' ).isPrimitive;\n*\n* var bool = isNegativeInteger( -3.0 );\n* // returns true\n*\n* bool = isNegativeInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* var isNegativeInteger = require( '@stdlib/assert/is-negative-integer' ).isObject;\n*\n* var bool = isNegativeInteger( -3.0 );\n* // returns false\n*\n* bool = isNegativeInteger( new Number( -3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only negative integers.\n*\n* @module @stdlib/assert/is-negative-integer-array\n*\n* @example\n* var isNegativeIntegerArray = require( '@stdlib/assert/is-negative-integer-array' );\n*\n* var bool = isNegativeIntegerArray( [ -3.0, new Number(-3.0) ] );\n* // returns true\n*\n* bool = isNegativeIntegerArray( [ -3.0, '-3.0' ] );\n* // returns false\n*\n* @example\n* var isNegativeIntegerArray = require( '@stdlib/assert/is-negative-integer-array' ).primitives;\n*\n* var bool = isNegativeIntegerArray( [ -1.0, -10.0 ] );\n* // returns true\n*\n* bool = isNegativeIntegerArray( [ -1.0, 0.0, -10.0 ] );\n* // returns false\n*\n* bool = isNegativeIntegerArray( [ -3.0, new Number(-1.0) ] );\n* // returns false\n*\n* @example\n* var isNegativeIntegerArray = require( '@stdlib/assert/is-negative-integer-array' ).objects;\n*\n* var bool = isNegativeIntegerArray( [ new Number(-1.0), new Number(-10.0) ] );\n* // returns true\n*\n* bool = isNegativeIntegerArray( [ -1.0, 0.0, -10.0 ] );\n* // returns false\n*\n* bool = isNegativeIntegerArray( [ -3.0, new Number(-1.0) ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isNegativeInteger = require( './../../is-negative-integer' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isNegativeInteger.isPrimitive );\nvar isObjectArray = arrayfun( isNegativeInteger.isObject );\n\n\n// MAIN //\n\nvar isNegativeIntegerArray = arrayfun( isNegativeInteger );\nsetReadOnly( isNegativeIntegerArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isNegativeIntegerArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeIntegerArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a negative value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a negative value\n*\n* @example\n* var bool = isNegativeNumber( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isNegativeNumber( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isNegativeNumber( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue < 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a negative value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a negative value\n*\n* @example\n* var bool = isNegativeNumber( -3.0 );\n* // returns false\n*\n* @example\n* var bool = isNegativeNumber( new Number( -3.0 ) );\n* // returns true\n*/\nfunction isNegativeNumber( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue.valueOf() < 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a negative number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a negative number\n*\n* @example\n* var bool = isNegativeNumber( -5.0 );\n* // returns true\n*\n* @example\n* var bool = isNegativeNumber( new Number( -5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNegativeNumber( -3.14 );\n* // returns true\n*\n* @example\n* var bool = isNegativeNumber( 5.0 );\n* // returns false\n*\n* @example\n* var bool = isNegativeNumber( null );\n* // returns false\n*/\nfunction isNegativeNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a negative number.\n*\n* @module @stdlib/assert/is-negative-number\n*\n* @example\n* var isNegativeNumber = require( '@stdlib/assert/is-negative-number' );\n*\n* var bool = isNegativeNumber( -5.0 );\n* // returns true\n*\n* bool = isNegativeNumber( new Number( -5.0 ) );\n* // returns true\n*\n* bool = isNegativeNumber( -3.14 );\n* // returns true\n*\n* bool = isNegativeNumber( 5.0 );\n* // returns false\n*\n* bool = isNegativeNumber( null );\n* // returns false\n*\n* @example\n* // Use interface to check for negative number primitives...\n* var isNegativeNumber = require( '@stdlib/assert/is-negative-number' ).isPrimitive;\n*\n* var bool = isNegativeNumber( -3.0 );\n* // returns true\n*\n* bool = isNegativeNumber( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* // Use interface to check for negative number objects...\n* var isNegativeNumber = require( '@stdlib/assert/is-negative-number' ).isObject;\n*\n* var bool = isNegativeNumber( -3.0 );\n* // returns false\n*\n* bool = isNegativeNumber( new Number( -3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only negative numbers.\n*\n* @module @stdlib/assert/is-negative-number-array\n*\n* @example\n* var isNegativeNumberArray = require( '@stdlib/assert/is-negative-number-array' );\n*\n* var bool = isNegativeNumberArray( [ -3.0, new Number(-3.0) ] );\n* // returns true\n*\n* bool = isNegativeNumberArray( [ -3.0, '-3.0' ] );\n* // returns false\n*\n* @example\n* var isNegativeNumberArray = require( '@stdlib/assert/is-negative-number-array' ).primitives;\n*\n* var bool = isNegativeNumberArray( [ -1.0, -5.0, -10.0 ] );\n* // returns true\n*\n* bool = isNegativeNumberArray( [ -3.0, new Number(-1.0) ] );\n* // returns false\n*\n* @example\n* var isNegativeNumberArray = require( '@stdlib/assert/is-negative-number-array' ).objects;\n*\n* var bool = isNegativeNumberArray( [ new Number(-3.0), new Number(-1.0) ] );\n* // returns true\n*\n* bool = isNegativeNumberArray( [ -1.0, -5.0, -10.0 ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isNegativeNumber = require( './../../is-negative-number' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isNegativeNumber.isPrimitive );\nvar isObjectArray = arrayfun( isNegativeNumber.isObject );\n\n\n// MAIN //\n\nvar isNegativeNumberArray = arrayfun( isNegativeNumber );\nsetReadOnly( isNegativeNumberArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isNegativeNumberArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeNumberArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar NINF = require( '@stdlib/constants/float64/ninf' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive equal to negative zero.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive equal to negative zero\n*\n* @example\n* var bool = isNegativeZero( -0.0 );\n* // returns true\n*\n* @example\n* var bool = isNegativeZero( new Number( -0.0 ) );\n* // returns false\n*/\nfunction isNegativeZero( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\t( 1.0 / value ) === NINF\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeZero;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\nvar NINF = require( '@stdlib/constants/float64/ninf' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value equal to negative zero.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value equal to negative zero\n*\n* @example\n* var bool = isNegativeZero( -0.0 );\n* // returns false\n*\n* @example\n* var bool = isNegativeZero( new Number( -0.0 ) );\n* // returns true\n*/\nfunction isNegativeZero( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\t( 1.0 / value.valueOf() ) === NINF\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeZero;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is equal to negative zero.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is equal to negative zero\n*\n* @example\n* var bool = isNegativeZero( -0.0 );\n* // returns true\n*\n* @example\n* var bool = isNegativeZero( new Number( -0.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNegativeZero( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isNegativeZero( 5.0 );\n* // returns false\n*\n* @example\n* var bool = isNegativeZero( 0.0 );\n* // returns false\n*\n* @example\n* var bool = isNegativeZero( null );\n* // returns false\n*/\nfunction isNegativeZero( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNegativeZero;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is equal to negative zero.\n*\n* @module @stdlib/assert/is-negative-zero\n*\n* @example\n* var isNegativeZero = require( '@stdlib/assert/is-negative-zero' );\n*\n* var bool = isNegativeZero( -0.0 );\n* // returns true\n*\n* bool = isNegativeZero( new Number( -0.0 ) );\n* // returns true\n*\n* bool = isNegativeZero( -3.14 );\n* // returns false\n*\n* bool = isNegativeZero( 5.0 );\n* // returns false\n*\n* bool = isNegativeZero( 0.0 );\n* // returns false\n*\n* bool = isNegativeZero( null );\n* // returns false\n*\n* @example\n* var isNegativeZero = require( '@stdlib/assert/is-negative-zero' ).isPrimitive;\n*\n* var bool = isNegativeZero( -0.0 );\n* // returns true\n*\n* bool = isNegativeZero( new Number( -0.0 ) );\n* // returns false\n*\n* @example\n* var isNegativeZero = require( '@stdlib/assert/is-negative-zero' ).isObject;\n*\n* var bool = isNegativeZero( -0.0 );\n* // returns false\n*\n* bool = isNegativeZero( new Number( -0.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "[\n\t\"assert\",\n\t\"async_hooks\",\n\t\"buffer\",\n\t\"child_process\",\n\t\"cluster\",\n\t\"console\",\n\t\"constants\",\n\t\"crypto\",\n\t\"dgram\",\n\t\"dns\",\n\t\"domain\",\n\t\"events\",\n\t\"fs\",\n\t\"http\",\n\t\"http2\",\n\t\"https\",\n\t\"_http_agent\",\n\t\"_http_client\",\n\t\"_http_common\",\n\t\"_http_incoming\",\n\t\"_http_outgoing\",\n\t\"_http_server\",\n\t\"inspector\",\n\t\"module\",\n\t\"net\",\n\t\"os\",\n\t\"path\",\n\t\"perf_hooks\",\n\t\"process\",\n\t\"punycode\",\n\t\"querystring\",\n\t\"readline\",\n\t\"repl\",\n\t\"stream\",\n\t\"_stream_readable\",\n\t\"_stream_writable\",\n\t\"_stream_duplex\",\n\t\"_stream_transform\",\n\t\"_stream_passthrough\",\n\t\"_stream_wrap\",\n\t\"string_decoder\",\n\t\"sys\",\n\t\"timers\",\n\t\"tls\",\n\t\"_tls_common\",\n\t\"_tls_legacy\",\n\t\"_tls_wrap\",\n\t\"tty\",\n\t\"url\",\n\t\"util\",\n\t\"v8\",\n\t\"vm\",\n\t\"zlib\",\n\t\"v8/tools/splaytree\",\n\t\"v8/tools/codemap\",\n\t\"v8/tools/consarray\",\n\t\"v8/tools/csvparser\",\n\t\"v8/tools/profile\",\n\t\"v8/tools/profile_view\",\n\t\"v8/tools/logreader\",\n\t\"v8/tools/tickprocessor\",\n\t\"v8/tools/SourceMap\",\n\t\"v8/tools/tickprocessor-driver\",\n\t\"node-inspect/lib/_inspect\",\n\t\"node-inspect/lib/internal/inspect_client\",\n\t\"node-inspect/lib/internal/inspect_repl\"\n]\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar mod = require( 'module' );\nvar contains = require( './../../contains' );\nvar isString = require( './../../is-string' ).isPrimitive;\nvar BUILTINS = require( './builtins.json' );\n\n\n// VARIABLES //\n\nvar LIST = mod.builtinModules || BUILTINS;\n\n\n// MAIN //\n\n/**\n* Tests whether a string matches a Node.js built-in module name.\n*\n* @param {*} x - value to test\n* @returns {boolean} boolean indicating whether a string matches a Node.js built-in module name\n*\n* @example\n* var out = isNodeBuiltin( 'cluster' );\n* // returns true\n*\n* @example\n* var out = isNodeBuiltin( 'crypto' );\n* // returns true\n*\n* @example\n* var out = isNodeBuiltin( 'fs-extra' );\n* // returns false\n*\n* @example\n* var out = isNodeBuiltin( '' );\n* // returns false\n*/\nfunction isNodeBuiltin( x ) {\n\tif ( !isString( x ) ) {\n\t\treturn false;\n\t}\n\treturn contains( LIST, x );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNodeBuiltin;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a string matches a Node.js built-in module name.\n*\n* @module @stdlib/assert/is-node-builtin\n*\n* @example\n* var isNodeBuiltin = require( '@stdlib/assert/is-node-builtin' );\n*\n* var out = isNodeBuiltin( 'crypto' );\n* // returns true\n*\n* out = isNodeBuiltin( 'cluster' );\n* // returns true\n*\n* out = isNodeBuiltin( '' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if a value is Node stream-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is Node stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeStreamLike( stream );\n* // returns true\n*\n* bool = isNodeStreamLike( {} );\n* // returns false\n*/\nfunction isNodeStreamLike( value ) {\n\treturn (\n\t\t// Must be an object:\n\t\tvalue !== null &&\n\t\ttypeof value === 'object' &&\n\n\t\t// Should be an event emitter:\n\t\ttypeof value.on === 'function' &&\n\t\ttypeof value.once === 'function' &&\n\t\ttypeof value.emit === 'function' &&\n\t\ttypeof value.addListener === 'function' &&\n\t\ttypeof value.removeListener === 'function' &&\n\t\ttypeof value.removeAllListeners === 'function' &&\n\n\t\t// Should have a `pipe` method (Node streams inherit from `Stream`, including writable streams):\n\t\ttypeof value.pipe === 'function'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNodeStreamLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is Node stream-like.\n*\n* @module @stdlib/assert/is-node-stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n* var isNodeStreamLike = require( '@stdlib/assert/is-node-stream-like' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeStreamLike( stream );\n* // returns true\n*\n* bool = isNodeStreamLike( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle */\n\n'use strict';\n\n// MODULES //\n\nvar isNodeStreamLike = require( './../../is-node-stream-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is Node writable stream-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is Node writable stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeWritableStreamLike( stream );\n* // returns true\n*\n* bool = isNodeWritableStreamLike( {} );\n* // returns false\n*/\nfunction isNodeWritableStreamLike( value ) {\n\treturn (\n\t\t// Must be stream-like:\n\t\tisNodeStreamLike( value ) &&\n\n\t\t// Should have writable stream methods:\n\t\ttypeof value._write === 'function' &&\n\n\t\t// Should have writable stream state:\n\t\ttypeof value._writableState === 'object'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNodeWritableStreamLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is Node writable stream-like.\n*\n* @module @stdlib/assert/is-node-writable-stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n* var isNodeWritableStreamLike = require( '@stdlib/assert/is-node-writable-stream-like' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeWritableStreamLike( stream );\n* // returns true\n*\n* bool = isNodeWritableStreamLike( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle */\n\n'use strict';\n\n// MODULES //\n\nvar isNodeStreamLike = require( './../../is-node-stream-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is Node readable stream-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is Node readable stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeReadableStreamLike( stream );\n* // returns true\n*\n* bool = isNodeReadableStreamLike( {} );\n* // returns false\n*/\nfunction isNodeReadableStreamLike( value ) {\n\treturn (\n\t\t// Must be stream-like:\n\t\tisNodeStreamLike( value ) &&\n\n\t\t// Should have readable stream methods:\n\t\ttypeof value._read === 'function' &&\n\n\t\t// Should have readable stream state:\n\t\ttypeof value._readableState === 'object'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNodeReadableStreamLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is Node readable stream-like.\n*\n* @module @stdlib/assert/is-node-readable-stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n* var isNodeReadableStreamLike = require( '@stdlib/assert/is-node-readable-stream-like' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeReadableStreamLike( stream );\n* // returns true\n*\n* bool = isNodeReadableStreamLike( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNodeWritableStreamLike = require( './../../is-node-writable-stream-like' );\nvar isNodeReadableStreamLike = require( './../../is-node-readable-stream-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is Node duplex stream-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is Node duplex stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeDuplexStreamLike( stream );\n* // returns true\n*\n* bool = isNodeDuplexStreamLike( {} );\n* // returns false\n*/\nfunction isNodeDuplexStreamLike( value ) {\n\treturn (\n\t\t// Must be both readable and writable:\n\t\tisNodeWritableStreamLike( value ) &&\n\t\tisNodeReadableStreamLike( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNodeDuplexStreamLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is Node duplex stream-like.\n*\n* @module @stdlib/assert/is-node-duplex-stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n* var isNodeDuplexStreamLike = require( '@stdlib/assert/is-node-duplex-stream-like' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeDuplexStreamLike( stream );\n* // returns true\n*\n* bool = isNodeDuplexStreamLike( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Returns the parent module.\n*\n* @private\n* @returns {Module} parent module\n*/\nfunction parent() { // eslint-disable-line stdlib/no-redeclare\n\treturn module;\n}\n\n\n// EXPORTS //\n\nmodule.exports = parent;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Returns a stacktrace.\n*\n* @private\n* @returns {(string|void)} stacktrace\n*/\nfunction stacktrace() {\n\tvar err = new Error();\n\treturn err.stack;\n}\n\n\n// EXPORTS //\n\nmodule.exports = stacktrace;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar IS_NODE = require( './../../is-node' );\nvar p = require( './parent.js' );\nvar stacktrace = require( './stacktrace.js' );\n\n\n// VARIABLES //\n\n// The module id for the builtin REPL was `repl` in Node versions <4 and then changed to `` for Node versions >=4 (see https://github.com/nodejs/node/commit/ee72ee753118f2576bfd1ccf58fb2ff651e8bfb0#diff-b13d72249263845d8e8341db0426f9d3R527).\nvar RE_MODULE_ID = /^repl$|^$/;\n\n// This is V8 specific (!!), as this assumes the V8 stacktrace API. TODO: rely on an engine agnostic approach to determining callsites.\nvar RE_ERROR_STACK = /at REPLServer/;\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating if the function is called from a Node.js REPL environment.\n*\n* ## Notes\n*\n* - False positives are possible due to the existence of a userland package having the same module `id` (see [repl][repl-template-lib]) as the builtin Node.js `repl`.\n*\n* [repl-template-lib]: https://www.npmjs.com/package/repl\n*\n* @returns {boolean} boolean indicating if the function is called from a Node.js REPL environment\n*\n* @example\n* var bool = isNodeREPL();\n* // returns \n*/\nfunction isNodeREPL() {\n\tvar stack;\n\tvar m;\n\tif ( !IS_NODE ) {\n\t\treturn false;\n\t}\n\t// If this module was required in a REPL environment, we can walk up the module dependency tree to find a `repl` ancestor...\n\tm = p();\n\twhile ( m ) {\n\t\tif ( RE_MODULE_ID.test( m.id ) ) {\n\t\t\treturn true;\n\t\t}\n\t\tm = m.parent;\n\t}\n\t// Unable to find a `repl` ancestor, so try determining if this function was called from a REPL environment...\n\tstack = stacktrace();\n\tif ( stack ) {\n\t\treturn RE_ERROR_STACK.test( stack );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNodeREPL;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Check if running within a Node.js REPL environment.\n*\n* @module @stdlib/assert/is-node-repl\n*\n* @example\n* var isNodeREPL = require( '@stdlib/assert/is-node-repl' );\n*\n* var bool = isNodeREPL();\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-underscore-dangle */\n\n'use strict';\n\n// MODULES //\n\nvar isNodeDuplexStreamLike = require( './../../is-node-duplex-stream-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is Node transform stream-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is Node transform stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeTransformStreamLike( stream );\n* // returns true\n*\n* bool = isNodeTransformStreamLike( {} );\n* // returns false\n*/\nfunction isNodeTransformStreamLike( value ) {\n\treturn (\n\t\t// Must be duplex stream-like:\n\t\tisNodeDuplexStreamLike( value ) &&\n\n\t\t// Should have transform stream methods:\n\t\ttypeof value._transform === 'function'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNodeTransformStreamLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is Node transform stream-like.\n*\n* @module @stdlib/assert/is-node-transform-stream-like\n*\n* @example\n* var transformStream = require( '@stdlib/streams/node/transform' );\n* var isNodeTransformStreamLike = require( '@stdlib/assert/is-node-transform-stream-like' );\n*\n* var stream = transformStream();\n*\n* var bool = isNodeTransformStreamLike( stream );\n* // returns true\n*\n* bool = isNodeTransformStreamLike( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptor = require( '@stdlib/utils/property-descriptor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property is non-configurable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is non-configurable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': true,\n* 'value': 'beep'\n* });\n*\n* var bool = isNonConfigurableProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isNonConfigurableProperty( obj, 'beep' );\n* // returns true\n*/\nfunction isNonConfigurableProperty( value, property ) {\n\tvar desc = propertyDescriptor( value, property );\n\treturn ( desc !== null && desc.configurable === false );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonConfigurableProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property is non-configurable.\n*\n* @module @stdlib/assert/is-nonconfigurable-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isNonConfigurableProperty = require( '@stdlib/assert/is-nonconfigurable-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': true,\n* 'value': 'beep'\n* });\n*\n* var bool = isNonConfigurableProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isNonConfigurableProperty( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property is non-configurable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is non-configurable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isNonConfigurablePropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isNonConfigurablePropertyIn( obj, 'beep' );\n* // returns true\n*/\nfunction isNonConfigurablePropertyIn( value, property ) { // eslint-disable-line id-length\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn ( desc !== null && desc.configurable === false );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonConfigurablePropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property is non-configurable.\n*\n* @module @stdlib/assert/is-nonconfigurable-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isNonConfigurablePropertyIn = require( '@stdlib/assert/is-nonconfigurable-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isNonConfigurablePropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isNonConfigurablePropertyIn( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar hasOwnProp = require( './../../has-own-property' );\nvar isEnumerableProperty = require( './../../is-enumerable-property' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property is non-enumerable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is non-enumerable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'writable': true,\n* 'value': 'beep'\n* });\n*\n* var bool = isNonEnumerableProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isNonEnumerableProperty( obj, 'beep' );\n* // returns true\n*/\nfunction isNonEnumerableProperty( value, property ) {\n\tif ( hasOwnProp( value, property ) === false ) {\n\t\treturn false;\n\t}\n\treturn ( isEnumerableProperty( value, property ) === false );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonEnumerableProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property is non-enumerable.\n*\n* @module @stdlib/assert/is-nonenumerable-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isNonEnumerableProperty = require( '@stdlib/assert/is-nonenumerable-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'writable': true,\n* 'value': 'beep'\n* });\n*\n* var bool = isNonEnumerableProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isNonEnumerableProperty( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property is non-enumerable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is non-enumerable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': true,\n* 'enumerable': false,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isNonEnumerablePropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isNonEnumerablePropertyIn( obj, 'beep' );\n* // returns true\n*/\nfunction isNonEnumerablePropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn ( desc !== null && desc.enumerable === false );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonEnumerablePropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property is non-enumerable.\n*\n* @module @stdlib/assert/is-nonenumerable-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isNonEnumerablePropertyIn = require( '@stdlib/assert/is-nonenumerable-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': true,\n* 'enumerable': false,\n* 'writable': true,\n* 'value': true\n* });\n*\n* var bool = isNonEnumerablePropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isNonEnumerablePropertyIn( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only nonnegative integers.\n*\n* @module @stdlib/assert/is-nonnegative-integer-array\n*\n* @example\n* var isNonNegativeIntegerArray = require( '@stdlib/assert/is-nonnegative-integer-array' );\n*\n* var bool = isNonNegativeIntegerArray( [ 3.0, new Number(3.0) ] );\n* // returns true\n*\n* bool = isNonNegativeIntegerArray( [ 3.0, '3.0' ] );\n* // returns false\n*\n* @example\n* var isNonNegativeIntegerArray = require( '@stdlib/assert/is-nonnegative-integer-array' ).primitives;\n*\n* var bool = isNonNegativeIntegerArray( [ 1.0, 0.0, 10.0 ] );\n* // returns true\n*\n* bool = isNonNegativeIntegerArray( [ 3.0, new Number(1.0) ] );\n* // returns false\n*\n* @example\n* var isNonNegativeIntegerArray = require( '@stdlib/assert/is-nonnegative-integer-array' ).objects;\n*\n* var bool = isNonNegativeIntegerArray( [ new Number(3.0), new Number(1.0) ] );\n* // returns true\n*\n* bool = isNonNegativeIntegerArray( [ 1.0, 0.0, 10.0 ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isNonNegativeInteger = require( './../../is-nonnegative-integer' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isNonNegativeInteger.isPrimitive );\nvar isObjectArray = arrayfun( isNonNegativeInteger.isObject );\n\n\n// MAIN //\n\nvar isNonNegativeIntegerArray = arrayfun( isNonNegativeInteger );\nsetReadOnly( isNonNegativeIntegerArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isNonNegativeIntegerArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeIntegerArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonnegative value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonnegative number value\n*\n* @example\n* var bool = isNonNegativeNumber( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeNumber( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isNonNegativeNumber( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue >= 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonnegative value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonnegative number value\n*\n* @example\n* var bool = isNonNegativeNumber( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeNumber( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isNonNegativeNumber( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue.valueOf() >= 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonnegative number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonnegative number\n*\n* @example\n* var bool = isNonNegativeNumber( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeNumber( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isNonNegativeNumber( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonNegativeNumber( null );\n* // returns false\n*/\nfunction isNonNegativeNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonnegative number.\n*\n* @module @stdlib/assert/is-nonnegative-number\n*\n* @example\n* var isNonNegativeNumber = require( '@stdlib/assert/is-nonnegative-number' );\n*\n* var bool = isNonNegativeNumber( 5.0 );\n* // returns true\n*\n* bool = isNonNegativeNumber( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isNonNegativeNumber( 3.14 );\n* // returns true\n*\n* bool = isNonNegativeNumber( -5.0 );\n* // returns false\n*\n* bool = isNonNegativeNumber( null );\n* // returns false\n*\n* @example\n* var isNonNegativeNumber = require( '@stdlib/assert/is-nonnegative-number' ).isPrimitive;\n*\n* var bool = isNonNegativeNumber( 3.0 );\n* // returns true\n*\n* bool = isNonNegativeNumber( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* var isNonNegativeNumber = require( '@stdlib/assert/is-nonnegative-number' ).isObject;\n*\n* var bool = isNonNegativeNumber( 3.0 );\n* // returns false\n*\n* bool = isNonNegativeNumber( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only nonnegative numbers.\n*\n* @module @stdlib/assert/is-nonnegative-number-array\n*\n* @example\n* var isNonNegativeNumberArray = require( '@stdlib/assert/is-nonnegative-number-array' );\n*\n* var bool = isNonNegativeNumberArray( [ 3.0, new Number(3.0) ] );\n* // returns true\n*\n* bool = isNonNegativeNumberArray( [ 3.0, '3.0' ] );\n* // returns false\n*\n* @example\n* var isNonNegativeNumberArray = require( '@stdlib/assert/is-nonnegative-number-array' ).primitives;\n*\n* var bool = isNonNegativeNumberArray( [ 1.0, 0.0, 10.0 ] );\n* // returns true\n*\n* bool = isNonNegativeNumberArray( [ 3.0, new Number(1.0) ] );\n* // returns false\n*\n* @example\n* var isNonNegativeNumberArray = require( '@stdlib/assert/is-nonnegative-number-array' ).objects;\n*\n* var bool = isNonNegativeNumberArray( [ new Number(3.0), new Number(1.0) ] );\n* // returns true\n*\n* bool = isNonNegativeNumberArray( [ 1.0, 0.0, 10.0 ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isNonNegativeNumber = require( './../../is-nonnegative-number' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isNonNegativeNumber.isPrimitive );\nvar isObjectArray = arrayfun( isNonNegativeNumber.isObject );\n\n\n// MAIN //\n\nvar isNonNegativeNumberArray = arrayfun( isNonNegativeNumber );\nsetReadOnly( isNonNegativeNumberArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isNonNegativeNumberArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isNonNegativeNumberArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonpositive integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonpositive integer value\n*\n* @example\n* var bool = isNonPositiveInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonPositiveInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isNonPositiveInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue <= 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonPositiveInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonpositive integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonpositive integer value\n*\n* @example\n* var bool = isNonPositiveInteger( -3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonPositiveInteger( new Number( -3.0 ) );\n* // returns true\n*/\nfunction isNonPositiveInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() <= 0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonPositiveInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonpositive integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonpositive integer\n*\n* @example\n* var bool = isNonPositiveInteger( -5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonPositiveInteger( new Number( -5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonPositiveInteger( 5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonPositiveInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isNonPositiveInteger( null );\n* // returns false\n*/\nfunction isNonPositiveInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonPositiveInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonpositive integer.\n*\n* @module @stdlib/assert/is-nonpositive-integer\n*\n* @example\n* var isNonPositiveInteger = require( '@stdlib/assert/is-nonpositive-integer' );\n*\n* var bool = isNonPositiveInteger( -5.0 );\n* // returns true\n*\n* bool = isNonPositiveInteger( new Number( -5.0 ) );\n* // returns true\n*\n* bool = isNonPositiveInteger( 5.0 );\n* // returns false\n*\n* bool = isNonPositiveInteger( -3.14 );\n* // returns false\n*\n* bool = isNonPositiveInteger( null );\n* // returns false\n*\n* @example\n* var isNonPositiveInteger = require( '@stdlib/assert/is-nonpositive-integer' ).isPrimitive;\n*\n* var bool = isNonPositiveInteger( -3.0 );\n* // returns true\n*\n* bool = isNonPositiveInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* var isNonPositiveInteger = require( '@stdlib/assert/is-nonpositive-integer' ).isObject;\n*\n* var bool = isNonPositiveInteger( -3.0 );\n* // returns false\n*\n* bool = isNonPositiveInteger( new Number( -3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only nonpositive integers.\n*\n* @module @stdlib/assert/is-nonpositive-integer-array\n*\n* @example\n* var isNonPositiveIntegerArray = require( '@stdlib/assert/is-nonpositive-integer-array' );\n*\n* var bool = isNonPositiveIntegerArray( [ -3.0, new Number(-3.0) ] );\n* // returns true\n*\n* bool = isNonPositiveIntegerArray( [ -3.0, '-3.0' ] );\n* // returns false\n*\n* @example\n* var isNonPositiveIntegerArray = require( '@stdlib/assert/is-nonpositive-integer-array' ).primitives;\n*\n* var bool = isNonPositiveIntegerArray( [ -1.0, 0.0, -10.0 ] );\n* // returns true\n*\n* bool = isNonPositiveIntegerArray( [ -3.0, new Number(-1.0) ] );\n* // returns false\n*\n* @example\n* var isNonPositiveIntegerArray = require( '@stdlib/assert/is-nonpositive-integer-array' ).objects;\n*\n* var bool = isNonPositiveIntegerArray( [ new Number(-3.0), new Number(-1.0) ] );\n* // returns true\n*\n* bool = isNonPositiveIntegerArray( [ -1.0, 0.0, -10.0 ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isNonPositiveInteger = require( './../../is-nonpositive-integer' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isNonPositiveInteger.isPrimitive );\nvar isObjectArray = arrayfun( isNonPositiveInteger.isObject );\n\n\n// MAIN //\n\nvar isNonPositiveIntegerArray = arrayfun( isNonPositiveInteger );\nsetReadOnly( isNonPositiveIntegerArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isNonPositiveIntegerArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isNonPositiveIntegerArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a nonpositive value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a nonpositive number value\n*\n* @example\n* var bool = isNonPositiveNumber( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isNonPositiveNumber( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isNonPositiveNumber( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue <= 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonPositiveNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a nonpositive value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a nonpositive number value\n*\n* @example\n* var bool = isNonPositiveNumber( -3.0 );\n* // returns false\n*\n* @example\n* var bool = isNonPositiveNumber( new Number( -3.0 ) );\n* // returns true\n*/\nfunction isNonPositiveNumber( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue.valueOf() <= 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonPositiveNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a nonpositive number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a nonpositive number\n*\n* @example\n* var bool = isNonPositiveNumber( -5.0 );\n* // returns true\n*\n* @example\n* var bool = isNonPositiveNumber( new Number( -5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isNonPositiveNumber( -3.14 );\n* // returns true\n*\n* @example\n* var bool = isNonPositiveNumber( 5.0 );\n* // returns false\n*\n* @example\n* var bool = isNonPositiveNumber( null );\n* // returns false\n*/\nfunction isNonPositiveNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonPositiveNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a nonpositive number.\n*\n* @module @stdlib/assert/is-nonpositive-number\n*\n* @example\n* var isNonPositiveNumber = require( '@stdlib/assert/is-nonpositive-number' );\n*\n* var bool = isNonPositiveNumber( -5.0 );\n* // returns true\n*\n* bool = isNonPositiveNumber( new Number( -5.0 ) );\n* // returns true\n*\n* bool = isNonPositiveNumber( -3.14 );\n* // returns true\n*\n* bool = isNonPositiveNumber( 5.0 );\n* // returns false\n*\n* bool = isNonPositiveNumber( null );\n* // returns false\n*\n* @example\n* var isNonPositiveNumber = require( '@stdlib/assert/is-nonpositive-number' ).isPrimitive;\n*\n* var bool = isNonPositiveNumber( -3.0 );\n* // returns true\n*\n* bool = isNonPositiveNumber( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* var isNonPositiveNumber = require( '@stdlib/assert/is-nonpositive-number' ).isObject;\n*\n* var bool = isNonPositiveNumber( -3.0 );\n* // returns false\n*\n* bool = isNonPositiveNumber( new Number( -3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only nonpositive numbers.\n*\n* @module @stdlib/assert/is-nonpositive-number-array\n*\n* @example\n* var isNonPositiveNumberArray = require( '@stdlib/assert/is-nonpositive-number-array' );\n*\n* var bool = isNonPositiveNumberArray( [ -3.0, new Number(-3.0) ] );\n* // returns true\n*\n* bool = isNonPositiveNumberArray( [ -3.0, '-3.0' ] );\n* // returns false\n*\n* @example\n* var isNonPositiveNumberArray = require( '@stdlib/assert/is-nonpositive-number-array' ).primitives;\n*\n* var bool = isNonPositiveNumberArray( [ -1.0, 0.0, -10.0 ] );\n* // returns true\n*\n* bool = isNonPositiveNumberArray( [ -3.0, new Number(-1.0) ] );\n* // returns false\n*\n* @example\n* var isNonPositiveNumberArray = require( '@stdlib/assert/is-nonpositive-number-array' ).objects;\n*\n* var bool = isNonPositiveNumberArray( [ new Number(-3.0), new Number(-1.0) ] );\n* // returns true\n*\n* bool = isNonPositiveNumberArray( [ -1.0, 0.0, -10.0 ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isNonPositiveNumber = require( './../../is-nonpositive-number' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isNonPositiveNumber.isPrimitive );\nvar isObjectArray = arrayfun( isNonPositiveNumber.isObject );\n\n\n// MAIN //\n\nvar isNonPositiveNumberArray = arrayfun( isNonPositiveNumber );\nsetReadOnly( isNonPositiveNumberArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isNonPositiveNumberArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isNonPositiveNumberArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isMatrixLike = require( './../../is-matrix-like' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a non-symmetric matrix.\n*\n* ## Notes\n*\n* - The implementation must rely on manually checking that \\\\(M_{ij} \\neq M_{ji}\\\\), and, while element access is deterministic, no way exists to prevent cache misses outside of reordering the underlying matrix elements, thus incurring a larger performance penalty than just \"jumping around\" in a single pass.\n* - Worst case scenario: O(N^2).\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a non-symmetric matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 1, 2, 3, 4 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isNonSymmetricMatrix( arr );\n* // returns true\n*\n* bool = isNonSymmetricMatrix( [] );\n* // returns false\n*/\nfunction isNonSymmetricMatrix( v ) {\n\tvar M;\n\tvar i;\n\tvar j;\n\tif ( !isMatrixLike( v ) ) {\n\t\treturn false;\n\t}\n\tM = v.shape[ 0 ];\n\tif ( M !== v.shape[ 1 ] ) {\n\t\treturn true;\n\t}\n\tfor ( i = 0; i < M; i++ ) {\n\t\tfor ( j = 0; j < i; j++ ) {\n\t\t\tif ( v.get( i, j ) !== v.get( j, i ) ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNonSymmetricMatrix;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a non-symmetric matrix.\n*\n* @module @stdlib/assert/is-nonsymmetric-matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isNonSymmetricMatrix = require( '@stdlib/assert/is-nonsymmetric-matrix' );\n*\n* var arr = ndarray( 'generic', [ 1, 2, 3, 4 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isNonSymmetricMatrix( arr );\n* // returns true\n*\n* bool = isNonSymmetricMatrix( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is `null`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is null\n*\n* @example\n* var bool = isNull( null );\n* // returns true\n*\n* bool = isNull( true );\n* // returns false\n*/\nfunction isNull( value ) {\n\treturn value === null;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNull;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is `null`.\n*\n* @module @stdlib/assert/is-null\n*\n* @example\n* var isNull = require( '@stdlib/assert/is-null' );\n*\n* var value = null;\n*\n* var bool = isNull( value );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isNull = require( './../../is-null' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array-like object containing only `null` values.\n*\n* @name isNullArray\n* @type {Function}\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether an input value is an array-like object containing only `null` values\n*\n* @example\n* var bool = isNullArray( [null,null,null] );\n* // returns true\n*\n* bool = isNullArray( [NaN,2,null] );\n* // returns false\n*/\nvar isNullArray = arrayfun( isNull );\n\n\n// EXPORTS //\n\nmodule.exports = isNullArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only `null` values.\n*\n* @module @stdlib/assert/is-null-array\n*\n* @example\n* var isNullArray = require( '@stdlib/assert/is-null-array' );\n*\n* var bool = isNullArray( [null,null,null] );\n* // returns true\n*\n* bool = isNullArray( [NaN,2,null] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object of numbers.\n*\n* @module @stdlib/assert/is-number-array\n*\n* @example\n* var isNumberArray = require( '@stdlib/assert/is-number-array' );\n*\n* var bool = isNumberArray( [ 1, 2, 3 ] );\n* // returns true\n*\n* bool = isNumberArray( [ '1', 2, 3 ] );\n* // returns false\n*\n* @example\n* var isNumberArray = require( '@stdlib/assert/is-number-array' ).primitives;\n*\n* var bool = isNumberArray( [ 1, 2, 3 ] );\n* // returns true\n*\n* bool = isNumberArray( [ 1, new Number( 2 ) ] );\n* // returns false\n*\n* @example\n* var isNumberArray = require( '@stdlib/assert/is-number-array' ).objects;\n*\n* var bool = isNumberArray( [ new Number( 1 ), new Number( 2 ) ] );\n* // returns true\n*\n* bool = isNumberArray( [ new Number( 1 ), 2 ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isNumber = require( './../../is-number' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isNumber.isPrimitive );\nvar isObjectArray = arrayfun( isNumber.isObject );\n\n\n// MAIN //\n\nvar isNumberArray = arrayfun( isNumber );\nsetReadOnly( isNumberArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isNumberArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isNumberArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isTypedArray = require( './../../is-typed-array' );\nvar isNumberArray = require( './../../is-number-array' ).primitives;\nvar isBuffer = require( './../../is-buffer' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a numeric array.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a numeric array\n*\n* @example\n* var bool = isNumericArray( new Int8Array( 10 ) );\n* // returns true\n*\n* bool = isNumericArray( [ 1, 2, 3 ] );\n* // returns true\n*\n* bool = isNumericArray( [ '1', '2', '3' ] );\n* // returns false\n*/\nfunction isNumericArray( v ) {\n\treturn (\n\t\t!isBuffer( v ) &&\n\t\t(isTypedArray( v ) || isNumberArray( v ))\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isNumericArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a numeric array.\n*\n* @module @stdlib/assert/is-numeric-array\n*\n* @example\n* var isNumericArray = require( '@stdlib/assert/is-numeric-array' );\n*\n* var bool = isNumericArray( new Int8Array( 10 ) );\n* // returns true\n*\n* bool = isNumericArray( [ 1, 2, 3 ] );\n* // returns true\n*\n* bool = isNumericArray( [ '1', '2', '3' ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isObject = require( './../../is-object' );\n\n\n// MAIN //\n\n/**\n* Test if a value is an array-like object containing only objects.\n*\n* @name isObjectArray\n* @type {Function}\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether an input value is an array-like object containing only objects\n*\n* @example\n* var bool = isObjectArray( [ {}, new Number(3.0) ] );\n* // returns true\n*\n* bool = isObjectArray( [ {}, { 'beep': 'boop' } ] );\n* // returns true\n*\n* bool = isObjectArray( [ {}, '3.0' ] );\n* // returns false\n*/\nvar isObjectArray = arrayfun( isObject );\n\n\n// EXPORTS //\n\nmodule.exports = isObjectArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only objects.\n*\n* @module @stdlib/assert/is-object-array\n*\n* @example\n* var isObjectArray = require( '@stdlib/assert/is-object-array' );\n*\n* var bool = isObjectArray( [ {}, new Number(3.0) ] );\n* // returns true\n*\n* bool = isObjectArray( [ {}, { 'beep': 'boop' } ] );\n* // returns true\n*\n* bool = isObjectArray( [ {}, '3.0' ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar isEven = require( './../../is-even' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive that is an odd number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive that is an odd number\n*\n* @example\n* var bool = isOdd( -5.0 );\n* // returns true\n*\n* @example\n* var bool = isOdd( new Number( -5.0 ) );\n* // returns false\n*/\nfunction isOdd( value ) {\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\t// Check sign to prevent overflow...\n\tif ( value > 0.0 ) {\n\t\treturn isEven( value-1.0 );\n\t}\n\treturn isEven( value+1.0 );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isOdd;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\nvar isEven = require( './../../is-even' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object that has an odd number value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object that has an odd number value\n*\n* @example\n* var bool = isOdd( 5.0 );\n* // returns false\n*\n* @example\n* var bool = isOdd( new Number( 5.0 ) );\n* // returns true\n*/\nfunction isOdd( value ) {\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\t// Check sign to prevent overflow...\n\tif ( value > 0.0 ) {\n\t\treturn isEven( value-1.0 );\n\t}\n\treturn isEven( value+1.0 );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isOdd;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an odd number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an odd number.\n*\n* @example\n* var bool = isOdd( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isOdd( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isOdd( 4.0 );\n* // returns false\n*\n* @example\n* var bool = isOdd( new Number( 4.0 ) );\n* // returns false\n*\n* @example\n* var bool = isOdd( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isOdd( null );\n* // returns false\n*/\nfunction isOdd( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isOdd;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an odd number.\n*\n* @module @stdlib/assert/is-odd\n*\n* @example\n* var isOdd = require( '@stdlib/assert/is-odd' );\n*\n* var bool = isOdd( 5.0 );\n* // returns true\n*\n* bool = isOdd( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isOdd( 4.0 );\n* // returns false\n*\n* bool = isOdd( new Number( 4.0 ) );\n* // returns false\n*\n* bool = isOdd( -3.14 );\n* // returns false\n*\n* bool = isOdd( null );\n* // returns false\n*\n* @example\n* var isOdd = require( '@stdlib/assert/is-odd' ).isPrimitive;\n*\n* var bool = isOdd( -5.0 );\n* // returns true\n*\n* bool = isOdd( new Number( -5.0 ) );\n* // returns false\n*\n* @example\n* var isOdd = require( '@stdlib/assert/is-odd' ).isObject;\n*\n* var bool = isOdd( 5.0 );\n* // returns false\n*\n* bool = isOdd( new Number( 5.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/*\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar pascalcase = require( '@stdlib/string/base/pascalcase' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string in Pascal case.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a string in Pascal case\n*\n* @example\n* var bool = isPascalcase( 'HelloWorld' );\n* // returns true\n*\n* @example\n* var bool = isPascalcase( 'helloWorld' );\n* // returns false\n*\n* @example\n* var bool = isPascalcase( 'HELLO_WORLD' );\n* // returns false\n*\n* @example\n* var bool = isPascalcase( null );\n* // returns false\n*/\nfunction isPascalcase( value ) {\n\treturn ( isString( value ) && pascalcase( value ) === value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPascalcase;\n", "/*\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string in Pascal case.\n*\n* @module @stdlib/assert/is-pascalcase\n*\n* @example\n* var isPascalcase = require( '@stdlib/assert/is-pascalcase' );\n*\n* var bool = isPascalcase( 'HelloWorld' );\n* // returns true\n*\n* bool = isPascalcase( 'Hello World' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isSquareMatrix = require( './../../is-square-matrix' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a persymmetric matrix.\n*\n* ## Notes\n*\n* - The implementation must rely on manually checking that \\\\(M_{ij} = M_{N-j-1,N-i-1}\\\\), and, while element access is deterministic, no way exists to prevent cache misses outside of reordering the underlying matrix elements, thus incurring a larger performance penalty than just \"jumping around\" in a single pass.\n* - Worst case scenario: O(N^2).\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a persymmetric matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 1, 2, 3, 1 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isPersymmetricMatrix( arr );\n* // returns true\n*\n* bool = isPersymmetricMatrix( [] );\n* // returns false\n*/\nfunction isPersymmetricMatrix( v ) {\n\tvar M;\n\tvar n;\n\tvar i;\n\tvar j;\n\tif ( !isSquareMatrix( v ) ) {\n\t\treturn false;\n\t}\n\tM = v.shape[ 0 ] - 1;\n\tfor ( i = 0; i < M; i++ ) {\n\t\tn = M - i;\n\t\tfor ( j = 0; j < n; j++ ) {\n\t\t\tif ( v.get( i, j ) !== v.get( M-j, n ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPersymmetricMatrix;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a persymmetric matrix.\n*\n* @module @stdlib/assert/is-persymmetric-matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isPersymmetricMatrix = require( '@stdlib/assert/is-persymmetric-matrix' );\n*\n* var arr = ndarray( 'generic', [ 1, 2, 3, 1 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isPersymmetricMatrix( arr );\n* // returns true\n*\n* bool = isPersymmetricMatrix( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isPlainObject = require( './../../is-plain-object' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array-like object containing only plain objects.\n*\n* @name isPlainObjectArray\n* @type {Function}\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether an input value is an array-like object containing only plain objects\n*\n* @example\n* var bool = isPlainObjectArray( [ {}, { 'beep': 'boop' } ] );\n* // returns true\n*\n* bool = isPlainObjectArray( [ {}, new Number(3.0) ] );\n* // returns false\n*\n* bool = isPlainObjectArray( [ {}, '3.0' ] );\n* // returns false\n*/\nvar isPlainObjectArray = arrayfun( isPlainObject );\n\n\n// EXPORTS //\n\nmodule.exports = isPlainObjectArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only plain objects.\n*\n* @module @stdlib/assert/is-plain-object-array\n*\n* @example\n* var isPlainObjectArray = require( '@stdlib/assert/is-plain-object-array' );\n*\n* var bool = isPlainObjectArray( [ {}, { 'beep': 'boop' } ] );\n* // returns true\n*\n* bool = isPlainObjectArray( [ {}, new Number(3.0) ] );\n* // returns false\n*\n* bool = isPlainObjectArray( [ {}, '3.0' ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a positive integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a positive integer value\n*\n* @example\n* var bool = isPositiveInteger( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isPositiveInteger( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isPositiveInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue > 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a positive integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a positive integer value\n*\n* @example\n* var bool = isPositiveInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isPositiveInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isPositiveInteger( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue.valueOf() > 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a positive integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a positive integer\n*\n* @example\n* var bool = isPositiveInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isPositiveInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isPositiveInteger( 0.0 );\n* // returns false\n*\n* @example\n* var bool = isPositiveInteger( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isPositiveInteger( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isPositiveInteger( null );\n* // returns false\n*/\nfunction isPositiveInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a positive integer.\n*\n* @module @stdlib/assert/is-positive-integer\n*\n* @example\n* var isPositiveInteger = require( '@stdlib/assert/is-positive-integer' );\n*\n* var bool = isPositiveInteger( 5.0 );\n* // returns true\n*\n* bool = isPositiveInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isPositiveInteger( -5.0 );\n* // returns false\n*\n* bool = isPositiveInteger( 3.14 );\n* // returns false\n*\n* bool = isPositiveInteger( null );\n* // returns false\n*\n* @example\n* var isPositiveInteger = require( '@stdlib/assert/is-positive-integer' ).isPrimitive;\n*\n* var bool = isPositiveInteger( 3.0 );\n* // returns true\n*\n* bool = isPositiveInteger( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* var isPositiveInteger = require( '@stdlib/assert/is-positive-integer' ).isObject;\n*\n* var bool = isPositiveInteger( 3.0 );\n* // returns false\n*\n* bool = isPositiveInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only positive integers.\n*\n* @module @stdlib/assert/is-positive-integer-array\n*\n* @example\n* var isPositiveIntegerArray = require( '@stdlib/assert/is-positive-integer-array' );\n*\n* var bool = isPositiveIntegerArray( [ 3.0, new Number(3.0) ] );\n* // returns true\n*\n* bool = isPositiveIntegerArray( [ 3.0, '3.0' ] );\n* // returns false\n*\n* @example\n* var isPositiveIntegerArray = require( '@stdlib/assert/is-positive-integer-array' ).primitives;\n*\n* var bool = isPositiveIntegerArray( [ 1.0, 2.0, 10.0 ] );\n* // returns true\n*\n* bool = isPositiveIntegerArray( [ 3.0, new Number(1.0) ] );\n* // returns false\n*\n* @example\n* var isPositiveIntegerArray = require( '@stdlib/assert/is-positive-integer-array' ).objects;\n*\n* var bool = isPositiveIntegerArray( [ new Number(3.0), new Number(1.0) ] );\n* // returns true\n*\n* bool = isPositiveIntegerArray( [ 1.0, 2.0, 10.0 ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isPositiveInteger = require( './../../is-positive-integer' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isPositiveInteger.isPrimitive );\nvar isObjectArray = arrayfun( isPositiveInteger.isObject );\n\n\n// MAIN //\n\nvar isPositiveIntegerArray = arrayfun( isPositiveInteger );\nsetReadOnly( isPositiveIntegerArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isPositiveIntegerArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveIntegerArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a positive value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a positive value\n*\n* @example\n* var bool = isPositiveNumber( 3.0 );\n* // returns true\n*\n* @example\n* var bool = isPositiveNumber( new Number( 3.0 ) );\n* // returns false\n*/\nfunction isPositiveNumber( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue > 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a positive value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a positive value\n*\n* @example\n* var bool = isPositiveNumber( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isPositiveNumber( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isPositiveNumber( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue.valueOf() > 0.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a positive number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a positive number\n*\n* @example\n* var bool = isPositiveNumber( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isPositiveNumber( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isPositiveNumber( 3.14 );\n* // returns true\n*\n* @example\n* var bool = isPositiveNumber( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isPositiveNumber( null );\n* // returns false\n*/\nfunction isPositiveNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a positive number.\n*\n* @module @stdlib/assert/is-positive-number\n*\n* @example\n* var isPositiveNumber = require( '@stdlib/assert/is-positive-number' );\n*\n* var bool = isPositiveNumber( 5.0 );\n* // returns true\n*\n* bool = isPositiveNumber( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isPositiveNumber( 3.14 );\n* // returns true\n*\n* bool = isPositiveNumber( -5.0 );\n* // returns false\n*\n* bool = isPositiveNumber( null );\n* // returns false\n*\n* @example\n* var isPositiveNumber = require( '@stdlib/assert/is-positive-number' ).isPrimitive;\n*\n* var bool = isPositiveNumber( 3.0 );\n* // returns true\n*\n* bool = isPositiveNumber( new Number( 3.0 ) );\n* // returns false\n*\n* @example\n* var isPositiveNumber = require( '@stdlib/assert/is-positive-number' ).isObject;\n*\n* var bool = isPositiveNumber( 3.0 );\n* // returns false\n*\n* bool = isPositiveNumber( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only positive numbers.\n*\n* @module @stdlib/assert/is-positive-number-array\n*\n* @example\n* var isPositiveNumberArray = require( '@stdlib/assert/is-positive-number-array' );\n*\n* var bool = isPositiveNumberArray( [ 3.0, new Number(3.0) ] );\n* // returns true\n*\n* bool = isPositiveNumberArray( [ 3.0, '3.0' ] );\n* // returns false\n*\n* @example\n* var isPositiveNumberArray = require( '@stdlib/assert/is-positive-number-array' ).primitives;\n*\n* var bool = isPositiveNumberArray( [ 1.0, 5.0, 10.0 ] );\n* // returns true\n*\n* bool = isPositiveNumberArray( [ 3.0, new Number(1.0) ] );\n* // returns false\n*\n* @example\n* var isPositiveNumberArray = require( '@stdlib/assert/is-positive-number-array' ).objects;\n*\n* var bool = isPositiveNumberArray( [ new Number(3.0), new Number(1.0) ] );\n* // returns true\n*\n* bool = isPositiveNumberArray( [ 1.0, 5.0, 10.0 ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isPositiveNumber = require( './../../is-positive-number' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isPositiveNumber.isPrimitive );\nvar isObjectArray = arrayfun( isPositiveNumber.isObject );\n\n\n// MAIN //\n\nvar isPositiveNumberArray = arrayfun( isPositiveNumber );\nsetReadOnly( isPositiveNumberArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isPositiveNumberArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveNumberArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar PINF = require( '@stdlib/constants/float64/pinf' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive equal to positive zero.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive equal to positive zero\n*\n* @example\n* var bool = isPositiveZero( 0.0 );\n* // returns true\n*\n* @example\n* var bool = isPositiveZero( new Number( 0.0 ) );\n* // returns false\n*/\nfunction isPositiveZero( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\t( 1.0 / value ) === PINF\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveZero;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\nvar PINF = require( '@stdlib/constants/float64/pinf' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value equal to positive zero.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value equal to positive zero\n*\n* @example\n* var bool = isPositiveZero( 0.0 );\n* // returns false\n*\n* @example\n* var bool = isPositiveZero( new Number( 0.0 ) );\n* // returns true\n*/\nfunction isPositiveZero( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\t( 1.0 / value.valueOf() ) === PINF\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveZero;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is equal to positive zero.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is equal to positive zero\n*\n* @example\n* var bool = isPositiveZero( 0.0 );\n* // returns true\n*\n* @example\n* var bool = isPositiveZero( new Number( 0.0 ) );\n* // returns true\n*\n* @example\n* var bool = isPositiveZero( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isPositiveZero( 5.0 );\n* // returns false\n*\n* @example\n* var bool = isPositiveZero( -0.0 );\n* // returns false\n*\n* @example\n* var bool = isPositiveZero( null );\n* // returns false\n*/\nfunction isPositiveZero( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPositiveZero;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is equal to positive zero.\n*\n* @module @stdlib/assert/is-positive-zero\n*\n* @example\n* var isPositiveZero = require( '@stdlib/assert/is-positive-zero' );\n*\n* var bool = isPositiveZero( 0.0 );\n* // returns true\n*\n* bool = isPositiveZero( new Number( 0.0 ) );\n* // returns true\n*\n* bool = isPositiveZero( -3.14 );\n* // returns false\n*\n* bool = isPositiveZero( 5.0 );\n* // returns false\n*\n* bool = isPositiveZero( -0.0 );\n* // returns false\n*\n* bool = isPositiveZero( null );\n* // returns false\n*\n* @example\n* var isPositiveZero = require( '@stdlib/assert/is-positive-zero' ).isPrimitive;\n*\n* var bool = isPositiveZero( 0.0 );\n* // returns true\n*\n* bool = isPositiveZero( new Number( 0.0 ) );\n* // returns false\n*\n* @example\n* var isPositiveZero = require( '@stdlib/assert/is-positive-zero' ).isObject;\n*\n* var bool = isPositiveZero( 0.0 );\n* // returns false\n*\n* bool = isPositiveZero( new Number( 0.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar isprime = require( '@stdlib/math/base/assert/is-prime' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a value which is a prime number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a value which is a prime number\n*\n* @example\n* var bool = isPrime( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isPrime( new Number( 5.0 ) );\n* // returns false\n*/\nfunction isPrime( value ) {\n\tif ( !isNumber( value ) ) {\n\t\treturn false;\n\t}\n\treturn isprime( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPrime;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\nvar isprime = require( '@stdlib/math/base/assert/is-prime' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value which is a prime number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value which is a prime number\n*\n* @example\n* var bool = isPrime( 5.0 );\n* // returns false\n*\n* @example\n* var bool = isPrime( new Number( 5.0 ) );\n* // returns true\n*/\nfunction isPrime( value ) {\n\tif ( !isNumber( value ) ) {\n\t\treturn false;\n\t}\n\treturn isprime( value.valueOf() );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPrime;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a prime number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a prime number\n*\n* @example\n* var bool = isPrime( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isPrime( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isPrime( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isPrime( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isPrime( null );\n* // returns false\n*/\nfunction isPrime( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPrime;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a prime number.\n*\n* @module @stdlib/assert/is-prime\n*\n* @example\n* var isPrime = require( '@stdlib/assert/is-prime' );\n*\n* var bool = isPrime( 5.0 );\n* // returns true\n*\n* bool = isPrime( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isPrime( 3.14 );\n* // returns false\n*\n* bool = isPrime( -5.0 );\n* // returns false\n*\n* bool = isPrime( null );\n* // returns false\n*\n* @example\n* var isPrime = require( '@stdlib/assert/is-prime' ).isPrimitive;\n*\n* var bool = isPrime( 5.0 );\n* // returns true\n*\n* bool = isPrime( new Number( 5.0 ) );\n* // returns false\n*\n* @example\n* var isPrime = require( '@stdlib/assert/is-prime' ).isObject;\n*\n* var bool = isPrime( 5.0 );\n* // returns false\n*\n* bool = isPrime( new Number( 5.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isPrimitive = require( './../../is-primitive' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array-like object containing only JavaScript primitives.\n*\n* @name isPrimitiveArray\n* @type {Function}\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether an input value is an array-like object containing only JavaScript primitives\n*\n* @example\n* var bool = isPrimitiveArray( [ '3', 2, null ] );\n* // returns true\n*\n* bool = isPrimitiveArray( [ {}, 2, 1 ] );\n* // returns false\n*\n* bool = isPrimitiveArray( [ new String('abc'), '3.0' ] );\n* // returns false\n*/\nvar isPrimitiveArray = arrayfun( isPrimitive );\n\n\n// EXPORTS //\n\nmodule.exports = isPrimitiveArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only JavaScript primitives.\n*\n* @module @stdlib/assert/is-primitive-array\n*\n* @example\n* var isPrimitiveArray = require( '@stdlib/assert/is-primitive-array' );\n*\n* var bool = isPrimitiveArray( [ '3', 2, null ] );\n* // returns true\n*\n* bool = isPrimitiveArray( [ {}, 2, 1 ] );\n* // returns false\n*\n* bool = isPrimitiveArray( [ new String('abc'), '3.0' ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFunction = require( './../../is-function' );\nvar hasOwnProp = require( './../../has-own-property' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is PRNG-like.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is PRNG-like\n*\n* @example\n* var randu = require( '@stdlib/random/base/randu' );\n*\n* var bool = isPRNGLike( randu );\n* // returns true\n*\n* bool = isPRNGLike( [] );\n* // returns false\n*/\nfunction isPRNGLike( v ) {\n\treturn (\n\t\tisFunction( v ) &&\n\t\ttypeof v.NAME === 'string' &&\n\t\thasOwnProp( v, 'state' ) &&\n\t\thasOwnProp( v, 'seed' )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPRNGLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is PRNG-like.\n*\n* @module @stdlib/assert/is-prng-like\n*\n* @example\n* var randu = require( '@stdlib/random/base/randu' );\n* var isPRNGLike = require( '@stdlib/assert/is-prng-like' );\n*\n* var bool = isPRNGLike( randu );\n* // returns true\n*\n* bool = isPRNGLike( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a value which is a probability.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a value which is a probability\n*\n* @example\n* var bool = isProbability( 0.66 );\n* // returns true\n*\n* @example\n* var bool = isProbability( new Number( 0.66 ) );\n* // returns false\n*/\nfunction isProbability( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue >= 0.0 &&\n\t\tvalue <= 1.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isProbability;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value which is a probability.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value which is a probability\n*\n* @example\n* var bool = isProbability( 0.5 );\n* // returns false\n*\n* @example\n* var bool = isProbability( new Number( 0.5 ) );\n* // returns true\n*/\nfunction isProbability( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tvalue.valueOf() >= 0.0 &&\n\t\tvalue.valueOf() <= 1.0\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isProbability;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a probability.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a probability\n*\n* @example\n* var bool = isProbability( 0.5 );\n* // returns true\n*\n* @example\n* var bool = isProbability( new Number( 0.5 ) );\n* // returns true\n*\n* @example\n* var bool = isProbability( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isProbability( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isProbability( null );\n* // returns false\n*/\nfunction isProbability( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isProbability;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a probability.\n*\n* @module @stdlib/assert/is-probability\n*\n* @example\n* var isProbability = require( '@stdlib/assert/is-probability' );\n*\n* var bool = isProbability( 0.5 );\n* // returns true\n*\n* bool = isProbability( new Number( 0.5 ) );\n* // returns true\n*\n* bool = isProbability( 3.14 );\n* // returns false\n*\n* bool = isProbability( -5.0 );\n* // returns false\n*\n* bool = isProbability( null );\n* // returns false\n*\n* @example\n* var isProbability = require( '@stdlib/assert/is-probability' ).isPrimitive;\n*\n* var bool = isProbability( 0.3 );\n* // returns true\n*\n* bool = isProbability( new Number( 0.3 ) );\n* // returns false\n*\n* @example\n* var isProbability = require( '@stdlib/assert/is-probability' ).isObject;\n*\n* var bool = isProbability( 0.77 );\n* // returns false\n*\n* bool = isProbability( new Number( 0.77 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only probabilities.\n*\n* @module @stdlib/assert/is-probability-array\n*\n* @example\n* var isNonNegativeNumberArray = require( '@stdlib/assert/is-probability-array' );\n*\n* var bool = isProbabilityArray( [ 0.5, new Number(0.8) ] );\n* // returns true\n*\n* bool = isProbabilityArray( [ 0.8, 1.2 ] );\n* // returns false\n*\n* bool = isProbabilityArray( [ 0.8, '0.2' ] );\n* // returns false\n*\n* @example\n* var isProbabilityArray = require( '@stdlib/assert/is-probability-array' ).primitives;\n*\n* var bool = isProbabilityArray( [ 1.0, 0.0, 0.5 ] );\n* // returns true\n*\n* bool = isProbabilityArray( [ 0.3, new Number(0.4) ] );\n* // returns false\n*\n* @example\n* var isProbabilityArray = require( '@stdlib/assert/is-probability-array' ).objects;\n*\n* var bool = isProbabilityArray( [ new Number(0.7), new Number(1.0) ] );\n* // returns true\n*\n* bool = isProbabilityArray( [ 1.0, 0.0, new Number(0.7) ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar isProbability = require( './../../is-probability' );\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isProbability.isPrimitive );\nvar isObjectArray = arrayfun( isProbability.isObject );\n\n\n// MAIN //\n\nvar isProbabilityArray = arrayfun( isProbability );\nsetReadOnly( isProbabilityArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isProbabilityArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isProbabilityArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isSymbol = require( './../../is-symbol' ).isPrimitive;\nvar isNonNegativeInteger = require( './../../is-nonnegative-integer' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests whether a value is a property key.\n*\n* ## Notes\n*\n* - A property key is either a string, symbol, or a nonnegative integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a property key\n*\n* @example\n* var bool = isPropertyKey( 'beep' );\n* // returns true\n*\n* @example\n* var bool = isPropertyKey( 37 );\n* // returns true\n*\n* @example\n* var bool = isPropertyKey( {} );\n* // returns false\n*\n* @example\n* var bool = isPropertyKey( [] );\n* // returns false\n*/\nfunction isPropertyKey( value ) {\n\treturn (\n\t\tisString( value ) ||\n\t\tisSymbol( value ) ||\n\t\tisNonNegativeInteger( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPropertyKey;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a value is a property key.\n*\n* @module @stdlib/assert/is-property-key\n*\n* @example\n* var isPropertyKey = require( '@stdlib/assert/is-property-key' );\n*\n* var bool = isPropertyKey( 'beep' );\n* // returns true\n*\n* bool = isPropertyKey( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar isProtoOf = Object.prototype.isPrototypeOf;\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's prototype chain contains a provided prototype.\n*\n* @param {*} value - value to test\n* @param {(Object|Function)} proto - prototype\n* @throws {TypeError} second argument must be an object and not null\n* @returns {boolean} boolean indicating if a provided prototype exists in a prototype chain\n*\n* @example\n* var inherit = require( '@stdlib/utils/inherit' );\n*\n* function Foo() {\n* return this;\n* }\n*\n* function Bar() {\n* return this;\n* }\n* inherit( Bar, Foo );\n*\n* var bar = new Bar();\n*\n* var bool = isPrototypeOf( bar, Foo.prototype );\n* // returns true\n*/\nfunction isPrototypeOf( value, proto ) { // eslint-disable-line stdlib/no-redeclare\n\tvar type = typeof proto;\n\tif (\n\t\tproto === null ||\n\t\t(type !== 'object' && type !== 'function')\n\t) {\n\t\tthrow new TypeError( format( 'invalid argument. Second argument must be either an object (except null) or a function. Value: `%s`.', proto ) );\n\t}\n\ttype = typeof value;\n\tif (\n\t\tvalue === null ||\n\t\t(type !== 'object' && type !== 'function')\n\t) {\n\t\treturn false;\n\t}\n\treturn isProtoOf.call( proto, value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isPrototypeOf;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if an object's prototype chain contains a provided prototype.\n*\n* @module @stdlib/assert/is-prototype-of\n*\n* @example\n* var inherit = require( '@stdlib/utils/inherit' );\n* var isPrototypeOf = require( '@stdlib/assert/is-prototype-of' );\n*\n* function Foo() {\n* return this;\n* }\n*\n* function Bar() {\n* return this;\n* }\n* inherit( Bar, Foo );\n*\n* var bar = new Bar();\n*\n* var bool = isPrototypeOf( bar, Foo.prototype );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar typeOf = require( '@stdlib/utils/type-of' );\nvar isError = require( './../../is-error' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a `RangeError` object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a `RangeError` object\n*\n* @example\n* var bool = isRangeError( new RangeError( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isRangeError( {} );\n* // returns false\n*/\nfunction isRangeError( value ) {\n\tif ( typeof value !== 'object' || value === null ) {\n\t\treturn false;\n\t}\n\t// Check for `RangeError` objects from the same realm (same Node.js `vm` or same `Window` object)...\n\tif ( value instanceof RangeError ) {\n\t\treturn true;\n\t}\n\t// All `RangeError` objects are `Error` objects...\n\tif ( isError( value ) ) {\n\t\t// Walk the prototype tree until we find the desired constructor...\n\t\twhile ( value ) {\n\t\t\tif ( typeOf( value ) === 'rangeerror' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tvalue = getPrototypeOf( value );\n\t\t}\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isRangeError;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a `RangeError` object.\n*\n* @module @stdlib/assert/is-range-error\n*\n* @example\n* var isRangeError = require( '@stdlib/assert/is-range-error' );\n*\n* var bool = isRangeError( new RangeError( 'beep' ) );\n* // returns true\n*\n* bool = isRangeError( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptor = require( '@stdlib/utils/property-descriptor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property is read-only.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is read-only\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': false,\n* 'value': true\n* });\n*\n* var bool = isReadOnlyProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isReadOnlyProperty( obj, 'beep' );\n* // returns true\n*/\nfunction isReadOnlyProperty( value, property ) {\n\tvar desc = propertyDescriptor( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\tdesc.configurable === false &&\n\t\t(\n\t\t\t// Data descriptor:\n\t\t\tdesc.writable === false ||\n\n\t\t\t// Accessor descriptor:\n\t\t\t(\n\t\t\t\ttypeof desc.get === 'function' &&\n\t\t\t\tdesc.set === void 0\n\t\t\t)\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isReadOnlyProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property is read-only.\n*\n* @module @stdlib/assert/is-read-only-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isReadOnlyProperty = require( '@stdlib/assert/is-read-only-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': false,\n* 'value': true\n* });\n*\n* var bool = isReadOnlyProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isReadOnlyProperty( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property is read-only.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is read-only\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': false,\n* 'value': true\n* });\n*\n* var bool = isReadOnlyPropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isReadOnlyPropertyIn( obj, 'beep' );\n* // returns true\n*/\nfunction isReadOnlyPropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\tdesc.configurable === false &&\n\t\t(\n\t\t\t// Data descriptor:\n\t\t\tdesc.writable === false ||\n\n\t\t\t// Accessor descriptor:\n\t\t\t(\n\t\t\t\ttypeof desc.get === 'function' &&\n\t\t\t\tdesc.set === void 0\n\t\t\t)\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isReadOnlyPropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property is read-only.\n*\n* @module @stdlib/assert/is-read-only-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isReadOnlyPropertyIn = require( '@stdlib/assert/is-read-only-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'writable': false,\n* 'value': true\n* });\n*\n* var bool = isReadOnlyPropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isReadOnlyPropertyIn( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptor = require( '@stdlib/utils/property-descriptor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property is readable and writable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is readable and writable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'set': setter\n* });\n*\n* var bool = isReadWriteProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isReadWriteProperty( obj, 'beep' );\n* // returns false\n*/\nfunction isReadWriteProperty( value, property ) {\n\tvar desc = propertyDescriptor( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\t(\n\t\t\t// Data descriptor:\n\t\t\tdesc.writable === true ||\n\n\t\t\t// Accessor descriptor:\n\t\t\t(\n\t\t\t\ttypeof desc.get === 'function' &&\n\t\t\t\ttypeof desc.set === 'function'\n\t\t\t)\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isReadWriteProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property is readable and writable.\n*\n* @module @stdlib/assert/is-read-write-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isReadWriteProperty = require( '@stdlib/assert/is-read-write-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'set': setter\n* });\n*\n* var bool = isReadWriteProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isReadWriteProperty( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property is readable and writable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is readable and writable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'set': setter\n* });\n*\n* var bool = isReadWritePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isReadWritePropertyIn( obj, 'beep' );\n* // returns false\n*/\nfunction isReadWritePropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\t(\n\t\t\t// Data descriptor:\n\t\t\tdesc.writable === true ||\n\n\t\t\t// Accessor descriptor:\n\t\t\t(\n\t\t\t\ttypeof desc.get === 'function' &&\n\t\t\t\ttypeof desc.set === 'function'\n\t\t\t)\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isReadWritePropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property is readable and writable.\n*\n* @module @stdlib/assert/is-read-write-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isReadWritePropertyIn = require( '@stdlib/assert/is-read-write-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'set': setter\n* });\n*\n* var bool = isReadWritePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isReadWritePropertyIn( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptor = require( '@stdlib/utils/property-descriptor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property is readable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is readable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'set': setter\n* });\n*\n* var bool = isReadableProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isReadableProperty( obj, 'beep' );\n* // returns false\n*/\nfunction isReadableProperty( value, property ) {\n\tvar desc = propertyDescriptor( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\t(\n\t\t\tdesc.writable !== void 0 || // data descriptor\n\t\t\ttypeof desc.get === 'function' // accessor descriptor\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isReadableProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property is readable.\n*\n* @module @stdlib/assert/is-readable-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isReadableProperty = require( '@stdlib/assert/is-readable-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'set': setter\n* });\n*\n* var bool = isReadableProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isReadableProperty( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property is readable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is readable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'set': setter\n* });\n*\n* var bool = isReadablePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isReadablePropertyIn( obj, 'beep' );\n* // returns false\n*/\nfunction isReadablePropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\t(\n\t\t\tdesc.writable !== void 0 || // data descriptor\n\t\t\ttypeof desc.get === 'function' // accessor descriptor\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isReadablePropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property is readable.\n*\n* @module @stdlib/assert/is-readable-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isReadablePropertyIn = require( '@stdlib/assert/is-readable-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'set': setter\n* });\n*\n* var bool = isReadablePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isReadablePropertyIn( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar typeOf = require( '@stdlib/utils/type-of' );\nvar isError = require( './../../is-error' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a `ReferenceError` object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a `ReferenceError` object\n*\n* @example\n* var bool = isReferenceError( new ReferenceError( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isReferenceError( {} );\n* // returns false\n*/\nfunction isReferenceError( value ) {\n\tif ( typeof value !== 'object' || value === null ) {\n\t\treturn false;\n\t}\n\t// Check for `ReferenceError` objects from the same realm (same Node.js `vm` or same `Window` object)...\n\tif ( value instanceof ReferenceError ) {\n\t\treturn true;\n\t}\n\t// All `ReferenceError` objects are `Error` objects...\n\tif ( isError( value ) ) {\n\t\t// Walk the prototype tree until we find the desired constructor...\n\t\twhile ( value ) {\n\t\t\tif ( typeOf( value ) === 'referenceerror' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tvalue = getPrototypeOf( value );\n\t\t}\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isReferenceError;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a `ReferenceError` object.\n*\n* @module @stdlib/assert/is-reference-error\n*\n* @example\n* var isReferenceError = require( '@stdlib/assert/is-reference-error' );\n*\n* var bool = isReferenceError( new ReferenceError( 'beep' ) );\n* // returns true\n*\n* bool = isReferenceError( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar RE = require( '@stdlib/regexp/regexp' ).REGEXP;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a regular expression string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a regular expression string\n*\n* @example\n* var bool = isRegExpString( '/beep/' );\n* // returns true\n*\n* @example\n* var bool = isRegExpString( '/beep/gim' );\n* // returns true\n*\n* @example\n* var bool = isRegExpString( 'beep' );\n* // returns false\n*\n* @example\n* var bool = isRegExpString( '' );\n* // returns false\n*\n* @example\n* var bool = isRegExpString( null );\n* // returns false\n*/\nfunction isRegExpString( value ) {\n\treturn isString( value ) && RE.test( value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isRegExpString;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a regular expression string.\n*\n* @module @stdlib/assert/is-regexp-string\n*\n* @example\n* var isRegExpString = require( '@stdlib/assert/is-regexp-string' );\n*\n* var bool = isRegExpString( '/beep/' );\n* // returns true\n*\n* bool = isRegExpString( 'beep' );\n* // returns false\n*\n* bool = isRegExpString( '' );\n* // returns false\n*\n* bool = isRegExpString( null );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isAbsolutePath = require( './../../is-absolute-path' ).posix;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a POSIX relative path.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a POSIX relative path\n*\n* @example\n* var bool = isRelativePath( './foo/bar/baz' );\n* // returns true\n*\n* @example\n* var bool = isRelativePath( '/foo/../bar/baz' );\n* // returns false\n*/\nfunction isRelativePath( value ) {\n\treturn (\n\t\tisString( value ) &&\n\t\t!isAbsolutePath( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isRelativePath;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar isAbsolutePath = require( './../../is-absolute-path' ).win32;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Windows relative path.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a Windows relative path\n*\n* @example\n* var bool = isRelativePath( 'foo\\\\bar\\\\baz' );\n* // returns true\n*\n* @example\n* var bool = isRelativePath( 'C:\\\\foo\\\\..\\\\bar\\\\baz' );\n* // returns false\n*/\nfunction isRelativePath( value ) {\n\treturn (\n\t\tisString( value ) &&\n\t\t!isAbsolutePath( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isRelativePath;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a relative path.\n*\n* @module @stdlib/assert/is-relative-path\n*\n* @example\n* var IS_WINDOWS = require( '@stdlib/assert/is-windows' );\n* var isRelativePath = require( '@stdlib/assert/is-relative-path' );\n*\n* var bool;\n* if ( IS_WINDOWS ) {\n* bool = isRelativePath( 'foo\\\\bar\\\\baz' );\n* // returns true\n*\n* bool = isRelativePath( 'C:\\\\foo\\\\..\\\\bar\\\\baz' );\n* // returns false\n* } else {\n* bool = isRelativePath( './foo/bar/baz' );\n* // returns true\n*\n* bool = isRelativePath( '/foo/../bar/baz' );\n* // returns false\n* }\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar IS_WINDOWS = require( './../../is-windows' );\nvar isRelativePathPosix = require( './posix.js' );\nvar isRelativePathWin32 = require( './win32.js' );\n\n\n// MAIN //\n\nvar isRelativePath;\nif ( IS_WINDOWS ) {\n\tisRelativePath = isRelativePathWin32;\n} else {\n\tisRelativePath = isRelativePathPosix;\n}\nsetReadOnly( isRelativePath, 'posix', isRelativePathPosix );\nsetReadOnly( isRelativePath, 'win32', isRelativePathWin32 );\n\n\n// EXPORTS //\n\nmodule.exports = isRelativePath;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// VARIABLES //\n\n/**\n* Matches parts of a URI according to RFC 3986.\n*\n* ```text\n* : [ ? ] [ # ]\n* ```\n*\n* Regular expression: `/(?:([^:\\/?#]+):)?(?:\\/\\/([^\\/?#]*))?([^?#]*)(?:\\?[^#]*)?(?:#.*)?/`\n*\n* - `(?:([^:\\/?#]+):)`\n*\n* - match the scheme, including the `:`, but only capture the scheme name\n*\n* - `?`\n*\n* - match the scheme zero or one times\n*\n* - `(?:\\/\\/([^\\/?#]*))`\n*\n* - match the hierarchical part which is everything which is not a `/`, `#`, or `?`, but only capture whatever comes after the `//`\n*\n* - `?`\n*\n* - match the hierarchical part zero or one times\n*\n* - `([^?#]*)`\n*\n* - capture everything (the path) until meeting a `?` or `#`\n*\n* - `(?:\\?[^#]*)`\n*\n* - match, but don't capture, a query\n*\n* - `?`\n*\n* - match the query zero or one times\n*\n* - `(?:#.*)`\n*\n* - match, but don't capture, a fragment\n*\n* - `?`\n*\n* - match the fragment zero or one times\n*\n* @private\n* @constant\n* @type {RegExp}\n* @default /(?:([^:\\/?#]+):)?(?:\\/\\/([^\\/?#]*))?([^?#]*)(?:\\?[^#]*)?(?:#.*)?/\n*/\nvar RE_URI = /(?:([^:\\/?#]+):)?(?:\\/\\/([^\\/?#]*))?([^?#]*)(?:\\?[^#]*)?(?:#.*)?/; // eslint-disable-line no-useless-escape\n\n// Illegal characters (anything which is not in between the square brackets):\nvar RE_ILLEGALS = /[^a-z0-9:\\/?#\\[\\]@!$&'()*+,;=.\\-_~%]/i; // eslint-disable-line no-useless-escape\n\n// Incomplete HEX escapes:\nvar RE_HEX1 = /%[^0-9a-f]/i;\nvar RE_HEX2 = /%[0-9a-f](:?[^0-9a-f]|$)/i;\n\n// If authority is not present, path must not begin with '//'\nvar RE_PATH = /^\\/\\//;\n\n// Scheme must begin with a letter, then consist of letters, digits, '+', '.', or '-' => e.g., 'http', 'https', 'ftp'\nvar RE_SCHEME = /^[a-z][a-z0-9+\\-.]*$/;\n\n\n// MAIN //\n\n/**\n* Tests whether a value is a relative URI.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a relative URI\n*\n* @example\n* var bool = isRelativeURI( './beep/boop' );\n* // returns true\n*\n* @example\n* var bool = isRelativeURI( '/dashboard/admin' );\n* // returns true\n*\n* @example\n* var bool = isRelativeURI( 'https://wikipedia.org' );\n* // returns false\n*\n* @example\n* var bool = isRelativeURI( null );\n* // returns false\n*/\nfunction isRelativeURI( value ) {\n\tvar authority;\n\tvar scheme;\n\tvar parts;\n\tvar path;\n\tif ( !isString( value ) ) {\n\t\treturn false;\n\t}\n\t// Check for illegal characters:\n\tif ( RE_ILLEGALS.test( value ) ) {\n\t\treturn false;\n\t}\n\t// Check for incomplete HEX escapes:\n\tif (\n\t\tRE_HEX1.test( value ) ||\n\t\tRE_HEX2.test( value )\n\t) {\n\t\treturn false;\n\t}\n\t// Split the string into various URI components:\n\tparts = value.match( RE_URI );\n\tscheme = parts[ 1 ];\n\tauthority = parts[ 2 ];\n\tpath = parts[ 3 ];\n\n\tif (\n\t\t!scheme ||\n\t\t!scheme.length ||\n\t\t!RE_SCHEME.test( scheme.toLowerCase() )\n\t) {\n\t\treturn true;\n\t}\n\tif (\n\t\t!authority &&\n\t\tRE_PATH.test( path )\n\t) {\n\t\treturn true;\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isRelativeURI;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a value is a relative URI.\n*\n* @module @stdlib/assert/is-relative-uri\n*\n* @example\n* var isRelativeURI = require( '@stdlib/assert/is-relative-uri' );\n*\n* var bool = isRelativeURI( 'foo/bar' );\n* // returns true\n*\n* bool = isRelativeURI( 'https://example.com/' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar isSafeInt = require( '@stdlib/math/base/assert/is-safe-integer' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a safe integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a safe integer value\n*\n* @example\n* var bool = isSafeInteger( -3.0 );\n* // returns true\n*\n* @example\n* var bool = isSafeInteger( new Number( -3.0 ) );\n* // returns false\n*/\nfunction isSafeInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisSafeInt( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSafeInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( './../../is-number' ).isObject;\nvar isSafeInt = require( '@stdlib/math/base/assert/is-safe-integer' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a safe integer value.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a safe integer value\n*\n* @example\n* var bool = isSafeInteger( 3.0 );\n* // returns false\n*\n* @example\n* var bool = isSafeInteger( new Number( 3.0 ) );\n* // returns true\n*/\nfunction isSafeInteger( value ) {\n\treturn (\n\t\tisNumber( value ) &&\n\t\tisSafeInt( value.valueOf() )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSafeInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a safe integer.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a safe integer\n*\n* @example\n* var bool = isSafeInteger( 5.0 );\n* // returns true\n*\n* @example\n* var bool = isSafeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* @example\n* var bool = isSafeInteger( 2.0e300 );\n* // returns false\n*\n* @example\n* var bool = isSafeInteger( -3.14 );\n* // returns false\n*\n* @example\n* var bool = isSafeInteger( null );\n* // returns false\n*/\nfunction isSafeInteger( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSafeInteger;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a safe integer.\n*\n* @module @stdlib/assert/is-safe-integer\n*\n* @example\n* var isSafeInteger = require( '@stdlib/assert/is-safe-integer' );\n*\n* var bool = isSafeInteger( 5.0 );\n* // returns true\n*\n* bool = isSafeInteger( new Number( 5.0 ) );\n* // returns true\n*\n* bool = isSafeInteger( 2.0e200 );\n* // returns false\n*\n* bool = isSafeInteger( -3.14 );\n* // returns false\n*\n* bool = isSafeInteger( null );\n* // returns false\n*\n* @example\n* var isSafeInteger = require( '@stdlib/assert/is-safe-integer' ).isPrimitive;\n*\n* var bool = isSafeInteger( -3.0 );\n* // returns true\n*\n* bool = isSafeInteger( new Number( -3.0 ) );\n* // returns false\n*\n* @example\n* var isSafeInteger = require( '@stdlib/assert/is-safe-integer' ).isObject;\n*\n* var bool = isSafeInteger( 3.0 );\n* // returns false\n*\n* bool = isSafeInteger( new Number( 3.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only safe integers.\n*\n* @module @stdlib/assert/is-safe-integer-array\n*\n* @example\n* var isSafeIntegerArray = require( '@stdlib/assert/is-safe-integer-array' );\n*\n* var bool = isSafeIntegerArray( [ -3.0, new Number(0.0), 2.0 ] );\n* // returns true\n*\n* bool = isSafeIntegerArray( [ -3.0, '3.0' ] );\n* // returns false\n*\n* @example\n* var isSafeIntegerArray = require( '@stdlib/assert/is-safe-integer-array' ).primitives;\n*\n* var bool = isSafeIntegerArray( [ -1.0, 10.0 ] );\n* // returns true\n*\n* bool = isSafeIntegerArray( [ -1.0, 0.0, 5.0 ] );\n* // returns true\n*\n* bool = isSafeIntegerArray( [ -3.0, new Number(-1.0) ] );\n* // returns false\n*\n* @example\n* var isSafeIntegerArray = require( '@stdlib/assert/is-safe-integer-array' ).objects;\n*\n* var bool = isSafeIntegerArray( [ new Number(1.0), new Number(3.0) ] );\n* // returns true\n*\n* bool = isSafeIntegerArray( [ -1.0, 0.0, 3.0 ] );\n* // returns false\n*\n* bool = isSafeIntegerArray( [ 3.0, new Number(-1.0) ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isSafeInteger = require( './../../is-safe-integer' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isSafeInteger.isPrimitive );\nvar isObjectArray = arrayfun( isSafeInteger.isObject );\n\n\n// MAIN //\n\nvar isSafeIntegerArray = arrayfun( isSafeInteger );\nsetReadOnly( isSafeIntegerArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isSafeIntegerArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isSafeIntegerArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2024 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFloat32Array = require( './../../is-float32array' );\nvar hasSameValues = require( '@stdlib/array/base/assert/has-same-values' );\n\n\n// MAIN //\n\n/**\n* Tests if two arguments are both Float32Arrays and have the same values.\n*\n* @param {*} v1 - first value\n* @param {*} v2 - second value\n* @returns {boolean} boolean result\n*\n* @example\n* var Float32Array = require( '@stdlib/array/float32' );\n*\n* var x = new Float32Array( [ 1.0, 2.0, 3.0 ] );\n* var y = new Float32Array( [ 1.0, 2.0, 3.0 ] );\n*\n* var out = isSameFloat32Array( x, y );\n* // returns true\n*\n* @example\n* var Float32Array = require( '@stdlib/array/float32' );\n*\n* var x = new Float32Array( [ 1.0, 2.0, 3.0 ] );\n* var y = new Float32Array( [ 1.0, 2.0, 4.0 ] );\n*\n* var out = isSameFloat32Array( x, y );\n* // returns false\n*/\nfunction isSameFloat32Array( v1, v2 ) {\n\tif ( isFloat32Array( v1 ) && isFloat32Array( v2 ) ) {\n\t\treturn hasSameValues( v1, v2 );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSameFloat32Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2024 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if two arguments are both Float32Arrays and have the same values.\n*\n* @module @stdlib/assert/is-same-float32array\n*\n* @example\n* var Float32Array = require( '@stdlib/array/float32' );\n* var isSameFloat32Array = require( '@stdlib/assert/is-same-float32array' );\n*\n* var x = new Float32Array( [ 1.0, 2.0, 3.0 ] );\n* var y = new Float32Array( [ 1.0, 2.0, 3.0 ] );\n*\n* var out = isSameFloat32Array( x, y );\n* // returns true\n*\n* @example\n* var Float32Array = require( '@stdlib/array/float32' );\n* var isSameFloat32Array = require( '@stdlib/assert/is-same-float32array' );\n*\n* var x = new Float32Array( [ 1.0, 2.0, 3.0 ] );\n* var y = new Float32Array( [ 1.0, 2.0, 4.0 ] );\n*\n* var out = isSameFloat32Array( x, y );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2024 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isFloat64Array = require( './../../is-float64array' );\nvar hasSameValues = require( '@stdlib/array/base/assert/has-same-values' );\n\n\n// MAIN //\n\n/**\n* Tests if two arguments are both Float64Arrays and have the same values.\n*\n* @param {*} v1 - first value\n* @param {*} v2 - second value\n* @returns {boolean} boolean result\n*\n* @example\n* var Float64Array = require( '@stdlib/array/float64' );\n*\n* var x = new Float64Array( [ 1.0, 2.0, 3.0 ] );\n* var y = new Float64Array( [ 1.0, 2.0, 3.0 ] );\n*\n* var out = isSameFloat64Array( x, y );\n* // returns true\n*\n* @example\n* var Float64Array = require( '@stdlib/array/float64' );\n*\n* var x = new Float64Array( [ 1.0, 2.0, 3.0 ] );\n* var y = new Float64Array( [ 1.0, 2.0, 4.0 ] );\n*\n* var out = isSameFloat64Array( x, y );\n* // returns false\n*/\nfunction isSameFloat64Array( v1, v2 ) {\n\tif ( isFloat64Array( v1 ) && isFloat64Array( v2 ) ) {\n\t\treturn hasSameValues( v1, v2 );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSameFloat64Array;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2024 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if two arguments are both Float64Arrays and have the same values.\n*\n* @module @stdlib/assert/is-same-float64array\n*\n* @example\n* var Float64Array = require( '@stdlib/array/float64' );\n* var isSameFloat64Array = require( '@stdlib/assert/is-same-float64array' );\n*\n* var x = new Float64Array( [ 1.0, 2.0, 3.0 ] );\n* var y = new Float64Array( [ 1.0, 2.0, 3.0 ] );\n*\n* var out = isSameFloat64Array( x, y );\n* // returns true\n*\n* @example\n* var Float64Array = require( '@stdlib/array/float64' );\n* var isSameFloat64Array = require( '@stdlib/assert/is-same-float64array' );\n*\n* var x = new Float64Array( [ 1.0, 2.0, 3.0 ] );\n* var y = new Float64Array( [ 1.0, 2.0, 4.0 ] );\n*\n* var out = isSameFloat64Array( x, y );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar nativeClass = require( '@stdlib/utils/native-class' );\n\n\n// MAIN //\n\n/**\n* Tests if two arguments have the same native class.\n*\n* @param {*} a - first input value\n* @param {*} b - second input value\n* @returns {boolean} boolean indicating whether two arguments have the same native class\n*\n* @example\n* var bool = isSameNativeClass( 3.14, new Number( 3.14 ) );\n* // returns true\n*\n* @example\n* var bool = isSameNativeClass( 'beep', 'boop' );\n* // returns true\n*\n* @example\n* var bool = isSameNativeClass( [], {} );\n* // returns false\n*/\nfunction isSameNativeClass( a, b ) {\n\treturn ( nativeClass( a ) === nativeClass( b ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSameNativeClass;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if two arguments have the same native class.\n*\n* @module @stdlib/assert/is-same-native-class\n*\n* @example\n* var isSameNativeClass = require( '@stdlib/assert/is-same-native-class' );\n*\n* var bool = isSameNativeClass( 'beep', 'boop' );\n* // returns true\n*\n* bool = isSameNativeClass( [], {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if two arguments have the same type.\n*\n* ## Notes\n*\n* - The function uses the `typeof` operator to test for the same type.\n*\n* @param {*} a - first input value\n* @param {*} b - second input value\n* @returns {boolean} boolean indicating whether two arguments have the same type\n*\n* @example\n* var bool = isSameType( true, true );\n* // returns true\n*\n* @example\n* var bool = isSameType( 3.14, 3.14 );\n* // returns true\n*\n* @example\n* var bool = isSameType( {}, [] );\n* // returns true\n*\n* @example\n* var bool = isSameType( NaN, NaN );\n* // returns true\n*\n* @example\n* var bool = isSameType( 0.0, '0.0' );\n* // returns false\n*/\nfunction isSameType( a, b ) {\n\treturn ( typeof a ) === ( typeof b );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSameType;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if two arguments have the same type.\n*\n* @module @stdlib/assert/is-same-type\n*\n* @example\n* var isSameType = require( '@stdlib/assert/is-same-type' );\n*\n* var bool = isSameType( true, true );\n* // returns true\n*\n* bool = isSameType( 3.14, -3.14 );\n* // returns true\n*\n* bool = isSameType( {}, [] );\n* // returns true\n*\n* bool = isSameType( NaN, NaN );\n* // returns true\n*\n* bool = isSameType( '0.0', 0.0 );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isSameComplexValue = require( '@stdlib/complex/base/assert/is-same-value' );\nvar isComplexLike = require( './../../is-complex-like' );\n\n\n// MAIN //\n\n/**\n* Tests if two arguments are the same value.\n*\n* ## Notes\n*\n* - The function implements the [SameValue Algorithm][ecma-262-same-value-algorithm] (as specified in ECMAScript 5), with support for complex number objects.\n* - In contrast to the strict equality operator `===`, `-0` and `+0` are distinguishable and `NaNs` are the same.\n*\n* [ecma-262-same-value-algorithm]: http://ecma-international.org/ecma-262/5.1/#sec-9.12\n*\n* @param {*} a - first input value\n* @param {*} b - second input value\n* @returns {boolean} boolean indicating whether two arguments are the same value\n*\n* @example\n* var bool = isSameValue( true, true );\n* // returns true\n*\n* @example\n* var bool = isSameValue( 3.14, 3.14 );\n* // returns true\n*\n* @example\n* var bool = isSameValue( {}, {} );\n* // returns false\n*\n* @example\n* var bool = isSameValue( -0.0, -0.0 );\n* // returns true\n*\n* @example\n* var bool = isSameValue( -0.0, 0.0 );\n* // returns false\n*\n* @example\n* var bool = isSameValue( NaN, NaN );\n* // returns true\n*\n* @example\n* var bool = isSameValue( [], [] );\n* // returns false\n*/\nfunction isSameValue( a, b ) {\n\tif ( a === b ) {\n\t\tif ( a === 0.0 ) {\n\t\t\treturn 1.0 / a === 1.0 / b; // handles +-0\n\t\t}\n\t\treturn true;\n\t}\n\tif ( a !== a && b !== b ) { // handles NaNs\n\t\treturn true;\n\t}\n\tif ( isComplexLike( a ) && isComplexLike( b ) ) {\n\t\treturn isSameComplexValue( a, b );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSameValue;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if two arguments are the same value.\n*\n* @module @stdlib/assert/is-same-value\n*\n* @example\n* var isSameValue = require( '@stdlib/assert/is-same-value' );\n*\n* var bool = isSameValue( true, true );\n* // returns true\n*\n* bool = isSameValue( 3.14, 3.14 );\n* // returns true\n*\n* bool = isSameValue( {}, {} );\n* // returns false\n*\n* bool = isSameValue( -0.0, -0.0 );\n* // returns true\n*\n* bool = isSameValue( -0.0, 0.0 );\n* // returns false\n*\n* bool = isSameValue( NaN, NaN );\n* // returns true\n*\n* bool = isSameValue( [], [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isSameComplexValueZero = require( '@stdlib/complex/base/assert/is-same-value-zero' );\nvar isComplexLike = require( './../../is-complex-like' );\n\n\n// MAIN //\n\n/**\n* Tests if two arguments are the same value.\n*\n* ## Notes\n*\n* - The function implements the SameValueZero Algorithm used by `TypedArray` and `ArrayBuffer` constructors, `Map` and `Set` operations, `String.prototype.includes`, and `Array.prototype.includes` since ES2016, and includes support for complex number objects.\n* - In contrast to the strict equality operator `===`, `NaNs` are considered the same value.\n*\n* @param {*} a - first input value\n* @param {*} b - second input value\n* @returns {boolean} boolean indicating whether two arguments are the same value\n*\n* @example\n* var bool = isSameValueZero( true, true );\n* // returns true\n*\n* @example\n* var bool = isSameValueZero( 3.14, 3.14 );\n* // returns true\n*\n* @example\n* var bool = isSameValueZero( {}, {} );\n* // returns false\n*\n* @example\n* var bool = isSameValueZero( -0.0, -0.0 );\n* // returns true\n*\n* @example\n* var bool = isSameValueZero( -0.0, 0.0 );\n* // returns true\n*\n* @example\n* var bool = isSameValueZero( NaN, NaN );\n* // returns true\n*\n* @example\n* var bool = isSameValueZero( [], [] );\n* // returns false\n*/\nfunction isSameValueZero( a, b ) {\n\tif ( ( a === b ) || ( a !== a && b !== b ) ) { // handles NaNs\n\t\treturn true;\n\t}\n\tif ( isComplexLike( a ) && isComplexLike( b ) ) {\n\t\treturn isSameComplexValueZero( a, b );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSameValueZero;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if two arguments are the same value.\n*\n* @module @stdlib/assert/is-same-value-zero\n*\n* @example\n* var isSameValueZero = require( '@stdlib/assert/is-same-value-zero' );\n*\n* var bool = isSameValueZero( true, true );\n* // returns true\n*\n* bool = isSameValueZero( 3.14, 3.14 );\n* // returns true\n*\n* bool = isSameValueZero( {}, {} );\n* // returns false\n*\n* bool = isSameValueZero( -0.0, -0.0 );\n* // returns true\n*\n* bool = isSameValueZero( -0.0, 0.0 );\n* // returns true\n*\n* bool = isSameValueZero( NaN, NaN );\n* // returns true\n*\n* bool = isSameValueZero( [], [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar RE_SEMVER = require( '@stdlib/regexp/semver' ).REGEXP;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a semantic version string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a provided value is a semantic version string\n*\n* @example\n* var bool = isSemVer( '1.0.0' );\n* // returns true\n*\n* @example\n* var bool = isSemVer( '1.0.0-alpha.1' );\n* // returns true\n*\n* @example\n* var bool = isSemVer( '0.1' );\n* // returns false\n*\n* @example\n* var bool = isSemVer( null );\n* // returns false\n*/\nfunction isSemVer( value ) {\n\treturn ( isString( value ) && RE_SEMVER.test( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSemVer;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a semantic version string.\n*\n* @module @stdlib/assert/is-semver\n*\n* @example\n* var isSemVer = require( '@stdlib/assert/is-semver' );\n*\n* var bool = isSemVer( '0.0.2' );\n* // returns true\n*\n* bool = isSemVer( 'foo' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isSquareMatrix = require( './../../is-square-matrix' );\nvar floor = require( '@stdlib/math/base/special/floor' );\nvar isOdd = require( '@stdlib/math/base/assert/is-odd' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a skew-centrosymmetric matrix.\n*\n* ## Notes\n*\n* - The implementation must rely on manually checking that \\\\(M_{ij} = -M_{N-i-1,N-j-1}\\\\), and, while element access is deterministic, no way exists to prevent cache misses outside of reordering the underlying matrix elements, thus incurring a larger performance penalty than just \"jumping around\" in a single pass.\n* - Worst case scenario: O(N^2).\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a skew-centrosymmetric matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 2, 1, -1, -2 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSkewCentrosymmetricMatrix( arr );\n* // returns true\n*\n* bool = isSkewCentrosymmetricMatrix( [] );\n* // returns false\n*/\nfunction isSkewCentrosymmetricMatrix( v ) { // eslint-disable-line id-length\n\tvar m1;\n\tvar M;\n\tvar N;\n\tvar n;\n\tvar i;\n\tvar j;\n\tif ( !isSquareMatrix( v ) ) {\n\t\treturn false;\n\t}\n\tM = v.shape[ 0 ];\n\tN = floor( M/2.0 ); // corresponds to a row index + 1\n\tm1 = M - 1;\n\tfor ( i = 0; i < N; i++ ) {\n\t\tn = m1 - i;\n\t\tfor ( j = 0; j < M; j++ ) {\n\t\t\tif ( v.get( i, j ) !== -v.get( n, m1-j ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\tif ( isOdd( M ) ) {\n\t\t// Only need to examine the first half of the row (including the center element) due to symmetry...\n\t\tfor ( j = 0; j <= N; j++ ) {\n\t\t\tif ( v.get( i, j ) !== -v.get( N, m1-j ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSkewCentrosymmetricMatrix;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a skew-centrosymmetric matrix.\n*\n* @module @stdlib/assert/is-skew-centrosymmetric-matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isSkewCentrosymmetricMatrix = require( '@stdlib/assert/is-skew-centrosymmetric-matrix' );\n*\n* var arr = ndarray( 'generic', [ 2, 1, -1, -2 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSkewCentrosymmetricMatrix( arr );\n* // returns true\n*\n* bool = isSkewCentrosymmetricMatrix( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isSquareMatrix = require( './../../is-square-matrix' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a skew-persymmetric matrix.\n*\n* ## Notes\n*\n* - The implementation must rely on manually checking that \\\\(M_{ij} = -M_{N-j-1,N-i-1}\\\\), and, while element access is deterministic, no way exists to prevent cache misses outside of reordering the underlying matrix elements, thus incurring a larger performance penalty than just \"jumping around\" in a single pass.\n* - Worst case scenario: O(N^2).\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a skew-persymmetric matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 1, 0, 0, -1 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSkewPersymmetricMatrix( arr );\n* // returns true\n*\n* bool = isSkewPersymmetricMatrix( [] );\n* // returns false\n*/\nfunction isSkewPersymmetricMatrix( v ) {\n\tvar M;\n\tvar n;\n\tvar i;\n\tvar j;\n\tif ( !isSquareMatrix( v ) ) {\n\t\treturn false;\n\t}\n\tM = v.shape[ 0 ] - 1;\n\tfor ( i = 0; i < M; i++ ) {\n\t\tn = M - i;\n\t\tfor ( j = 0; j <= n; j++ ) {\n\t\t\tif ( v.get( i, j ) !== -v.get( M-j, n ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSkewPersymmetricMatrix;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a skew-persymmetric matrix.\n*\n* @module @stdlib/assert/is-skew-persymmetric-matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isSkewPersymmetricMatrix = require( '@stdlib/assert/is-skew-persymmetric-matrix' );\n*\n* var arr = ndarray( 'generic', [ 1, 0, 0, -1 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSkewPersymmetricMatrix( arr );\n* // returns true\n*\n* bool = isSkewPersymmetricMatrix( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isSquareMatrix = require( './../../is-square-matrix' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a skew-symmetric matrix.\n*\n* ## Notes\n*\n* - The implementation must rely on manually checking that \\\\(M_{ij} = -M_{ji}\\\\), and, while element access is deterministic, no way exists to prevent cache misses outside of reordering the underlying matrix elements, thus incurring a larger performance penalty than just \"jumping around\" in a single pass.\n* - Worst case scenario: O(N^2).\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a skew-symmetric matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 0, -1, 1, 0 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSkewSymmetricMatrix( arr );\n* // returns true\n*\n* bool = isSkewSymmetricMatrix( [] );\n* // returns false\n*/\nfunction isSkewSymmetricMatrix( v ) {\n\tvar M;\n\tvar i;\n\tvar j;\n\tif ( !isSquareMatrix( v ) ) {\n\t\treturn false;\n\t}\n\tM = v.shape[ 0 ];\n\tfor ( i = 0; i < M; i++ ) {\n\t\tfor ( j = 0; j <= i; j++ ) { // includes diagonal\n\t\t\tif ( v.get( i, j ) !== -v.get( j, i ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSkewSymmetricMatrix;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a skew-symmetric matrix.\n*\n* @module @stdlib/assert/is-skew-symmetric-matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isSkewSymmetricMatrix = require( '@stdlib/assert/is-skew-symmetric-matrix' );\n*\n* var arr = ndarray( 'generic', [ 0, -1, 1, 0 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSkewSymmetricMatrix( arr );\n* // returns true\n*\n* bool = isSkewSymmetricMatrix( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar Slice = require( '@stdlib/slice/ctor' );\nvar constructorName = require( '@stdlib/utils/constructor-name' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a Slice object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a Slice object\n*\n* @example\n* var Slice = require( '@stdlib/slice/ctor' );\n*\n* var s = new Slice( 0, 10, 2 );\n*\n* var bool = isSlice( s );\n* // returns true\n*/\nfunction isSlice( value ) {\n\treturn (\n\t\tvalue instanceof Slice ||\n\t\tconstructorName( value ) === 'Slice'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSlice;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a Slice object.\n*\n* @module @stdlib/assert/is-slice\n*\n* @example\n* var Slice = require( '@stdlib/slice/ctor' );\n* var isSlice = require( '@stdlib/assert/is-slice' );\n*\n* var s = new Slice( 0, 10, 2 );\n*\n* var bool = isSlice( s );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar snakecase = require( '@stdlib/string/base/snakecase' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a string in snake case.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a string in snake case\n*\n* @example\n* var bool = isSnakecase( 'hello_world' );\n* // returns true\n*\n* @example\n* var bool = isSnakecase( 'Hello World' );\n* // returns false\n*\n* @example\n* var bool = isSnakecase( 'Hello_World' );\n* // returns false\n*\n* @example\n* var bool = isSnakecase( '' );\n* // returns true\n*\n* @example\n* var bool = isSnakecase( null );\n* // returns false\n*/\nfunction isSnakecase( value ) {\n\treturn ( isString( value ) && snakecase( value ) === value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSnakecase;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a string in snake case.\n*\n* @module @stdlib/assert/is-snakecase\n*\n* @example\n* var isSnakecase = require( '@stdlib/assert/is-snakecase' );\n*\n* var bool = isSnakecase( 'hello_world' );\n* // returns true\n*\n* bool = isSnakecase( 'Hello World' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar sqrt = require( '@stdlib/math/base/special/sqrt' );\nvar floor = require( '@stdlib/math/base/special/floor' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a value which is a square number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a value which is a square number\n*\n* @example\n* var bool = isSquareNumber( 4.0 );\n* // returns true\n*\n* @example\n* var bool = isSquareNumber( new Number( 4.0 ) );\n* // returns false\n*/\nfunction isSquareNumber( value ) {\n\tvar n;\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\tn = floor( sqrt( value ) + 0.5 );\n\treturn n*n === value;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSquareNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\nvar sqrt = require( '@stdlib/math/base/special/sqrt' );\nvar floor = require( '@stdlib/math/base/special/floor' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value which is a square number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value which is a square number\n*\n* @example\n* var bool = isSquareNumber( 4.0 );\n* // returns false\n*\n* @example\n* var bool = isSquareNumber( new Number( 4.0 ) );\n* // returns true\n*/\nfunction isSquareNumber( value ) {\n\tvar n;\n\tvar x;\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\tx = value.valueOf();\n\tn = floor( sqrt( x ) + 0.5 );\n\treturn n*n === x;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSquareNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a square number.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a square number\n*\n* @example\n* var bool = isSquareNumber( 4.0 );\n* // returns true\n*\n* @example\n* var bool = isSquareNumber( new Number( 4.0 ) );\n* // returns true\n*\n* @example\n* var bool = isSquareNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isSquareNumber( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isSquareNumber( null );\n* // returns false\n*/\nfunction isSquareNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSquareNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a square number.\n*\n* @module @stdlib/assert/is-square-number\n*\n* @example\n* var isSquareNumber = require( '@stdlib/assert/is-square-number' );\n*\n* var bool = isSquareNumber( 4.0 );\n* // returns true\n*\n* bool = isSquareNumber( new Number( 4.0 ) );\n* // returns true\n*\n* bool = isSquareNumber( 3.14 );\n* // returns false\n*\n* bool = isSquareNumber( -5.0 );\n* // returns false\n*\n* bool = isSquareNumber( null );\n* // returns false\n*\n* @example\n* var isSquareNumber = require( '@stdlib/assert/is-square-number' ).isPrimitive;\n*\n* var bool = isSquareNumber( 4.0 );\n* // returns true\n*\n* bool = isSquareNumber( new Number( 4.0 ) );\n* // returns false\n*\n* @example\n* var isSquareNumber = require( '@stdlib/assert/is-square-number' ).isObject;\n*\n* var bool = isSquareNumber( 4.0 );\n* // returns false\n*\n* bool = isSquareNumber( new Number( 4.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar sqrt = require( '@stdlib/math/base/special/sqrt' );\nvar floor = require( '@stdlib/math/base/special/floor' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a value which is a square triangular number.\n*\n* ## Notes\n*\n* - Return values are not reliable for numbers greater than `1125899906842624`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a value which is a square triangular number\n*\n* @example\n* var bool = isSquareTriangularNumber( 36.0 );\n* // returns true\n*\n* @example\n* var bool = isSquareTriangularNumber( new Number( 36.0 ) );\n* // returns false\n*/\nfunction isSquareTriangularNumber( value ) {\n\tvar n;\n\tvar x;\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\t// Test if a square number:\n\tn = floor( sqrt( value ) + 0.5 );\n\tif ( n*n !== value ) {\n\t\treturn false;\n\t}\n\t// Test if a triangular number:\n\tx = ( 8.0*value ) + 1.0;\n\tn = floor( sqrt( x ) + 0.5 );\n\treturn n*n === x;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSquareTriangularNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\nvar sqrt = require( '@stdlib/math/base/special/sqrt' );\nvar floor = require( '@stdlib/math/base/special/floor' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value which is a square triangular number.\n*\n* ## Notes\n*\n* - Return values are not reliable for numbers greater than `1125899906842624`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value which is a square triangular number\n*\n* @example\n* var bool = isSquareTriangularNumber( 36.0 );\n* // returns false\n*\n* @example\n* var bool = isSquareTriangularNumber( new Number( 36.0 ) );\n* // returns true\n*/\nfunction isSquareTriangularNumber( value ) {\n\tvar n;\n\tvar x;\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\t// Test if a square number:\n\tx = value.valueOf();\n\tn = floor( sqrt( x ) + 0.5 );\n\tif ( n*n !== x ) {\n\t\treturn false;\n\t}\n\t// Test if a triangular number:\n\tx = ( 8.0*x ) + 1.0;\n\tn = floor( sqrt( x ) + 0.5 );\n\treturn n*n === x;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSquareTriangularNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a square triangular number.\n*\n* ## Notes\n*\n* - Return values are not reliable for numbers greater than `1125899906842624`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a square triangular number\n*\n* @example\n* var bool = isSquareTriangularNumber( 36.0 );\n* // returns true\n*\n* @example\n* var bool = isSquareTriangularNumber( new Number( 36.0 ) );\n* // returns true\n*\n* @example\n* var bool = isSquareTriangularNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isSquareTriangularNumber( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isSquareTriangularNumber( null );\n* // returns false\n*/\nfunction isSquareTriangularNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSquareTriangularNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a square triangular number.\n*\n* @module @stdlib/assert/is-square-triangular-number\n*\n* @example\n* var isSquareTriangularNumber = require( '@stdlib/assert/is-square-triangular-number' );\n*\n* var bool = isSquareTriangularNumber( 36.0 );\n* // returns true\n*\n* bool = isSquareTriangularNumber( new Number( 36.0 ) );\n* // returns true\n*\n* bool = isSquareTriangularNumber( 3.14 );\n* // returns false\n*\n* bool = isSquareTriangularNumber( -5.0 );\n* // returns false\n*\n* bool = isSquareTriangularNumber( null );\n* // returns false\n*\n* @example\n* var isSquareTriangularNumber = require( '@stdlib/assert/is-square-triangular-number' ).isPrimitive;\n*\n* var bool = isSquareTriangularNumber( 36.0 );\n* // returns true\n*\n* bool = isSquareTriangularNumber( new Number( 36.0 ) );\n* // returns false\n*\n* @example\n* var isSquareTriangularNumber = require( '@stdlib/assert/is-square-triangular-number' ).isObject;\n*\n* var bool = isSquareTriangularNumber( 36.0 );\n* // returns false\n*\n* bool = isSquareTriangularNumber( new Number( 36.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar startcase = require( '@stdlib/string/base/startcase' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a startcase string (i.e., the first character of each word is uppercase).\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a startcase string\n*\n* @example\n* var bool = isStartcase( 'Beep Boop' );\n* // returns true\n*\n* bool = isStartcase( 'beep boop' );\n* // returns false\n*\n* bool = isStartcase( 'beep and boop' );\n* // returns false\n*/\nfunction isStartcase( value ) {\n\treturn ( isString( value ) && startcase( value ) === value );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isStartcase;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2022 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a startcase string.\n*\n* @module @stdlib/assert/is-startcase\n*\n* @example\n* var isStartcase = require( '@stdlib/assert/is-startcase' );\n*\n* var bool = isStartcase( 'Beep Boop' );\n* // returns true\n*\n* bool = isStartcase( 'Beep and Boop' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if two arguments are strictly equal.\n*\n* ## Notes\n*\n* - In contrast to the strict equality operator `===`, `-0` and `+0` are distinguishable.\n*\n* @param {*} a - first input value\n* @param {*} b - second input value\n* @returns {boolean} boolean indicating whether two arguments are strictly equal\n*\n* @example\n* var bool = isStrictEqual( true, true );\n* // returns true\n*\n* @example\n* var bool = isStrictEqual( 3.14, 3.14 );\n* // returns true\n*\n* @example\n* var bool = isStrictEqual( {}, {} );\n* // returns false\n*\n* @example\n* var bool = isStrictEqual( -0.0, -0.0 );\n* // returns true\n*\n* @example\n* var bool = isStrictEqual( -0.0, 0.0 );\n* // returns false\n*\n* @example\n* var bool = isStrictEqual( NaN, NaN );\n* // returns false\n*\n* @example\n* var bool = isStrictEqual( [], [] );\n* // returns false\n*/\nfunction isStrictEqual( a, b ) {\n\tif ( a === b ) {\n\t\tif ( a === 0.0 ) {\n\t\t\treturn 1.0 / a === 1.0 / b; // handles +-0\n\t\t}\n\t\treturn true;\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isStrictEqual;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if two arguments are strictly equal.\n*\n* @module @stdlib/assert/is-strict-equal\n*\n* @example\n* var isStrictEqual = require( '@stdlib/assert/is-strict-equal' );\n*\n* var bool = isStrictEqual( true, true );\n* // returns true\n*\n* bool = isStrictEqual( 3.14, 3.14 );\n* // returns true\n*\n* bool = isStrictEqual( {}, {} );\n* // returns false\n*\n* bool = isStrictEqual( -0.0, -0.0 );\n* // returns true\n*\n* bool = isStrictEqual( -0.0, 0.0 );\n* // returns false\n*\n* bool = isStrictEqual( NaN, NaN );\n* // returns false\n*\n* bool = isStrictEqual( [], [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array of strings.\n*\n* @module @stdlib/assert/is-string-array\n*\n* @example\n* var isStringArray = require( '@stdlib/assert/is-string-array' );\n*\n* var bool = isStringArray( [ 'abc', 'def' ] );\n* // returns true\n*\n* bool = isStringArray( [ 'abc', 123 ] );\n* // returns false\n*\n* @example\n* var isStringArray = require( '@stdlib/assert/is-string-array' ).primitives;\n*\n* var bool = isStringArray( [ 'abc', 'def' ] );\n* // returns true\n*\n* bool = isStringArray( [ 'abc', new String( 'def' ) ] );\n* // returns false\n*\n* @example\n* var isStringArray = require( '@stdlib/assert/is-string-array' ).objects;\n*\n* var bool = isStringArray( [ new String( 'abc' ), new String( 'def' ) ] );\n* // returns true\n*\n* bool = isStringArray( [ new String( 'abc' ), 'def' ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-function' );\nvar isString = require( './../../is-string' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isString.isPrimitive );\nvar isObjectArray = arrayfun( isString.isObject );\n\n\n// MAIN //\n\nvar isStringArray = arrayfun( isString );\nsetReadOnly( isStringArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isStringArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isStringArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only symbols.\n*\n* @module @stdlib/assert/is-symbol-array\n*\n* @example\n* var isSymbolArray = require( '@stdlib/assert/is-symbol-array' );\n*\n* var bool = isSymbolArray( [ Symbol( 'abc' ), Symbol( 'def' ) ] );\n* // returns true\n*\n* bool = isSymbolArray( [ Symbol( 'abc' ), 'def' ] );\n* // returns false\n*\n* @example\n* var isSymbolArray = require( '@stdlib/assert/is-symbol-array' ).primitives;\n*\n* var bool = isSymbolArray( [ Symbol( 'abc' ), Symbol( 'def' ) ] );\n* // returns true\n*\n* bool = isSymbolArray( [ Symbol( 'abc' ), Object( Symbol( 'def' ) ) ] );\n* // returns false\n*\n* @example\n* var isSymbolArray = require( '@stdlib/assert/is-symbol-array' ).objects;\n*\n* var bool = isSymbolArray( [ Object( Symbol( 'abc' ) ), Object( Symbol( 'def' ) ) ] );\n* // returns true\n*\n* bool = isSymbolArray( [ Symbol( 'abc' ), Symbol( 'def' ) ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isSymbol = require( './../../is-symbol' );\n\n\n// VARIABLES //\n\nvar isPrimitiveArray = arrayfun( isSymbol.isPrimitive );\nvar isObjectArray = arrayfun( isSymbol.isObject );\n\n\n// MAIN //\n\nvar isSymbolArray = arrayfun( isSymbol );\nsetReadOnly( isSymbolArray, 'primitives', isPrimitiveArray );\nsetReadOnly( isSymbolArray, 'objects', isObjectArray );\n\n\n// EXPORTS //\n\nmodule.exports = isSymbolArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isSquareMatrix = require( './../../is-square-matrix' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a symmetric matrix.\n*\n* ## Notes\n*\n* - The implementation must rely on manually checking that \\\\(M_{ij} = M_{ji}\\\\), and, while element access is deterministic, no way exists to prevent cache misses outside of reordering the underlying matrix elements, thus incurring a larger performance penalty than just \"jumping around\" in a single pass.\n* - Worst case scenario: O(N^2).\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a symmetric matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n*\n* var arr = ndarray( 'generic', [ 0, 1, 1, 2 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSymmetricMatrix( arr );\n* // returns true\n*\n* bool = isSymmetricMatrix( [] );\n* // returns false\n*/\nfunction isSymmetricMatrix( v ) {\n\tvar M;\n\tvar i;\n\tvar j;\n\tif ( !isSquareMatrix( v ) ) {\n\t\treturn false;\n\t}\n\tM = v.shape[ 0 ];\n\tfor ( i = 0; i < M; i++ ) {\n\t\tfor ( j = 0; j < i; j++ ) {\n\t\t\tif ( v.get( i, j ) !== v.get( j, i ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSymmetricMatrix;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a symmetric matrix.\n*\n* @module @stdlib/assert/is-symmetric-matrix\n*\n* @example\n* var ndarray = require( '@stdlib/ndarray/ctor' );\n* var isSymmetricMatrix = require( '@stdlib/assert/is-symmetric-matrix' );\n*\n* var arr = ndarray( 'generic', [ 0, 1, 1, 2 ], [ 2, 2 ], [ 2, 1 ], 0, 'row-major' );\n* var bool = isSymmetricMatrix( arr );\n* // returns true\n*\n* bool = isSymmetricMatrix( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar typeOf = require( '@stdlib/utils/type-of' );\nvar isError = require( './../../is-error' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a `SyntaxError` object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a `SyntaxError` object\n*\n* @example\n* var bool = isSyntaxError( new SyntaxError( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isSyntaxError( {} );\n* // returns false\n*/\nfunction isSyntaxError( value ) {\n\tif ( typeof value !== 'object' || value === null ) {\n\t\treturn false;\n\t}\n\t// Check for `SyntaxError` objects from the same realm (same Node.js `vm` or same `Window` object)...\n\tif ( value instanceof SyntaxError ) {\n\t\treturn true;\n\t}\n\t// All `SyntaxError` objects are `Error` objects...\n\tif ( isError( value ) ) {\n\t\t// Walk the prototype tree until we find the desired constructor...\n\t\twhile ( value ) {\n\t\t\tif ( typeOf( value ) === 'syntaxerror' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tvalue = getPrototypeOf( value );\n\t\t}\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isSyntaxError;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a `SyntaxError` object.\n*\n* @module @stdlib/assert/is-syntax-error\n*\n* @example\n* var isSyntaxError = require( '@stdlib/assert/is-syntax-error' );\n*\n* var bool = isSyntaxError( new SyntaxError( 'beep' ) );\n* // returns true\n*\n* bool = isSyntaxError( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar constantFunction = require( '@stdlib/utils/constant-function' );\n\n\n// MAIN //\n\nvar isTouchDevice = constantFunction( false );\n\n\n// EXPORTS //\n\nmodule.exports = isTouchDevice;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2021 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the current environment is a touch device.\n*\n* @module @stdlib/assert/is-touch-device\n*\n* @example\n* var IS_TOUCH_DEVICE = require( '@stdlib/assert/is-touch-device' );\n*\n* var bool = IS_TOUCH_DEVICE;\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar bool = main();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar sqrt = require( '@stdlib/math/base/special/sqrt' );\nvar floor = require( '@stdlib/math/base/special/floor' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number primitive having a value which is a triangular number.\n*\n* ## Notes\n*\n* - Return values are not reliable for numbers greater than `1125899906842624`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number primitive having a value which is a triangular number\n*\n* @example\n* var bool = isTriangularNumber( 36.0 );\n* // returns true\n*\n* @example\n* var bool = isTriangularNumber( new Number( 36.0 ) );\n* // returns false\n*/\nfunction isTriangularNumber( value ) {\n\tvar n;\n\tvar x;\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\tx = ( 8.0*value ) + 1.0;\n\tn = floor( sqrt( x ) + 0.5 );\n\treturn n*n === x;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isTriangularNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isObject;\nvar sqrt = require( '@stdlib/math/base/special/sqrt' );\nvar floor = require( '@stdlib/math/base/special/floor' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a number object having a value which is a triangular number.\n*\n* ## Notes\n*\n* - Return values are not reliable for numbers greater than `1125899906842624`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a number object having a value which is a triangular number\n*\n* @example\n* var bool = isTriangularNumber( 36.0 );\n* // returns false\n*\n* @example\n* var bool = isTriangularNumber( new Number( 36.0 ) );\n* // returns true\n*/\nfunction isTriangularNumber( value ) {\n\tvar n;\n\tvar x;\n\tif ( !isInteger( value ) ) {\n\t\treturn false;\n\t}\n\tx = ( 8.0*value.valueOf() ) + 1.0;\n\tn = floor( sqrt( x ) + 0.5 );\n\treturn n*n === x;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isTriangularNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a triangular number.\n*\n* ## Notes\n*\n* - Return values are not reliable for numbers greater than `1125899906842624`.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is a triangular number\n*\n* @example\n* var bool = isTriangularNumber( 36.0 );\n* // returns true\n*\n* @example\n* var bool = isTriangularNumber( new Number( 36.0 ) );\n* // returns true\n*\n* @example\n* var bool = isTriangularNumber( 3.14 );\n* // returns false\n*\n* @example\n* var bool = isTriangularNumber( -5.0 );\n* // returns false\n*\n* @example\n* var bool = isTriangularNumber( null );\n* // returns false\n*/\nfunction isTriangularNumber( value ) {\n\treturn ( isPrimitive( value ) || isObject( value ) );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isTriangularNumber;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2020 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a triangular number.\n*\n* @module @stdlib/assert/is-triangular-number\n*\n* @example\n* var isTriangularNumber = require( '@stdlib/assert/is-triangular-number' );\n*\n* var bool = isTriangularNumber( 36.0 );\n* // returns true\n*\n* bool = isTriangularNumber( new Number( 36.0 ) );\n* // returns true\n*\n* bool = isTriangularNumber( 3.14 );\n* // returns false\n*\n* bool = isTriangularNumber( -5.0 );\n* // returns false\n*\n* bool = isTriangularNumber( null );\n* // returns false\n*\n* @example\n* var isTriangularNumber = require( '@stdlib/assert/is-triangular-number' ).isPrimitive;\n*\n* var bool = isTriangularNumber( 36.0 );\n* // returns true\n*\n* bool = isTriangularNumber( new Number( 36.0 ) );\n* // returns false\n*\n* @example\n* var isTriangularNumber = require( '@stdlib/assert/is-triangular-number' ).isObject;\n*\n* var bool = isTriangularNumber( 36.0 );\n* // returns false\n*\n* bool = isTriangularNumber( new Number( 36.0 ) );\n* // returns true\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar isPrimitive = require( './primitive.js' );\nvar isObject = require( './object.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'isPrimitive', isPrimitive );\nsetReadOnly( main, 'isObject', isObject );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MAIN //\n\n/**\n* Tests if a value is truthy.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is truthy\n*\n* @example\n* var bool = isTruthy( true );\n* // returns true\n*\n* @example\n* var bool = isTruthy( [] );\n* // returns true\n*\n* @example\n* var bool = isTruthy( false );\n* // returns false\n*\n* @example\n* var bool = isTruthy( null );\n* // returns false\n*\n* @example\n* var bool = isTruthy( '' );\n* // returns false\n*\n* @example\n* var bool = isTruthy( 0 );\n* // returns false\n*\n* @example\n* var bool = isTruthy( void 0 );\n* // returns false\n*\n* @example\n* var bool = isTruthy( NaN );\n* // returns false\n*/\nfunction isTruthy( value ) {\n\treturn ( value ) ? true : false; // eslint-disable-line no-unneeded-ternary\n}\n\n\n// EXPORTS //\n\nmodule.exports = isTruthy;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is truthy.\n*\n* @module @stdlib/assert/is-truthy\n*\n* @example\n* var isTruthy = require( '@stdlib/assert/is-truthy' );\n*\n* var bool = isTruthy( true );\n* // returns true\n*\n* bool = isTruthy( [] );\n* // returns true\n*\n* bool = isTruthy( false );\n* // returns false\n*\n* bool = isTruthy( null );\n* // returns false\n*\n* bool = isTruthy( '' );\n* // returns false\n*\n* bool = isTruthy( 0 );\n* // returns false\n*\n* bool = isTruthy( void 0 );\n* // returns false\n*\n* bool = isTruthy( NaN );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar arrayfun = require( './../../tools/array-like-function' );\nvar isTruthy = require( './../../is-truthy' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array-like object containing only truthy values.\n*\n* @name isTruthyArray\n* @type {Function}\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether an input value is an array-like object containing only truthy values\n*\n* @example\n* var bool = isTruthyArray( [ {}, [] ] );\n* // returns true\n*\n* bool = isTruthyArray( [ false, null, void 0, '', 0, NaN ] );\n* // returns false\n*\n* bool = isTruthyArray( [] );\n* // returns false\n*/\nvar isTruthyArray = arrayfun( isTruthy );\n\n\n// EXPORTS //\n\nmodule.exports = isTruthyArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array-like object containing only truthy values.\n*\n* @module @stdlib/assert/is-truthy-array\n*\n* @example\n* var isTruthyArray = require( '@stdlib/assert/is-truthy-array' );\n*\n* var bool = isTruthyArray( [ {}, [] ] );\n* // returns true\n*\n* bool = isTruthyArray( [ false, null, void 0, '', 0, NaN ] );\n* // returns false\n*\n* bool = isTruthyArray( [] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar typeOf = require( '@stdlib/utils/type-of' );\nvar isError = require( './../../is-error' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a `TypeError` object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a `TypeError` object\n*\n* @example\n* var bool = isTypeError( new TypeError( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isTypeError( {} );\n* // returns false\n*/\nfunction isTypeError( value ) {\n\tif ( typeof value !== 'object' || value === null ) {\n\t\treturn false;\n\t}\n\t// Check for `TypeError` objects from the same realm (same Node.js `vm` or same `Window` object)...\n\tif ( value instanceof TypeError ) {\n\t\treturn true;\n\t}\n\t// All `TypeError` objects are `Error` objects...\n\tif ( isError( value ) ) {\n\t\t// Walk the prototype tree until we find the desired constructor...\n\t\twhile ( value ) {\n\t\t\tif ( typeOf( value ) === 'typeerror' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tvalue = getPrototypeOf( value );\n\t\t}\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isTypeError;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a `TypeError` object.\n*\n* @module @stdlib/assert/is-type-error\n*\n* @example\n* var isTypeError = require( '@stdlib/assert/is-type-error' );\n*\n* var bool = isTypeError( new TypeError( 'beep' ) );\n* // returns true\n*\n* bool = isTypeError( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isInteger = require( './../../is-integer' ).isPrimitive;\nvar MAX_LENGTH = require( '@stdlib/constants/array/max-typed-array-length' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a valid typed array length.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a valid typed array length\n*\n* @example\n* var bool = isTypedArrayLength( 3 );\n* // returns true\n*\n* @example\n* var bool = isTypedArrayLength( 3.14 );\n* // returns false\n*/\nfunction isTypedArrayLength( value ) {\n\treturn (\n\t\tisInteger( value ) &&\n\t\tvalue >= 0 &&\n\t\tvalue <= MAX_LENGTH\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isTypedArrayLength;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a valid typed array length.\n*\n* @module @stdlib/assert/is-typed-array-length\n*\n* @example\n* var isTypedArrayLength = require( '@stdlib/assert/is-typed-array-length' );\n*\n* var bool = isTypedArrayLength( 5 );\n* // returns true\n*\n* bool = isTypedArrayLength( 2.0e200 );\n* // returns false\n*\n* bool = isTypedArrayLength( -3.14 );\n* // returns false\n*\n* bool = isTypedArrayLength( null );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNonNegativeInteger = require( './../../is-nonnegative-integer' ).isPrimitive;\nvar MAX = require( '@stdlib/constants/array/max-typed-array-length' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is typed-array-like.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is typed-array-like\n*\n* @example\n* var arr = {\n*\t'BYTES_PER_ELEMENT': 8,\n*\t'length': 10,\n*\t'byteOffset': 0,\n*\t'byteLength': 10\n* };\n* var val = isTypedArrayLike( arr );\n* // returns true\n*\n* @example\n* var Int8Array = require( '@stdlib/array/int8' );\n*\n* var val = isTypedArrayLike( new Int8Array( 4 ) );\n* // returns true\n*\n* @example\n* var val = isTypedArrayLike( [] );\n* // returns false\n*\n* @example\n* var val = isTypedArrayLike( {} );\n* // returns false\n*\n* @example\n* var val = isTypedArrayLike( null );\n* // returns false\n*\n* @example\n* var val = isTypedArrayLike( 'beep' );\n* // returns false\n*/\nfunction isTypedArrayLike( value ) {\n\treturn (\n\t\tvalue !== null &&\n\t\ttypeof value === 'object' &&\n\t\tisNonNegativeInteger( value.length ) &&\n\t\tvalue.length <= MAX &&\n\t\ttypeof value.BYTES_PER_ELEMENT === 'number' &&\n\t\ttypeof value.byteOffset === 'number' &&\n\t\ttypeof value.byteLength === 'number'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isTypedArrayLike;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is typed-array-like.\n*\n* @module @stdlib/assert/is-typed-array-like\n*\n* @example\n* var Int16Array = require( '@stdlib/array/int16' );\n* var isTypedArrayLike = require( '@stdlib/assert/is-typed-array-like' );\n*\n* var bool = isTypedArrayLike( new Int16Array() );\n* // returns true\n*\n* bool = isTypedArrayLike({\n*\t'length': 10,\n*\t'byteOffset': 0,\n*\t'byteLength': 10,\n*\t'BYTES_PER_ELEMENT': 4\n* });\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar RE_UNC_PATH = require( '@stdlib/regexp/unc-path' ).REGEXP;\n\n\n// MAIN //\n\n/**\n* Tests if a value is a UNC path.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating if a value is a UNC path\n*\n* @example\n* var bool = isUNCPath( '\\\\\\\\server\\\\share\\\\foo\\\\bar\\\\baz' );\n* // returns true\n*\n* @example\n* var bool = isUNCPath( '/foo/bar/baz' );\n* // returns false\n*/\nfunction isUNCPath( value ) {\n\treturn (\n\t\tisString( value ) &&\n\t\tRE_UNC_PATH.test( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUNCPath;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a UNC path.\n*\n* @module @stdlib/assert/is-unc-path\n*\n* @example\n* var isUNCPath = require( '@stdlib/assert/is-unc-path' );\n*\n* var bool = isUNCPath( '\\\\\\\\server\\\\share\\\\foo\\\\bar\\\\baz' );\n* // returns true\n*\n* bool = isUNCPath( '/foo/bar/baz' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is `undefined`.\n*\n* ## Notes\n*\n* - In older browsers, `undefined` is a global which can be overridden. `void`, however, is an operator which **cannot** be overridden. Consequently, better to use `void` to check for `undefined`. See [Stack Overflow][1].\n*\n* [1]: http://stackoverflow.com/a/19369078/2225624\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is undefined\n*\n* @example\n* var bool = isUndefined( undefined );\n* // returns true\n*\n* bool = isUndefined( null );\n* // returns false\n*/\nfunction isUndefined( value ) {\n\treturn value === void 0;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUndefined;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is `undefined`.\n*\n* @module @stdlib/assert/is-undefined\n*\n* @example\n* var isUndefined = require( '@stdlib/assert/is-undefined' );\n*\n* var bool = isUndefined( void 0 );\n* // returns true\n*\n* bool = isUndefined( null );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Tests if a value is `undefined` or `null`.\n*\n* ## Notes\n*\n* - In older browsers, `undefined` is a global which can be overridden. `void`, however, is an operator which **cannot** be overridden. Consequently, better to use `void` to check for `undefined`. See [Stack Overflow][1].\n*\n* [1]: http://stackoverflow.com/a/19369078/2225624\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is undefined\n*\n* @example\n* var bool = isUndefinedOrNull( undefined );\n* // returns true\n*\n* bool = isUndefinedOrNull( null );\n* // returns true\n*\n* bool = isUndefinedOrNull( false );\n* // returns false\n*/\nfunction isUndefinedOrNull( value ) {\n\treturn ( value === void 0 || value === null );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUndefinedOrNull;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is `undefined` or `null`.\n*\n* @module @stdlib/assert/is-undefined-or-null\n*\n* @example\n* var isUndefinedOrNull = require( '@stdlib/assert/is-undefined-or-null' );\n*\n* var bool = isUndefinedOrNull( void 0 );\n* // returns true\n*\n* bool = isUndefinedOrNull( null );\n* // returns true\n*\n* bool = isUndefinedOrNull( false );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isTypedArray = require( './../../is-typed-array' );\nvar isArray = require( './../../is-array' );\nvar isNumber = require( './../../is-number' ).isPrimitive;\nvar absdiff = require( '@stdlib/math/base/utils/absolute-difference' );\nvar FLOAT64_SQRT_EPS = require( '@stdlib/constants/float64/sqrt-eps' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is an array of probabilities that sum to one.\n*\n* @param {*} v - value to test\n* @returns {boolean} boolean indicating if a value is a probability array\n*\n* @example\n* var bool = isUnityProbabilityArray( [ 0.25, 0.5, 0.25 ] );\n* // returns true\n*\n* @example\n* var bool = isUnityProbabilityArray( new Uint8Array( [ 0, 1 ] ) );\n* // returns true\n*\n* @example\n* var bool = isUnityProbabilityArray( [ 0.4, 0.4, 0.4 ] );\n* // returns false\n*\n* @example\n* var bool = isUnityProbabilityArray( [ 3.14, 0.0 ] );\n* // returns false\n*/\nfunction isUnityProbabilityArray( v ) {\n\tvar sum;\n\tvar i;\n\tif ( isArray( v ) ) {\n\t\tsum = 0.0;\n\t\tfor ( i = 0; i < v.length; i++ ) {\n\t\t\tif (\n\t\t\t\t!isNumber( v[ i ] ) ||\n\t\t\t\tv[ i ] > 1.0 ||\n\t\t\t\tv[ i ] < 0.0\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tsum += v[ i ];\n\t\t}\n\t\treturn ( absdiff( sum, 1.0 ) <= FLOAT64_SQRT_EPS );\n\t}\n\tif ( isTypedArray( v ) ) {\n\t\tsum = 0.0;\n\t\tfor ( i = 0; i < v.length; i++ ) {\n\t\t\tif (\n\t\t\t\tv[ i ] > 1.0 ||\n\t\t\t\tv[ i ] < 0.0\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tsum += v[ i ];\n\t\t}\n\t\treturn ( absdiff( sum, 1.0 ) <= FLOAT64_SQRT_EPS );\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUnityProbabilityArray;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an array of probabilities that sum to one.\n*\n* @module @stdlib/assert/is-unity-probability-array\n*\n* @example\n* var isUnityProbabilityArray = require( '@stdlib/assert/is-unity-probability-array' );\n*\n* var bool = isUnityProbabilityArray( [ 0.25, 0.5, 0.25 ] );\n* // returns true\n*\n* bool = isUnityProbabilityArray( new Uint8Array( [ 0, 1 ] ) );\n* // returns true\n*\n* bool = isUnityProbabilityArray( [ 0.4, 0.4, 0.4 ] );\n* // returns false\n*\n* bool = isUnityProbabilityArray( [ 3.14, 0.0 ] );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar lowercase = require( '@stdlib/string/lowercase' );\nvar uppercase = require( '@stdlib/string/uppercase' );\nvar isString = require( './../../is-string' ).isPrimitive;\n\n\n// MAIN //\n\n/**\n* Tests if a value is an uppercase string.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether value is an uppercase string\n*\n* @example\n* var bool = isUppercase( 'HELLO' );\n* // returns true\n*\n* @example\n* var bool = isUppercase( 'World' );\n* // returns false\n*\n* @example\n* var bool = isUppercase( '!' );\n* // returns false\n*\n* @example\n* var bool = isUppercase( 'salt and light' );\n* // returns false\n*/\nfunction isUppercase( value ) {\n\treturn (\n\t\tisString( value ) &&\n\t\tvalue === uppercase( value ) &&\n\t\tvalue !== lowercase( value )\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isUppercase;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is an uppercase string.\n*\n* @module @stdlib/assert/is-uppercase\n*\n* @example\n* var isUppercase = require( '@stdlib/assert/is-uppercase' );\n*\n* var bool = isUppercase( 'HELLO' );\n* // returns true\n*\n* bool = isUppercase( 'World' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar getPrototypeOf = require( '@stdlib/utils/get-prototype-of' );\nvar typeOf = require( '@stdlib/utils/type-of' );\nvar isError = require( './../../is-error' );\n\n\n// MAIN //\n\n/**\n* Tests if a value is a `URIError` object.\n*\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether a value is a `URIError` object\n*\n* @example\n* var bool = isURIError( new URIError( 'beep' ) );\n* // returns true\n*\n* @example\n* var bool = isURIError( {} );\n* // returns false\n*/\nfunction isURIError( value ) {\n\tif ( typeof value !== 'object' || value === null ) {\n\t\treturn false;\n\t}\n\t// Check for `URIError` objects from the same realm (same Node.js `vm` or same `Window` object)...\n\tif ( value instanceof URIError ) {\n\t\treturn true;\n\t}\n\t// All `URIError` objects are `Error` objects...\n\tif ( isError( value ) ) {\n\t\t// Walk the prototype tree until we find the desired constructor...\n\t\twhile ( value ) {\n\t\t\tif ( typeOf( value ) === 'urierror' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tvalue = getPrototypeOf( value );\n\t\t}\n\t}\n\treturn false;\n}\n\n\n// EXPORTS //\n\nmodule.exports = isURIError;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test if a value is a `URIError` object.\n*\n* @module @stdlib/assert/is-uri-error\n*\n* @example\n* var isURIError = require( '@stdlib/assert/is-uri-error' );\n*\n* var bool = isURIError( new URIError( 'beep' ) );\n* // returns true\n*\n* bool = isURIError( {} );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// VARIABLES //\n\nvar scope;\n\n\n// FUNCTIONS //\n\n/**\n* Test if the global scope is bound to the \"self\" variable present in browser web worker environments. When creating a new function using the `Function(){}` constructor, the execution scope aliased by the `this` variable is the global scope.\n*\n* @private\n* @returns {boolean} boolean indicating if global scope is bound to \"self\" variable\n*/\nfunction globalScope() {\n\tvar fcn = '';\n\tfcn += 'try {';\n\tfcn += 'return this === self;';\n\tfcn += '} catch ( err ) {';\n\tfcn += 'return false;';\n\tfcn += '}';\n\treturn (new Function( fcn ))(); // eslint-disable-line stdlib/require-globals, no-new-func\n}\n\n\n// MAIN //\n\nscope = globalScope();\n\n\n// EXPORTS //\n\nmodule.exports = scope;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* global WorkerGlobalScope, WorkerNavigator, WorkerLocation, self, importScripts, navigator, location */\n\n'use strict';\n\n// MODULES //\n\nvar getGlobal = require( '@stdlib/utils/global' );\nvar IS_NODE = require( './../../is-node' );\nvar isObject = require( './../../is-plain-object' );\nvar globalScope = require( './global_scope.js' );\n\n\n// VARIABLES //\n\nvar Global = getGlobal();\n\n\n// MAIN //\n\n/**\n* Returns a boolean indicating if the runtime is a web worker.\n*\n* @returns {boolean} boolean indicating if runtime is a web worker\n*\n* @example\n* var bool = isWebWorker();\n* // returns \n*/\nfunction isWebWorker() {\n\treturn (\n\t\t// Check that we are not running in a Node.js runtime:\n\t\tIS_NODE === false &&\n\n\t\t// Check for presence of `WorkerGlobalScope` global variable:\n\t\ttypeof WorkerGlobalScope === 'object' &&\n\n\t\t// Check for presence of `WorkerNavigator` global variable:\n\t\tisObject( WorkerNavigator ) &&\n\n\t\t// Check that the `navigator` global object is an instance of `WorkerNavigator`:\n\t\tnavigator instanceof WorkerNavigator &&\n\n\t\t// Check for presence of `WorkerLocation` global variable:\n\t\tisObject( WorkerLocation ) &&\n\n\t\t// Check that the `location` global object is an instance of `WorkerLocation`:\n\t\tlocation instanceof WorkerLocation &&\n\n\t\t// Check for presence of `self` variable:\n\t\ttypeof self === 'object' &&\n\n\t\t// Check that the `self` variable matches the determined global variable:\n\t\tself === Global &&\n\n\t\t// Check that the `self` variable is equal to the global scope:\n\t\tglobalScope === true &&\n\n\t\t// Check for presence of `importScripts` function:\n\t\ttypeof importScripts === 'function'\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isWebWorker;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Boolean indicating if the runtime is a web worker.\n*\n* @module @stdlib/assert/is-web-worker\n*\n* @example\n* var IS_WEB_WORKER = require( '@stdlib/assert/is-web-worker' );\n*\n* var bool = IS_WEB_WORKER;\n* // returns \n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// MAIN //\n\nvar bool = main();\n\n\n// EXPORTS //\n\nmodule.exports = bool;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isString = require( './../../is-string' ).isPrimitive;\nvar reWhitespace = require( '@stdlib/regexp/whitespace' );\n\n\n// VARIABLES //\n\nvar RE = new RegExp( '^'+reWhitespace.REGEXP.source+'+$' );\n\n\n// MAIN //\n\n/**\n* Tests whether a string contains only white space characters.\n*\n* @param {*} x - value to test\n* @returns {boolean} boolean indicating if a string contains only white space characters\n*\n* @example\n* var out = isWhitespace( ' ' );\n* // returns true\n*\n* @example\n* var out = isWhitespace( 'beep boop' );\n* // returns false\n*\n* @example\n* var out = isWhitespace( '' );\n* // returns false\n*\n* @example\n* var out = isWhitespace( 123 );\n* // returns false\n*/\nfunction isWhitespace( x ) {\n\tif ( !isString( x ) ) {\n\t\treturn false;\n\t}\n\treturn RE.test( x );\n}\n\n\n// EXPORTS //\n\nmodule.exports = isWhitespace;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether a string contains only white space characters.\n*\n* @module @stdlib/assert/is-whitespace\n*\n* @example\n* var isWhitespace = require( '@stdlib/assert/is-whitespace' );\n*\n* var out = isWhitespace( ' ' );\n* // returns true\n*\n* out = isWhitespace( 'beep boop' );\n* // returns false\n*\n* out = isWhitespace( '' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptor = require( '@stdlib/utils/property-descriptor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property is writable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is writable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'writable': false,\n* 'value': 'beep'\n* });\n*\n* var bool = isWritableProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isWritableProperty( obj, 'beep' );\n* // returns false\n*/\nfunction isWritableProperty( value, property ) {\n\tvar desc = propertyDescriptor( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\t(\n\t\t\tdesc.writable === true ||\n\t\t\ttypeof desc.set === 'function'\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isWritableProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property is writable.\n*\n* @module @stdlib/assert/is-writable-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isWritableProperty = require( '@stdlib/assert/is-writable-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'writable': false,\n* 'value': 'beep'\n* });\n*\n* var bool = isWritableProperty( obj, 'boop' );\n* // returns true\n*\n* bool = isWritableProperty( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property is writable.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is writable\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'writable': false,\n* 'value': 'beep'\n* });\n*\n* var bool = isWritablePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isWritablePropertyIn( obj, 'beep' );\n* // returns false\n*/\nfunction isWritablePropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\t(\n\t\t\tdesc.writable === true ||\n\t\t\ttypeof desc.set === 'function'\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isWritablePropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property is writable.\n*\n* @module @stdlib/assert/is-writable-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isWritablePropertyIn = require( '@stdlib/assert/is-writable-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': false,\n* 'writable': false,\n* 'value': 'beep'\n* });\n*\n* var bool = isWritablePropertyIn( obj, 'boop' );\n* // returns true\n*\n* bool = isWritablePropertyIn( obj, 'beep' );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptor = require( '@stdlib/utils/property-descriptor' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own property is write-only.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is write-only\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'set': setter\n* });\n*\n* var bool = isWriteOnlyProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isWriteOnlyProperty( obj, 'beep' );\n* // returns true\n*/\nfunction isWriteOnlyProperty( value, property ) {\n\tvar desc = propertyDescriptor( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\tdesc.configurable === false &&\n\t\t(\n\t\t\ttypeof desc.set === 'function' &&\n\t\t\tdesc.get === void 0\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isWriteOnlyProperty;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own property is write-only.\n*\n* @module @stdlib/assert/is-write-only-property\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isWriteOnlyProperty = require( '@stdlib/assert/is-write-only-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'set': setter\n* });\n*\n* var bool = isWriteOnlyProperty( obj, 'boop' );\n* // returns false\n*\n* bool = isWriteOnlyProperty( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar propertyDescriptorIn = require( '@stdlib/utils/property-descriptor-in' );\n\n\n// MAIN //\n\n/**\n* Tests if an object's own or inherited property is write-only.\n*\n* @param {*} value - value to test\n* @param {*} property - property to test\n* @returns {boolean} boolean indicating if an object property is write-only\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'set': setter\n* });\n*\n* var bool = isWriteOnlyPropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isWriteOnlyPropertyIn( obj, 'beep' );\n* // returns true\n*/\nfunction isWriteOnlyPropertyIn( value, property ) {\n\tvar desc = propertyDescriptorIn( value, property );\n\treturn (\n\t\tdesc !== null &&\n\t\tdesc.configurable === false &&\n\t\t(\n\t\t\ttypeof desc.set === 'function' &&\n\t\t\tdesc.get === void 0\n\t\t)\n\t);\n}\n\n\n// EXPORTS //\n\nmodule.exports = isWriteOnlyPropertyIn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Test whether an object's own or inherited property is write-only.\n*\n* @module @stdlib/assert/is-write-only-property-in\n*\n* @example\n* var defineProperty = require( '@stdlib/utils/define-property' );\n* var isWriteOnlyPropertyIn = require( '@stdlib/assert/is-write-only-property-in' );\n*\n* var obj = {\n* 'boop': true\n* };\n*\n* function setter( v ) {\n* obj.boop = v;\n* }\n*\n* defineProperty( obj, 'beep', {\n* 'configurable': false,\n* 'enumerable': true,\n* 'set': setter\n* });\n*\n* var bool = isWriteOnlyPropertyIn( obj, 'boop' );\n* // returns false\n*\n* bool = isWriteOnlyPropertyIn( obj, 'beep' );\n* // returns true\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isTypedArray = require( './../../../is-typed-array' );\nvar format = require( '@stdlib/string/format' );\n\n\n// MAIN //\n\n/**\n* Returns a function which tests if every element in a typed array passes a test condition.\n*\n* @param {Function} predicate - function to apply\n* @throws {TypeError} must provide a function\n* @returns {Function} a typed array function\n*\n* @example\n* var isOdd = require( '@stdlib/assert/is-odd' );\n*\n* var arr1 = new Int32Array( [ 1, 3, 5, 7 ] );\n* var arr2 = new Int32Array( [ 1, 3, 5, 8 ] );\n*\n* var validate = typedarrayfcn( isOdd );\n*\n* var bool = validate( arr1 );\n* // returns true\n*\n* bool = validate( arr2 );\n* // returns false\n*/\nfunction typedarrayfcn( predicate ) {\n\tif ( typeof predicate !== 'function' ) {\n\t\tthrow new TypeError( format( 'invalid argument. Must provide a function. Value: `%s`.', predicate ) );\n\t}\n\treturn every;\n\n\t/**\n\t* Tests if every element in a typed array passes a test condition.\n\t*\n\t* @private\n\t* @param {*} value - value to test\n\t* @returns {boolean} boolean indicating whether a value is a typed array for which all elements pass a test condition\n\t*/\n\tfunction every( value ) {\n\t\tvar len;\n\t\tvar i;\n\t\tif ( !isTypedArray( value ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tlen = value.length;\n\t\tif ( len === 0 ) {\n\t\t\treturn false;\n\t\t}\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tif ( predicate( value[ i ] ) === false ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = typedarrayfcn;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Return a function which tests if every element in a typed array passes a test condition.\n*\n* @module @stdlib/assert/tools/typed-array-function\n*\n* @example\n* var isOdd = require( '@stdlib/math/base/assert/is-odd' );\n* var typedarrayfcn = require( '@stdlib/assert/tools/typed-array-function' );\n*\n* var arr1 = new Int32Array( [ 1, 3, 5, 7 ] );\n* var arr2 = new Int32Array( [ 3, 5, 6, 8 ] );\n*\n* var f = typedarrayfcn( isOdd );\n*\n* var bool = f( arr1 );\n* // returns true\n*\n* bool = f( arr2 );\n* // returns false\n*/\n\n// MODULES //\n\nvar main = require( './main.js' );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/*\n* When adding modules to the namespace, ensure that they are added in alphabetical order according to module name.\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-read-only-property' );\n\n\n// MAIN //\n\n/**\n* Top-level namespace.\n*\n* @namespace ns\n*/\nvar ns = {};\n\n/**\n* @name arrayfcn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/tools/array-function}\n*/\nsetReadOnly( ns, 'arrayfcn', require( './../../tools/array-function' ) );\n\n/**\n* @name arraylikefcn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/tools/array-like-function}\n*/\nsetReadOnly( ns, 'arraylikefcn', require( './../../tools/array-like-function' ) );\n\n/**\n* @name typedarrayfcn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/tools/typed-array-function}\n*/\nsetReadOnly( ns, 'typedarrayfcn', require( './../../tools/typed-array-function' ) );\n\n\n// EXPORTS //\n\nmodule.exports = ns;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/*\n* When adding modules to the namespace, ensure that they are added in alphabetical order according to module name.\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils/define-read-only-property' );\n\n\n// MAIN //\n\n/**\n* Top-level namespace.\n*\n* @namespace ns\n*/\nvar ns = {};\n\n/**\n* @name contains\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/contains}\n*/\nsetReadOnly( ns, 'contains', require( './../contains' ) );\n\n/**\n* @name deepEqual\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/deep-equal}\n*/\nsetReadOnly( ns, 'deepEqual', require( './../deep-equal' ) );\n\n/**\n* @name deepHasOwnProp\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/deep-has-own-property}\n*/\nsetReadOnly( ns, 'deepHasOwnProp', require( './../deep-has-own-property' ) );\n\n/**\n* @name deepHasProp\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/deep-has-property}\n*/\nsetReadOnly( ns, 'deepHasProp', require( './../deep-has-property' ) );\n\n/**\n* @name hasArrayBufferSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-arraybuffer-support}\n*/\nsetReadOnly( ns, 'hasArrayBufferSupport', require( './../has-arraybuffer-support' ) );\n\n/**\n* @name hasArrowFunctionSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-arrow-function-support}\n*/\nsetReadOnly( ns, 'hasArrowFunctionSupport', require( './../has-arrow-function-support' ) );\n\n/**\n* @name hasAsyncAwaitSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-async-await-support}\n*/\nsetReadOnly( ns, 'hasAsyncAwaitSupport', require( './../has-async-await-support' ) );\n\n/**\n* @name hasAsyncIteratorSymbolSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-async-iterator-symbol-support}\n*/\nsetReadOnly( ns, 'hasAsyncIteratorSymbolSupport', require( './../has-async-iterator-symbol-support' ) );\n\n/**\n* @name hasBigIntSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-bigint-support}\n*/\nsetReadOnly( ns, 'hasBigIntSupport', require( './../has-bigint-support' ) );\n\n/**\n* @name hasBigInt64ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-bigint64array-support}\n*/\nsetReadOnly( ns, 'hasBigInt64ArraySupport', require( './../has-bigint64array-support' ) );\n\n/**\n* @name hasBigUint64ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-biguint64array-support}\n*/\nsetReadOnly( ns, 'hasBigUint64ArraySupport', require( './../has-biguint64array-support' ) );\n\n/**\n* @name hasClassSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-class-support}\n*/\nsetReadOnly( ns, 'hasClassSupport', require( './../has-class-support' ) );\n\n/**\n* @name hasDataViewSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-dataview-support}\n*/\nsetReadOnly( ns, 'hasDataViewSupport', require( './../has-dataview-support' ) );\n\n/**\n* @name hasDefinePropertiesSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-define-properties-support}\n*/\nsetReadOnly( ns, 'hasDefinePropertiesSupport', require( './../has-define-properties-support' ) );\n\n/**\n* @name hasDefinePropertySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-define-property-support}\n*/\nsetReadOnly( ns, 'hasDefinePropertySupport', require( './../has-define-property-support' ) );\n\n/**\n* @name hasFloat32ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-float32array-support}\n*/\nsetReadOnly( ns, 'hasFloat32ArraySupport', require( './../has-float32array-support' ) );\n\n/**\n* @name hasFloat64ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-float64array-support}\n*/\nsetReadOnly( ns, 'hasFloat64ArraySupport', require( './../has-float64array-support' ) );\n\n/**\n* @name hasFunctionNameSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-function-name-support}\n*/\nsetReadOnly( ns, 'hasFunctionNameSupport', require( './../has-function-name-support' ) );\n\n/**\n* @name hasGeneratorSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-generator-support}\n*/\nsetReadOnly( ns, 'hasGeneratorSupport', require( './../has-generator-support' ) );\n\n/**\n* @name hasGlobalThisSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-globalthis-support}\n*/\nsetReadOnly( ns, 'hasGlobalThisSupport', require( './../has-globalthis-support' ) );\n\n/**\n* @name hasInt8ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-int8array-support}\n*/\nsetReadOnly( ns, 'hasInt8ArraySupport', require( './../has-int8array-support' ) );\n\n/**\n* @name hasInt16ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-int16array-support}\n*/\nsetReadOnly( ns, 'hasInt16ArraySupport', require( './../has-int16array-support' ) );\n\n/**\n* @name hasInt32ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-int32array-support}\n*/\nsetReadOnly( ns, 'hasInt32ArraySupport', require( './../has-int32array-support' ) );\n\n/**\n* @name hasIteratorSymbolSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-iterator-symbol-support}\n*/\nsetReadOnly( ns, 'hasIteratorSymbolSupport', require( './../has-iterator-symbol-support' ) );\n\n/**\n* @name hasMapSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-map-support}\n*/\nsetReadOnly( ns, 'hasMapSupport', require( './../has-map-support' ) );\n\n/**\n* @name hasNodeBufferSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-node-buffer-support}\n*/\nsetReadOnly( ns, 'hasNodeBufferSupport', require( './../has-node-buffer-support' ) );\n\n/**\n* @name hasOwnProp\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-own-property}\n*/\nsetReadOnly( ns, 'hasOwnProp', require( './../has-own-property' ) );\n\n/**\n* @name hasProp\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-property}\n*/\nsetReadOnly( ns, 'hasProp', require( './../has-property' ) );\n\n/**\n* @name hasProxySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-proxy-support}\n*/\nsetReadOnly( ns, 'hasProxySupport', require( './../has-proxy-support' ) );\n\n/**\n* @name hasSetSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-set-support}\n*/\nsetReadOnly( ns, 'hasSetSupport', require( './../has-set-support' ) );\n\n/**\n* @name hasSharedArrayBufferSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-sharedarraybuffer-support}\n*/\nsetReadOnly( ns, 'hasSharedArrayBufferSupport', require( './../has-sharedarraybuffer-support' ) );\n\n/**\n* @name hasSymbolSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-symbol-support}\n*/\nsetReadOnly( ns, 'hasSymbolSupport', require( './../has-symbol-support' ) );\n\n/**\n* @name hasToStringTagSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-tostringtag-support}\n*/\nsetReadOnly( ns, 'hasToStringTagSupport', require( './../has-tostringtag-support' ) );\n\n/**\n* @name hasUint8ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-uint8array-support}\n*/\nsetReadOnly( ns, 'hasUint8ArraySupport', require( './../has-uint8array-support' ) );\n\n/**\n* @name hasUint8ClampedArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-uint8clampedarray-support}\n*/\nsetReadOnly( ns, 'hasUint8ClampedArraySupport', require( './../has-uint8clampedarray-support' ) );\n\n/**\n* @name hasUint16ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-uint16array-support}\n*/\nsetReadOnly( ns, 'hasUint16ArraySupport', require( './../has-uint16array-support' ) );\n\n/**\n* @name hasUint32ArraySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-uint32array-support}\n*/\nsetReadOnly( ns, 'hasUint32ArraySupport', require( './../has-uint32array-support' ) );\n\n/**\n* @name hasUTF16SurrogatePairAt\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-utf16-surrogate-pair-at}\n*/\nsetReadOnly( ns, 'hasUTF16SurrogatePairAt', require( './../has-utf16-surrogate-pair-at' ) );\n\n/**\n* @name hasWebAssemblySupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-wasm-support}\n*/\nsetReadOnly( ns, 'hasWebAssemblySupport', require( './../has-wasm-support' ) );\n\n/**\n* @name hasWeakMapSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-weakmap-support}\n*/\nsetReadOnly( ns, 'hasWeakMapSupport', require( './../has-weakmap-support' ) );\n\n/**\n* @name hasWeakSetSupport\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/has-weakset-support}\n*/\nsetReadOnly( ns, 'hasWeakSetSupport', require( './../has-weakset-support' ) );\n\n/**\n* @name instanceOf\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/instance-of}\n*/\nsetReadOnly( ns, 'instanceOf', require( './../instance-of' ) );\n\n/**\n* @name isAbsoluteHttpURI\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-absolute-http-uri}\n*/\nsetReadOnly( ns, 'isAbsoluteHttpURI', require( './../is-absolute-http-uri' ) );\n\n/**\n* @name isAbsolutePath\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-absolute-path}\n*/\nsetReadOnly( ns, 'isAbsolutePath', require( './../is-absolute-path' ) );\n\n/**\n* @name isAbsoluteURI\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-absolute-uri}\n*/\nsetReadOnly( ns, 'isAbsoluteURI', require( './../is-absolute-uri' ) );\n\n/**\n* @name isAccessorArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-accessor-array}\n*/\nsetReadOnly( ns, 'isAccessorArray', require( './../is-accessor-array' ) );\n\n/**\n* @name isAccessorProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-accessor-property}\n*/\nsetReadOnly( ns, 'isAccessorProperty', require( './../is-accessor-property' ) );\n\n/**\n* @name isAccessorPropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-accessor-property-in}\n*/\nsetReadOnly( ns, 'isAccessorPropertyIn', require( './../is-accessor-property-in' ) );\n\n/**\n* @name isAlphagram\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-alphagram}\n*/\nsetReadOnly( ns, 'isAlphagram', require( './../is-alphagram' ) );\n\n/**\n* @name isAlphaNumeric\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-alphanumeric}\n*/\nsetReadOnly( ns, 'isAlphaNumeric', require( './../is-alphanumeric' ) );\n\n/**\n* @name isAnagram\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-anagram}\n*/\nsetReadOnly( ns, 'isAnagram', require( './../is-anagram' ) );\n\n/**\n* @name isArguments\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-arguments}\n*/\nsetReadOnly( ns, 'isArguments', require( './../is-arguments' ) );\n\n/**\n* @name isArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-array}\n*/\nsetReadOnly( ns, 'isArray', require( './../is-array' ) );\n\n/**\n* @name isArrayArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-array-array}\n*/\nsetReadOnly( ns, 'isArrayArray', require( './../is-array-array' ) );\n\n/**\n* @name isArrayLength\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-array-length}\n*/\nsetReadOnly( ns, 'isArrayLength', require( './../is-array-length' ) );\n\n/**\n* @name isArrayLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-array-like}\n*/\nsetReadOnly( ns, 'isArrayLike', require( './../is-array-like' ) );\n\n/**\n* @name isArrayLikeObject\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-array-like-object}\n*/\nsetReadOnly( ns, 'isArrayLikeObject', require( './../is-array-like-object' ) );\n\n/**\n* @name isArrayBuffer\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-arraybuffer}\n*/\nsetReadOnly( ns, 'isArrayBuffer', require( './../is-arraybuffer' ) );\n\n/**\n* @name isArrayBufferView\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-arraybuffer-view}\n*/\nsetReadOnly( ns, 'isArrayBufferView', require( './../is-arraybuffer-view' ) );\n\n/**\n* @name isArrowFunction\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-arrow-function}\n*/\nsetReadOnly( ns, 'isArrowFunction', require( './../is-arrow-function' ) );\n\n/**\n* @name isASCII\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-ascii}\n*/\nsetReadOnly( ns, 'isASCII', require( './../is-ascii' ) );\n\n/**\n* @name isBetween\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-between}\n*/\nsetReadOnly( ns, 'isBetween', require( './../is-between' ) );\n\n/**\n* @name isBetweenArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-between-array}\n*/\nsetReadOnly( ns, 'isBetweenArray', require( './../is-between-array' ) );\n\n/**\n* @name IS_BIG_ENDIAN\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-big-endian}\n*/\nsetReadOnly( ns, 'IS_BIG_ENDIAN', require( './../is-big-endian' ) );\n\n/**\n* @name isBigInt\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-bigint}\n*/\nsetReadOnly( ns, 'isBigInt', require( './../is-bigint' ) );\n\n/**\n* @name isBigInt64Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-bigint64array}\n*/\nsetReadOnly( ns, 'isBigInt64Array', require( './../is-bigint64array' ) );\n\n/**\n* @name isBigUint64Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-biguint64array}\n*/\nsetReadOnly( ns, 'isBigUint64Array', require( './../is-biguint64array' ) );\n\n/**\n* @name isBinaryString\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-binary-string}\n*/\nsetReadOnly( ns, 'isBinaryString', require( './../is-binary-string' ) );\n\n/**\n* @name isBlankString\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-blank-string}\n*/\nsetReadOnly( ns, 'isBlankString', require( './../is-blank-string' ) );\n\n/**\n* @name isBoolean\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-boolean}\n*/\nsetReadOnly( ns, 'isBoolean', require( './../is-boolean' ) );\n\n/**\n* @name isBooleanArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-boolean-array}\n*/\nsetReadOnly( ns, 'isBooleanArray', require( './../is-boolean-array' ) );\n\n/**\n* @name isBoxedPrimitive\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-boxed-primitive}\n*/\nsetReadOnly( ns, 'isBoxedPrimitive', require( './../is-boxed-primitive' ) );\n\n/**\n* @name IS_BROWSER\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-browser}\n*/\nsetReadOnly( ns, 'IS_BROWSER', require( './../is-browser' ) );\n\n/**\n* @name isBuffer\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-buffer}\n*/\nsetReadOnly( ns, 'isBuffer', require( './../is-buffer' ) );\n\n/**\n* @name isCamelcase\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-camelcase}\n*/\nsetReadOnly( ns, 'isCamelcase', require( './../is-camelcase' ) );\n\n/**\n* @name isCapitalized\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-capitalized}\n*/\nsetReadOnly( ns, 'isCapitalized', require( './../is-capitalized' ) );\n\n/**\n* @name isCentrosymmetricMatrix\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-centrosymmetric-matrix}\n*/\nsetReadOnly( ns, 'isCentrosymmetricMatrix', require( './../is-centrosymmetric-matrix' ) );\n\n/**\n* @name isCircular\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-circular}\n*/\nsetReadOnly( ns, 'isCircular', require( './../is-circular' ) );\n\n/**\n* @name isCircularArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-circular-array}\n*/\nsetReadOnly( ns, 'isCircularArray', require( './../is-circular-array' ) );\n\n/**\n* @name isCircularPlainObject\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-circular-plain-object}\n*/\nsetReadOnly( ns, 'isCircularPlainObject', require( './../is-circular-plain-object' ) );\n\n/**\n* @name isClass\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-class}\n*/\nsetReadOnly( ns, 'isClass', require( './../is-class' ) );\n\n/**\n* @name isCollection\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-collection}\n*/\nsetReadOnly( ns, 'isCollection', require( './../is-collection' ) );\n\n/**\n* @name isComplex\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex}\n*/\nsetReadOnly( ns, 'isComplex', require( './../is-complex' ) );\n\n/**\n* @name isComplexLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex-like}\n*/\nsetReadOnly( ns, 'isComplexLike', require( './../is-complex-like' ) );\n\n/**\n* @name isComplexTypedArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex-typed-array}\n*/\nsetReadOnly( ns, 'isComplexTypedArray', require( './../is-complex-typed-array' ) );\n\n/**\n* @name isComplexTypedArrayLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex-typed-array-like}\n*/\nsetReadOnly( ns, 'isComplexTypedArrayLike', require( './../is-complex-typed-array-like' ) );\n\n/**\n* @name isComplex64\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex64}\n*/\nsetReadOnly( ns, 'isComplex64', require( './../is-complex64' ) );\n\n/**\n* @name isComplex64Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex64array}\n*/\nsetReadOnly( ns, 'isComplex64Array', require( './../is-complex64array' ) );\n\n/**\n* @name isComplex64MatrixLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex64matrix-like}\n*/\nsetReadOnly( ns, 'isComplex64MatrixLike', require( './../is-complex64matrix-like' ) );\n\n/**\n* @name isComplex64ndarrayLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex64ndarray-like}\n*/\nsetReadOnly( ns, 'isComplex64ndarrayLike', require( './../is-complex64ndarray-like' ) );\n\n/**\n* @name isComplex64VectorLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex64vector-like}\n*/\nsetReadOnly( ns, 'isComplex64VectorLike', require( './../is-complex64vector-like' ) );\n\n/**\n* @name isComplex128\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex128}\n*/\nsetReadOnly( ns, 'isComplex128', require( './../is-complex128' ) );\n\n/**\n* @name isComplex128Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex128array}\n*/\nsetReadOnly( ns, 'isComplex128Array', require( './../is-complex128array' ) );\n\n/**\n* @name isComplex128MatrixLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex128matrix-like}\n*/\nsetReadOnly( ns, 'isComplex128MatrixLike', require( './../is-complex128matrix-like' ) );\n\n/**\n* @name isComplex128ndarrayLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex128ndarray-like}\n*/\nsetReadOnly( ns, 'isComplex128ndarrayLike', require( './../is-complex128ndarray-like' ) );\n\n/**\n* @name isComplex128VectorLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-complex128vector-like}\n*/\nsetReadOnly( ns, 'isComplex128VectorLike', require( './../is-complex128vector-like' ) );\n\n/**\n* @name isComposite\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-composite}\n*/\nsetReadOnly( ns, 'isComposite', require( './../is-composite' ) );\n\n/**\n* @name isConfigurableProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-configurable-property}\n*/\nsetReadOnly( ns, 'isConfigurableProperty', require( './../is-configurable-property' ) );\n\n/**\n* @name isConfigurablePropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-configurable-property-in}\n*/\nsetReadOnly( ns, 'isConfigurablePropertyIn', require( './../is-configurable-property-in' ) );\n\n/**\n* @name isConstantcase\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-constantcase}\n*/\nsetReadOnly( ns, 'isConstantcase', require( './../is-constantcase' ) );\n\n/**\n* @name isCubeNumber\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-cube-number}\n*/\nsetReadOnly( ns, 'isCubeNumber', require( './../is-cube-number' ) );\n\n/**\n* @name isCurrentYear\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-current-year}\n*/\nsetReadOnly( ns, 'isCurrentYear', require( './../is-current-year' ) );\n\n/**\n* @name IS_DARWIN\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-darwin}\n*/\nsetReadOnly( ns, 'IS_DARWIN', require( './../is-darwin' ) );\n\n/**\n* @name isDataProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-data-property}\n*/\nsetReadOnly( ns, 'isDataProperty', require( './../is-data-property' ) );\n\n/**\n* @name isDataPropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-data-property-in}\n*/\nsetReadOnly( ns, 'isDataPropertyIn', require( './../is-data-property-in' ) );\n\n/**\n* @name isDataView\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-dataview}\n*/\nsetReadOnly( ns, 'isDataView', require( './../is-dataview' ) );\n\n/**\n* @name isDateObject\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-date-object}\n*/\nsetReadOnly( ns, 'isDateObject', require( './../is-date-object' ) );\n\n/**\n* @name isDateObjectArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-date-object-array}\n*/\nsetReadOnly( ns, 'isDateObjectArray', require( './../is-date-object-array' ) );\n\n/**\n* @name isDigitString\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-digit-string}\n*/\nsetReadOnly( ns, 'isDigitString', require( './../is-digit-string' ) );\n\n/**\n* @name IS_DOCKER\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-docker}\n*/\nsetReadOnly( ns, 'IS_DOCKER', require( './../is-docker' ) );\n\n/**\n* @name isDomainName\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-domain-name}\n*/\nsetReadOnly( ns, 'isDomainName', require( './../is-domain-name' ) );\n\n/**\n* @name isDurationString\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-duration-string}\n*/\nsetReadOnly( ns, 'isDurationString', require( './../is-duration-string' ) );\n\n/**\n* @name IS_ELECTRON\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-electron}\n*/\nsetReadOnly( ns, 'IS_ELECTRON', require( './../is-electron' ) );\n\n/**\n* @name IS_ELECTRON_MAIN\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-electron-main}\n*/\nsetReadOnly( ns, 'IS_ELECTRON_MAIN', require( './../is-electron-main' ) );\n\n/**\n* @name IS_ELECTRON_RENDERER\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-electron-renderer}\n*/\nsetReadOnly( ns, 'IS_ELECTRON_RENDERER', require( './../is-electron-renderer' ) );\n\n/**\n* @name isEmailAddress\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-email-address}\n*/\nsetReadOnly( ns, 'isEmailAddress', require( './../is-email-address' ) );\n\n/**\n* @name isEmptyArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-empty-array}\n*/\nsetReadOnly( ns, 'isEmptyArray', require( './../is-empty-array' ) );\n\n/**\n* @name isEmptyArrayLikeObject\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-empty-array-like-object}\n*/\nsetReadOnly( ns, 'isEmptyArrayLikeObject', require( './../is-empty-array-like-object' ) );\n\n/**\n* @name isEmptyCollection\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-empty-collection}\n*/\nsetReadOnly( ns, 'isEmptyCollection', require( './../is-empty-collection' ) );\n\n/**\n* @name isEmptyObject\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-empty-object}\n*/\nsetReadOnly( ns, 'isEmptyObject', require( './../is-empty-object' ) );\n\n/**\n* @name isEmptyString\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-empty-string}\n*/\nsetReadOnly( ns, 'isEmptyString', require( './../is-empty-string' ) );\n\n/**\n* @name isEnumerableProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-enumerable-property}\n*/\nsetReadOnly( ns, 'isEnumerableProperty', require( './../is-enumerable-property' ) );\n\n/**\n* @name isEnumerablePropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-enumerable-property-in}\n*/\nsetReadOnly( ns, 'isEnumerablePropertyIn', require( './../is-enumerable-property-in' ) );\n\n/**\n* @name isError\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-error}\n*/\nsetReadOnly( ns, 'isError', require( './../is-error' ) );\n\n/**\n* @name isEvalError\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-eval-error}\n*/\nsetReadOnly( ns, 'isEvalError', require( './../is-eval-error' ) );\n\n/**\n* @name isEven\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-even}\n*/\nsetReadOnly( ns, 'isEven', require( './../is-even' ) );\n\n/**\n* @name isFalsy\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-falsy}\n*/\nsetReadOnly( ns, 'isFalsy', require( './../is-falsy' ) );\n\n/**\n* @name isFalsyArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-falsy-array}\n*/\nsetReadOnly( ns, 'isFalsyArray', require( './../is-falsy-array' ) );\n\n/**\n* @name isFinite\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-finite}\n*/\nsetReadOnly( ns, 'isFinite', require( './../is-finite' ) );\n\n/**\n* @name isFiniteArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-finite-array}\n*/\nsetReadOnly( ns, 'isFiniteArray', require( './../is-finite-array' ) );\n\n/**\n* @name isFloat32Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-float32array}\n*/\nsetReadOnly( ns, 'isFloat32Array', require( './../is-float32array' ) );\n\n/**\n* @name isFloat32MatrixLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-float32matrix-like}\n*/\nsetReadOnly( ns, 'isFloat32MatrixLike', require( './../is-float32matrix-like' ) );\n\n/**\n* @name isFloat32ndarrayLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-float32ndarray-like}\n*/\nsetReadOnly( ns, 'isFloat32ndarrayLike', require( './../is-float32ndarray-like' ) );\n\n/**\n* @name isFloat32VectorLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-float32vector-like}\n*/\nsetReadOnly( ns, 'isFloat32VectorLike', require( './../is-float32vector-like' ) );\n\n/**\n* @name isFloat64Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-float64array}\n*/\nsetReadOnly( ns, 'isFloat64Array', require( './../is-float64array' ) );\n\n/**\n* @name isFloat64MatrixLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-float64matrix-like}\n*/\nsetReadOnly( ns, 'isFloat64MatrixLike', require( './../is-float64matrix-like' ) );\n\n/**\n* @name isFloat64ndarrayLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-float64ndarray-like}\n*/\nsetReadOnly( ns, 'isFloat64ndarrayLike', require( './../is-float64ndarray-like' ) );\n\n/**\n* @name isFloat64VectorLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-float64vector-like}\n*/\nsetReadOnly( ns, 'isFloat64VectorLike', require( './../is-float64vector-like' ) );\n\n/**\n* @name isFunction\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-function}\n*/\nsetReadOnly( ns, 'isFunction', require( './../is-function' ) );\n\n/**\n* @name isFunctionArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-function-array}\n*/\nsetReadOnly( ns, 'isFunctionArray', require( './../is-function-array' ) );\n\n/**\n* @name isGeneratorObject\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-generator-object}\n*/\nsetReadOnly( ns, 'isGeneratorObject', require( './../is-generator-object' ) );\n\n/**\n* @name isGeneratorObjectLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-generator-object-like}\n*/\nsetReadOnly( ns, 'isGeneratorObjectLike', require( './../is-generator-object-like' ) );\n\n/**\n* @name isgzipBuffer\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-gzip-buffer}\n*/\nsetReadOnly( ns, 'isgzipBuffer', require( './../is-gzip-buffer' ) );\n\n/**\n* @name isHexString\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-hex-string}\n*/\nsetReadOnly( ns, 'isHexString', require( './../is-hex-string' ) );\n\n/**\n* @name isInfinite\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-infinite}\n*/\nsetReadOnly( ns, 'isInfinite', require( './../is-infinite' ) );\n\n/**\n* @name isInheritedProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-inherited-property}\n*/\nsetReadOnly( ns, 'isInheritedProperty', require( './../is-inherited-property' ) );\n\n/**\n* @name isInt8Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-int8array}\n*/\nsetReadOnly( ns, 'isInt8Array', require( './../is-int8array' ) );\n\n/**\n* @name isInt16Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-int16array}\n*/\nsetReadOnly( ns, 'isInt16Array', require( './../is-int16array' ) );\n\n/**\n* @name isInt32Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-int32array}\n*/\nsetReadOnly( ns, 'isInt32Array', require( './../is-int32array' ) );\n\n/**\n* @name isInteger\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-integer}\n*/\nsetReadOnly( ns, 'isInteger', require( './../is-integer' ) );\n\n/**\n* @name isIntegerArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-integer-array}\n*/\nsetReadOnly( ns, 'isIntegerArray', require( './../is-integer-array' ) );\n\n/**\n* @name isIterableLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-iterable-like}\n*/\nsetReadOnly( ns, 'isIterableLike', require( './../is-iterable-like' ) );\n\n/**\n* @name isIteratorLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-iterator-like}\n*/\nsetReadOnly( ns, 'isIteratorLike', require( './../is-iterator-like' ) );\n\n/**\n* @name isJSON\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-json}\n*/\nsetReadOnly( ns, 'isJSON', require( './../is-json' ) );\n\n/**\n* @name isKebabcase\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-kebabcase}\n*/\nsetReadOnly( ns, 'isKebabcase', require( './../is-kebabcase' ) );\n\n/**\n* @name isLeapYear\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-leap-year}\n*/\nsetReadOnly( ns, 'isLeapYear', require( './../is-leap-year' ) );\n\n/**\n* @name IS_LITTLE_ENDIAN\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-little-endian}\n*/\nsetReadOnly( ns, 'IS_LITTLE_ENDIAN', require( './../is-little-endian' ) );\n\n/**\n* @name isLocalhost\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-localhost}\n*/\nsetReadOnly( ns, 'isLocalhost', require( './../is-localhost' ) );\n\n/**\n* @name isLowercase\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-lowercase}\n*/\nsetReadOnly( ns, 'isLowercase', require( './../is-lowercase' ) );\n\n/**\n* @name isMatrixLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-matrix-like}\n*/\nsetReadOnly( ns, 'isMatrixLike', require( './../is-matrix-like' ) );\n\n/**\n* @name isMethod\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-method}\n*/\nsetReadOnly( ns, 'isMethod', require( './../is-method' ) );\n\n/**\n* @name isMethodIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-method-in}\n*/\nsetReadOnly( ns, 'isMethodIn', require( './../is-method-in' ) );\n\n/**\n* @name IS_MOBILE\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-mobile}\n*/\nsetReadOnly( ns, 'IS_MOBILE', require( './../is-mobile' ) );\n\n/**\n* @name isMultiSlice\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-multi-slice}\n*/\nsetReadOnly( ns, 'isMultiSlice', require( './../is-multi-slice' ) );\n\n/**\n* @name isNamedTypedTupleLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-named-typed-tuple-like}\n*/\nsetReadOnly( ns, 'isNamedTypedTupleLike', require( './../is-named-typed-tuple-like' ) );\n\n/**\n* @name isnan\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nan}\n*/\nsetReadOnly( ns, 'isnan', require( './../is-nan' ) );\n\n/**\n* @name isNaNArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nan-array}\n*/\nsetReadOnly( ns, 'isNaNArray', require( './../is-nan-array' ) );\n\n/**\n* @name isNativeFunction\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-native-function}\n*/\nsetReadOnly( ns, 'isNativeFunction', require( './../is-native-function' ) );\n\n/**\n* @name isndarrayLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-ndarray-like}\n*/\nsetReadOnly( ns, 'isndarrayLike', require( './../is-ndarray-like' ) );\n\n/**\n* @name isNegativeInteger\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-negative-integer}\n*/\nsetReadOnly( ns, 'isNegativeInteger', require( './../is-negative-integer' ) );\n\n/**\n* @name isNegativeIntegerArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-negative-integer-array}\n*/\nsetReadOnly( ns, 'isNegativeIntegerArray', require( './../is-negative-integer-array' ) );\n\n/**\n* @name isNegativeNumber\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-negative-number}\n*/\nsetReadOnly( ns, 'isNegativeNumber', require( './../is-negative-number' ) );\n\n/**\n* @name isNegativeNumberArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-negative-number-array}\n*/\nsetReadOnly( ns, 'isNegativeNumberArray', require( './../is-negative-number-array' ) );\n\n/**\n* @name isNegativeZero\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-negative-zero}\n*/\nsetReadOnly( ns, 'isNegativeZero', require( './../is-negative-zero' ) );\n\n/**\n* @name IS_NODE\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-node}\n*/\nsetReadOnly( ns, 'IS_NODE', require( './../is-node' ) );\n\n/**\n* @name isNodeBuiltin\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-node-builtin}\n*/\nsetReadOnly( ns, 'isNodeBuiltin', require( './../is-node-builtin' ) );\n\n/**\n* @name isNodeDuplexStreamLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-node-duplex-stream-like}\n*/\nsetReadOnly( ns, 'isNodeDuplexStreamLike', require( './../is-node-duplex-stream-like' ) );\n\n/**\n* @name isNodeReadableStreamLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-node-readable-stream-like}\n*/\nsetReadOnly( ns, 'isNodeReadableStreamLike', require( './../is-node-readable-stream-like' ) );\n\n/**\n* @name isNodeREPL\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-node-repl}\n*/\nsetReadOnly( ns, 'isNodeREPL', require( './../is-node-repl' ) );\n\n/**\n* @name isNodeStreamLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-node-stream-like}\n*/\nsetReadOnly( ns, 'isNodeStreamLike', require( './../is-node-stream-like' ) );\n\n/**\n* @name isNodeTransformStreamLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-node-transform-stream-like}\n*/\nsetReadOnly( ns, 'isNodeTransformStreamLike', require( './../is-node-transform-stream-like' ) );\n\n/**\n* @name isNodeWritableStreamLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-node-writable-stream-like}\n*/\nsetReadOnly( ns, 'isNodeWritableStreamLike', require( './../is-node-writable-stream-like' ) );\n\n/**\n* @name isNonConfigurableProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonconfigurable-property}\n*/\nsetReadOnly( ns, 'isNonConfigurableProperty', require( './../is-nonconfigurable-property' ) );\n\n/**\n* @name isNonConfigurablePropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonconfigurable-property-in}\n*/\nsetReadOnly( ns, 'isNonConfigurablePropertyIn', require( './../is-nonconfigurable-property-in' ) );\n\n/**\n* @name isNonEnumerableProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonenumerable-property}\n*/\nsetReadOnly( ns, 'isNonEnumerableProperty', require( './../is-nonenumerable-property' ) );\n\n/**\n* @name isNonEnumerablePropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonenumerable-property-in}\n*/\nsetReadOnly( ns, 'isNonEnumerablePropertyIn', require( './../is-nonenumerable-property-in' ) );\n\n/**\n* @name isNonNegativeInteger\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonnegative-integer}\n*/\nsetReadOnly( ns, 'isNonNegativeInteger', require( './../is-nonnegative-integer' ) );\n\n/**\n* @name isNonNegativeIntegerArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonnegative-integer-array}\n*/\nsetReadOnly( ns, 'isNonNegativeIntegerArray', require( './../is-nonnegative-integer-array' ) );\n\n/**\n* @name isNonNegativeNumber\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonnegative-number}\n*/\nsetReadOnly( ns, 'isNonNegativeNumber', require( './../is-nonnegative-number' ) );\n\n/**\n* @name isNonNegativeNumberArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonnegative-number-array}\n*/\nsetReadOnly( ns, 'isNonNegativeNumberArray', require( './../is-nonnegative-number-array' ) );\n\n/**\n* @name isNonPositiveInteger\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonpositive-integer}\n*/\nsetReadOnly( ns, 'isNonPositiveInteger', require( './../is-nonpositive-integer' ) );\n\n/**\n* @name isNonPositiveIntegerArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonpositive-integer-array}\n*/\nsetReadOnly( ns, 'isNonPositiveIntegerArray', require( './../is-nonpositive-integer-array' ) );\n\n/**\n* @name isNonPositiveNumber\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonpositive-number}\n*/\nsetReadOnly( ns, 'isNonPositiveNumber', require( './../is-nonpositive-number' ) );\n\n/**\n* @name isNonPositiveNumberArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonpositive-number-array}\n*/\nsetReadOnly( ns, 'isNonPositiveNumberArray', require( './../is-nonpositive-number-array' ) );\n\n/**\n* @name isNonSymmetricMatrix\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-nonsymmetric-matrix}\n*/\nsetReadOnly( ns, 'isNonSymmetricMatrix', require( './../is-nonsymmetric-matrix' ) );\n\n/**\n* @name isNull\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-null}\n*/\nsetReadOnly( ns, 'isNull', require( './../is-null' ) );\n\n/**\n* @name isNullArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-null-array}\n*/\nsetReadOnly( ns, 'isNullArray', require( './../is-null-array' ) );\n\n/**\n* @name isNumber\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-number}\n*/\nsetReadOnly( ns, 'isNumber', require( './../is-number' ) );\n\n/**\n* @name isNumberArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-number-array}\n*/\nsetReadOnly( ns, 'isNumberArray', require( './../is-number-array' ) );\n\n/**\n* @name isNumericArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-numeric-array}\n*/\nsetReadOnly( ns, 'isNumericArray', require( './../is-numeric-array' ) );\n\n/**\n* @name isObject\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-object}\n*/\nsetReadOnly( ns, 'isObject', require( './../is-object' ) );\n\n/**\n* @name isObjectArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-object-array}\n*/\nsetReadOnly( ns, 'isObjectArray', require( './../is-object-array' ) );\n\n/**\n* @name isObjectLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-object-like}\n*/\nsetReadOnly( ns, 'isObjectLike', require( './../is-object-like' ) );\n\n/**\n* @name isOdd\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-odd}\n*/\nsetReadOnly( ns, 'isOdd', require( './../is-odd' ) );\n\n/**\n* @name isPascalcase\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-pascalcase}\n*/\nsetReadOnly( ns, 'isPascalcase', require( './../is-pascalcase' ) );\n\n/**\n* @name isPersymmetricMatrix\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-persymmetric-matrix}\n*/\nsetReadOnly( ns, 'isPersymmetricMatrix', require( './../is-persymmetric-matrix' ) );\n\n/**\n* @name isPlainObject\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-plain-object}\n*/\nsetReadOnly( ns, 'isPlainObject', require( './../is-plain-object' ) );\n\n/**\n* @name isPlainObjectArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-plain-object-array}\n*/\nsetReadOnly( ns, 'isPlainObjectArray', require( './../is-plain-object-array' ) );\n\n/**\n* @name isPositiveInteger\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-positive-integer}\n*/\nsetReadOnly( ns, 'isPositiveInteger', require( './../is-positive-integer' ) );\n\n/**\n* @name isPositiveIntegerArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-positive-integer-array}\n*/\nsetReadOnly( ns, 'isPositiveIntegerArray', require( './../is-positive-integer-array' ) );\n\n/**\n* @name isPositiveNumber\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-positive-number}\n*/\nsetReadOnly( ns, 'isPositiveNumber', require( './../is-positive-number' ) );\n\n/**\n* @name isPositiveNumberArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-positive-number-array}\n*/\nsetReadOnly( ns, 'isPositiveNumberArray', require( './../is-positive-number-array' ) );\n\n/**\n* @name isPositiveZero\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-positive-zero}\n*/\nsetReadOnly( ns, 'isPositiveZero', require( './../is-positive-zero' ) );\n\n/**\n* @name isPrime\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-prime}\n*/\nsetReadOnly( ns, 'isPrime', require( './../is-prime' ) );\n\n/**\n* @name isPrimitive\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-primitive}\n*/\nsetReadOnly( ns, 'isPrimitive', require( './../is-primitive' ) );\n\n/**\n* @name isPrimitiveArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-primitive-array}\n*/\nsetReadOnly( ns, 'isPrimitiveArray', require( './../is-primitive-array' ) );\n\n/**\n* @name isPRNGLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-prng-like}\n*/\nsetReadOnly( ns, 'isPRNGLike', require( './../is-prng-like' ) );\n\n/**\n* @name isProbability\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-probability}\n*/\nsetReadOnly( ns, 'isProbability', require( './../is-probability' ) );\n\n/**\n* @name isProbabilityArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-probability-array}\n*/\nsetReadOnly( ns, 'isProbabilityArray', require( './../is-probability-array' ) );\n\n/**\n* @name isPropertyKey\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-property-key}\n*/\nsetReadOnly( ns, 'isPropertyKey', require( './../is-property-key' ) );\n\n/**\n* @name isPrototypeOf\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-prototype-of}\n*/\nsetReadOnly( ns, 'isPrototypeOf', require( './../is-prototype-of' ) );\n\n/**\n* @name isRangeError\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-range-error}\n*/\nsetReadOnly( ns, 'isRangeError', require( './../is-range-error' ) );\n\n/**\n* @name isReadOnlyProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-read-only-property}\n*/\nsetReadOnly( ns, 'isReadOnlyProperty', require( './../is-read-only-property' ) );\n\n/**\n* @name isReadOnlyPropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-read-only-property-in}\n*/\nsetReadOnly( ns, 'isReadOnlyPropertyIn', require( './../is-read-only-property-in' ) );\n\n/**\n* @name isReadWriteProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-read-write-property}\n*/\nsetReadOnly( ns, 'isReadWriteProperty', require( './../is-read-write-property' ) );\n\n/**\n* @name isReadWritePropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-read-write-property-in}\n*/\nsetReadOnly( ns, 'isReadWritePropertyIn', require( './../is-read-write-property-in' ) );\n\n/**\n* @name isReadableProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-readable-property}\n*/\nsetReadOnly( ns, 'isReadableProperty', require( './../is-readable-property' ) );\n\n/**\n* @name isReadablePropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-readable-property-in}\n*/\nsetReadOnly( ns, 'isReadablePropertyIn', require( './../is-readable-property-in' ) );\n\n/**\n* @name isReferenceError\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-reference-error}\n*/\nsetReadOnly( ns, 'isReferenceError', require( './../is-reference-error' ) );\n\n/**\n* @name isRegExp\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-regexp}\n*/\nsetReadOnly( ns, 'isRegExp', require( './../is-regexp' ) );\n\n/**\n* @name isRegExpString\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-regexp-string}\n*/\nsetReadOnly( ns, 'isRegExpString', require( './../is-regexp-string' ) );\n\n/**\n* @name isRelativePath\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-relative-path}\n*/\nsetReadOnly( ns, 'isRelativePath', require( './../is-relative-path' ) );\n\n/**\n* @name isRelativeURI\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-relative-uri}\n*/\nsetReadOnly( ns, 'isRelativeURI', require( './../is-relative-uri' ) );\n\n/**\n* @name isSafeInteger\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-safe-integer}\n*/\nsetReadOnly( ns, 'isSafeInteger', require( './../is-safe-integer' ) );\n\n/**\n* @name isSafeIntegerArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-safe-integer-array}\n*/\nsetReadOnly( ns, 'isSafeIntegerArray', require( './../is-safe-integer-array' ) );\n\n/**\n* @name isSameFloat32Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-same-float32array}\n*/\nsetReadOnly( ns, 'isSameFloat32Array', require( './../is-same-float32array' ) );\n\n/**\n* @name isSameFloat64Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-same-float64array}\n*/\nsetReadOnly( ns, 'isSameFloat64Array', require( './../is-same-float64array' ) );\n\n/**\n* @name isSameNativeClass\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-same-native-class}\n*/\nsetReadOnly( ns, 'isSameNativeClass', require( './../is-same-native-class' ) );\n\n/**\n* @name isSameType\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-same-type}\n*/\nsetReadOnly( ns, 'isSameType', require( './../is-same-type' ) );\n\n/**\n* @name isSameValue\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-same-value}\n*/\nsetReadOnly( ns, 'isSameValue', require( './../is-same-value' ) );\n\n/**\n* @name isSameValueZero\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-same-value-zero}\n*/\nsetReadOnly( ns, 'isSameValueZero', require( './../is-same-value-zero' ) );\n\n/**\n* @name isSemVer\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-semver}\n*/\nsetReadOnly( ns, 'isSemVer', require( './../is-semver' ) );\n\n/**\n* @name isSharedArrayBuffer\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-sharedarraybuffer}\n*/\nsetReadOnly( ns, 'isSharedArrayBuffer', require( './../is-sharedarraybuffer' ) );\n\n/**\n* @name isSkewCentrosymmetricMatrix\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-skew-centrosymmetric-matrix}\n*/\nsetReadOnly( ns, 'isSkewCentrosymmetricMatrix', require( './../is-skew-centrosymmetric-matrix' ) );\n\n/**\n* @name isSkewPersymmetricMatrix\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-skew-persymmetric-matrix}\n*/\nsetReadOnly( ns, 'isSkewPersymmetricMatrix', require( './../is-skew-persymmetric-matrix' ) );\n\n/**\n* @name isSkewSymmetricMatrix\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-skew-symmetric-matrix}\n*/\nsetReadOnly( ns, 'isSkewSymmetricMatrix', require( './../is-skew-symmetric-matrix' ) );\n\n/**\n* @name isSlice\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-slice}\n*/\nsetReadOnly( ns, 'isSlice', require( './../is-slice' ) );\n\n/**\n* @name isSnakecase\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-snakecase}\n*/\nsetReadOnly( ns, 'isSnakecase', require( './../is-snakecase' ) );\n\n/**\n* @name isSquareMatrix\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-square-matrix}\n*/\nsetReadOnly( ns, 'isSquareMatrix', require( './../is-square-matrix' ) );\n\n/**\n* @name isSquareNumber\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-square-number}\n*/\nsetReadOnly( ns, 'isSquareNumber', require( './../is-square-number' ) );\n\n/**\n* @name isSquareTriangularNumber\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-square-triangular-number}\n*/\nsetReadOnly( ns, 'isSquareTriangularNumber', require( './../is-square-triangular-number' ) );\n\n/**\n* @name isStartcase\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-startcase}\n*/\nsetReadOnly( ns, 'isStartcase', require( './../is-startcase' ) );\n\n/**\n* @name isStrictEqual\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-strict-equal}\n*/\nsetReadOnly( ns, 'isStrictEqual', require( './../is-strict-equal' ) );\n\n/**\n* @name isString\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-string}\n*/\nsetReadOnly( ns, 'isString', require( './../is-string' ) );\n\n/**\n* @name isStringArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-string-array}\n*/\nsetReadOnly( ns, 'isStringArray', require( './../is-string-array' ) );\n\n/**\n* @name isSymbol\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-symbol}\n*/\nsetReadOnly( ns, 'isSymbol', require( './../is-symbol' ) );\n\n/**\n* @name isSymbolArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-symbol-array}\n*/\nsetReadOnly( ns, 'isSymbolArray', require( './../is-symbol-array' ) );\n\n/**\n* @name isSymmetricMatrix\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-symmetric-matrix}\n*/\nsetReadOnly( ns, 'isSymmetricMatrix', require( './../is-symmetric-matrix' ) );\n\n/**\n* @name isSyntaxError\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-syntax-error}\n*/\nsetReadOnly( ns, 'isSyntaxError', require( './../is-syntax-error' ) );\n\n/**\n* @name IS_TOUCH_DEVICE\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-touch-device}\n*/\nsetReadOnly( ns, 'IS_TOUCH_DEVICE', require( './../is-touch-device' ) );\n\n/**\n* @name isTriangularNumber\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-triangular-number}\n*/\nsetReadOnly( ns, 'isTriangularNumber', require( './../is-triangular-number' ) );\n\n/**\n* @name isTruthy\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-truthy}\n*/\nsetReadOnly( ns, 'isTruthy', require( './../is-truthy' ) );\n\n/**\n* @name isTruthyArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-truthy-array}\n*/\nsetReadOnly( ns, 'isTruthyArray', require( './../is-truthy-array' ) );\n\n/**\n* @name isTypeError\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-type-error}\n*/\nsetReadOnly( ns, 'isTypeError', require( './../is-type-error' ) );\n\n/**\n* @name isTypedArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-typed-array}\n*/\nsetReadOnly( ns, 'isTypedArray', require( './../is-typed-array' ) );\n\n/**\n* @name isTypedArrayLength\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-typed-array-length}\n*/\nsetReadOnly( ns, 'isTypedArrayLength', require( './../is-typed-array-length' ) );\n\n/**\n* @name isTypedArrayLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-typed-array-like}\n*/\nsetReadOnly( ns, 'isTypedArrayLike', require( './../is-typed-array-like' ) );\n\n/**\n* @name isUint8Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-uint8array}\n*/\nsetReadOnly( ns, 'isUint8Array', require( './../is-uint8array' ) );\n\n/**\n* @name isUint8ClampedArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-uint8clampedarray}\n*/\nsetReadOnly( ns, 'isUint8ClampedArray', require( './../is-uint8clampedarray' ) );\n\n/**\n* @name isUint16Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-uint16array}\n*/\nsetReadOnly( ns, 'isUint16Array', require( './../is-uint16array' ) );\n\n/**\n* @name isUint32Array\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-uint32array}\n*/\nsetReadOnly( ns, 'isUint32Array', require( './../is-uint32array' ) );\n\n/**\n* @name isUNCPath\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-unc-path}\n*/\nsetReadOnly( ns, 'isUNCPath', require( './../is-unc-path' ) );\n\n/**\n* @name isUndefined\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-undefined}\n*/\nsetReadOnly( ns, 'isUndefined', require( './../is-undefined' ) );\n\n/**\n* @name isUndefinedOrNull\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-undefined-or-null}\n*/\nsetReadOnly( ns, 'isUndefinedOrNull', require( './../is-undefined-or-null' ) );\n\n/**\n* @name isUnityProbabilityArray\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-unity-probability-array}\n*/\nsetReadOnly( ns, 'isUnityProbabilityArray', require( './../is-unity-probability-array' ) );\n\n/**\n* @name isUppercase\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-uppercase}\n*/\nsetReadOnly( ns, 'isUppercase', require( './../is-uppercase' ) );\n\n/**\n* @name isURI\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-uri}\n*/\nsetReadOnly( ns, 'isURI', require( './../is-uri' ) );\n\n/**\n* @name isURIError\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-uri-error}\n*/\nsetReadOnly( ns, 'isURIError', require( './../is-uri-error' ) );\n\n/**\n* @name isVectorLike\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-vector-like}\n*/\nsetReadOnly( ns, 'isVectorLike', require( './../is-vector-like' ) );\n\n/**\n* @name IS_WEB_WORKER\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-web-worker}\n*/\nsetReadOnly( ns, 'IS_WEB_WORKER', require( './../is-web-worker' ) );\n\n/**\n* @name isWhitespace\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-whitespace}\n*/\nsetReadOnly( ns, 'isWhitespace', require( './../is-whitespace' ) );\n\n/**\n* @name IS_WINDOWS\n* @memberof ns\n* @readonly\n* @type {boolean}\n* @see {@link module:@stdlib/assert/is-windows}\n*/\nsetReadOnly( ns, 'IS_WINDOWS', require( './../is-windows' ) );\n\n/**\n* @name isWritableProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-writable-property}\n*/\nsetReadOnly( ns, 'isWritableProperty', require( './../is-writable-property' ) );\n\n/**\n* @name isWritablePropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-writable-property-in}\n*/\nsetReadOnly( ns, 'isWritablePropertyIn', require( './../is-writable-property-in' ) );\n\n/**\n* @name isWriteOnlyProperty\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-write-only-property}\n*/\nsetReadOnly( ns, 'isWriteOnlyProperty', require( './../is-write-only-property' ) );\n\n/**\n* @name isWriteOnlyPropertyIn\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/assert/is-write-only-property-in}\n*/\nsetReadOnly( ns, 'isWriteOnlyPropertyIn', require( './../is-write-only-property-in' ) );\n\n/**\n* @name tools\n* @memberof ns\n* @readonly\n* @type {Namespace}\n* @see {@link module:@stdlib/assert/tools}\n*/\nsetReadOnly( ns, 'tools', require( './../tools' ) );\n\n\n// EXPORTS //\n\nmodule.exports = ns;\n"], + "mappings": "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", + "names": ["require_main", "__commonJSMin", "exports", "module", "isInteger", "MAX_LENGTH", "isCollection", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "value", "require_main", "__commonJSMin", "exports", "module", "hasSymbolSupport", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "hasSymbols", "FLG", "hasToStringTagSupport", "require_lib", "__commonJSMin", "exports", "module", "main", "require_tostring", "__commonJSMin", "exports", "module", "Number", "toString", "require_try2serialize", "__commonJSMin", "exports", "module", "toString", "test", "value", "err", "require_object", "__commonJSMin", "exports", "module", "hasToStringTag", "nativeClass", "Number", "test", "FLG", "isNumber", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isNumber", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_integer", "__commonJSMin", "exports", "module", "PINF", "NINF", "isInt", "isInteger", "value", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isInt", "isInteger", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isInt", "isInteger", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isInteger", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_primitive", "__commonJSMin", "exports", "module", "isString", "value", "require_valueof", "__commonJSMin", "exports", "module", "valueOf", "require_try2valueof", "__commonJSMin", "exports", "module", "valueOf", "test", "value", "err", "require_object", "__commonJSMin", "exports", "module", "hasToStringTag", "nativeClass", "test", "FLG", "isString", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isString", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isNan", "isnan", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isNan", "isnan", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isnan", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "isCollection", "isInteger", "isString", "isnan", "format", "contains", "val", "searchValue", "position", "len", "pos", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_getday", "__commonJSMin", "exports", "module", "getDay", "require_try2getday", "__commonJSMin", "exports", "module", "getDay", "test", "value", "err", "require_main", "__commonJSMin", "exports", "module", "hasToStringTag", "nativeClass", "test", "FLG", "isDateObject", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "getPrototypeOf", "nativeClass", "isError", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "f", "isArray", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isArray", "format", "arrayfcn", "predicate", "every", "value", "len", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isObjectLike", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "arrayfun", "main", "isObjectLikeArray", "require_main", "__commonJSMin", "exports", "module", "isObjectLike", "isBuffer", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_exec", "__commonJSMin", "exports", "module", "exec", "require_try2exec", "__commonJSMin", "exports", "module", "exec", "test", "value", "err", "require_main", "__commonJSMin", "exports", "module", "hasToStringTag", "nativeClass", "test", "FLG", "isRegExp", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "objectKeys", "getPrototypeOf", "isDate", "isError", "isBuffer", "isRegExp", "deepEqual", "a", "b", "aKeys", "bKeys", "typeA", "typeB", "key", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isArray", "isObject", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "typeOf", "isFunction", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "has", "hasOwnProp", "value", "property", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isObject", "isFunction", "getPrototypeOf", "hasOwnProp", "nativeClass", "objectPrototype", "ownProps", "obj", "key", "isPlainObject", "value", "proto", "require_lib", "__commonJSMin", "exports", "module", "main", "require_validate", "__commonJSMin", "exports", "module", "isString", "isObject", "hasOwnProp", "format", "validate", "opts", "options", "require_defaults", "__commonJSMin", "exports", "module", "defaults", "require_has", "__commonJSMin", "exports", "module", "hasOwnProp", "deepHasOwnProp", "v", "props", "len", "i", "require_main", "__commonJSMin", "exports", "module", "isString", "isArray", "format", "validate", "defaults", "has", "deepHasOwnProp", "value", "path", "options", "isStr", "props", "opts", "err", "require_factory", "__commonJSMin", "exports", "module", "isString", "isArray", "format", "validate", "defaults", "has", "factory", "path", "options", "isStr", "props", "opts", "err", "deepHasOwnProp", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "factory", "require_validate", "__commonJSMin", "exports", "module", "isString", "isObject", "hasOwnProp", "format", "validate", "opts", "options", "require_defaults", "__commonJSMin", "exports", "module", "defaults", "require_main", "__commonJSMin", "exports", "module", "hasProp", "value", "property", "require_lib", "__commonJSMin", "exports", "module", "main", "require_has", "__commonJSMin", "exports", "module", "hasProp", "deepHasProp", "v", "props", "len", "i", "require_main", "__commonJSMin", "exports", "module", "isString", "isArray", "format", "validate", "defaults", "has", "deepHasProp", "value", "path", "options", "isStr", "props", "opts", "err", "require_factory", "__commonJSMin", "exports", "module", "isString", "isArray", "format", "validate", "defaults", "has", "factory", "path", "options", "isStr", "props", "opts", "err", "deepHasProp", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "factory", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasArrayBuffer", "isArrayBuffer", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_arraybuffer", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isArrayBuffer", "Float64Array", "GlobalArrayBuffer", "hasArrayBufferSupport", "bool", "view", "buf", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "evil", "hasArrowFunctionSupport", "bool", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "evil", "hasAsyncAwaitSupport", "bool", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "hasOwnProp", "hasAsyncIteratorSymbolSupport", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "getGlobal", "Global", "hasBigIntSupport", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasBigInt64Array", "isBigInt64Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isBigInt64Array", "require_primitive", "__commonJSMin", "exports", "module", "isBigInt", "value", "require_try2valueof", "__commonJSMin", "exports", "module", "test", "value", "err", "require_object", "__commonJSMin", "exports", "module", "nativeClass", "test", "BigInt", "value", "require_generic", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isBigInt", "value", "require_main", "__commonJSMin", "exports", "module", "setReadOnly", "isSymbol", "isPrimitive", "isObject", "require_polyfill", "__commonJSMin", "exports", "module", "setReadOnly", "constantFunction", "isBigInt", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "hasBigInts", "main", "polyfill", "isBigInt", "require_bigint64array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isBigInt64Array", "isBigInt", "GlobalBigInt64Array", "MAX_FLOAT64_INTEGER", "MAX_FLOAT64_INTEGER_P2", "hasBigInt64ArraySupport", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasBigInt64ArraySupport", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasBigUint64Array", "isBigUint64Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isBigUint64Array", "require_biguint64array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isBigUint64Array", "isBigInt", "GlobalBigUint64Array", "MAX_SIGNED_INT64", "MAX_SIGNED_INT64_P2", "hasBigUint64ArraySupport", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasBigUint64ArraySupport", "require_main", "__commonJSMin", "exports", "module", "evil", "hasClassSupport", "bool", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasDataView", "isDataView", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_dataview", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isDataView", "ArrayBuffer", "GlobalDataView", "hasDataViewSupport", "bool", "view", "buf", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_define_properties", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "defineProperties", "hasDefinePropertiesSupport", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_define_property", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "defineProperty", "hasDefinePropertySupport", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasFloat32Array", "isFloat32Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isFloat32Array", "require_float32array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isFloat32Array", "PINF", "GlobalFloat32Array", "hasFloat32ArraySupport", "bool", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasFloat32ArraySupport", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasFloat64Array", "isFloat64Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isFloat64Array", "require_float64array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isFloat64Array", "GlobalFloat64Array", "hasFloat64ArraySupport", "bool", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasFloat64ArraySupport", "require_foo", "__commonJSMin", "exports", "module", "foo", "require_main", "__commonJSMin", "exports", "module", "foo", "hasFunctionNameSupport", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "evil", "hasGeneratorSupport", "bool", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "hasGlobalThisSupport", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasInt8Array", "isInt8Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isInt8Array", "require_int8array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isInt8Array", "INT8_MAX", "INT8_MIN", "GlobalInt8Array", "hasInt8ArraySupport", "bool", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasInt8ArraySupport", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasInt16Array", "isInt16Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isInt16Array", "require_int16array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isInt16Array", "INT16_MAX", "INT16_MIN", "GlobalInt16Array", "hasInt16ArraySupport", "bool", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasInt16ArraySupport", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasInt32Array", "isInt32Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isInt32Array", "require_int32array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isInt32Array", "INT32_MAX", "INT32_MIN", "GlobalInt32Array", "hasInt32ArraySupport", "bool", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasInt32ArraySupport", "require_main", "__commonJSMin", "exports", "module", "hasOwnProp", "Symbol", "hasIteratorSymbolSupport", "require_lib", "__commonJSMin", "exports", "module", "main", "require_map", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "GlobalMap", "hasMapSupport", "bool", "key", "map", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_buffer", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isBuffer", "GlobalBuffer", "hasNodeBufferSupport", "bool", "b", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "evil", "hasProxySupport", "bool", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_set", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "GlobalSet", "hasSetSupport", "bool", "val", "set", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasSharedArrayBuffer", "isSharedArrayBuffer", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_sharedarraybuffer", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSharedArrayBuffer", "GlobalSharedArrayBuffer", "hasSharedArrayBufferSupport", "bool", "b1", "b2", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasUint8Array", "isUint8Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isUint8Array", "require_uint8array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isUint8Array", "UINT8_MAX", "GlobalUint8Array", "hasUint8ArraySupport", "bool", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasUint8ArraySupport", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasUint8ClampedArray", "isUint8ClampedArray", "value", "require_lib", "__commonJSMin", "exports", "module", "isUint8ClampedArray", "require_uint8clampedarray", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isUint8ClampedArray", "GlobalUint8ClampedArray", "hasUint8ClampedArraySupport", "bool", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasUint8ClampedArraySupport", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasUint16Array", "isUint16Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isUint16Array", "require_uint16array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isUint16Array", "UINT16_MAX", "GlobalUint16Array", "hasUint16ArraySupport", "bool", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasUint16ArraySupport", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "hasUint32Array", "isUint32Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isUint32Array", "require_uint32array", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isUint32Array", "UINT32_MAX", "GlobalUint32Array", "hasUint32ArraySupport", "bool", "arr", "err", "require_lib", "__commonJSMin", "exports", "module", "hasUint32ArraySupport", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "isNonNegativeInteger", "value", "require_object", "__commonJSMin", "exports", "module", "isInteger", "isNonNegativeInteger", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isNonNegativeInteger", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "isString", "isNonNegativeInteger", "format", "OxD800", "OxDBFF", "OxDC00", "OxDFFF", "hasUTF16SurrogatePairAt", "str", "pos", "ch1", "ch2", "require_lib", "__commonJSMin", "exports", "module", "hasUTF16SurrogatePairAt", "require_main", "__commonJSMin", "exports", "module", "hasWebAssemblySupport", "require_lib", "__commonJSMin", "exports", "module", "main", "require_weakmap", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "GlobalWeakMap", "hasWeakMapSupport", "bool", "key", "wm", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_weakset", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "GlobalWeakSet", "hasWeakSetSupport", "bool", "val", "ws", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "format", "instanceOf", "value", "constructor", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "RE_URI", "RE_ILLEGALS", "RE_HEX1", "RE_HEX2", "RE_PATH", "RE_SCHEME", "isURI", "value", "authority", "scheme", "parts", "path", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isURI", "RE_HTTPS", "isAbsoluteHttpURI", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "PLATFORM", "IS_WINDOWS", "require_posix", "__commonJSMin", "exports", "module", "isString", "isAbsolutePath", "value", "require_win32", "__commonJSMin", "exports", "module", "isString", "isAbsolutePath", "value", "code", "len", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "IS_WINDOWS", "isAbsolutePathPosix", "isAbsolutePathWin32", "isAbsolutePath", "require_main", "__commonJSMin", "exports", "module", "isURI", "isAbsoluteURI", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isCollection", "isFunction", "isAccessorArray", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptor", "isAccessorProperty", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isAccessorPropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "isAlphagram", "x", "len", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "ZERO", "NINE", "A", "Z", "a", "z", "isAlphaNumeric", "x", "len", "ch", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "lowercase", "replace", "isString", "format", "RE_NON_ALPHANUMERIC", "ascending", "a", "b", "isAnagram", "str", "x", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "isArguments", "value", "require_detect", "__commonJSMin", "exports", "module", "isArguments", "bool", "detect", "require_native", "__commonJSMin", "exports", "module", "isEnumerableProperty", "require_has_string_enumerability_bug", "__commonJSMin", "exports", "module", "isEnum", "bool", "detect", "require_main", "__commonJSMin", "exports", "module", "isString", "isnan", "isInteger", "isEnum", "hasStringEnumBug", "isEnumerableProperty", "value", "property", "bool", "require_lib", "__commonJSMin", "exports", "module", "main", "require_polyfill", "__commonJSMin", "exports", "module", "hasOwnProp", "isEnumerableProperty", "isArray", "isInteger", "MAX_LENGTH", "isArguments", "value", "require_lib", "__commonJSMin", "exports", "module", "hasArgumentsClass", "main", "polyfill", "isArguments", "require_main", "__commonJSMin", "exports", "module", "arrayfun", "isArray", "isArrayArray", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isInteger", "MAX_ARRAY_LENGTH", "isArrayLength", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isInteger", "MAX_LENGTH", "isArrayLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isInteger", "MAX_LENGTH", "isArrayLikeObject", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_no_arraybuffer", "__commonJSMin", "exports", "module", "constantFunction", "isArrayBufferView", "require_ctors", "__commonJSMin", "exports", "module", "Int8Array", "Uint8Array", "Uint8ClampedArray", "Int16Array", "Uint16Array", "Int32Array", "Uint32Array", "Float32Array", "Float64Array", "CTORS", "require_names", "__commonJSMin", "exports", "module", "require_main", "__commonJSMin", "exports", "module", "ctorName", "fcnName", "getPrototypeOf", "hasFloat64ArraySupport", "Float64Array", "CTORS", "NAMES", "TypedArray", "Dummy", "isTypedArray", "value", "v", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_polyfill", "__commonJSMin", "exports", "module", "isTypedArray", "isDataView", "isArrayBufferView", "value", "require_main", "__commonJSMin", "exports", "module", "ArrayBuffer", "isArrayBufferView", "value", "require_lib", "__commonJSMin", "exports", "module", "hasArrayBufferSupport", "isFunction", "ArrayBuffer", "noArraybuffer", "polyfill", "main", "isArrayBufferView", "require_main", "__commonJSMin", "exports", "module", "isFunction", "function2string", "RE_ARROW_FUNCTION", "isArrowFunction", "value", "str", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "MAX_ASCII", "isASCII", "x", "len", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "format", "isBetween", "value", "a", "b", "left", "right", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isCollection", "format", "isBetweenArray", "value", "a", "b", "left", "right", "len", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_ctors", "__commonJSMin", "exports", "module", "Uint8Array", "Uint16Array", "ctors", "require_main", "__commonJSMin", "exports", "module", "ctors", "bool", "isBigEndian", "uint16view", "uint8view", "require_lib", "__commonJSMin", "exports", "module", "IS_BIG_ENDIAN", "require_main", "__commonJSMin", "exports", "module", "isString", "isBinaryString", "str", "ch", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "RE", "isBlankString", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isBoolean", "value", "require_tostring", "__commonJSMin", "exports", "module", "toString", "require_try2serialize", "__commonJSMin", "exports", "module", "toString", "test", "value", "err", "require_object", "__commonJSMin", "exports", "module", "hasToStringTag", "nativeClass", "Boolean", "test", "FLG", "isBoolean", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isBoolean", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "isArrayLike", "format", "arraylikefcn", "predicate", "every", "value", "len", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "arrayfun", "isBoolean", "isPrimitiveArray", "isObjectArray", "isBooleanArray", "require_primitive", "__commonJSMin", "exports", "module", "isSymbol", "value", "require_tostring", "__commonJSMin", "exports", "module", "toStr", "value", "require_try2tostring", "__commonJSMin", "exports", "module", "toStr", "RE", "test", "value", "err", "require_object", "__commonJSMin", "exports", "module", "nativeClass", "test", "isSymbol", "value", "require_generic", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isSymbol", "value", "require_main", "__commonJSMin", "exports", "module", "setReadOnly", "isSymbol", "isPrimitive", "isObject", "require_polyfill", "__commonJSMin", "exports", "module", "setReadOnly", "constantFunction", "isSymbol", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "hasSymbols", "main", "polyfill", "isSymbol", "require_main", "__commonJSMin", "exports", "module", "isBoolean", "isNumber", "isString", "isSymbol", "isBoxedPrimitive", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_to_string", "__commonJSMin", "exports", "module", "toStr", "toString", "value", "require_global_scope", "__commonJSMin", "exports", "module", "Global", "globalScope", "fcn", "require_main", "__commonJSMin", "exports", "module", "proc", "getGlobal", "nativeClass", "isObject", "isString", "toStr", "globalScope", "Global", "RE", "isNode", "require_lib", "__commonJSMin", "exports", "module", "main", "bool", "require_global_scope", "__commonJSMin", "exports", "module", "scope", "globalScope", "fcn", "require_main", "__commonJSMin", "exports", "module", "getGlobal", "IS_NODE", "globalScope", "Global", "isBrowser", "require_lib", "__commonJSMin", "exports", "module", "main", "bool", "require_main", "__commonJSMin", "exports", "module", "isString", "camelcase", "isCamelcase", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "lowercase", "uppercase", "isString", "isCapitalized", "value", "ch", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "ndarray", "isndarrayLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isndarrayLike", "isMatrixLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isMatrixLike", "isSquareMatrix", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSquareMatrix", "floor", "isOdd", "isCentrosymmetricMatrix", "v", "m1", "M", "N", "i", "j", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "objectKeys", "isObject", "value", "type", "contains", "seen", "searchValue", "i", "isCircObj", "obj", "keys", "val", "isCircular", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isArray", "isCircular", "isCircularArray", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isPlainObject", "isCircular", "isCircularPlainObject", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isFunction", "function2string", "RE_CLASS", "isClass", "value", "str", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "Complex128", "Complex64", "constructorName", "isComplex", "value", "type", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "Complex128", "Complex64", "isComplexLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_ctors", "__commonJSMin", "exports", "module", "Complex64Array", "Complex128Array", "CTORS", "require_names", "__commonJSMin", "exports", "module", "require_main", "__commonJSMin", "exports", "module", "ctorName", "getPrototypeOf", "CTORS", "NAMES", "isComplexTypedArray", "value", "v", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isNonNegativeInteger", "MAX", "MAX_LENGTH", "isComplexTypedArrayLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "Complex64", "constructorName", "isComplex64", "value", "require_lib", "__commonJSMin", "exports", "module", "isComplex64", "require_main", "__commonJSMin", "exports", "module", "Complex64Array", "constructorName", "isComplex64Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isComplex64Array", "require_main", "__commonJSMin", "exports", "module", "isMatrixLike", "isComplex64MatrixLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isndarrayLike", "isComplex64ndarrayLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isndarrayLike", "isVectorLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isVectorLike", "isComplex64VectorLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "Complex128", "constructorName", "isComplex128", "value", "require_lib", "__commonJSMin", "exports", "module", "isComplex128", "require_main", "__commonJSMin", "exports", "module", "Complex128Array", "constructorName", "isComplex128Array", "value", "require_lib", "__commonJSMin", "exports", "module", "isComplex128Array", "require_main", "__commonJSMin", "exports", "module", "isMatrixLike", "isComplex128MatrixLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isndarrayLike", "isComplex128ndarrayLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isVectorLike", "isComplex128VectorLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "iscomposite", "isComposite", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "iscomposite", "isComposite", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isComposite", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptor", "isConfigurableProperty", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isConfigurablePropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "constantcase", "isConstantcase", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "cbrt", "floor", "isCubeNumber", "value", "n", "require_object", "__commonJSMin", "exports", "module", "isInteger", "cbrt", "floor", "isCubeNumber", "value", "n", "x", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isCubeNumber", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "isDateObject", "currentYear", "isCurrentYear", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "PLATFORM", "IS_DARWIN", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptor", "isDataProperty", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isDataPropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "arrayfun", "isDateObject", "isDateObjectArray", "require_main", "__commonJSMin", "exports", "module", "isString", "ZERO", "NINE", "isDigitString", "x", "len", "ch", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "readFile", "contains", "exists", "OPTS", "isDocker", "file", "require_lib", "__commonJSMin", "exports", "module", "main", "bool", "require_main", "__commonJSMin", "exports", "module", "isString", "RE_DOMAIN_NAME", "isDomainName", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "RE_DURATION_STRING", "isDurationString", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_process", "__commonJSMin", "exports", "module", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "isObject", "isString", "proc", "isElectron", "require_lib", "__commonJSMin", "exports", "module", "main", "bool", "require_process", "__commonJSMin", "exports", "module", "require_main", "__commonJSMin", "exports", "module", "isElectron", "proc", "isElectronMain", "require_lib", "__commonJSMin", "exports", "module", "main", "bool", "require_process", "__commonJSMin", "exports", "module", "process", "require_main", "__commonJSMin", "exports", "module", "isElectron", "proc", "isElectronRenderer", "require_lib", "__commonJSMin", "exports", "module", "main", "bool", "require_main", "__commonJSMin", "exports", "module", "isString", "RE", "isEmail", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isArray", "isEmptyArray", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isEmptyArrayLikeObject", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isEmptyCollection", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "objectKeys", "isPlainObject", "hasSymbolSupport", "FLG", "isEmptyObject", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isEmptyString", "value", "require_object", "__commonJSMin", "exports", "module", "isString", "isEmptyString", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isEmptyString", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isEnumerablePropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "getPrototypeOf", "typeOf", "isError", "isEvalError", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "isEven", "value", "require_object", "__commonJSMin", "exports", "module", "isInteger", "isEven", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isEven", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "isFalsy", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "arrayfun", "isFalsy", "isFalsyArray", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isfinite", "isFinite", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isfinite", "isFinite", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isFinite", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "isFinite", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isFiniteArray", "require_main", "__commonJSMin", "exports", "module", "isMatrixLike", "isFloat32MatrixLike", "v", "require_lib", "__commonJSMin", "exports", "module", "isFloat32MatrixLike", "require_main", "__commonJSMin", "exports", "module", "isndarrayLike", "isFloat32ndarrayLike", "v", "require_lib", "__commonJSMin", "exports", "module", "isFloat32ndarrayLike", "require_main", "__commonJSMin", "exports", "module", "isVectorLike", "isFloat32VectorLike", "v", "require_lib", "__commonJSMin", "exports", "module", "isFloat32VectorLike", "require_main", "__commonJSMin", "exports", "module", "isMatrixLike", "isFloat64MatrixLike", "v", "require_lib", "__commonJSMin", "exports", "module", "isFloat64MatrixLike", "require_main", "__commonJSMin", "exports", "module", "isndarrayLike", "isFloat64ndarrayLike", "v", "require_lib", "__commonJSMin", "exports", "module", "isFloat64ndarrayLike", "require_main", "__commonJSMin", "exports", "module", "isVectorLike", "isFloat64VectorLike", "v", "require_lib", "__commonJSMin", "exports", "module", "isFloat64VectorLike", "require_lib", "__commonJSMin", "exports", "module", "arrayfun", "isFunction", "isFunctionArray", "require_main", "__commonJSMin", "exports", "module", "hasGeneratorSupport", "nativeClass", "hasGenerators", "isGeneratorObject", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isGeneratorObjectLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isUint8Array", "isBuffer", "isgzipBuffer", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "ZERO", "NINE", "A", "F", "a", "f", "isHexString", "x", "len", "ch", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isinf", "isInfinite", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isinf", "isInfinite", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isInfinite", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "hasOwnProp", "isInheritedProperty", "value", "property", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "isInteger", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isIntegerArray", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "value", "type", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isFunction", "isIteratorLike", "value", "t", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isFunction", "ITERATOR", "isIteratorLike", "isIterableLike", "value", "f", "require_lib", "__commonJSMin", "exports", "module", "hasIteratorSymbolSupport", "constantFunction", "main", "isIterable", "require_main", "__commonJSMin", "exports", "module", "re", "isJSON", "value", "err", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "kebabcase", "isKebabcase", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isDateObject", "isInteger", "currentYear", "isLeapYear", "value", "yr", "require_lib", "__commonJSMin", "exports", "module", "main", "require_ctors", "__commonJSMin", "exports", "module", "Uint8Array", "Uint16Array", "ctors", "require_main", "__commonJSMin", "exports", "module", "ctors", "bool", "isLittleEndian", "uint16view", "uint8view", "require_lib", "__commonJSMin", "exports", "module", "IS_LITTLE_ENDIAN", "require_main", "__commonJSMin", "exports", "module", "isString", "RE_LOCALHOST_IPV4", "isLocalhost", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "lowercase", "uppercase", "isString", "isLowercase", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "hasOwnProp", "isFunction", "isMethod", "value", "property", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isFunction", "Object", "isMethodIn", "value", "property", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "constantFunction", "isMobile", "require_lib", "__commonJSMin", "exports", "module", "main", "bool", "require_main", "__commonJSMin", "exports", "module", "MultiSlice", "constructorName", "isMultiSlice", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isTypedArray", "hasOwnProp", "isNamedTypedTupleLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "arrayfun", "isnan", "isPrimitiveArray", "isObjectArray", "isNaNArray", "require_main", "__commonJSMin", "exports", "module", "isFunction", "reNativeFunction", "function2string", "isNativeFunction", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "isNegativeInteger", "value", "require_object", "__commonJSMin", "exports", "module", "isInteger", "isNegativeInteger", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isNegativeInteger", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "isNegativeInteger", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isNegativeIntegerArray", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isNegativeNumber", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isNegativeNumber", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isNegativeNumber", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "isNegativeNumber", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isNegativeNumberArray", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "NINF", "isNegativeZero", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "NINF", "isNegativeZero", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isNegativeZero", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_builtins", "__commonJSMin", "exports", "module", "require_main", "__commonJSMin", "exports", "module", "mod", "contains", "isString", "BUILTINS", "LIST", "isNodeBuiltin", "x", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isNodeStreamLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isNodeStreamLike", "isNodeWritableStreamLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isNodeStreamLike", "isNodeReadableStreamLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isNodeWritableStreamLike", "isNodeReadableStreamLike", "isNodeDuplexStreamLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_parent", "__commonJSMin", "exports", "module", "parent", "require_stacktrace", "__commonJSMin", "exports", "module", "stacktrace", "err", "require_main", "__commonJSMin", "exports", "module", "IS_NODE", "p", "stacktrace", "RE_MODULE_ID", "RE_ERROR_STACK", "isNodeREPL", "stack", "m", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isNodeDuplexStreamLike", "isNodeTransformStreamLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptor", "isNonConfigurableProperty", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isNonConfigurablePropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "hasOwnProp", "isEnumerableProperty", "isNonEnumerableProperty", "value", "property", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isNonEnumerablePropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "isNonNegativeInteger", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isNonNegativeIntegerArray", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isNonNegativeNumber", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isNonNegativeNumber", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isNonNegativeNumber", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "isNonNegativeNumber", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isNonNegativeNumberArray", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "isNonPositiveInteger", "value", "require_object", "__commonJSMin", "exports", "module", "isInteger", "isNonPositiveInteger", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isNonPositiveInteger", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "isNonPositiveInteger", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isNonPositiveIntegerArray", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isNonPositiveNumber", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isNonPositiveNumber", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isNonPositiveNumber", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "isNonPositiveNumber", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isNonPositiveNumberArray", "require_main", "__commonJSMin", "exports", "module", "isMatrixLike", "isNonSymmetricMatrix", "v", "M", "i", "j", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isNull", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "arrayfun", "isNull", "isNullArray", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "arrayfun", "isNumber", "isPrimitiveArray", "isObjectArray", "isNumberArray", "require_main", "__commonJSMin", "exports", "module", "isTypedArray", "isNumberArray", "isBuffer", "isNumericArray", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "arrayfun", "isObject", "isObjectArray", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "isEven", "isOdd", "value", "require_object", "__commonJSMin", "exports", "module", "isInteger", "isEven", "isOdd", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isOdd", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "isString", "pascalcase", "isPascalcase", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSquareMatrix", "isPersymmetricMatrix", "v", "M", "n", "i", "j", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "arrayfun", "isPlainObject", "isPlainObjectArray", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "isPositiveInteger", "value", "require_object", "__commonJSMin", "exports", "module", "isInteger", "isPositiveInteger", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isPositiveInteger", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "isPositiveInteger", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isPositiveIntegerArray", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isPositiveNumber", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isPositiveNumber", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isPositiveNumber", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "isPositiveNumber", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isPositiveNumberArray", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "PINF", "isPositiveZero", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "PINF", "isPositiveZero", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isPositiveZero", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isprime", "isPrime", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isprime", "isPrime", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isPrime", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "arrayfun", "isPrimitive", "isPrimitiveArray", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isFunction", "hasOwnProp", "isPRNGLike", "v", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isProbability", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isProbability", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isProbability", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "isProbability", "setReadOnly", "arrayfun", "isPrimitiveArray", "isObjectArray", "isProbabilityArray", "require_main", "__commonJSMin", "exports", "module", "isString", "isSymbol", "isNonNegativeInteger", "isPropertyKey", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isProtoOf", "format", "isPrototypeOf", "value", "proto", "type", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "getPrototypeOf", "typeOf", "isError", "isRangeError", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptor", "isReadOnlyProperty", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isReadOnlyPropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptor", "isReadWriteProperty", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isReadWritePropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptor", "isReadableProperty", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isReadablePropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "getPrototypeOf", "typeOf", "isError", "isReferenceError", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "RE", "isRegExpString", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_posix", "__commonJSMin", "exports", "module", "isString", "isAbsolutePath", "isRelativePath", "value", "require_win32", "__commonJSMin", "exports", "module", "isString", "isAbsolutePath", "isRelativePath", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "IS_WINDOWS", "isRelativePathPosix", "isRelativePathWin32", "isRelativePath", "require_main", "__commonJSMin", "exports", "module", "isString", "RE_URI", "RE_ILLEGALS", "RE_HEX1", "RE_HEX2", "RE_PATH", "RE_SCHEME", "isRelativeURI", "value", "authority", "scheme", "parts", "path", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isNumber", "isSafeInt", "isSafeInteger", "value", "require_object", "__commonJSMin", "exports", "module", "isNumber", "isSafeInt", "isSafeInteger", "value", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isSafeInteger", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "arrayfun", "isSafeInteger", "isPrimitiveArray", "isObjectArray", "isSafeIntegerArray", "require_main", "__commonJSMin", "exports", "module", "isFloat32Array", "hasSameValues", "isSameFloat32Array", "v1", "v2", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isFloat64Array", "hasSameValues", "isSameFloat64Array", "v1", "v2", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "nativeClass", "isSameNativeClass", "a", "b", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSameType", "a", "b", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSameComplexValue", "isComplexLike", "isSameValue", "a", "b", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSameComplexValueZero", "isComplexLike", "isSameValueZero", "a", "b", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "RE_SEMVER", "isSemVer", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSquareMatrix", "floor", "isOdd", "isSkewCentrosymmetricMatrix", "v", "m1", "M", "N", "i", "j", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSquareMatrix", "isSkewPersymmetricMatrix", "v", "M", "n", "i", "j", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isSquareMatrix", "isSkewSymmetricMatrix", "v", "M", "i", "j", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "Slice", "constructorName", "isSlice", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "snakecase", "isSnakecase", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "sqrt", "floor", "isSquareNumber", "value", "n", "require_object", "__commonJSMin", "exports", "module", "isInteger", "sqrt", "floor", "isSquareNumber", "value", "n", "x", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isSquareNumber", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "sqrt", "floor", "isSquareTriangularNumber", "value", "n", "x", "require_object", "__commonJSMin", "exports", "module", "isInteger", "sqrt", "floor", "isSquareTriangularNumber", "value", "n", "x", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isSquareTriangularNumber", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "isString", "startcase", "isStartcase", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isStrictEqual", "a", "b", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "arrayfun", "isString", "isPrimitiveArray", "isObjectArray", "isStringArray", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "arrayfun", "isSymbol", "isPrimitiveArray", "isObjectArray", "isSymbolArray", "require_main", "__commonJSMin", "exports", "module", "isSquareMatrix", "isSymmetricMatrix", "v", "M", "i", "j", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "getPrototypeOf", "typeOf", "isError", "isSyntaxError", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "constantFunction", "isTouchDevice", "require_lib", "__commonJSMin", "exports", "module", "main", "bool", "require_primitive", "__commonJSMin", "exports", "module", "isInteger", "sqrt", "floor", "isTriangularNumber", "value", "n", "x", "require_object", "__commonJSMin", "exports", "module", "isInteger", "sqrt", "floor", "isTriangularNumber", "value", "n", "x", "require_main", "__commonJSMin", "exports", "module", "isPrimitive", "isObject", "isTriangularNumber", "value", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "main", "isPrimitive", "isObject", "require_main", "__commonJSMin", "exports", "module", "isTruthy", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "arrayfun", "isTruthy", "isTruthyArray", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "getPrototypeOf", "typeOf", "isError", "isTypeError", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isInteger", "MAX_LENGTH", "isTypedArrayLength", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isNonNegativeInteger", "MAX", "isTypedArrayLike", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isString", "RE_UNC_PATH", "isUNCPath", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isUndefined", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isUndefinedOrNull", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isTypedArray", "isArray", "isNumber", "absdiff", "FLOAT64_SQRT_EPS", "isUnityProbabilityArray", "v", "sum", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "lowercase", "uppercase", "isString", "isUppercase", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "getPrototypeOf", "typeOf", "isError", "isURIError", "value", "require_lib", "__commonJSMin", "exports", "module", "main", "require_global_scope", "__commonJSMin", "exports", "module", "scope", "globalScope", "fcn", "require_main", "__commonJSMin", "exports", "module", "getGlobal", "IS_NODE", "isObject", "globalScope", "Global", "isWebWorker", "require_lib", "__commonJSMin", "exports", "module", "main", "bool", "require_main", "__commonJSMin", "exports", "module", "isString", "reWhitespace", "RE", "isWhitespace", "x", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptor", "isWritableProperty", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isWritablePropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptor", "isWriteOnlyProperty", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "propertyDescriptorIn", "isWriteOnlyPropertyIn", "value", "property", "desc", "require_lib", "__commonJSMin", "exports", "module", "main", "require_main", "__commonJSMin", "exports", "module", "isTypedArray", "format", "typedarrayfcn", "predicate", "every", "value", "len", "i", "require_lib", "__commonJSMin", "exports", "module", "main", "require_lib", "__commonJSMin", "exports", "module", "setReadOnly", "ns", "setReadOnly", "ns"] } diff --git a/is-same-float32array/README.md b/is-same-float32array/README.md new file mode 100644 index 00000000..fc845370 --- /dev/null +++ b/is-same-float32array/README.md @@ -0,0 +1,111 @@ + + +# isSameFloat32Array + +> Test if two arguments both [Float32Arrays][@stdlib/array/float32] and have the [same values][@stdlib/assert/is-same-value]. + +
+ +## Usage + +```javascript +var isSameFloat32Array = require( '@stdlib/assert/is-same-float32array' ); +``` + +#### isSameFloat32Array( v1, v2 ) + +Tests if two arguments are both [Float32Arrays][@stdlib/array/float32] and have the [same values][@stdlib/assert/is-same-value]. + +```javascript +var Float32Array = require( '@stdlib/array/float32' ); + +var x = new Float32Array( [ 1.0, 2.0 ] ); +var y = new Float32Array( [ 1.0, 2.0 ] ); +var bool = isSameFloat32Array( x, y ); +// returns true + +bool = isSameFloat32Array( x, [ 1.0, 2.0 ] ); +// returns false +``` + +
+ + + +
+ +## Notes + +- In contrast to the strict equality operator `===`, the function distinguishes between `+0` and `-0` and treats `NaNs` as the [same value][@stdlib/assert/is-same-value]. + +
+ + + +
+ +## Examples + + + +```javascript +var Float32Array = require( '@stdlib/array/float32' ); +var isSameFloat32Array = require( '@stdlib/assert/is-same-float32array' ); + +var x = new Float32Array( [ 1.0, 2.0, 3.0 ] ); +var y = new Float32Array( [ 1.0, 2.0, 3.0 ] ); +var out = isSameFloat32Array( x, y ); +// returns true + +x = new Float32Array( [ -0.0, 0.0, -0.0 ] ); +y = new Float32Array( [ 0.0, -0.0, 0.0 ] ); +out = isSameFloat32Array( x, y ); +// returns false + +x = new Float32Array( [ NaN, NaN, NaN ] ); +y = new Float32Array( [ NaN, NaN, NaN ] ); +out = isSameFloat32Array( x, y ); +// returns true +``` + +
+ + + + + + + + + + + + + + diff --git a/is-same-float32array/benchmark/benchmark.length.js b/is-same-float32array/benchmark/benchmark.length.js new file mode 100644 index 00000000..41ddb3db --- /dev/null +++ b/is-same-float32array/benchmark/benchmark.length.js @@ -0,0 +1,97 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2024 The Stdlib Authors. +* +* 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. +*/ + +'use strict'; + +// MODULES // + +var bench = require( '@stdlib/bench' ); +var isBoolean = require( './../../is-boolean' ).isPrimitive; +var pow = require( '@stdlib/math/base/special/pow' ); +var zeroTo = require( '@stdlib/array/base/zero-to' ); +var Float32Array = require( '@stdlib/array/float32' ); +var pkg = require( './../package.json' ).name; +var isSameFloat32Array = require( './../lib' ); + + +// FUNCTIONS // + +/** +* Creates a benchmark function. +* +* @private +* @param {PositiveInteger} len - array length +* @returns {Function} benchmark function +*/ +function createBenchmark( len ) { + var x = new Float32Array( zeroTo( len ) ); + var y = new Float32Array( zeroTo( len ) ); + return benchmark; + + /** + * Benchmark function. + * + * @private + * @param {Benchmark} b - benchmark instance + */ + function benchmark( b ) { + var bool; + var i; + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + bool = isSameFloat32Array( x, y ); + if ( typeof bool !== 'boolean' ) { + b.fail( 'should return a boolean' ); + } + } + b.toc(); + if ( !isBoolean( bool ) ) { + b.fail( 'should return a boolean' ); + } + b.pass( 'benchmark finished' ); + b.end(); + } +} + + +// MAIN // + +/** +* Main execution sequence. +* +* @private +*/ +function main() { + var len; + var min; + var max; + var f; + var i; + + min = 1; // 10^min + max = 6; // 10^max + + for ( i = min; i <= max; i++ ) { + len = pow( 10, i ); + f = createBenchmark( len ); + bench( pkg+':len='+len, f ); + } +} + +main(); diff --git a/is-same-float32array/docs/repl.txt b/is-same-float32array/docs/repl.txt new file mode 100644 index 00000000..cac319ee --- /dev/null +++ b/is-same-float32array/docs/repl.txt @@ -0,0 +1,35 @@ + +{{alias}}( v1, v2 ) + Tests if two arguments are both Float32Arrays and have the same values. + + The function differs from the `===` operator in that the function treats + `-0` and `+0` as distinct and `NaNs` as the same. + + Parameters + ---------- + v1: any + First input value. + + v2: any + Second input value. + + Returns + ------- + bool: boolean + Boolean indicating whether two arguments are the same. + + Examples + -------- + > var x = new {{alias:@stdlib/array/float32}}( [ 1.0, 2.0, 3.0 ] ); + > var y = new {{alias:@stdlib/array/float32}}( [ 1.0, 2.0, 3.0 ] ); + > var bool = {{alias}}( x, y ) + true + + > x = new {{alias:@stdlib/array/float32}}( [ NaN, NaN, NaN ] ); + > y = new {{alias:@stdlib/array/float32}}( [ NaN, NaN, NaN ] ); + > bool = {{alias}}( x, y ) + true + + See Also + -------- + diff --git a/is-same-float32array/docs/types/index.d.ts b/is-same-float32array/docs/types/index.d.ts new file mode 100644 index 00000000..ae3b6b03 --- /dev/null +++ b/is-same-float32array/docs/types/index.d.ts @@ -0,0 +1,55 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2024 The Stdlib Authors. +* +* 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. +*/ + +// TypeScript Version: 4.1 + +/** +* Tests if two arguments are both Float32Arrays and have the same values. +* +* ## Notes +* +* - The function differs from the `===` operator in that the function treats `-0` and `+0` as distinct and `NaNs` as the same. +* +* @param v1 - first input value +* @param v2 - second input value +* @returns boolean indicating whether two arguments are the same +* +* @example +* var Float32Array = require( '@stdlib/array/float32' ); +* +* var x = new Float32Array( [ 1.0, 2.0, 3.0 ] ); +* var y = new Float32Array( [ 1.0, 2.0, 3.0 ] ); +* +* var out = isSameFloat32Array( x, y ); +* // returns true +* +* @example +* var Float32Array = require( '@stdlib/array/float32' ); +* +* var x = new Float32Array( [ 1.0, 2.0, 3.0 ] ); +* var y = new Float32Array( [ 1.0, 2.0, 4.0 ] ); +* +* var out = isSameFloat32Array( x, y ); +* // returns false +*/ +declare function isSameFloat32Array( v1: any, v2: any ): boolean; + + +// EXPORTS // + +export = isSameFloat32Array; diff --git a/is-same-float32array/docs/types/test.ts b/is-same-float32array/docs/types/test.ts new file mode 100644 index 00000000..41fbab24 --- /dev/null +++ b/is-same-float32array/docs/types/test.ts @@ -0,0 +1,36 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2024 The Stdlib Authors. +* +* 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. +*/ + +import isSameFloat32Array = require( './index' ); + + +// TESTS // + +// The function returns a boolean... +{ + isSameFloat32Array( 3.14, 3.14 ); // $ExpectType boolean + isSameFloat32Array( null, null ); // $ExpectType boolean + isSameFloat32Array( 'beep', 'boop' ); // $ExpectType boolean +} + +// The compiler throws an error if the function is provided an unsupported number of arguments... +{ + isSameFloat32Array(); // $ExpectError + isSameFloat32Array( 3.14 ); // $ExpectError + isSameFloat32Array( 'beep', 'beep', 3.14 ); // $ExpectError +} diff --git a/is-same-float32array/examples/index.js b/is-same-float32array/examples/index.js new file mode 100644 index 00000000..b7b27a17 --- /dev/null +++ b/is-same-float32array/examples/index.js @@ -0,0 +1,40 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2024 The Stdlib Authors. +* +* 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. +*/ + +'use strict'; + +var Float32Array = require( '@stdlib/array/float32' ); +var isSameFloat32Array = require( './../lib' ); + +var x = new Float32Array( [ 1.0, 2.0, 3.0 ] ); +var y = new Float32Array( [ 1.0, 2.0, 3.0 ] ); +var out = isSameFloat32Array( x, y ); +console.log( out ); +// => true + +x = new Float32Array( [ -0.0, 0.0, -0.0 ] ); +y = new Float32Array( [ 0.0, -0.0, 0.0 ] ); +out = isSameFloat32Array( x, y ); +console.log( out ); +// => false + +x = new Float32Array( [ NaN, NaN, NaN ] ); +y = new Float32Array( [ NaN, NaN, NaN ] ); +out = isSameFloat32Array( x, y ); +console.log( out ); +// => true diff --git a/is-same-float32array/lib/index.js b/is-same-float32array/lib/index.js new file mode 100644 index 00000000..a422d477 --- /dev/null +++ b/is-same-float32array/lib/index.js @@ -0,0 +1,54 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2024 The Stdlib Authors. +* +* 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. +*/ + +'use strict'; + +/** +* Test if two arguments are both Float32Arrays and have the same values. +* +* @module @stdlib/assert/is-same-float32array +* +* @example +* var Float32Array = require( '@stdlib/array/float32' ); +* var isSameFloat32Array = require( '@stdlib/assert/is-same-float32array' ); +* +* var x = new Float32Array( [ 1.0, 2.0, 3.0 ] ); +* var y = new Float32Array( [ 1.0, 2.0, 3.0 ] ); +* +* var out = isSameFloat32Array( x, y ); +* // returns true +* +* @example +* var Float32Array = require( '@stdlib/array/float32' ); +* var isSameFloat32Array = require( '@stdlib/assert/is-same-float32array' ); +* +* var x = new Float32Array( [ 1.0, 2.0, 3.0 ] ); +* var y = new Float32Array( [ 1.0, 2.0, 4.0 ] ); +* +* var out = isSameFloat32Array( x, y ); +* // returns false +*/ + +// MODULES // + +var main = require( './main.js' ); + + +// EXPORTS // + +module.exports = main; diff --git a/is-same-float32array/lib/main.js b/is-same-float32array/lib/main.js new file mode 100644 index 00000000..f8df4a0f --- /dev/null +++ b/is-same-float32array/lib/main.js @@ -0,0 +1,64 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2024 The Stdlib Authors. +* +* 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. +*/ + +'use strict'; + +// MODULES // + +var isFloat32Array = require( './../../is-float32array' ); +var hasSameValues = require( '@stdlib/array/base/assert/has-same-values' ); + + +// MAIN // + +/** +* Tests if two arguments are both Float32Arrays and have the same values. +* +* @param {*} v1 - first value +* @param {*} v2 - second value +* @returns {boolean} boolean result +* +* @example +* var Float32Array = require( '@stdlib/array/float32' ); +* +* var x = new Float32Array( [ 1.0, 2.0, 3.0 ] ); +* var y = new Float32Array( [ 1.0, 2.0, 3.0 ] ); +* +* var out = isSameFloat32Array( x, y ); +* // returns true +* +* @example +* var Float32Array = require( '@stdlib/array/float32' ); +* +* var x = new Float32Array( [ 1.0, 2.0, 3.0 ] ); +* var y = new Float32Array( [ 1.0, 2.0, 4.0 ] ); +* +* var out = isSameFloat32Array( x, y ); +* // returns false +*/ +function isSameFloat32Array( v1, v2 ) { + if ( isFloat32Array( v1 ) && isFloat32Array( v2 ) ) { + return hasSameValues( v1, v2 ); + } + return false; +} + + +// EXPORTS // + +module.exports = isSameFloat32Array; diff --git a/is-same-float32array/package.json b/is-same-float32array/package.json new file mode 100644 index 00000000..4c141731 --- /dev/null +++ b/is-same-float32array/package.json @@ -0,0 +1,77 @@ +{ + "name": "@stdlib/assert/is-same-float32array", + "version": "0.0.0", + "description": "Test if two arguments are both Float32Arrays and have the same values.", + "license": "Apache-2.0", + "author": { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + }, + "contributors": [ + { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + } + ], + "main": "./lib", + "directories": { + "benchmark": "./benchmark", + "doc": "./docs", + "example": "./examples", + "lib": "./lib", + "test": "./test" + }, + "types": "./docs/types", + "scripts": {}, + "homepage": "https://github.com/stdlib-js/stdlib", + "repository": { + "type": "git", + "url": "git://github.com/stdlib-js/stdlib.git" + }, + "bugs": { + "url": "https://github.com/stdlib-js/stdlib/issues" + }, + "dependencies": {}, + "devDependencies": {}, + "engines": { + "node": ">=0.10.0", + "npm": ">2.7.0" + }, + "os": [ + "aix", + "darwin", + "freebsd", + "linux", + "macos", + "openbsd", + "sunos", + "win32", + "windows" + ], + "keywords": [ + "stdlib", + "stdassert", + "assertion", + "assert", + "utilities", + "utility", + "utils", + "util", + "equal", + "same", + "strict", + "is", + "issame", + "issamevalue", + "isequal", + "isstrictequal", + "type", + "check", + "valid", + "validate", + "test", + "typed", + "array", + "float32" + ] +} diff --git a/is-same-float32array/test/test.js b/is-same-float32array/test/test.js new file mode 100644 index 00000000..da9676b6 --- /dev/null +++ b/is-same-float32array/test/test.js @@ -0,0 +1,109 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2024 The Stdlib Authors. +* +* 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. +*/ + +'use strict'; + +// MODULES // + +var tape = require( 'tape' ); +var typedarray = require( '@stdlib/array/typed' ); +var isSameFloat32Array = require( './../lib' ); + + +// TESTS // + +tape( 'main export is a function', function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof isSameFloat32Array, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'the function returns `true` if provided two Float32Arrays having the same values', function test( t ) { + var x; + var y; + + x = typedarray( [ 1.0, 2.0, 3.0 ], 'float32' ); + t.strictEqual( isSameFloat32Array( x, x ), true, 'returns expected value' ); + + x = typedarray( [ 1.0, 2.0, 3.0 ], 'float32' ); + y = typedarray( [ 1.0, 2.0, 3.0 ], 'float32' ); + t.strictEqual( isSameFloat32Array( x, y ), true, 'returns expected value' ); + + x = typedarray( [ -0.0, 0.0, -0.0 ], 'float32' ); + y = typedarray( [ -0.0, 0.0, -0.0 ], 'float32' ); + t.strictEqual( isSameFloat32Array( x, y ), true, 'returns expected value' ); + + x = typedarray( [ NaN, NaN, NaN ], 'float32' ); + y = typedarray( [ NaN, NaN, NaN ], 'float32' ); + t.strictEqual( isSameFloat32Array( x, y ), true, 'returns expected value' ); + + t.end(); +}); + +tape( 'the function returns `false` if not provided two Float32Arrays having the same values', function test( t ) { + var x; + var y; + var i; + + x = [ + '', + 'beep', + 5, + 3.14, + -3.14, + 0.0, + -0.0, + true, + false, + null, + void 0, + [], + {}, + function noop() {}, + typedarray( 10, 'float64' ), + typedarray( 10, 'int32' ), + typedarray( 10, 'float64' ), + typedarray( [ 1.0, 2.0, 3.0 ], 'float32' ), + typedarray( [ -0.0, -0.0, -0.0 ], 'float32' ) + ]; + y = [ + 'abc', + 'boop', + -5, + -3.14, + 3.14, + -0.0, + 0.0, + false, + true, + void 0, + null, + [], + {}, + function noop() {}, + typedarray( 10, 'float64' ), + typedarray( 10, 'int32' ), + typedarray( 10, 'float32' ), + typedarray( [ 2.0, 4.0, 6.0 ], 'float32' ), + typedarray( [ 0.0, 0.0, 0.0 ], 'float32' ) + ]; + for ( i = 0; i < x.length; i++ ) { + t.strictEqual( isSameFloat32Array( x[ i ], y[ i ] ), false, 'returns expected value when provided '+x[ i ]+' and '+y[ i ] ); + } + t.end(); +}); diff --git a/lib/index.js b/lib/index.js index 2dda8c75..7bc730da 100644 --- a/lib/index.js +++ b/lib/index.js @@ -2151,6 +2151,15 @@ setReadOnly( ns, 'isSafeInteger', require( './../is-safe-integer' ) ); */ setReadOnly( ns, 'isSafeIntegerArray', require( './../is-safe-integer-array' ) ); +/** +* @name isSameFloat32Array +* @memberof ns +* @readonly +* @type {Function} +* @see {@link module:@stdlib/assert/is-same-float32array} +*/ +setReadOnly( ns, 'isSameFloat32Array', require( './../is-same-float32array' ) ); + /** * @name isSameFloat64Array * @memberof ns