tabby/clients/tabby-agent/dist/index.mjs.map

1 line
850 KiB
Plaintext

{"version":3,"sources":["../node_modules/esbuild-plugin-polyfill-node/polyfills/global.js","../node_modules/esbuild-plugin-polyfill-node/polyfills/__dirname.js","../node_modules/esbuild-plugin-polyfill-node/polyfills/__filename.js","../node_modules/@jspm/core/nodelibs/browser/process.js","../node_modules/esbuild-plugin-polyfill-node/polyfills/process.js","../node_modules/@jspm/core/nodelibs/browser/buffer.js","../node_modules/esbuild-plugin-polyfill-node/polyfills/buffer.js","../node_modules/object-keys/isArguments.js","../node_modules/object-keys/implementation.js","../node_modules/object-keys/index.js","../node_modules/has-symbols/shams.js","../node_modules/has-symbols/index.js","../node_modules/has-proto/index.js","../node_modules/function-bind/implementation.js","../node_modules/function-bind/index.js","../node_modules/has/src/index.js","../node_modules/get-intrinsic/index.js","../node_modules/has-property-descriptors/index.js","../node_modules/define-properties/index.js","../node_modules/call-bind/index.js","../node_modules/call-bind/callBound.js","../node_modules/object.assign/implementation.js","../node_modules/object.assign/polyfill.js","../node_modules/object.assign/shim.js","../node_modules/object.assign/index.js","../node_modules/functions-have-names/index.js","../node_modules/regexp.prototype.flags/implementation.js","../node_modules/regexp.prototype.flags/polyfill.js","../node_modules/regexp.prototype.flags/shim.js","../node_modules/regexp.prototype.flags/index.js","../node_modules/has-tostringtag/shams.js","../node_modules/is-arguments/index.js","../node_modules/object-inspect/index.js","../node_modules/side-channel/index.js","../node_modules/internal-slot/index.js","../node_modules/stop-iteration-iterator/index.js","../node_modules/isarray/index.js","../node_modules/is-string/index.js","../node_modules/is-map/index.js","../node_modules/is-set/index.js","../node_modules/es-get-iterator/index.js","../node_modules/object-is/implementation.js","../node_modules/object-is/polyfill.js","../node_modules/object-is/shim.js","../node_modules/object-is/index.js","../node_modules/is-callable/index.js","../node_modules/for-each/index.js","../node_modules/available-typed-arrays/index.js","../node_modules/gopd/index.js","../node_modules/is-typed-array/index.js","../node_modules/is-array-buffer/index.js","../node_modules/is-date-object/index.js","../node_modules/is-regex/index.js","../node_modules/is-shared-array-buffer/index.js","../node_modules/is-number-object/index.js","../node_modules/is-boolean-object/index.js","../node_modules/is-symbol/index.js","../node_modules/has-bigints/index.js","../node_modules/is-bigint/index.js","../node_modules/which-boxed-primitive/index.js","../node_modules/is-weakmap/index.js","../node_modules/is-weakset/index.js","../node_modules/which-collection/index.js","../node_modules/which-typed-array/index.js","../node_modules/array-buffer-byte-length/index.js","../node_modules/deep-equal/index.js","../node_modules/deepmerge/dist/cjs.js","../node_modules/form-data/lib/browser.js","../node_modules/quick-format-unescaped/index.js","../node_modules/pino/browser.js","../node_modules/object-hash/dist/object_hash.js","../node_modules/object-sizeof/byte_size.js","../node_modules/base64-js/index.js","../node_modules/ieee754/index.js","../node_modules/buffer/index.js","../node_modules/object-sizeof/indexv2.js","../src/index.ts","../src/TabbyAgent.ts","../node_modules/@jspm/core/nodelibs/browser/events.js","../node_modules/@jspm/core/nodelibs/browser/chunk-4bd36a8f.js","../node_modules/uuid/dist/esm-browser/index.js","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/v4.js","../node_modules/uuid/dist/esm-browser/native.js","../src/generated/index.ts","../src/generated/TabbyApi.ts","../src/generated/core/AxiosHttpRequest.ts","../src/generated/core/BaseHttpRequest.ts","../src/generated/core/request.ts","../node_modules/axios/index.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/platform/index.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../src/generated/core/ApiError.ts","../src/generated/core/CancelablePromise.ts","../src/generated/services/V1Service.ts","../src/generated/core/OpenAPI.ts","../src/utils.ts","../src/Auth.ts","../src/cloud/index.ts","../src/cloud/CloudApi.ts","../src/cloud/services/ApiService.ts","../src/cloud/models/DeviceTokenResponse.ts","../src/cloud/models/DeviceTokenAcceptResponse.ts","../src/dataStore.ts","../src/logger.ts","../src/AgentConfig.ts","../src/CompletionCache.ts","../node_modules/lru-cache/src/index.ts","../src/postprocess.ts","../src/Agent.ts"],"names":["name","i","init_buffer","init_process","len","len2","e","s","c","base64","Buffer","isBuffer","a","y","n","toString","toJSON","byteLength","exports","o","isObject","isFunction","isString","require_implementation","bind","Empty","undefined","doEval","stringToPath","getBaseIntrinsic","hasPropertyDescriptors","predicates","applyBind","define","functionsHaveNames","f","require_polyfill","require_shim","require_shams","isArray","isRegExp","isNumber","isBoolean","isDate","isPlainObject","l","tryStringObject","advanceStringIndex","getArrayIterator","getNonCollectionIterator","getCollectionIterator","v","all","hasOwnProperty","forEachArray","forEachString","forEachObject","forEach","getPrototypeOf","isTypedArray","isArrayBuffer","tryNumberObject","deepEqual","isMergeableObject","require_browser","pino","transmit","level","logger","noop","t","r","u","h","p","d","resolve","on","once","import_deep_equal","config","prototype","descriptors","filter","request","encode","isFormData","isFileList","transitional","self","validateStatus","domain","standardBrowserEnv","nonStandardBrowserEnv","_resolve","_reject","merge","version","validators","forEachMethodNoData","forEachMethodWithData","Axios","AxiosError","CanceledError","isCancel","CancelToken","VERSION","isAxiosError","spread","toFormData","AxiosHeaders","HttpStatusCode","mergeConfig","isBlob","FormData","append","process","headers","emitWarning","bf","sizeOfObject","hashObject","deepMerge"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAM;AAAN;AAAA;AAAA,IAAM,SAAS;AAAA;AAAA;;;ACAf;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAS,cAAcA,OAAM;AAC3B,QAAM,IAAI,MAAM,qBAAqBA,QAAO,mDAAmD;AACjG;AAOA,SAAS,kBAAkB;AACzB,MAAI,CAAC,YAAY,CAAC;AAChB;AACF,aAAW;AACX,MAAI,aAAa,QAAQ;AACvB,YAAQ,aAAa,OAAO,KAAK;AAAA,EACnC,OACK;AACH,iBAAa;AAAA,EACf;AACA,MAAI,MAAM;AACR,eAAW;AACf;AAEA,SAAS,aAAa;AACpB,MAAI;AACF;AACF,MAAI,UAAU,WAAW,iBAAiB,CAAC;AAC3C,aAAW;AAEX,MAAI,MAAM,MAAM;AAChB,SAAM,KAAK;AACT,mBAAe;AACf,YAAQ,CAAC;AACT,WAAO,EAAE,aAAa,KAAK;AACzB,UAAI;AACF,qBAAa,UAAU,EAAE,IAAI;AAAA,IACjC;AACA,iBAAa;AACb,UAAM,MAAM;AAAA,EACd;AACA,iBAAe;AACf,aAAW;AACX,eAAa,OAAO;AACtB;AAEA,SAAS,SAAU,KAAK;AACtB,MAAI,OAAO,IAAI,MAAM,UAAU,SAAS,CAAC;AACzC,MAAI,UAAU,SAAS,GAAG;AACxB,aAASC,KAAI,GAAGA,KAAI,UAAU,QAAQA;AACpC,WAAKA,KAAI,CAAC,IAAI,UAAUA,EAAC;AAAA,EAC7B;AACA,QAAM,KAAK,IAAI,KAAK,KAAK,IAAI,CAAC;AAC9B,MAAI,MAAM,WAAW,KAAK,CAAC;AACzB,eAAW,YAAY,CAAC;AAC5B;AAEA,SAAS,KAAK,KAAK,OAAO;AACxB,OAAK,MAAM;AACX,OAAK,QAAQ;AACf;AAsCA,SAAS,OAAO;AAAC;AAIjB,SAAS,eAAeD,OAAM;AAAE,gBAAc,gBAAgB;AAAG;AAIjE,SAAS,OAAOA,OAAM;AAAE,gBAAc,QAAQ;AAAG;AACjD,SAAS,qBAAqB;AAAE,SAAO,CAAC;AAAG;AAC3C,SAAS,oBAAoB;AAAE,SAAO,CAAC;AAAG;AAU1C,SAAS,OAAO,WAAW,SAAS;AAClC,MAAI,CAAC;AAAW,UAAM,IAAI,MAAM,WAAW,iBAAiB;AAC9D;AAcA,SAAS,sCAAsC;AAAE,SAAO;AAAO;AA8B/D,SAAS,SAAS;AAChB,SAAO,aAAa,IAAI,IAAI;AAC9B;AAGA,SAAS,OAAO,mBAAmB;AACjC,MAAI,UAAU,KAAK,OAAO,KAAK,IAAI,IAAI,aAAa,IAAI,KAAK,IAAI;AACjE,MAAI,YAAY,aAAa,IAAI,IAAI;AACrC,MAAI,UAAU,KAAK,MAAM,SAAS,IAAI;AACtC,MAAI,cAAc,KAAK,MAAO,YAAY,IAAK,GAAG;AAClD,MAAI,mBAAmB;AACrB,cAAU,UAAU,kBAAkB,CAAC;AACvC,kBAAc,cAAc,kBAAkB,CAAC;AAC/C,QAAI,cAAc,GAAG;AACnB;AACA,qBAAe;AAAA,IACjB;AAAA,EACF;AACA,SAAO,CAAC,SAAS,WAAW;AAC9B;AAWA,SAAS,KAAM;AAAE,SAAO;AAAQ;AAQhC,SAAS,UAAWA,OAAM;AAAE,SAAO,CAAC;AAAG;AAzMvC,IAII,OACA,UACA,cACA,YAyDA,OACA,MACA,UACA,KAOA,MACA,UACA,SACA,UAEA,aAIA,SAEA,OAEA,KACA,OAEA,SASA,WACA,gBAEA,QACA,UACA,QAIA,YACA,OACA,UACA,eACA,aACA,MACA,MACA,WACA,6BAIA,UAWA,kBACA,qCACgE,eAChE,eACA,WACA,4BACA,2BACA,QACA,QACA,OACA,OACA,KACA,MACA,UACA,WACA,OACA,kBACA,sBAEA,cAKE,WAYF,YAuBA,eACA,SACA,cACiC,aACjC,MACA,KACA,gBACA,oBACA,MACA,iBACA,qBAEA;AA1MJ;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAE;AAAA,IAAAC;AAIA,IAAI,QAAQ,CAAC;AACb,IAAI,WAAW;AAEf,IAAI,aAAa;AAqDjB,SAAK,UAAU,MAAM,WAAY;AAC/B,WAAK,IAAI,MAAM,MAAM,KAAK,KAAK;AAAA,IACjC;AAEA,IAAI,QAAQ;AACZ,IAAI,OAAO;AACX,IAAI,WAAW;AACf,IAAI,MAAM;AAAA,MACR,MAAM;AAAA,MACN,MAAM,UAAU,WAAW;AAAA,MAC3B,KAAK;AAAA,MACL,MAAM;AAAA,MACN,KAAK;AAAA,IACP;AACA,IAAI,OAAO,CAAC,eAAe;AAC3B,IAAI,WAAW,CAAC;AAChB,IAAI,UAAU;AACd,IAAI,WAAW,CAAC;AAEhB,IAAI,cAAc,SAAS,SAAS,MAAM;AACxC,cAAQ,MAAM,OAAQ,OAAO,OAAQ,MAAM,OAAO;AAAA,IACpD;AAEA,IAAI,UAAU,SAASH,OAAM;AAAE,oBAAc,SAAS;AAAA,IAAG;AAEzD,IAAI,QAAQ,SAAS,MAAM;AAAE,aAAO;AAAA,IAAG;AAEvC,IAAI,MAAM,WAAW;AAAE,aAAO;AAAA,IAAK;AACnC,IAAI,QAAQ,SAAS,KAAK;AAAA,IAAC;AAE3B,IAAI,UAAU;AAAA,MACZ,MAAM;AAAA,MACN,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,QAAQ;AAAA,IACV;AAIA,IAAI,YAAY;AAChB,IAAI,iBAAiB,CAAC;AAEtB,IAAI,SAAS,CAAC;AACd,IAAI,WAAW;AACf,IAAI,SAAS,CAAC;AAId,IAAI,aAAa;AACjB,IAAI,QAAQ;AACZ,IAAI,WAAW,WAAW;AAAE,aAAO,CAAC;AAAA,IAAG;AACvC,IAAI,gBAAgB;AACpB,IAAI,cAAc;AAClB,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,YAAY;AAChB,IAAI,8BAA8B,CAAC;AAInC,IAAI,WAAW;AAAA,MACb,WAAW;AAAA,MACX,OAAO;AAAA,MACP,IAAI;AAAA,MACJ,MAAM;AAAA,MACN,UAAU;AAAA,MACV,SAAS;AAAA,MACT,UAAU;AAAA,MACV,KAAK;AAAA,MACL,iBAAiB;AAAA,IACnB;AACA,IAAI,mBAAmB;AACvB,IAAI,sCAAsC;AACsB,IAAI,gBAAgB;AACpF,IAAI,gBAAgB;AACpB,IAAI,YAAY;AAChB,IAAI,6BAA6B;AACjC,IAAI,4BAA4B;AAChC,IAAI,SAAS;AACb,IAAI,SAAS;AACb,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,WAAW;AACf,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,mBAAmB,CAAC;AACxB,IAAI,uBAAuB;AAE3B,IAAI,eAAe;AAAA,MACjB,KAAK,OAAO,gBAAgB,cAAc,YAAY,IAAI,KAAK,WAAW,IAAI;AAAA,MAC9E,QAAQ,OAAO,gBAAgB,cAAc,YAAY,SAAS;AAAA,IACpE;AACA,QAAI,aAAa,QAAQ,QAAW;AAC9B,kBAAY,KAAK,IAAI;AAEzB,UAAI,aAAa,UAAU,aAAa,OAAO,iBAAiB;AAC9D,oBAAY,aAAa,OAAO;AAAA,MAClC;AACA,mBAAa,MAAM,MAAM,KAAK,IAAI,IAAI;AAAA,IACxC;AAMA,IAAI,aAAa;AAehB,WAAO,SAAS,SAAS,MAAM;AAC9B,UAAI,OAAO,OAAO,IAAI;AACtB,UAAI,OAAO,WAAW,aAAa;AACjC,eAAO,KAAK,CAAC,IAAI,aAAa,KAAK,CAAC;AAAA,MACtC;AACA,aAAO,OAAO,KAAK,CAAC,IAAI,UAAU,IAAI,OAAO,KAAK,CAAC,CAAC;AAAA,IACtD;AAEA,IAAI,gBAAgB;AACpB,IAAI,UAAU,CAAC;AACf,IAAI,eAAe;AACc,IAAI,cAAc;AACnD,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI,iBAAiB;AACrB,IAAI,qBAAqB;AACzB,IAAI,OAAO;AACX,IAAI,kBAAkB;AACtB,IAAI,sBAAsB;AAE1B,IAAI,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA;AAAA;;;AChRA,IAAAG,gBAAA;AAAA;AAAA;AAAA;AAAA;;;ACEA,SAAS,QAAQ;AACf,MAAI;AAAY,WAAO;AACvB,eAAa;AACb,YAAU,aAAa;AACvB,YAAU,cAAc;AACxB,YAAU,gBAAgB;AAC1B,MAAI,SAAS,CAAC;AACd,MAAI,YAAY,CAAC;AACjB,MAAI,MAAM,OAAO,eAAe,cAAc,aAAa;AAC3D,MAAI,OAAO;AAEX,WAASF,KAAI,GAAG,MAAM,KAAK,QAAQA,KAAI,KAAK,EAAEA,IAAG;AAC/C,WAAOA,EAAC,IAAI,KAAKA,EAAC;AAClB,cAAU,KAAK,WAAWA,EAAC,CAAC,IAAIA;AAAA,EAClC;AAIA,YAAU,IAAI,WAAW,CAAC,CAAC,IAAI;AAC/B,YAAU,IAAI,WAAW,CAAC,CAAC,IAAI;AAE/B,WAAS,QAAQ,KAAK;AACpB,QAAIG,OAAM,IAAI;AAEd,QAAIA,OAAM,IAAI,GAAG;AACf,YAAM,IAAI,MAAM,gDAAgD;AAAA,IAClE;AAIA,QAAI,WAAW,IAAI,QAAQ,GAAG;AAC9B,QAAI,aAAa;AAAI,iBAAWA;AAChC,QAAI,kBAAkB,aAAaA,OAAM,IAAI,IAAI,WAAW;AAC5D,WAAO,CAAC,UAAU,eAAe;AAAA,EACnC;AAGA,WAAS,WAAW,KAAK;AACvB,QAAI,OAAO,QAAQ,GAAG;AACtB,QAAI,WAAW,KAAK,CAAC;AACrB,QAAI,kBAAkB,KAAK,CAAC;AAC5B,YAAQ,WAAW,mBAAmB,IAAI,IAAI;AAAA,EAChD;AAEA,WAAS,YAAY,KAAK,UAAU,iBAAiB;AACnD,YAAQ,WAAW,mBAAmB,IAAI,IAAI;AAAA,EAChD;AAEA,WAAS,YAAY,KAAK;AACxB,QAAI;AACJ,QAAI,OAAO,QAAQ,GAAG;AACtB,QAAI,WAAW,KAAK,CAAC;AACrB,QAAI,kBAAkB,KAAK,CAAC;AAC5B,QAAI,MAAM,IAAI,IAAI,YAAY,KAAK,UAAU,eAAe,CAAC;AAC7D,QAAI,UAAU;AAEd,QAAIA,OAAM,kBAAkB,IAAI,WAAW,IAAI;AAC/C,QAAIH;AAEJ,SAAKA,KAAI,GAAGA,KAAIG,MAAKH,MAAK,GAAG;AAC3B,YAAM,UAAU,IAAI,WAAWA,EAAC,CAAC,KAAK,KAAK,UAAU,IAAI,WAAWA,KAAI,CAAC,CAAC,KAAK,KAAK,UAAU,IAAI,WAAWA,KAAI,CAAC,CAAC,KAAK,IAAI,UAAU,IAAI,WAAWA,KAAI,CAAC,CAAC;AAC3J,UAAI,SAAS,IAAI,OAAO,KAAK;AAC7B,UAAI,SAAS,IAAI,OAAO,IAAI;AAC5B,UAAI,SAAS,IAAI,MAAM;AAAA,IACzB;AAEA,QAAI,oBAAoB,GAAG;AACzB,YAAM,UAAU,IAAI,WAAWA,EAAC,CAAC,KAAK,IAAI,UAAU,IAAI,WAAWA,KAAI,CAAC,CAAC,KAAK;AAC9E,UAAI,SAAS,IAAI,MAAM;AAAA,IACzB;AAEA,QAAI,oBAAoB,GAAG;AACzB,YAAM,UAAU,IAAI,WAAWA,EAAC,CAAC,KAAK,KAAK,UAAU,IAAI,WAAWA,KAAI,CAAC,CAAC,KAAK,IAAI,UAAU,IAAI,WAAWA,KAAI,CAAC,CAAC,KAAK;AACvH,UAAI,SAAS,IAAI,OAAO,IAAI;AAC5B,UAAI,SAAS,IAAI,MAAM;AAAA,IACzB;AAEA,WAAO;AAAA,EACT;AAEA,WAAS,gBAAgB,KAAK;AAC5B,WAAO,OAAO,OAAO,KAAK,EAAE,IAAI,OAAO,OAAO,KAAK,EAAE,IAAI,OAAO,OAAO,IAAI,EAAE,IAAI,OAAO,MAAM,EAAE;AAAA,EAClG;AAEA,WAAS,YAAY,OAAO,OAAO,KAAK;AACtC,QAAI;AACJ,QAAI,SAAS,CAAC;AAEd,aAASA,KAAI,OAAOA,KAAI,KAAKA,MAAK,GAAG;AACnC,aAAO,MAAMA,EAAC,KAAK,KAAK,aAAa,MAAMA,KAAI,CAAC,KAAK,IAAI,UAAU,MAAMA,KAAI,CAAC,IAAI;AAClF,aAAO,KAAK,gBAAgB,GAAG,CAAC;AAAA,IAClC;AAEA,WAAO,OAAO,KAAK,EAAE;AAAA,EACvB;AAEA,WAAS,cAAc,OAAO;AAC5B,QAAI;AACJ,QAAIG,OAAM,MAAM;AAChB,QAAI,aAAaA,OAAM;AAEvB,QAAI,QAAQ,CAAC;AACb,QAAI,iBAAiB;AAGrB,aAASH,KAAI,GAAGI,QAAOD,OAAM,YAAYH,KAAII,OAAMJ,MAAK,gBAAgB;AACtE,YAAM,KAAK,YAAY,OAAOA,IAAGA,KAAI,iBAAiBI,QAAOA,QAAOJ,KAAI,cAAc,CAAC;AAAA,IACzF;AAGA,QAAI,eAAe,GAAG;AACpB,YAAM,MAAMG,OAAM,CAAC;AACnB,YAAM,KAAK,OAAO,OAAO,CAAC,IAAI,OAAO,OAAO,IAAI,EAAE,IAAI,IAAI;AAAA,IAC5D,WAAW,eAAe,GAAG;AAC3B,aAAO,MAAMA,OAAM,CAAC,KAAK,KAAK,MAAMA,OAAM,CAAC;AAC3C,YAAM,KAAK,OAAO,OAAO,EAAE,IAAI,OAAO,OAAO,IAAI,EAAE,IAAI,OAAO,OAAO,IAAI,EAAE,IAAI,GAAG;AAAA,IACpF;AAEA,WAAO,MAAM,KAAK,EAAE;AAAA,EACtB;AAEA,SAAO;AACT;AAIA,SAAS,QAAQ;AACf,MAAI;AAAY,WAAO;AACvB,eAAa;AAGb,YAAU,OAAO,SAAU,QAAQ,QAAQ,MAAM,MAAM,QAAQ;AAC7D,QAAIE,IAAG;AACP,QAAI,OAAO,SAAS,IAAI,OAAO;AAC/B,QAAI,QAAQ,KAAK,QAAQ;AACzB,QAAI,QAAQ,QAAQ;AACpB,QAAI,QAAQ;AACZ,QAAIL,KAAI,OAAO,SAAS,IAAI;AAC5B,QAAI,IAAI,OAAO,KAAK;AACpB,QAAIM,KAAI,OAAO,SAASN,EAAC;AACzB,IAAAA,MAAK;AACL,IAAAK,KAAIC,MAAK,KAAK,CAAC,SAAS;AACxB,IAAAA,OAAM,CAAC;AACP,aAAS;AAET,WAAO,QAAQ,GAAGD,KAAIA,KAAI,MAAM,OAAO,SAASL,EAAC,GAAGA,MAAK,GAAG,SAAS,GAAG;AAAA,IAAC;AAEzE,QAAIK,MAAK,KAAK,CAAC,SAAS;AACxB,IAAAA,OAAM,CAAC;AACP,aAAS;AAET,WAAO,QAAQ,GAAG,IAAI,IAAI,MAAM,OAAO,SAASL,EAAC,GAAGA,MAAK,GAAG,SAAS,GAAG;AAAA,IAAC;AAEzE,QAAIK,OAAM,GAAG;AACX,MAAAA,KAAI,IAAI;AAAA,IACV,WAAWA,OAAM,MAAM;AACrB,aAAO,IAAI,OAAOC,KAAI,KAAK,KAAK;AAAA,IAClC,OAAO;AACL,UAAI,IAAI,KAAK,IAAI,GAAG,IAAI;AACxB,MAAAD,KAAIA,KAAI;AAAA,IACV;AAEA,YAAQC,KAAI,KAAK,KAAK,IAAI,KAAK,IAAI,GAAGD,KAAI,IAAI;AAAA,EAChD;AAEA,YAAU,QAAQ,SAAU,QAAQ,OAAO,QAAQ,MAAM,MAAM,QAAQ;AACrE,QAAIA,IAAG,GAAGE;AACV,QAAI,OAAO,SAAS,IAAI,OAAO;AAC/B,QAAI,QAAQ,KAAK,QAAQ;AACzB,QAAI,QAAQ,QAAQ;AACpB,QAAI,KAAK,SAAS,KAAK,KAAK,IAAI,GAAG,GAAG,IAAI,KAAK,IAAI,GAAG,GAAG,IAAI;AAC7D,QAAIP,KAAI,OAAO,IAAI,SAAS;AAC5B,QAAI,IAAI,OAAO,IAAI;AACnB,QAAIM,KAAI,QAAQ,KAAK,UAAU,KAAK,IAAI,QAAQ,IAAI,IAAI;AACxD,YAAQ,KAAK,IAAI,KAAK;AAEtB,QAAI,MAAM,KAAK,KAAK,UAAU,UAAU;AACtC,UAAI,MAAM,KAAK,IAAI,IAAI;AACvB,MAAAD,KAAI;AAAA,IACN,OAAO;AACL,MAAAA,KAAI,KAAK,MAAM,KAAK,IAAI,KAAK,IAAI,KAAK,GAAG;AAEzC,UAAI,SAASE,KAAI,KAAK,IAAI,GAAG,CAACF,EAAC,KAAK,GAAG;AACrC,QAAAA;AACA,QAAAE,MAAK;AAAA,MACP;AAEA,UAAIF,KAAI,SAAS,GAAG;AAClB,iBAAS,KAAKE;AAAA,MAChB,OAAO;AACL,iBAAS,KAAK,KAAK,IAAI,GAAG,IAAI,KAAK;AAAA,MACrC;AAEA,UAAI,QAAQA,MAAK,GAAG;AAClB,QAAAF;AACA,QAAAE,MAAK;AAAA,MACP;AAEA,UAAIF,KAAI,SAAS,MAAM;AACrB,YAAI;AACJ,QAAAA,KAAI;AAAA,MACN,WAAWA,KAAI,SAAS,GAAG;AACzB,aAAK,QAAQE,KAAI,KAAK,KAAK,IAAI,GAAG,IAAI;AACtC,QAAAF,KAAIA,KAAI;AAAA,MACV,OAAO;AACL,YAAI,QAAQ,KAAK,IAAI,GAAG,QAAQ,CAAC,IAAI,KAAK,IAAI,GAAG,IAAI;AACrD,QAAAA,KAAI;AAAA,MACN;AAAA,IACF;AAEA,WAAO,QAAQ,GAAG,OAAO,SAASL,EAAC,IAAI,IAAI,KAAKA,MAAK,GAAG,KAAK,KAAK,QAAQ,GAAG;AAAA,IAAC;AAE9E,IAAAK,KAAIA,MAAK,OAAO;AAChB,YAAQ;AAER,WAAO,OAAO,GAAG,OAAO,SAASL,EAAC,IAAIK,KAAI,KAAKL,MAAK,GAAGK,MAAK,KAAK,QAAQ,GAAG;AAAA,IAAC;AAE7E,WAAO,SAASL,KAAI,CAAC,KAAKM,KAAI;AAAA,EAChC;AAEA,SAAO;AACT;AAIA,SAAS,MAAM;AACb,MAAI;AAAU,WAAO;AACrB,aAAW;AAEX,QAAME,UAAS,MAAM;AAErB,QAAM,UAAU,MAAM;AAEtB,QAAM,sBAAsB,OAAO,WAAW,cAAc,OAAO,OAAO,KAAK,MAAM,aAAa,OAAO,KAAK,EAAE,4BAA4B,IAC1I;AACF,YAAU,SAASC;AACnB,YAAU,aAAa;AACvB,YAAU,oBAAoB;AAC9B,QAAM,eAAe;AACrB,YAAU,aAAa;AAgBvB,EAAAA,QAAO,sBAAsB,kBAAkB;AAE/C,MAAI,CAACA,QAAO,uBAAuB,OAAO,YAAY,eAAe,OAAO,QAAQ,UAAU,YAAY;AACxG,YAAQ,MAAM,+IAAoJ;AAAA,EACpK;AAEA,WAAS,oBAAoB;AAE3B,QAAI;AACF,YAAM,MAAM,IAAI,WAAW,CAAC;AAC5B,YAAM,QAAQ;AAAA,QACZ,KAAK,WAAY;AACf,iBAAO;AAAA,QACT;AAAA,MACF;AACA,aAAO,eAAe,OAAO,WAAW,SAAS;AACjD,aAAO,eAAe,KAAK,KAAK;AAChC,aAAO,IAAI,IAAI,MAAM;AAAA,IACvB,SAASJ,IAAP;AACA,aAAO;AAAA,IACT;AAAA,EACF;AAEA,SAAO,eAAeI,QAAO,WAAW,UAAU;AAAA,IAChD,YAAY;AAAA,IACZ,KAAK,WAAY;AACf,UAAI,CAACA,QAAO,SAAS,IAAI;AAAG,eAAO;AACnC,aAAO,KAAK;AAAA,IACd;AAAA,EACF,CAAC;AACD,SAAO,eAAeA,QAAO,WAAW,UAAU;AAAA,IAChD,YAAY;AAAA,IACZ,KAAK,WAAY;AACf,UAAI,CAACA,QAAO,SAAS,IAAI;AAAG,eAAO;AACnC,aAAO,KAAK;AAAA,IACd;AAAA,EACF,CAAC;AAED,WAAS,aAAa,QAAQ;AAC5B,QAAI,SAAS,cAAc;AACzB,YAAM,IAAI,WAAW,gBAAiB,SAAS,gCAAmC;AAAA,IACpF;AAGA,UAAM,MAAM,IAAI,WAAW,MAAM;AACjC,WAAO,eAAe,KAAKA,QAAO,SAAS;AAC3C,WAAO;AAAA,EACT;AAYA,WAASA,QAAO,KAAK,kBAAkB,QAAQ;AAE7C,QAAI,OAAO,QAAQ,UAAU;AAC3B,UAAI,OAAO,qBAAqB,UAAU;AACxC,cAAM,IAAI,UAAU,oEAAsE;AAAA,MAC5F;AAEA,aAAO,YAAY,GAAG;AAAA,IACxB;AAEA,WAAO,KAAK,KAAK,kBAAkB,MAAM;AAAA,EAC3C;AAEA,EAAAA,QAAO,WAAW;AAElB,WAAS,KAAK,OAAO,kBAAkB,QAAQ;AAC7C,QAAI,OAAO,UAAU,UAAU;AAC7B,aAAO,WAAW,OAAO,gBAAgB;AAAA,IAC3C;AAEA,QAAI,YAAY,OAAO,KAAK,GAAG;AAC7B,aAAO,cAAc,KAAK;AAAA,IAC5B;AAEA,QAAI,SAAS,MAAM;AACjB,YAAM,IAAI,UAAU,oHAAyH,OAAO,KAAK;AAAA,IAC3J;AAEA,QAAI,WAAW,OAAO,WAAW,KAAK,SAAS,WAAW,MAAM,QAAQ,WAAW,GAAG;AACpF,aAAO,gBAAgB,OAAO,kBAAkB,MAAM;AAAA,IACxD;AAEA,QAAI,OAAO,sBAAsB,gBAAgB,WAAW,OAAO,iBAAiB,KAAK,SAAS,WAAW,MAAM,QAAQ,iBAAiB,IAAI;AAC9I,aAAO,gBAAgB,OAAO,kBAAkB,MAAM;AAAA,IACxD;AAEA,QAAI,OAAO,UAAU,UAAU;AAC7B,YAAM,IAAI,UAAU,uEAAyE;AAAA,IAC/F;AAEA,UAAM,UAAU,MAAM,WAAW,MAAM,QAAQ;AAE/C,QAAI,WAAW,QAAQ,YAAY,OAAO;AACxC,aAAOA,QAAO,KAAK,SAAS,kBAAkB,MAAM;AAAA,IACtD;AAEA,UAAM,IAAI,WAAW,KAAK;AAC1B,QAAI;AAAG,aAAO;AAEd,QAAI,OAAO,WAAW,eAAe,OAAO,eAAe,QAAQ,OAAO,MAAM,OAAO,WAAW,MAAM,YAAY;AAClH,aAAOA,QAAO,KAAK,MAAM,OAAO,WAAW,EAAE,QAAQ,GAAG,kBAAkB,MAAM;AAAA,IAClF;AAEA,UAAM,IAAI,UAAU,oHAAyH,OAAO,KAAK;AAAA,EAC3J;AAWA,EAAAA,QAAO,OAAO,SAAU,OAAO,kBAAkB,QAAQ;AACvD,WAAO,KAAK,OAAO,kBAAkB,MAAM;AAAA,EAC7C;AAIA,SAAO,eAAeA,QAAO,WAAW,WAAW,SAAS;AAC5D,SAAO,eAAeA,SAAQ,UAAU;AAExC,WAAS,WAAW,MAAM;AACxB,QAAI,OAAO,SAAS,UAAU;AAC5B,YAAM,IAAI,UAAU,wCAA0C;AAAA,IAChE,WAAW,OAAO,GAAG;AACnB,YAAM,IAAI,WAAW,gBAAiB,OAAO,gCAAmC;AAAA,IAClF;AAAA,EACF;AAEA,WAAS,MAAM,MAAM,MAAM,UAAU;AACnC,eAAW,IAAI;AAEf,QAAI,QAAQ,GAAG;AACb,aAAO,aAAa,IAAI;AAAA,IAC1B;AAEA,QAAI,SAAS,QAAW;AAItB,aAAO,OAAO,aAAa,WAAW,aAAa,IAAI,EAAE,KAAK,MAAM,QAAQ,IAAI,aAAa,IAAI,EAAE,KAAK,IAAI;AAAA,IAC9G;AAEA,WAAO,aAAa,IAAI;AAAA,EAC1B;AAOA,EAAAA,QAAO,QAAQ,SAAU,MAAM,MAAM,UAAU;AAC7C,WAAO,MAAM,MAAM,MAAM,QAAQ;AAAA,EACnC;AAEA,WAAS,YAAY,MAAM;AACzB,eAAW,IAAI;AACf,WAAO,aAAa,OAAO,IAAI,IAAI,QAAQ,IAAI,IAAI,CAAC;AAAA,EACtD;AAMA,EAAAA,QAAO,cAAc,SAAU,MAAM;AACnC,WAAO,YAAY,IAAI;AAAA,EACzB;AAMA,EAAAA,QAAO,kBAAkB,SAAU,MAAM;AACvC,WAAO,YAAY,IAAI;AAAA,EACzB;AAEA,WAAS,WAAW,QAAQ,UAAU;AACpC,QAAI,OAAO,aAAa,YAAY,aAAa,IAAI;AACnD,iBAAW;AAAA,IACb;AAEA,QAAI,CAACA,QAAO,WAAW,QAAQ,GAAG;AAChC,YAAM,IAAI,UAAU,uBAAuB,QAAQ;AAAA,IACrD;AAEA,UAAM,SAAS,WAAW,QAAQ,QAAQ,IAAI;AAC9C,QAAI,MAAM,aAAa,MAAM;AAC7B,UAAM,SAAS,IAAI,MAAM,QAAQ,QAAQ;AAEzC,QAAI,WAAW,QAAQ;AAIrB,YAAM,IAAI,MAAM,GAAG,MAAM;AAAA,IAC3B;AAEA,WAAO;AAAA,EACT;AAEA,WAAS,cAAc,OAAO;AAC5B,UAAM,SAAS,MAAM,SAAS,IAAI,IAAI,QAAQ,MAAM,MAAM,IAAI;AAC9D,UAAM,MAAM,aAAa,MAAM;AAE/B,aAAST,KAAI,GAAGA,KAAI,QAAQA,MAAK,GAAG;AAClC,UAAIA,EAAC,IAAI,MAAMA,EAAC,IAAI;AAAA,IACtB;AAEA,WAAO;AAAA,EACT;AAEA,WAAS,cAAc,WAAW;AAChC,QAAI,WAAW,WAAW,UAAU,GAAG;AACrC,YAAM,OAAO,IAAI,WAAW,SAAS;AACrC,aAAO,gBAAgB,KAAK,QAAQ,KAAK,YAAY,KAAK,UAAU;AAAA,IACtE;AAEA,WAAO,cAAc,SAAS;AAAA,EAChC;AAEA,WAAS,gBAAgB,OAAO,YAAY,QAAQ;AAClD,QAAI,aAAa,KAAK,MAAM,aAAa,YAAY;AACnD,YAAM,IAAI,WAAW,sCAAwC;AAAA,IAC/D;AAEA,QAAI,MAAM,aAAa,cAAc,UAAU,IAAI;AACjD,YAAM,IAAI,WAAW,sCAAwC;AAAA,IAC/D;AAEA,QAAI;AAEJ,QAAI,eAAe,UAAa,WAAW,QAAW;AACpD,YAAM,IAAI,WAAW,KAAK;AAAA,IAC5B,WAAW,WAAW,QAAW;AAC/B,YAAM,IAAI,WAAW,OAAO,UAAU;AAAA,IACxC,OAAO;AACL,YAAM,IAAI,WAAW,OAAO,YAAY,MAAM;AAAA,IAChD;AAGA,WAAO,eAAe,KAAKS,QAAO,SAAS;AAC3C,WAAO;AAAA,EACT;AAEA,WAAS,WAAW,KAAK;AACvB,QAAIA,QAAO,SAAS,GAAG,GAAG;AACxB,YAAM,MAAM,QAAQ,IAAI,MAAM,IAAI;AAClC,YAAM,MAAM,aAAa,GAAG;AAE5B,UAAI,IAAI,WAAW,GAAG;AACpB,eAAO;AAAA,MACT;AAEA,UAAI,KAAK,KAAK,GAAG,GAAG,GAAG;AACvB,aAAO;AAAA,IACT;AAEA,QAAI,IAAI,WAAW,QAAW;AAC5B,UAAI,OAAO,IAAI,WAAW,YAAY,YAAY,IAAI,MAAM,GAAG;AAC7D,eAAO,aAAa,CAAC;AAAA,MACvB;AAEA,aAAO,cAAc,GAAG;AAAA,IAC1B;AAEA,QAAI,IAAI,SAAS,YAAY,MAAM,QAAQ,IAAI,IAAI,GAAG;AACpD,aAAO,cAAc,IAAI,IAAI;AAAA,IAC/B;AAAA,EACF;AAEA,WAAS,QAAQ,QAAQ;AAGvB,QAAI,UAAU,cAAc;AAC1B,YAAM,IAAI,WAAW,4DAAiE,aAAa,SAAS,EAAE,IAAI,QAAQ;AAAA,IAC5H;AAEA,WAAO,SAAS;AAAA,EAClB;AAEA,WAAS,WAAW,QAAQ;AAC1B,QAAI,CAAC,UAAU,QAAQ;AAErB,eAAS;AAAA,IACX;AAEA,WAAOA,QAAO,MAAM,CAAC,MAAM;AAAA,EAC7B;AAEA,EAAAA,QAAO,WAAW,SAASC,UAAS,GAAG;AACrC,WAAO,KAAK,QAAQ,EAAE,cAAc,QAAQ,MAAMD,QAAO;AAAA,EAC3D;AAEA,EAAAA,QAAO,UAAU,SAAS,QAAQE,IAAG,GAAG;AACtC,QAAI,WAAWA,IAAG,UAAU;AAAG,MAAAA,KAAIF,QAAO,KAAKE,IAAGA,GAAE,QAAQA,GAAE,UAAU;AACxE,QAAI,WAAW,GAAG,UAAU;AAAG,UAAIF,QAAO,KAAK,GAAG,EAAE,QAAQ,EAAE,UAAU;AAExE,QAAI,CAACA,QAAO,SAASE,EAAC,KAAK,CAACF,QAAO,SAAS,CAAC,GAAG;AAC9C,YAAM,IAAI,UAAU,uEAA2E;AAAA,IACjG;AAEA,QAAIE,OAAM;AAAG,aAAO;AACpB,QAAI,IAAIA,GAAE;AACV,QAAIC,KAAI,EAAE;AAEV,aAASZ,KAAI,GAAG,MAAM,KAAK,IAAI,GAAGY,EAAC,GAAGZ,KAAI,KAAK,EAAEA,IAAG;AAClD,UAAIW,GAAEX,EAAC,MAAM,EAAEA,EAAC,GAAG;AACjB,YAAIW,GAAEX,EAAC;AACP,QAAAY,KAAI,EAAEZ,EAAC;AACP;AAAA,MACF;AAAA,IACF;AAEA,QAAI,IAAIY;AAAG,aAAO;AAClB,QAAIA,KAAI;AAAG,aAAO;AAClB,WAAO;AAAA,EACT;AAEA,EAAAH,QAAO,aAAa,SAAS,WAAW,UAAU;AAChD,YAAQ,OAAO,QAAQ,EAAE,YAAY,GAAG;AAAA,MACtC,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACH,eAAO;AAAA,MAET;AACE,eAAO;AAAA,IACX;AAAA,EACF;AAEA,EAAAA,QAAO,SAAS,SAAS,OAAO,MAAM,QAAQ;AAC5C,QAAI,CAAC,MAAM,QAAQ,IAAI,GAAG;AACxB,YAAM,IAAI,UAAU,6CAA+C;AAAA,IACrE;AAEA,QAAI,KAAK,WAAW,GAAG;AACrB,aAAOA,QAAO,MAAM,CAAC;AAAA,IACvB;AAEA,QAAIT;AAEJ,QAAI,WAAW,QAAW;AACxB,eAAS;AAET,WAAKA,KAAI,GAAGA,KAAI,KAAK,QAAQ,EAAEA,IAAG;AAChC,kBAAU,KAAKA,EAAC,EAAE;AAAA,MACpB;AAAA,IACF;AAEA,UAAM,SAASS,QAAO,YAAY,MAAM;AACxC,QAAI,MAAM;AAEV,SAAKT,KAAI,GAAGA,KAAI,KAAK,QAAQ,EAAEA,IAAG;AAChC,UAAI,MAAM,KAAKA,EAAC;AAEhB,UAAI,WAAW,KAAK,UAAU,GAAG;AAC/B,YAAI,MAAM,IAAI,SAAS,OAAO,QAAQ;AACpC,cAAI,CAACS,QAAO,SAAS,GAAG;AAAG,kBAAMA,QAAO,KAAK,GAAG;AAChD,cAAI,KAAK,QAAQ,GAAG;AAAA,QACtB,OAAO;AACL,qBAAW,UAAU,IAAI,KAAK,QAAQ,KAAK,GAAG;AAAA,QAChD;AAAA,MACF,WAAW,CAACA,QAAO,SAAS,GAAG,GAAG;AAChC,cAAM,IAAI,UAAU,6CAA+C;AAAA,MACrE,OAAO;AACL,YAAI,KAAK,QAAQ,GAAG;AAAA,MACtB;AAEA,aAAO,IAAI;AAAA,IACb;AAEA,WAAO;AAAA,EACT;AAEA,WAAS,WAAW,QAAQ,UAAU;AACpC,QAAIA,QAAO,SAAS,MAAM,GAAG;AAC3B,aAAO,OAAO;AAAA,IAChB;AAEA,QAAI,YAAY,OAAO,MAAM,KAAK,WAAW,QAAQ,WAAW,GAAG;AACjE,aAAO,OAAO;AAAA,IAChB;AAEA,QAAI,OAAO,WAAW,UAAU;AAC9B,YAAM,IAAI,UAAU,6FAAoG,OAAO,MAAM;AAAA,IACvI;AAEA,UAAM,MAAM,OAAO;AACnB,UAAM,YAAY,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM;AAC3D,QAAI,CAAC,aAAa,QAAQ;AAAG,aAAO;AAEpC,QAAI,cAAc;AAElB,eAAS;AACP,cAAQ,UAAU;AAAA,QAChB,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AACH,iBAAO;AAAA,QAET,KAAK;AAAA,QACL,KAAK;AACH,iBAAO,YAAY,MAAM,EAAE;AAAA,QAE7B,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AACH,iBAAO,MAAM;AAAA,QAEf,KAAK;AACH,iBAAO,QAAQ;AAAA,QAEjB,KAAK;AACH,iBAAO,cAAc,MAAM,EAAE;AAAA,QAE/B;AACE,cAAI,aAAa;AACf,mBAAO,YAAY,KAAK,YAAY,MAAM,EAAE;AAAA,UAC9C;AAEA,sBAAY,KAAK,UAAU,YAAY;AACvC,wBAAc;AAAA,MAClB;AAAA,IACF;AAAA,EACF;AAEA,EAAAA,QAAO,aAAa;AAEpB,WAAS,aAAa,UAAU,OAAO,KAAK;AAC1C,QAAI,cAAc;AAOlB,QAAI,UAAU,UAAa,QAAQ,GAAG;AACpC,cAAQ;AAAA,IACV;AAIA,QAAI,QAAQ,KAAK,QAAQ;AACvB,aAAO;AAAA,IACT;AAEA,QAAI,QAAQ,UAAa,MAAM,KAAK,QAAQ;AAC1C,YAAM,KAAK;AAAA,IACb;AAEA,QAAI,OAAO,GAAG;AACZ,aAAO;AAAA,IACT;AAGA,aAAS;AACT,eAAW;AAEX,QAAI,OAAO,OAAO;AAChB,aAAO;AAAA,IACT;AAEA,QAAI,CAAC;AAAU,iBAAW;AAE1B,WAAO,MAAM;AACX,cAAQ,UAAU;AAAA,QAChB,KAAK;AACH,iBAAO,SAAS,MAAM,OAAO,GAAG;AAAA,QAElC,KAAK;AAAA,QACL,KAAK;AACH,iBAAO,UAAU,MAAM,OAAO,GAAG;AAAA,QAEnC,KAAK;AACH,iBAAO,WAAW,MAAM,OAAO,GAAG;AAAA,QAEpC,KAAK;AAAA,QACL,KAAK;AACH,iBAAO,YAAY,MAAM,OAAO,GAAG;AAAA,QAErC,KAAK;AACH,iBAAO,YAAY,MAAM,OAAO,GAAG;AAAA,QAErC,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AACH,iBAAO,aAAa,MAAM,OAAO,GAAG;AAAA,QAEtC;AACE,cAAI;AAAa,kBAAM,IAAI,UAAU,uBAAuB,QAAQ;AACpE,sBAAY,WAAW,IAAI,YAAY;AACvC,wBAAc;AAAA,MAClB;AAAA,IACF;AAAA,EACF;AAQA,EAAAA,QAAO,UAAU,YAAY;AAE7B,WAAS,KAAK,GAAGI,IAAG,GAAG;AACrB,UAAMb,KAAI,EAAEa,EAAC;AACb,MAAEA,EAAC,IAAI,EAAE,CAAC;AACV,MAAE,CAAC,IAAIb;AAAA,EACT;AAEA,EAAAS,QAAO,UAAU,SAAS,SAAS,SAAS;AAC1C,UAAM,MAAM,KAAK;AAEjB,QAAI,MAAM,MAAM,GAAG;AACjB,YAAM,IAAI,WAAW,2CAA2C;AAAA,IAClE;AAEA,aAAST,KAAI,GAAGA,KAAI,KAAKA,MAAK,GAAG;AAC/B,WAAK,MAAMA,IAAGA,KAAI,CAAC;AAAA,IACrB;AAEA,WAAO;AAAA,EACT;AAEA,EAAAS,QAAO,UAAU,SAAS,SAAS,SAAS;AAC1C,UAAM,MAAM,KAAK;AAEjB,QAAI,MAAM,MAAM,GAAG;AACjB,YAAM,IAAI,WAAW,2CAA2C;AAAA,IAClE;AAEA,aAAST,KAAI,GAAGA,KAAI,KAAKA,MAAK,GAAG;AAC/B,WAAK,MAAMA,IAAGA,KAAI,CAAC;AACnB,WAAK,MAAMA,KAAI,GAAGA,KAAI,CAAC;AAAA,IACzB;AAEA,WAAO;AAAA,EACT;AAEA,EAAAS,QAAO,UAAU,SAAS,SAAS,SAAS;AAC1C,UAAM,MAAM,KAAK;AAEjB,QAAI,MAAM,MAAM,GAAG;AACjB,YAAM,IAAI,WAAW,2CAA2C;AAAA,IAClE;AAEA,aAAST,KAAI,GAAGA,KAAI,KAAKA,MAAK,GAAG;AAC/B,WAAK,MAAMA,IAAGA,KAAI,CAAC;AACnB,WAAK,MAAMA,KAAI,GAAGA,KAAI,CAAC;AACvB,WAAK,MAAMA,KAAI,GAAGA,KAAI,CAAC;AACvB,WAAK,MAAMA,KAAI,GAAGA,KAAI,CAAC;AAAA,IACzB;AAEA,WAAO;AAAA,EACT;AAEA,EAAAS,QAAO,UAAU,WAAW,SAASK,YAAW;AAC9C,UAAM,SAAS,KAAK;AACpB,QAAI,WAAW;AAAG,aAAO;AACzB,QAAI,UAAU,WAAW;AAAG,aAAO,UAAU,MAAM,GAAG,MAAM;AAC5D,WAAO,aAAa,MAAM,MAAM,SAAS;AAAA,EAC3C;AAEA,EAAAL,QAAO,UAAU,iBAAiBA,QAAO,UAAU;AAEnD,EAAAA,QAAO,UAAU,SAAS,SAAS,OAAO,GAAG;AAC3C,QAAI,CAACA,QAAO,SAAS,CAAC;AAAG,YAAM,IAAI,UAAU,2BAA2B;AACxE,QAAI,SAAS;AAAG,aAAO;AACvB,WAAOA,QAAO,QAAQ,MAAM,CAAC,MAAM;AAAA,EACrC;AAEA,EAAAA,QAAO,UAAU,UAAU,SAAS,UAAU;AAC5C,QAAI,MAAM;AACV,UAAM,MAAM,UAAU;AACtB,UAAM,KAAK,SAAS,OAAO,GAAG,GAAG,EAAE,QAAQ,WAAW,KAAK,EAAE,KAAK;AAClE,QAAI,KAAK,SAAS;AAAK,aAAO;AAC9B,WAAO,aAAa,MAAM;AAAA,EAC5B;AAEA,MAAI,qBAAqB;AACvB,IAAAA,QAAO,UAAU,mBAAmB,IAAIA,QAAO,UAAU;AAAA,EAC3D;AAEA,EAAAA,QAAO,UAAU,UAAU,SAAS,QAAQ,QAAQ,OAAO,KAAK,WAAW,SAAS;AAClF,QAAI,WAAW,QAAQ,UAAU,GAAG;AAClC,eAASA,QAAO,KAAK,QAAQ,OAAO,QAAQ,OAAO,UAAU;AAAA,IAC/D;AAEA,QAAI,CAACA,QAAO,SAAS,MAAM,GAAG;AAC5B,YAAM,IAAI,UAAU,mFAA0F,OAAO,MAAM;AAAA,IAC7H;AAEA,QAAI,UAAU,QAAW;AACvB,cAAQ;AAAA,IACV;AAEA,QAAI,QAAQ,QAAW;AACrB,YAAM,SAAS,OAAO,SAAS;AAAA,IACjC;AAEA,QAAI,cAAc,QAAW;AAC3B,kBAAY;AAAA,IACd;AAEA,QAAI,YAAY,QAAW;AACzB,gBAAU,KAAK;AAAA,IACjB;AAEA,QAAI,QAAQ,KAAK,MAAM,OAAO,UAAU,YAAY,KAAK,UAAU,KAAK,QAAQ;AAC9E,YAAM,IAAI,WAAW,oBAAoB;AAAA,IAC3C;AAEA,QAAI,aAAa,WAAW,SAAS,KAAK;AACxC,aAAO;AAAA,IACT;AAEA,QAAI,aAAa,SAAS;AACxB,aAAO;AAAA,IACT;AAEA,QAAI,SAAS,KAAK;AAChB,aAAO;AAAA,IACT;AAEA,eAAW;AACX,aAAS;AACT,mBAAe;AACf,iBAAa;AACb,QAAI,SAAS;AAAQ,aAAO;AAC5B,QAAI,IAAI,UAAU;AAClB,QAAIG,KAAI,MAAM;AACd,UAAM,MAAM,KAAK,IAAI,GAAGA,EAAC;AACzB,UAAM,WAAW,KAAK,MAAM,WAAW,OAAO;AAC9C,UAAM,aAAa,OAAO,MAAM,OAAO,GAAG;AAE1C,aAASZ,KAAI,GAAGA,KAAI,KAAK,EAAEA,IAAG;AAC5B,UAAI,SAASA,EAAC,MAAM,WAAWA,EAAC,GAAG;AACjC,YAAI,SAASA,EAAC;AACd,QAAAY,KAAI,WAAWZ,EAAC;AAChB;AAAA,MACF;AAAA,IACF;AAEA,QAAI,IAAIY;AAAG,aAAO;AAClB,QAAIA,KAAI;AAAG,aAAO;AAClB,WAAO;AAAA,EACT;AAWA,WAAS,qBAAqB,QAAQ,KAAK,YAAY,UAAU,KAAK;AAEpE,QAAI,OAAO,WAAW;AAAG,aAAO;AAEhC,QAAI,OAAO,eAAe,UAAU;AAClC,iBAAW;AACX,mBAAa;AAAA,IACf,WAAW,aAAa,YAAY;AAClC,mBAAa;AAAA,IACf,WAAW,aAAa,aAAa;AACnC,mBAAa;AAAA,IACf;AAEA,iBAAa,CAAC;AAEd,QAAI,YAAY,UAAU,GAAG;AAE3B,mBAAa,MAAM,IAAI,OAAO,SAAS;AAAA,IACzC;AAGA,QAAI,aAAa;AAAG,mBAAa,OAAO,SAAS;AAEjD,QAAI,cAAc,OAAO,QAAQ;AAC/B,UAAI;AAAK,eAAO;AAAA;AAAQ,qBAAa,OAAO,SAAS;AAAA,IACvD,WAAW,aAAa,GAAG;AACzB,UAAI;AAAK,qBAAa;AAAA;AAAO,eAAO;AAAA,IACtC;AAGA,QAAI,OAAO,QAAQ,UAAU;AAC3B,YAAMH,QAAO,KAAK,KAAK,QAAQ;AAAA,IACjC;AAGA,QAAIA,QAAO,SAAS,GAAG,GAAG;AAExB,UAAI,IAAI,WAAW,GAAG;AACpB,eAAO;AAAA,MACT;AAEA,aAAO,aAAa,QAAQ,KAAK,YAAY,UAAU,GAAG;AAAA,IAC5D,WAAW,OAAO,QAAQ,UAAU;AAClC,YAAM,MAAM;AAEZ,UAAI,OAAO,WAAW,UAAU,YAAY,YAAY;AACtD,YAAI,KAAK;AACP,iBAAO,WAAW,UAAU,QAAQ,KAAK,QAAQ,KAAK,UAAU;AAAA,QAClE,OAAO;AACL,iBAAO,WAAW,UAAU,YAAY,KAAK,QAAQ,KAAK,UAAU;AAAA,QACtE;AAAA,MACF;AAEA,aAAO,aAAa,QAAQ,CAAC,GAAG,GAAG,YAAY,UAAU,GAAG;AAAA,IAC9D;AAEA,UAAM,IAAI,UAAU,sCAAsC;AAAA,EAC5D;AAEA,WAAS,aAAa,KAAK,KAAK,YAAY,UAAU,KAAK;AACzD,QAAI,YAAY;AAChB,QAAI,YAAY,IAAI;AACpB,QAAI,YAAY,IAAI;AAEpB,QAAI,aAAa,QAAW;AAC1B,iBAAW,OAAO,QAAQ,EAAE,YAAY;AAExC,UAAI,aAAa,UAAU,aAAa,WAAW,aAAa,aAAa,aAAa,YAAY;AACpG,YAAI,IAAI,SAAS,KAAK,IAAI,SAAS,GAAG;AACpC,iBAAO;AAAA,QACT;AAEA,oBAAY;AACZ,qBAAa;AACb,qBAAa;AACb,sBAAc;AAAA,MAChB;AAAA,IACF;AAEA,aAAS,KAAK,KAAKT,IAAG;AACpB,UAAI,cAAc,GAAG;AACnB,eAAO,IAAIA,EAAC;AAAA,MACd,OAAO;AACL,eAAO,IAAI,aAAaA,KAAI,SAAS;AAAA,MACvC;AAAA,IACF;AAEA,QAAIA;AAEJ,QAAI,KAAK;AACP,UAAI,aAAa;AAEjB,WAAKA,KAAI,YAAYA,KAAI,WAAWA,MAAK;AACvC,YAAI,KAAK,KAAKA,EAAC,MAAM,KAAK,KAAK,eAAe,KAAK,IAAIA,KAAI,UAAU,GAAG;AACtE,cAAI,eAAe;AAAI,yBAAaA;AACpC,cAAIA,KAAI,aAAa,MAAM;AAAW,mBAAO,aAAa;AAAA,QAC5D,OAAO;AACL,cAAI,eAAe;AAAI,YAAAA,MAAKA,KAAI;AAChC,uBAAa;AAAA,QACf;AAAA,MACF;AAAA,IACF,OAAO;AACL,UAAI,aAAa,YAAY;AAAW,qBAAa,YAAY;AAEjE,WAAKA,KAAI,YAAYA,MAAK,GAAGA,MAAK;AAChC,YAAI,QAAQ;AAEZ,iBAAS,IAAI,GAAG,IAAI,WAAW,KAAK;AAClC,cAAI,KAAK,KAAKA,KAAI,CAAC,MAAM,KAAK,KAAK,CAAC,GAAG;AACrC,oBAAQ;AACR;AAAA,UACF;AAAA,QACF;AAEA,YAAI;AAAO,iBAAOA;AAAA,MACpB;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAEA,EAAAS,QAAO,UAAU,WAAW,SAAS,SAAS,KAAK,YAAY,UAAU;AACvE,WAAO,KAAK,QAAQ,KAAK,YAAY,QAAQ,MAAM;AAAA,EACrD;AAEA,EAAAA,QAAO,UAAU,UAAU,SAAS,QAAQ,KAAK,YAAY,UAAU;AACrE,WAAO,qBAAqB,MAAM,KAAK,YAAY,UAAU,IAAI;AAAA,EACnE;AAEA,EAAAA,QAAO,UAAU,cAAc,SAAS,YAAY,KAAK,YAAY,UAAU;AAC7E,WAAO,qBAAqB,MAAM,KAAK,YAAY,UAAU,KAAK;AAAA,EACpE;AAEA,WAAS,SAAS,KAAK,QAAQ,QAAQ,QAAQ;AAC7C,aAAS,OAAO,MAAM,KAAK;AAC3B,UAAM,YAAY,IAAI,SAAS;AAE/B,QAAI,CAAC,QAAQ;AACX,eAAS;AAAA,IACX,OAAO;AACL,eAAS,OAAO,MAAM;AAEtB,UAAI,SAAS,WAAW;AACtB,iBAAS;AAAA,MACX;AAAA,IACF;AAEA,UAAM,SAAS,OAAO;AAEtB,QAAI,SAAS,SAAS,GAAG;AACvB,eAAS,SAAS;AAAA,IACpB;AAEA,QAAIT;AAEJ,SAAKA,KAAI,GAAGA,KAAI,QAAQ,EAAEA,IAAG;AAC3B,YAAM,SAAS,SAAS,OAAO,OAAOA,KAAI,GAAG,CAAC,GAAG,EAAE;AACnD,UAAI,YAAY,MAAM;AAAG,eAAOA;AAChC,UAAI,SAASA,EAAC,IAAI;AAAA,IACpB;AAEA,WAAOA;AAAA,EACT;AAEA,WAAS,UAAU,KAAK,QAAQ,QAAQ,QAAQ;AAC9C,WAAO,WAAW,YAAY,QAAQ,IAAI,SAAS,MAAM,GAAG,KAAK,QAAQ,MAAM;AAAA,EACjF;AAEA,WAAS,WAAW,KAAK,QAAQ,QAAQ,QAAQ;AAC/C,WAAO,WAAW,aAAa,MAAM,GAAG,KAAK,QAAQ,MAAM;AAAA,EAC7D;AAEA,WAAS,YAAY,KAAK,QAAQ,QAAQ,QAAQ;AAChD,WAAO,WAAW,cAAc,MAAM,GAAG,KAAK,QAAQ,MAAM;AAAA,EAC9D;AAEA,WAAS,UAAU,KAAK,QAAQ,QAAQ,QAAQ;AAC9C,WAAO,WAAW,eAAe,QAAQ,IAAI,SAAS,MAAM,GAAG,KAAK,QAAQ,MAAM;AAAA,EACpF;AAEA,EAAAS,QAAO,UAAU,QAAQ,SAAS,MAAM,QAAQ,QAAQ,QAAQ,UAAU;AAExE,QAAI,WAAW,QAAW;AACxB,iBAAW;AACX,eAAS,KAAK;AACd,eAAS;AAAA,IACX,WAAW,WAAW,UAAa,OAAO,WAAW,UAAU;AAC7D,iBAAW;AACX,eAAS,KAAK;AACd,eAAS;AAAA,IACX,WAAW,SAAS,MAAM,GAAG;AAC3B,eAAS,WAAW;AAEpB,UAAI,SAAS,MAAM,GAAG;AACpB,iBAAS,WAAW;AACpB,YAAI,aAAa;AAAW,qBAAW;AAAA,MACzC,OAAO;AACL,mBAAW;AACX,iBAAS;AAAA,MACX;AAAA,IACF,OAAO;AACL,YAAM,IAAI,MAAM,yEAAyE;AAAA,IAC3F;AAEA,UAAM,YAAY,KAAK,SAAS;AAChC,QAAI,WAAW,UAAa,SAAS;AAAW,eAAS;AAEzD,QAAI,OAAO,SAAS,MAAM,SAAS,KAAK,SAAS,MAAM,SAAS,KAAK,QAAQ;AAC3E,YAAM,IAAI,WAAW,wCAAwC;AAAA,IAC/D;AAEA,QAAI,CAAC;AAAU,iBAAW;AAC1B,QAAI,cAAc;AAElB,eAAS;AACP,cAAQ,UAAU;AAAA,QAChB,KAAK;AACH,iBAAO,SAAS,MAAM,QAAQ,QAAQ,MAAM;AAAA,QAE9C,KAAK;AAAA,QACL,KAAK;AACH,iBAAO,UAAU,MAAM,QAAQ,QAAQ,MAAM;AAAA,QAE/C,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AACH,iBAAO,WAAW,MAAM,QAAQ,QAAQ,MAAM;AAAA,QAEhD,KAAK;AAEH,iBAAO,YAAY,MAAM,QAAQ,QAAQ,MAAM;AAAA,QAEjD,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AACH,iBAAO,UAAU,MAAM,QAAQ,QAAQ,MAAM;AAAA,QAE/C;AACE,cAAI;AAAa,kBAAM,IAAI,UAAU,uBAAuB,QAAQ;AACpE,sBAAY,KAAK,UAAU,YAAY;AACvC,wBAAc;AAAA,MAClB;AAAA,IACF;AAAA,EACF;AAEA,EAAAA,QAAO,UAAU,SAAS,SAASM,UAAS;AAC1C,WAAO;AAAA,MACL,MAAM;AAAA,MACN,MAAM,MAAM,UAAU,MAAM,KAAK,KAAK,QAAQ,MAAM,CAAC;AAAA,IACvD;AAAA,EACF;AAEA,WAAS,YAAY,KAAK,OAAO,KAAK;AACpC,QAAI,UAAU,KAAK,QAAQ,IAAI,QAAQ;AACrC,aAAOP,QAAO,cAAc,GAAG;AAAA,IACjC,OAAO;AACL,aAAOA,QAAO,cAAc,IAAI,MAAM,OAAO,GAAG,CAAC;AAAA,IACnD;AAAA,EACF;AAEA,WAAS,UAAU,KAAK,OAAO,KAAK;AAClC,UAAM,KAAK,IAAI,IAAI,QAAQ,GAAG;AAC9B,UAAM,MAAM,CAAC;AACb,QAAIR,KAAI;AAER,WAAOA,KAAI,KAAK;AACd,YAAM,YAAY,IAAIA,EAAC;AACvB,UAAI,YAAY;AAChB,UAAI,mBAAmB,YAAY,MAAM,IAAI,YAAY,MAAM,IAAI,YAAY,MAAM,IAAI;AAEzF,UAAIA,KAAI,oBAAoB,KAAK;AAC/B,YAAI,YAAY,WAAW,YAAY;AAEvC,gBAAQ,kBAAkB;AAAA,UACxB,KAAK;AACH,gBAAI,YAAY,KAAK;AACnB,0BAAY;AAAA,YACd;AAEA;AAAA,UAEF,KAAK;AACH,yBAAa,IAAIA,KAAI,CAAC;AAEtB,iBAAK,aAAa,SAAS,KAAK;AAC9B,+BAAiB,YAAY,OAAO,IAAI,aAAa;AAErD,kBAAI,gBAAgB,KAAK;AACvB,4BAAY;AAAA,cACd;AAAA,YACF;AAEA;AAAA,UAEF,KAAK;AACH,yBAAa,IAAIA,KAAI,CAAC;AACtB,wBAAY,IAAIA,KAAI,CAAC;AAErB,iBAAK,aAAa,SAAS,QAAQ,YAAY,SAAS,KAAK;AAC3D,+BAAiB,YAAY,OAAO,MAAM,aAAa,OAAO,IAAI,YAAY;AAE9E,kBAAI,gBAAgB,SAAS,gBAAgB,SAAS,gBAAgB,QAAQ;AAC5E,4BAAY;AAAA,cACd;AAAA,YACF;AAEA;AAAA,UAEF,KAAK;AACH,yBAAa,IAAIA,KAAI,CAAC;AACtB,wBAAY,IAAIA,KAAI,CAAC;AACrB,yBAAa,IAAIA,KAAI,CAAC;AAEtB,iBAAK,aAAa,SAAS,QAAQ,YAAY,SAAS,QAAQ,aAAa,SAAS,KAAK;AACzF,+BAAiB,YAAY,OAAO,MAAM,aAAa,OAAO,MAAM,YAAY,OAAO,IAAI,aAAa;AAExG,kBAAI,gBAAgB,SAAS,gBAAgB,SAAS;AACpD,4BAAY;AAAA,cACd;AAAA,YACF;AAAA,QAEJ;AAAA,MACF;AAEA,UAAI,cAAc,MAAM;AAGtB,oBAAY;AACZ,2BAAmB;AAAA,MACrB,WAAW,YAAY,OAAO;AAE5B,qBAAa;AACb,YAAI,KAAK,cAAc,KAAK,OAAO,KAAK;AACxC,oBAAY,QAAQ,YAAY;AAAA,MAClC;AAEA,UAAI,KAAK,SAAS;AAClB,MAAAA,MAAK;AAAA,IACP;AAEA,WAAO,sBAAsB,GAAG;AAAA,EAClC;AAKA,QAAM,uBAAuB;AAE7B,WAAS,sBAAsB,YAAY;AACzC,UAAM,MAAM,WAAW;AAEvB,QAAI,OAAO,sBAAsB;AAC/B,aAAO,OAAO,aAAa,MAAM,QAAQ,UAAU;AAAA,IACrD;AAGA,QAAI,MAAM;AACV,QAAIA,KAAI;AAER,WAAOA,KAAI,KAAK;AACd,aAAO,OAAO,aAAa,MAAM,QAAQ,WAAW,MAAMA,IAAGA,MAAK,oBAAoB,CAAC;AAAA,IACzF;AAEA,WAAO;AAAA,EACT;AAEA,WAAS,WAAW,KAAK,OAAO,KAAK;AACnC,QAAI,MAAM;AACV,UAAM,KAAK,IAAI,IAAI,QAAQ,GAAG;AAE9B,aAASA,KAAI,OAAOA,KAAI,KAAK,EAAEA,IAAG;AAChC,aAAO,OAAO,aAAa,IAAIA,EAAC,IAAI,GAAG;AAAA,IACzC;AAEA,WAAO;AAAA,EACT;AAEA,WAAS,YAAY,KAAK,OAAO,KAAK;AACpC,QAAI,MAAM;AACV,UAAM,KAAK,IAAI,IAAI,QAAQ,GAAG;AAE9B,aAASA,KAAI,OAAOA,KAAI,KAAK,EAAEA,IAAG;AAChC,aAAO,OAAO,aAAa,IAAIA,EAAC,CAAC;AAAA,IACnC;AAEA,WAAO;AAAA,EACT;AAEA,WAAS,SAAS,KAAK,OAAO,KAAK;AACjC,UAAM,MAAM,IAAI;AAChB,QAAI,CAAC,SAAS,QAAQ;AAAG,cAAQ;AACjC,QAAI,CAAC,OAAO,MAAM,KAAK,MAAM;AAAK,YAAM;AACxC,QAAI,MAAM;AAEV,aAASA,KAAI,OAAOA,KAAI,KAAK,EAAEA,IAAG;AAChC,aAAO,oBAAoB,IAAIA,EAAC,CAAC;AAAA,IACnC;AAEA,WAAO;AAAA,EACT;AAEA,WAAS,aAAa,KAAK,OAAO,KAAK;AACrC,UAAM,QAAQ,IAAI,MAAM,OAAO,GAAG;AAClC,QAAI,MAAM;AAEV,aAASA,KAAI,GAAGA,KAAI,MAAM,SAAS,GAAGA,MAAK,GAAG;AAC5C,aAAO,OAAO,aAAa,MAAMA,EAAC,IAAI,MAAMA,KAAI,CAAC,IAAI,GAAG;AAAA,IAC1D;AAEA,WAAO;AAAA,EACT;AAEA,EAAAS,QAAO,UAAU,QAAQ,SAAS,MAAM,OAAO,KAAK;AAClD,UAAM,MAAM,KAAK;AACjB,YAAQ,CAAC,CAAC;AACV,UAAM,QAAQ,SAAY,MAAM,CAAC,CAAC;AAElC,QAAI,QAAQ,GAAG;AACb,eAAS;AACT,UAAI,QAAQ;AAAG,gBAAQ;AAAA,IACzB,WAAW,QAAQ,KAAK;AACtB,cAAQ;AAAA,IACV;AAEA,QAAI,MAAM,GAAG;AACX,aAAO;AACP,UAAI,MAAM;AAAG,cAAM;AAAA,IACrB,WAAW,MAAM,KAAK;AACpB,YAAM;AAAA,IACR;AAEA,QAAI,MAAM;AAAO,YAAM;AACvB,UAAM,SAAS,KAAK,SAAS,OAAO,GAAG;AAEvC,WAAO,eAAe,QAAQA,QAAO,SAAS;AAC9C,WAAO;AAAA,EACT;AAMA,WAAS,YAAY,QAAQ,KAAK,QAAQ;AACxC,QAAI,SAAS,MAAM,KAAK,SAAS;AAAG,YAAM,IAAI,WAAW,oBAAoB;AAC7E,QAAI,SAAS,MAAM;AAAQ,YAAM,IAAI,WAAW,uCAAuC;AAAA,EACzF;AAEA,EAAAA,QAAO,UAAU,aAAaA,QAAO,UAAU,aAAa,SAAS,WAAW,QAAQO,aAAY,UAAU;AAC5G,aAAS,WAAW;AACpB,IAAAA,cAAaA,gBAAe;AAC5B,QAAI,CAAC;AAAU,kBAAY,QAAQA,aAAY,KAAK,MAAM;AAC1D,QAAI,MAAM,KAAK,MAAM;AACrB,QAAI,MAAM;AACV,QAAIhB,KAAI;AAER,WAAO,EAAEA,KAAIgB,gBAAe,OAAO,MAAM;AACvC,aAAO,KAAK,SAAShB,EAAC,IAAI;AAAA,IAC5B;AAEA,WAAO;AAAA,EACT;AAEA,EAAAS,QAAO,UAAU,aAAaA,QAAO,UAAU,aAAa,SAAS,WAAW,QAAQO,aAAY,UAAU;AAC5G,aAAS,WAAW;AACpB,IAAAA,cAAaA,gBAAe;AAE5B,QAAI,CAAC,UAAU;AACb,kBAAY,QAAQA,aAAY,KAAK,MAAM;AAAA,IAC7C;AAEA,QAAI,MAAM,KAAK,SAAS,EAAEA,WAAU;AACpC,QAAI,MAAM;AAEV,WAAOA,cAAa,MAAM,OAAO,MAAM;AACrC,aAAO,KAAK,SAAS,EAAEA,WAAU,IAAI;AAAA,IACvC;AAEA,WAAO;AAAA,EACT;AAEA,EAAAP,QAAO,UAAU,YAAYA,QAAO,UAAU,YAAY,SAAS,UAAU,QAAQ,UAAU;AAC7F,aAAS,WAAW;AACpB,QAAI,CAAC;AAAU,kBAAY,QAAQ,GAAG,KAAK,MAAM;AACjD,WAAO,KAAK,MAAM;AAAA,EACpB;AAEA,EAAAA,QAAO,UAAU,eAAeA,QAAO,UAAU,eAAe,SAAS,aAAa,QAAQ,UAAU;AACtG,aAAS,WAAW;AACpB,QAAI,CAAC;AAAU,kBAAY,QAAQ,GAAG,KAAK,MAAM;AACjD,WAAO,KAAK,MAAM,IAAI,KAAK,SAAS,CAAC,KAAK;AAAA,EAC5C;AAEA,EAAAA,QAAO,UAAU,eAAeA,QAAO,UAAU,eAAe,SAAS,aAAa,QAAQ,UAAU;AACtG,aAAS,WAAW;AACpB,QAAI,CAAC;AAAU,kBAAY,QAAQ,GAAG,KAAK,MAAM;AACjD,WAAO,KAAK,MAAM,KAAK,IAAI,KAAK,SAAS,CAAC;AAAA,EAC5C;AAEA,EAAAA,QAAO,UAAU,eAAeA,QAAO,UAAU,eAAe,SAAS,aAAa,QAAQ,UAAU;AACtG,aAAS,WAAW;AACpB,QAAI,CAAC;AAAU,kBAAY,QAAQ,GAAG,KAAK,MAAM;AACjD,YAAQ,KAAK,MAAM,IAAI,KAAK,SAAS,CAAC,KAAK,IAAI,KAAK,SAAS,CAAC,KAAK,MAAM,KAAK,SAAS,CAAC,IAAI;AAAA,EAC9F;AAEA,EAAAA,QAAO,UAAU,eAAeA,QAAO,UAAU,eAAe,SAAS,aAAa,QAAQ,UAAU;AACtG,aAAS,WAAW;AACpB,QAAI,CAAC;AAAU,kBAAY,QAAQ,GAAG,KAAK,MAAM;AACjD,WAAO,KAAK,MAAM,IAAI,YAAY,KAAK,SAAS,CAAC,KAAK,KAAK,KAAK,SAAS,CAAC,KAAK,IAAI,KAAK,SAAS,CAAC;AAAA,EACpG;AAEA,EAAAA,QAAO,UAAU,kBAAkB,mBAAmB,SAAS,gBAAgB,QAAQ;AACrF,aAAS,WAAW;AACpB,mBAAe,QAAQ,QAAQ;AAC/B,UAAM,QAAQ,KAAK,MAAM;AACzB,UAAM,OAAO,KAAK,SAAS,CAAC;AAE5B,QAAI,UAAU,UAAa,SAAS,QAAW;AAC7C,kBAAY,QAAQ,KAAK,SAAS,CAAC;AAAA,IACrC;AAEA,UAAM,KAAK,QAAQ,KAAK,EAAE,MAAM,IAAI,KAAK,IAAI,KAAK,EAAE,MAAM,IAAI,KAAK,KAAK,KAAK,EAAE,MAAM,IAAI,KAAK;AAC9F,UAAM,KAAK,KAAK,EAAE,MAAM,IAAI,KAAK,EAAE,MAAM,IAAI,KAAK,IAAI,KAAK,EAAE,MAAM,IAAI,KAAK,KAAK,OAAO,KAAK;AAC7F,WAAO,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE;AAAA,EAC9C,CAAC;AACD,EAAAA,QAAO,UAAU,kBAAkB,mBAAmB,SAAS,gBAAgB,QAAQ;AACrF,aAAS,WAAW;AACpB,mBAAe,QAAQ,QAAQ;AAC/B,UAAM,QAAQ,KAAK,MAAM;AACzB,UAAM,OAAO,KAAK,SAAS,CAAC;AAE5B,QAAI,UAAU,UAAa,SAAS,QAAW;AAC7C,kBAAY,QAAQ,KAAK,SAAS,CAAC;AAAA,IACrC;AAEA,UAAM,KAAK,QAAQ,KAAK,KAAK,KAAK,EAAE,MAAM,IAAI,KAAK,KAAK,KAAK,EAAE,MAAM,IAAI,KAAK,IAAI,KAAK,EAAE,MAAM;AAC/F,UAAM,KAAK,KAAK,EAAE,MAAM,IAAI,KAAK,KAAK,KAAK,EAAE,MAAM,IAAI,KAAK,KAAK,KAAK,EAAE,MAAM,IAAI,KAAK,IAAI;AAC3F,YAAQ,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE;AAAA,EAC/C,CAAC;AAED,EAAAA,QAAO,UAAU,YAAY,SAAS,UAAU,QAAQO,aAAY,UAAU;AAC5E,aAAS,WAAW;AACpB,IAAAA,cAAaA,gBAAe;AAC5B,QAAI,CAAC;AAAU,kBAAY,QAAQA,aAAY,KAAK,MAAM;AAC1D,QAAI,MAAM,KAAK,MAAM;AACrB,QAAI,MAAM;AACV,QAAIhB,KAAI;AAER,WAAO,EAAEA,KAAIgB,gBAAe,OAAO,MAAM;AACvC,aAAO,KAAK,SAAShB,EAAC,IAAI;AAAA,IAC5B;AAEA,WAAO;AACP,QAAI,OAAO;AAAK,aAAO,KAAK,IAAI,GAAG,IAAIgB,WAAU;AACjD,WAAO;AAAA,EACT;AAEA,EAAAP,QAAO,UAAU,YAAY,SAAS,UAAU,QAAQO,aAAY,UAAU;AAC5E,aAAS,WAAW;AACpB,IAAAA,cAAaA,gBAAe;AAC5B,QAAI,CAAC;AAAU,kBAAY,QAAQA,aAAY,KAAK,MAAM;AAC1D,QAAIhB,KAAIgB;AACR,QAAI,MAAM;AACV,QAAI,MAAM,KAAK,SAAS,EAAEhB,EAAC;AAE3B,WAAOA,KAAI,MAAM,OAAO,MAAM;AAC5B,aAAO,KAAK,SAAS,EAAEA,EAAC,IAAI;AAAA,IAC9B;AAEA,WAAO;AACP,QAAI,OAAO;AAAK,aAAO,KAAK,IAAI,GAAG,IAAIgB,WAAU;AACjD,WAAO;AAAA,EACT;AAEA,EAAAP,QAAO,UAAU,WAAW,SAAS,SAAS,QAAQ,UAAU;AAC9D,aAAS,WAAW;AACpB,QAAI,CAAC;AAAU,kBAAY,QAAQ,GAAG,KAAK,MAAM;AACjD,QAAI,EAAE,KAAK,MAAM,IAAI;AAAM,aAAO,KAAK,MAAM;AAC7C,YAAQ,MAAM,KAAK,MAAM,IAAI,KAAK;AAAA,EACpC;AAEA,EAAAA,QAAO,UAAU,cAAc,SAAS,YAAY,QAAQ,UAAU;AACpE,aAAS,WAAW;AACpB,QAAI,CAAC;AAAU,kBAAY,QAAQ,GAAG,KAAK,MAAM;AACjD,UAAM,MAAM,KAAK,MAAM,IAAI,KAAK,SAAS,CAAC,KAAK;AAC/C,WAAO,MAAM,QAAQ,MAAM,aAAa;AAAA,EAC1C;AAEA,EAAAA,QAAO,UAAU,cAAc,SAAS,YAAY,QAAQ,UAAU;AACpE,aAAS,WAAW;AACpB,QAAI,CAAC;AAAU,kBAAY,QAAQ,GAAG,KAAK,MAAM;AACjD,UAAM,MAAM,KAAK,SAAS,CAAC,IAAI,KAAK,MAAM,KAAK;AAC/C,WAAO,MAAM,QAAQ,MAAM,aAAa;AAAA,EAC1C;AAEA,EAAAA,QAAO,UAAU,cAAc,SAAS,YAAY,QAAQ,UAAU;AACpE,aAAS,WAAW;AACpB,QAAI,CAAC;AAAU,kBAAY,QAAQ,GAAG,KAAK,MAAM;AACjD,WAAO,KAAK,MAAM,IAAI,KAAK,SAAS,CAAC,KAAK,IAAI,KAAK,SAAS,CAAC,KAAK,KAAK,KAAK,SAAS,CAAC,KAAK;AAAA,EAC7F;AAEA,EAAAA,QAAO,UAAU,cAAc,SAAS,YAAY,QAAQ,UAAU;AACpE,aAAS,WAAW;AACpB,QAAI,CAAC;AAAU,kBAAY,QAAQ,GAAG,KAAK,MAAM;AACjD,WAAO,KAAK,MAAM,KAAK,KAAK,KAAK,SAAS,CAAC,KAAK,KAAK,KAAK,SAAS,CAAC,KAAK,IAAI,KAAK,SAAS,CAAC;AAAA,EAC9F;AAEA,EAAAA,QAAO,UAAU,iBAAiB,mBAAmB,SAAS,eAAe,QAAQ;AACnF,aAAS,WAAW;AACpB,mBAAe,QAAQ,QAAQ;AAC/B,UAAM,QAAQ,KAAK,MAAM;AACzB,UAAM,OAAO,KAAK,SAAS,CAAC;AAE5B,QAAI,UAAU,UAAa,SAAS,QAAW;AAC7C,kBAAY,QAAQ,KAAK,SAAS,CAAC;AAAA,IACrC;AAEA,UAAM,MAAM,KAAK,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,KAAK,IAAI,KAAK,SAAS,CAAC,IAAI,KAAK,MAAM,QAAQ;AAEjG,YAAQ,OAAO,GAAG,KAAK,OAAO,EAAE,KAAK,OAAO,QAAQ,KAAK,EAAE,MAAM,IAAI,KAAK,IAAI,KAAK,EAAE,MAAM,IAAI,KAAK,KAAK,KAAK,EAAE,MAAM,IAAI,KAAK,EAAE;AAAA,EACnI,CAAC;AACD,EAAAA,QAAO,UAAU,iBAAiB,mBAAmB,SAAS,eAAe,QAAQ;AACnF,aAAS,WAAW;AACpB,mBAAe,QAAQ,QAAQ;AAC/B,UAAM,QAAQ,KAAK,MAAM;AACzB,UAAM,OAAO,KAAK,SAAS,CAAC;AAE5B,QAAI,UAAU,UAAa,SAAS,QAAW;AAC7C,kBAAY,QAAQ,KAAK,SAAS,CAAC;AAAA,IACrC;AAEA,UAAM,OAAO,SAAS;AAAA,IACtB,KAAK,EAAE,MAAM,IAAI,KAAK,KAAK,KAAK,EAAE,MAAM,IAAI,KAAK,IAAI,KAAK,EAAE,MAAM;AAClE,YAAQ,OAAO,GAAG,KAAK,OAAO,EAAE,KAAK,OAAO,KAAK,EAAE,MAAM,IAAI,KAAK,KAAK,KAAK,EAAE,MAAM,IAAI,KAAK,KAAK,KAAK,EAAE,MAAM,IAAI,KAAK,IAAI,IAAI;AAAA,EAClI,CAAC;AAED,EAAAA,QAAO,UAAU,cAAc,SAAS,YAAY,QAAQ,UAAU;AACpE,aAAS,WAAW;AACpB,QAAI,CAAC;AAAU,kBAAY,QAAQ,GAAG,KAAK,MAAM;AACjD,WAAO,QAAQ,KAAK,MAAM,QAAQ,MAAM,IAAI,CAAC;AAAA,EAC/C;AAEA,EAAAA,QAAO,UAAU,cAAc,SAAS,YAAY,QAAQ,UAAU;AACpE,aAAS,WAAW;AACpB,QAAI,CAAC;AAAU,kBAAY,QAAQ,GAAG,KAAK,MAAM;AACjD,WAAO,QAAQ,KAAK,MAAM,QAAQ,OAAO,IAAI,CAAC;AAAA,EAChD;AAEA,EAAAA,QAAO,UAAU,eAAe,SAAS,aAAa,QAAQ,UAAU;AACtE,aAAS,WAAW;AACpB,QAAI,CAAC;AAAU,kBAAY,QAAQ,GAAG,KAAK,MAAM;AACjD,WAAO,QAAQ,KAAK,MAAM,QAAQ,MAAM,IAAI,CAAC;AAAA,EAC/C;AAEA,EAAAA,QAAO,UAAU,eAAe,SAAS,aAAa,QAAQ,UAAU;AACtE,aAAS,WAAW;AACpB,QAAI,CAAC;AAAU,kBAAY,QAAQ,GAAG,KAAK,MAAM;AACjD,WAAO,QAAQ,KAAK,MAAM,QAAQ,OAAO,IAAI,CAAC;AAAA,EAChD;AAEA,WAAS,SAAS,KAAK,OAAO,QAAQ,KAAK,KAAK,KAAK;AACnD,QAAI,CAACA,QAAO,SAAS,GAAG;AAAG,YAAM,IAAI,UAAU,6CAA+C;AAC9F,QAAI,QAAQ,OAAO,QAAQ;AAAK,YAAM,IAAI,WAAW,mCAAqC;AAC1F,QAAI,SAAS,MAAM,IAAI;AAAQ,YAAM,IAAI,WAAW,oBAAoB;AAAA,EAC1E;AAEA,EAAAA,QAAO,UAAU,cAAcA,QAAO,UAAU,cAAc,SAAS,YAAY,OAAO,QAAQO,aAAY,UAAU;AACtH,YAAQ,CAAC;AACT,aAAS,WAAW;AACpB,IAAAA,cAAaA,gBAAe;AAE5B,QAAI,CAAC,UAAU;AACb,YAAM,WAAW,KAAK,IAAI,GAAG,IAAIA,WAAU,IAAI;AAC/C,eAAS,MAAM,OAAO,QAAQA,aAAY,UAAU,CAAC;AAAA,IACvD;AAEA,QAAI,MAAM;AACV,QAAIhB,KAAI;AACR,SAAK,MAAM,IAAI,QAAQ;AAEvB,WAAO,EAAEA,KAAIgB,gBAAe,OAAO,MAAM;AACvC,WAAK,SAAShB,EAAC,IAAI,QAAQ,MAAM;AAAA,IACnC;AAEA,WAAO,SAASgB;AAAA,EAClB;AAEA,EAAAP,QAAO,UAAU,cAAcA,QAAO,UAAU,cAAc,SAAS,YAAY,OAAO,QAAQO,aAAY,UAAU;AACtH,YAAQ,CAAC;AACT,aAAS,WAAW;AACpB,IAAAA,cAAaA,gBAAe;AAE5B,QAAI,CAAC,UAAU;AACb,YAAM,WAAW,KAAK,IAAI,GAAG,IAAIA,WAAU,IAAI;AAC/C,eAAS,MAAM,OAAO,QAAQA,aAAY,UAAU,CAAC;AAAA,IACvD;AAEA,QAAIhB,KAAIgB,cAAa;AACrB,QAAI,MAAM;AACV,SAAK,SAAShB,EAAC,IAAI,QAAQ;AAE3B,WAAO,EAAEA,MAAK,MAAM,OAAO,MAAM;AAC/B,WAAK,SAASA,EAAC,IAAI,QAAQ,MAAM;AAAA,IACnC;AAEA,WAAO,SAASgB;AAAA,EAClB;AAEA,EAAAP,QAAO,UAAU,aAAaA,QAAO,UAAU,aAAa,SAAS,WAAW,OAAO,QAAQ,UAAU;AACvG,YAAQ,CAAC;AACT,aAAS,WAAW;AACpB,QAAI,CAAC;AAAU,eAAS,MAAM,OAAO,QAAQ,GAAG,KAAK,CAAC;AACtD,SAAK,MAAM,IAAI,QAAQ;AACvB,WAAO,SAAS;AAAA,EAClB;AAEA,EAAAA,QAAO,UAAU,gBAAgBA,QAAO,UAAU,gBAAgB,SAAS,cAAc,OAAO,QAAQ,UAAU;AAChH,YAAQ,CAAC;AACT,aAAS,WAAW;AACpB,QAAI,CAAC;AAAU,eAAS,MAAM,OAAO,QAAQ,GAAG,OAAO,CAAC;AACxD,SAAK,MAAM,IAAI,QAAQ;AACvB,SAAK,SAAS,CAAC,IAAI,UAAU;AAC7B,WAAO,SAAS;AAAA,EAClB;AAEA,EAAAA,QAAO,UAAU,gBAAgBA,QAAO,UAAU,gBAAgB,SAAS,cAAc,OAAO,QAAQ,UAAU;AAChH,YAAQ,CAAC;AACT,aAAS,WAAW;AACpB,QAAI,CAAC;AAAU,eAAS,MAAM,OAAO,QAAQ,GAAG,OAAO,CAAC;AACxD,SAAK,MAAM,IAAI,UAAU;AACzB,SAAK,SAAS,CAAC,IAAI,QAAQ;AAC3B,WAAO,SAAS;AAAA,EAClB;AAEA,EAAAA,QAAO,UAAU,gBAAgBA,QAAO,UAAU,gBAAgB,SAAS,cAAc,OAAO,QAAQ,UAAU;AAChH,YAAQ,CAAC;AACT,aAAS,WAAW;AACpB,QAAI,CAAC;AAAU,eAAS,MAAM,OAAO,QAAQ,GAAG,YAAY,CAAC;AAC7D,SAAK,SAAS,CAAC,IAAI,UAAU;AAC7B,SAAK,SAAS,CAAC,IAAI,UAAU;AAC7B,SAAK,SAAS,CAAC,IAAI,UAAU;AAC7B,SAAK,MAAM,IAAI,QAAQ;AACvB,WAAO,SAAS;AAAA,EAClB;AAEA,EAAAA,QAAO,UAAU,gBAAgBA,QAAO,UAAU,gBAAgB,SAAS,cAAc,OAAO,QAAQ,UAAU;AAChH,YAAQ,CAAC;AACT,aAAS,WAAW;AACpB,QAAI,CAAC;AAAU,eAAS,MAAM,OAAO,QAAQ,GAAG,YAAY,CAAC;AAC7D,SAAK,MAAM,IAAI,UAAU;AACzB,SAAK,SAAS,CAAC,IAAI,UAAU;AAC7B,SAAK,SAAS,CAAC,IAAI,UAAU;AAC7B,SAAK,SAAS,CAAC,IAAI,QAAQ;AAC3B,WAAO,SAAS;AAAA,EAClB;AAEA,WAAS,eAAe,KAAK,OAAO,QAAQ,KAAK,KAAK;AACpD,eAAW,OAAO,KAAK,KAAK,KAAK,QAAQ,CAAC;AAC1C,QAAI,KAAK,OAAO,QAAQ,OAAO,UAAU,CAAC;AAC1C,QAAI,QAAQ,IAAI;AAChB,SAAK,MAAM;AACX,QAAI,QAAQ,IAAI;AAChB,SAAK,MAAM;AACX,QAAI,QAAQ,IAAI;AAChB,SAAK,MAAM;AACX,QAAI,QAAQ,IAAI;AAChB,QAAI,KAAK,OAAO,SAAS,OAAO,EAAE,IAAI,OAAO,UAAU,CAAC;AACxD,QAAI,QAAQ,IAAI;AAChB,SAAK,MAAM;AACX,QAAI,QAAQ,IAAI;AAChB,SAAK,MAAM;AACX,QAAI,QAAQ,IAAI;AAChB,SAAK,MAAM;AACX,QAAI,QAAQ,IAAI;AAChB,WAAO;AAAA,EACT;AAEA,WAAS,eAAe,KAAK,OAAO,QAAQ,KAAK,KAAK;AACpD,eAAW,OAAO,KAAK,KAAK,KAAK,QAAQ,CAAC;AAC1C,QAAI,KAAK,OAAO,QAAQ,OAAO,UAAU,CAAC;AAC1C,QAAI,SAAS,CAAC,IAAI;AAClB,SAAK,MAAM;AACX,QAAI,SAAS,CAAC,IAAI;AAClB,SAAK,MAAM;AACX,QAAI,SAAS,CAAC,IAAI;AAClB,SAAK,MAAM;AACX,QAAI,SAAS,CAAC,IAAI;AAClB,QAAI,KAAK,OAAO,SAAS,OAAO,EAAE,IAAI,OAAO,UAAU,CAAC;AACxD,QAAI,SAAS,CAAC,IAAI;AAClB,SAAK,MAAM;AACX,QAAI,SAAS,CAAC,IAAI;AAClB,SAAK,MAAM;AACX,QAAI,SAAS,CAAC,IAAI;AAClB,SAAK,MAAM;AACX,QAAI,MAAM,IAAI;AACd,WAAO,SAAS;AAAA,EAClB;AAEA,EAAAA,QAAO,UAAU,mBAAmB,mBAAmB,SAAS,iBAAiB,OAAO,SAAS,GAAG;AAClG,WAAO,eAAe,MAAM,OAAO,QAAQ,OAAO,CAAC,GAAG,OAAO,oBAAoB,CAAC;AAAA,EACpF,CAAC;AACD,EAAAA,QAAO,UAAU,mBAAmB,mBAAmB,SAAS,iBAAiB,OAAO,SAAS,GAAG;AAClG,WAAO,eAAe,MAAM,OAAO,QAAQ,OAAO,CAAC,GAAG,OAAO,oBAAoB,CAAC;AAAA,EACpF,CAAC;AAED,EAAAA,QAAO,UAAU,aAAa,SAAS,WAAW,OAAO,QAAQO,aAAY,UAAU;AACrF,YAAQ,CAAC;AACT,aAAS,WAAW;AAEpB,QAAI,CAAC,UAAU;AACb,YAAM,QAAQ,KAAK,IAAI,GAAG,IAAIA,cAAa,CAAC;AAC5C,eAAS,MAAM,OAAO,QAAQA,aAAY,QAAQ,GAAG,CAAC,KAAK;AAAA,IAC7D;AAEA,QAAIhB,KAAI;AACR,QAAI,MAAM;AACV,QAAI,MAAM;AACV,SAAK,MAAM,IAAI,QAAQ;AAEvB,WAAO,EAAEA,KAAIgB,gBAAe,OAAO,MAAM;AACvC,UAAI,QAAQ,KAAK,QAAQ,KAAK,KAAK,SAAShB,KAAI,CAAC,MAAM,GAAG;AACxD,cAAM;AAAA,MACR;AAEA,WAAK,SAASA,EAAC,KAAK,QAAQ,OAAO,KAAK,MAAM;AAAA,IAChD;AAEA,WAAO,SAASgB;AAAA,EAClB;AAEA,EAAAP,QAAO,UAAU,aAAa,SAAS,WAAW,OAAO,QAAQO,aAAY,UAAU;AACrF,YAAQ,CAAC;AACT,aAAS,WAAW;AAEpB,QAAI,CAAC,UAAU;AACb,YAAM,QAAQ,KAAK,IAAI,GAAG,IAAIA,cAAa,CAAC;AAC5C,eAAS,MAAM,OAAO,QAAQA,aAAY,QAAQ,GAAG,CAAC,KAAK;AAAA,IAC7D;AAEA,QAAIhB,KAAIgB,cAAa;AACrB,QAAI,MAAM;AACV,QAAI,MAAM;AACV,SAAK,SAAShB,EAAC,IAAI,QAAQ;AAE3B,WAAO,EAAEA,MAAK,MAAM,OAAO,MAAM;AAC/B,UAAI,QAAQ,KAAK,QAAQ,KAAK,KAAK,SAASA,KAAI,CAAC,MAAM,GAAG;AACxD,cAAM;AAAA,MACR;AAEA,WAAK,SAASA,EAAC,KAAK,QAAQ,OAAO,KAAK,MAAM;AAAA,IAChD;AAEA,WAAO,SAASgB;AAAA,EAClB;AAEA,EAAAP,QAAO,UAAU,YAAY,SAAS,UAAU,OAAO,QAAQ,UAAU;AACvE,YAAQ,CAAC;AACT,aAAS,WAAW;AACpB,QAAI,CAAC;AAAU,eAAS,MAAM,OAAO,QAAQ,GAAG,KAAK,IAAI;AACzD,QAAI,QAAQ;AAAG,cAAQ,MAAM,QAAQ;AACrC,SAAK,MAAM,IAAI,QAAQ;AACvB,WAAO,SAAS;AAAA,EAClB;AAEA,EAAAA,QAAO,UAAU,eAAe,SAAS,aAAa,OAAO,QAAQ,UAAU;AAC7E,YAAQ,CAAC;AACT,aAAS,WAAW;AACpB,QAAI,CAAC;AAAU,eAAS,MAAM,OAAO,QAAQ,GAAG,OAAO,MAAM;AAC7D,SAAK,MAAM,IAAI,QAAQ;AACvB,SAAK,SAAS,CAAC,IAAI,UAAU;AAC7B,WAAO,SAAS;AAAA,EAClB;AAEA,EAAAA,QAAO,UAAU,eAAe,SAAS,aAAa,OAAO,QAAQ,UAAU;AAC7E,YAAQ,CAAC;AACT,aAAS,WAAW;AACpB,QAAI,CAAC;AAAU,eAAS,MAAM,OAAO,QAAQ,GAAG,OAAO,MAAM;AAC7D,SAAK,MAAM,IAAI,UAAU;AACzB,SAAK,SAAS,CAAC,IAAI,QAAQ;AAC3B,WAAO,SAAS;AAAA,EAClB;AAEA,EAAAA,QAAO,UAAU,eAAe,SAAS,aAAa,OAAO,QAAQ,UAAU;AAC7E,YAAQ,CAAC;AACT,aAAS,WAAW;AACpB,QAAI,CAAC;AAAU,eAAS,MAAM,OAAO,QAAQ,GAAG,YAAY,WAAW;AACvE,SAAK,MAAM,IAAI,QAAQ;AACvB,SAAK,SAAS,CAAC,IAAI,UAAU;AAC7B,SAAK,SAAS,CAAC,IAAI,UAAU;AAC7B,SAAK,SAAS,CAAC,IAAI,UAAU;AAC7B,WAAO,SAAS;AAAA,EAClB;AAEA,EAAAA,QAAO,UAAU,eAAe,SAAS,aAAa,OAAO,QAAQ,UAAU;AAC7E,YAAQ,CAAC;AACT,aAAS,WAAW;AACpB,QAAI,CAAC;AAAU,eAAS,MAAM,OAAO,QAAQ,GAAG,YAAY,WAAW;AACvE,QAAI,QAAQ;AAAG,cAAQ,aAAa,QAAQ;AAC5C,SAAK,MAAM,IAAI,UAAU;AACzB,SAAK,SAAS,CAAC,IAAI,UAAU;AAC7B,SAAK,SAAS,CAAC,IAAI,UAAU;AAC7B,SAAK,SAAS,CAAC,IAAI,QAAQ;AAC3B,WAAO,SAAS;AAAA,EAClB;AAEA,EAAAA,QAAO,UAAU,kBAAkB,mBAAmB,SAAS,gBAAgB,OAAO,SAAS,GAAG;AAChG,WAAO,eAAe,MAAM,OAAO,QAAQ,CAAC,OAAO,oBAAoB,GAAG,OAAO,oBAAoB,CAAC;AAAA,EACxG,CAAC;AACD,EAAAA,QAAO,UAAU,kBAAkB,mBAAmB,SAAS,gBAAgB,OAAO,SAAS,GAAG;AAChG,WAAO,eAAe,MAAM,OAAO,QAAQ,CAAC,OAAO,oBAAoB,GAAG,OAAO,oBAAoB,CAAC;AAAA,EACxG,CAAC;AAED,WAAS,aAAa,KAAK,OAAO,QAAQ,KAAK,KAAK,KAAK;AACvD,QAAI,SAAS,MAAM,IAAI;AAAQ,YAAM,IAAI,WAAW,oBAAoB;AACxE,QAAI,SAAS;AAAG,YAAM,IAAI,WAAW,oBAAoB;AAAA,EAC3D;AAEA,WAAS,WAAW,KAAK,OAAO,QAAQ,cAAc,UAAU;AAC9D,YAAQ,CAAC;AACT,aAAS,WAAW;AAEpB,QAAI,CAAC,UAAU;AACb,mBAAa,KAAK,OAAO,QAAQ,CAAC;AAAA,IACpC;AAEA,YAAQ,MAAM,KAAK,OAAO,QAAQ,cAAc,IAAI,CAAC;AACrD,WAAO,SAAS;AAAA,EAClB;AAEA,EAAAA,QAAO,UAAU,eAAe,SAAS,aAAa,OAAO,QAAQ,UAAU;AAC7E,WAAO,WAAW,MAAM,OAAO,QAAQ,MAAM,QAAQ;AAAA,EACvD;AAEA,EAAAA,QAAO,UAAU,eAAe,SAAS,aAAa,OAAO,QAAQ,UAAU;AAC7E,WAAO,WAAW,MAAM,OAAO,QAAQ,OAAO,QAAQ;AAAA,EACxD;AAEA,WAAS,YAAY,KAAK,OAAO,QAAQ,cAAc,UAAU;AAC/D,YAAQ,CAAC;AACT,aAAS,WAAW;AAEpB,QAAI,CAAC,UAAU;AACb,mBAAa,KAAK,OAAO,QAAQ,CAAC;AAAA,IACpC;AAEA,YAAQ,MAAM,KAAK,OAAO,QAAQ,cAAc,IAAI,CAAC;AACrD,WAAO,SAAS;AAAA,EAClB;AAEA,EAAAA,QAAO,UAAU,gBAAgB,SAAS,cAAc,OAAO,QAAQ,UAAU;AAC/E,WAAO,YAAY,MAAM,OAAO,QAAQ,MAAM,QAAQ;AAAA,EACxD;AAEA,EAAAA,QAAO,UAAU,gBAAgB,SAAS,cAAc,OAAO,QAAQ,UAAU;AAC/E,WAAO,YAAY,MAAM,OAAO,QAAQ,OAAO,QAAQ;AAAA,EACzD;AAGA,EAAAA,QAAO,UAAU,OAAO,SAAS,KAAK,QAAQ,aAAa,OAAO,KAAK;AACrE,QAAI,CAACA,QAAO,SAAS,MAAM;AAAG,YAAM,IAAI,UAAU,6BAA6B;AAC/E,QAAI,CAAC;AAAO,cAAQ;AACpB,QAAI,CAAC,OAAO,QAAQ;AAAG,YAAM,KAAK;AAClC,QAAI,eAAe,OAAO;AAAQ,oBAAc,OAAO;AACvD,QAAI,CAAC;AAAa,oBAAc;AAChC,QAAI,MAAM,KAAK,MAAM;AAAO,YAAM;AAElC,QAAI,QAAQ;AAAO,aAAO;AAC1B,QAAI,OAAO,WAAW,KAAK,KAAK,WAAW;AAAG,aAAO;AAErD,QAAI,cAAc,GAAG;AACnB,YAAM,IAAI,WAAW,2BAA2B;AAAA,IAClD;AAEA,QAAI,QAAQ,KAAK,SAAS,KAAK;AAAQ,YAAM,IAAI,WAAW,oBAAoB;AAChF,QAAI,MAAM;AAAG,YAAM,IAAI,WAAW,yBAAyB;AAE3D,QAAI,MAAM,KAAK;AAAQ,YAAM,KAAK;AAElC,QAAI,OAAO,SAAS,cAAc,MAAM,OAAO;AAC7C,YAAM,OAAO,SAAS,cAAc;AAAA,IACtC;AAEA,UAAM,MAAM,MAAM;AAElB,QAAI,SAAS,UAAU,OAAO,WAAW,UAAU,eAAe,YAAY;AAE5E,WAAK,WAAW,aAAa,OAAO,GAAG;AAAA,IACzC,OAAO;AACL,iBAAW,UAAU,IAAI,KAAK,QAAQ,KAAK,SAAS,OAAO,GAAG,GAAG,WAAW;AAAA,IAC9E;AAEA,WAAO;AAAA,EACT;AAMA,EAAAA,QAAO,UAAU,OAAO,SAAS,KAAK,KAAK,OAAO,KAAK,UAAU;AAE/D,QAAI,OAAO,QAAQ,UAAU;AAC3B,UAAI,OAAO,UAAU,UAAU;AAC7B,mBAAW;AACX,gBAAQ;AACR,cAAM,KAAK;AAAA,MACb,WAAW,OAAO,QAAQ,UAAU;AAClC,mBAAW;AACX,cAAM,KAAK;AAAA,MACb;AAEA,UAAI,aAAa,UAAa,OAAO,aAAa,UAAU;AAC1D,cAAM,IAAI,UAAU,2BAA2B;AAAA,MACjD;AAEA,UAAI,OAAO,aAAa,YAAY,CAACA,QAAO,WAAW,QAAQ,GAAG;AAChE,cAAM,IAAI,UAAU,uBAAuB,QAAQ;AAAA,MACrD;AAEA,UAAI,IAAI,WAAW,GAAG;AACpB,cAAM,OAAO,IAAI,WAAW,CAAC;AAE7B,YAAI,aAAa,UAAU,OAAO,OAAO,aAAa,UAAU;AAE9D,gBAAM;AAAA,QACR;AAAA,MACF;AAAA,IACF,WAAW,OAAO,QAAQ,UAAU;AAClC,YAAM,MAAM;AAAA,IACd,WAAW,OAAO,QAAQ,WAAW;AACnC,YAAM,OAAO,GAAG;AAAA,IAClB;AAGA,QAAI,QAAQ,KAAK,KAAK,SAAS,SAAS,KAAK,SAAS,KAAK;AACzD,YAAM,IAAI,WAAW,oBAAoB;AAAA,IAC3C;AAEA,QAAI,OAAO,OAAO;AAChB,aAAO;AAAA,IACT;AAEA,YAAQ,UAAU;AAClB,UAAM,QAAQ,SAAY,KAAK,SAAS,QAAQ;AAChD,QAAI,CAAC;AAAK,YAAM;AAChB,QAAIT;AAEJ,QAAI,OAAO,QAAQ,UAAU;AAC3B,WAAKA,KAAI,OAAOA,KAAI,KAAK,EAAEA,IAAG;AAC5B,aAAKA,EAAC,IAAI;AAAA,MACZ;AAAA,IACF,OAAO;AACL,YAAM,QAAQS,QAAO,SAAS,GAAG,IAAI,MAAMA,QAAO,KAAK,KAAK,QAAQ;AACpE,YAAM,MAAM,MAAM;AAElB,UAAI,QAAQ,GAAG;AACb,cAAM,IAAI,UAAU,gBAAiB,MAAM,mCAAsC;AAAA,MACnF;AAEA,WAAKT,KAAI,GAAGA,KAAI,MAAM,OAAO,EAAEA,IAAG;AAChC,aAAKA,KAAI,KAAK,IAAI,MAAMA,KAAI,GAAG;AAAA,MACjC;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAKA,QAAM,SAAS,CAAC;AAEhB,WAAS,EAAE,KAAK,YAAY,MAAM;AAChC,WAAO,GAAG,IAAI,MAAM,kBAAkB,KAAK;AAAA,MACzC,cAAc;AACZ,cAAM;AACN,eAAO,eAAe,MAAM,WAAW;AAAA,UACrC,OAAO,WAAW,MAAM,MAAM,SAAS;AAAA,UACvC,UAAU;AAAA,UACV,cAAc;AAAA,QAChB,CAAC;AAED,aAAK,OAAO,GAAG,KAAK,SAAS;AAG7B,aAAK;AAGL,eAAO,KAAK;AAAA,MACd;AAAA,MAEA,IAAI,OAAO;AACT,eAAO;AAAA,MACT;AAAA,MAEA,IAAI,KAAK,OAAO;AACd,eAAO,eAAe,MAAM,QAAQ;AAAA,UAClC,cAAc;AAAA,UACd,YAAY;AAAA,UACZ;AAAA,UACA,UAAU;AAAA,QACZ,CAAC;AAAA,MACH;AAAA,MAEA,WAAW;AACT,eAAO,GAAG,KAAK,SAAS,SAAS,KAAK;AAAA,MACxC;AAAA,IAEF;AAAA,EACF;AAEA,IAAE,4BAA4B,SAAUD,OAAM;AAC5C,QAAIA,OAAM;AACR,aAAO,GAAGA;AAAA,IACZ;AAEA,WAAO;AAAA,EACT,GAAG,UAAU;AACb,IAAE,wBAAwB,SAAUA,OAAM,QAAQ;AAChD,WAAO,QAAQA,yDAAwD,OAAO;AAAA,EAChF,GAAG,SAAS;AACZ,IAAE,oBAAoB,SAAU,KAAK,OAAO,OAAO;AACjD,QAAI,MAAM,iBAAiB;AAC3B,QAAI,WAAW;AAEf,QAAI,OAAO,UAAU,KAAK,KAAK,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI;AACxD,iBAAW,sBAAsB,OAAO,KAAK,CAAC;AAAA,IAChD,WAAW,OAAO,UAAU,UAAU;AACpC,iBAAW,OAAO,KAAK;AAEvB,UAAI,QAAQ,OAAO,CAAC,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,OAAO,CAAC,KAAK,OAAO,EAAE,IAAI;AACzE,mBAAW,sBAAsB,QAAQ;AAAA,MAC3C;AAEA,kBAAY;AAAA,IACd;AAEA,WAAO,eAAe,mBAAmB;AACzC,WAAO;AAAA,EACT,GAAG,UAAU;AAEb,WAAS,sBAAsB,KAAK;AAClC,QAAI,MAAM;AACV,QAAIC,KAAI,IAAI;AACZ,UAAM,QAAQ,IAAI,CAAC,MAAM,MAAM,IAAI;AAEnC,WAAOA,MAAK,QAAQ,GAAGA,MAAK,GAAG;AAC7B,YAAM,IAAI,IAAI,MAAMA,KAAI,GAAGA,EAAC,IAAI;AAAA,IAClC;AAEA,WAAO,GAAG,IAAI,MAAM,GAAGA,EAAC,IAAI;AAAA,EAC9B;AAIA,WAAS,YAAY,KAAK,QAAQgB,aAAY;AAC5C,mBAAe,QAAQ,QAAQ;AAE/B,QAAI,IAAI,MAAM,MAAM,UAAa,IAAI,SAASA,WAAU,MAAM,QAAW;AACvE,kBAAY,QAAQ,IAAI,UAAUA,cAAa,EAAE;AAAA,IACnD;AAAA,EACF;AAEA,WAAS,WAAW,OAAO,KAAK,KAAK,KAAK,QAAQA,aAAY;AAC5D,QAAI,QAAQ,OAAO,QAAQ,KAAK;AAC9B,YAAMH,KAAI,OAAO,QAAQ,WAAW,MAAM;AAC1C,UAAI;AAEJ,UAAIG,cAAa,GAAG;AAClB,YAAI,QAAQ,KAAK,QAAQ,OAAO,CAAC,GAAG;AAClC,kBAAQ,OAAOH,aAAYA,UAASG,cAAa,KAAK,IAAIH;AAAA,QAC5D,OAAO;AACL,kBAAQ,SAASA,UAASG,cAAa,KAAK,IAAI,IAAIH,mBAAuBG,cAAa,KAAK,IAAI,IAAIH;AAAA,QACvG;AAAA,MACF,OAAO;AACL,gBAAQ,MAAM,MAAMA,aAAY,MAAMA;AAAA,MACxC;AAEA,YAAM,IAAI,OAAO,iBAAiB,SAAS,OAAO,KAAK;AAAA,IACzD;AAEA,gBAAY,KAAK,QAAQG,WAAU;AAAA,EACrC;AAEA,WAAS,eAAe,OAAOjB,OAAM;AACnC,QAAI,OAAO,UAAU,UAAU;AAC7B,YAAM,IAAI,OAAO,qBAAqBA,OAAM,UAAU,KAAK;AAAA,IAC7D;AAAA,EACF;AAEA,WAAS,YAAY,OAAO,QAAQ,MAAM;AACxC,QAAI,KAAK,MAAM,KAAK,MAAM,OAAO;AAC/B,qBAAe,OAAO,IAAI;AAC1B,YAAM,IAAI,OAAO,iBAAiB,QAAQ,UAAU,cAAc,KAAK;AAAA,IACzE;AAEA,QAAI,SAAS,GAAG;AACd,YAAM,IAAI,OAAO,yBAAyB;AAAA,IAC5C;AAEA,UAAM,IAAI,OAAO,iBAAiB,QAAQ,UAAU,MAAM,OAAO,IAAI,YAAY,UAAU,KAAK;AAAA,EAClG;AAIA,QAAM,oBAAoB;AAE1B,WAAS,YAAY,KAAK;AAExB,UAAM,IAAI,MAAM,GAAG,EAAE,CAAC;AAEtB,UAAM,IAAI,KAAK,EAAE,QAAQ,mBAAmB,EAAE;AAE9C,QAAI,IAAI,SAAS;AAAG,aAAO;AAE3B,WAAO,IAAI,SAAS,MAAM,GAAG;AAC3B,YAAM,MAAM;AAAA,IACd;AAEA,WAAO;AAAA,EACT;AAEA,WAAS,YAAY,QAAQ,OAAO;AAClC,YAAQ,SAAS;AACjB,QAAI;AACJ,UAAM,SAAS,OAAO;AACtB,QAAI,gBAAgB;AACpB,UAAM,QAAQ,CAAC;AAEf,aAASC,KAAI,GAAGA,KAAI,QAAQ,EAAEA,IAAG;AAC/B,kBAAY,OAAO,WAAWA,EAAC;AAE/B,UAAI,YAAY,SAAS,YAAY,OAAO;AAE1C,YAAI,CAAC,eAAe;AAElB,cAAI,YAAY,OAAO;AAErB,iBAAK,SAAS,KAAK;AAAI,oBAAM,KAAK,KAAK,KAAK,GAAG;AAC/C;AAAA,UACF,WAAWA,KAAI,MAAM,QAAQ;AAE3B,iBAAK,SAAS,KAAK;AAAI,oBAAM,KAAK,KAAK,KAAK,GAAG;AAC/C;AAAA,UACF;AAGA,0BAAgB;AAChB;AAAA,QACF;AAGA,YAAI,YAAY,OAAO;AACrB,eAAK,SAAS,KAAK;AAAI,kBAAM,KAAK,KAAK,KAAK,GAAG;AAC/C,0BAAgB;AAChB;AAAA,QACF;AAGA,qBAAa,gBAAgB,SAAS,KAAK,YAAY,SAAS;AAAA,MAClE,WAAW,eAAe;AAExB,aAAK,SAAS,KAAK;AAAI,gBAAM,KAAK,KAAK,KAAK,GAAG;AAAA,MACjD;AAEA,sBAAgB;AAEhB,UAAI,YAAY,KAAK;AACnB,aAAK,SAAS,KAAK;AAAG;AACtB,cAAM,KAAK,SAAS;AAAA,MACtB,WAAW,YAAY,MAAM;AAC3B,aAAK,SAAS,KAAK;AAAG;AACtB,cAAM,KAAK,aAAa,IAAI,KAAK,YAAY,KAAK,GAAG;AAAA,MACvD,WAAW,YAAY,OAAO;AAC5B,aAAK,SAAS,KAAK;AAAG;AACtB,cAAM,KAAK,aAAa,KAAK,KAAK,aAAa,IAAI,KAAK,KAAK,YAAY,KAAK,GAAG;AAAA,MACnF,WAAW,YAAY,SAAS;AAC9B,aAAK,SAAS,KAAK;AAAG;AACtB,cAAM,KAAK,aAAa,KAAK,KAAK,aAAa,KAAK,KAAK,KAAK,aAAa,IAAI,KAAK,KAAK,YAAY,KAAK,GAAG;AAAA,MAC/G,OAAO;AACL,cAAM,IAAI,MAAM,oBAAoB;AAAA,MACtC;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAEA,WAAS,aAAa,KAAK;AACzB,UAAM,YAAY,CAAC;AAEnB,aAASA,KAAI,GAAGA,KAAI,IAAI,QAAQ,EAAEA,IAAG;AAEnC,gBAAU,KAAK,IAAI,WAAWA,EAAC,IAAI,GAAG;AAAA,IACxC;AAEA,WAAO;AAAA,EACT;AAEA,WAAS,eAAe,KAAK,OAAO;AAClC,QAAIO,IAAG,IAAI;AACX,UAAM,YAAY,CAAC;AAEnB,aAASP,KAAI,GAAGA,KAAI,IAAI,QAAQ,EAAEA,IAAG;AACnC,WAAK,SAAS,KAAK;AAAG;AACtB,MAAAO,KAAI,IAAI,WAAWP,EAAC;AACpB,WAAKO,MAAK;AACV,WAAKA,KAAI;AACT,gBAAU,KAAK,EAAE;AACjB,gBAAU,KAAK,EAAE;AAAA,IACnB;AAEA,WAAO;AAAA,EACT;AAEA,WAAS,cAAc,KAAK;AAC1B,WAAOC,QAAO,YAAY,YAAY,GAAG,CAAC;AAAA,EAC5C;AAEA,WAAS,WAAW,KAAK,KAAK,QAAQ,QAAQ;AAC5C,QAAIR;AAEJ,SAAKA,KAAI,GAAGA,KAAI,QAAQ,EAAEA,IAAG;AAC3B,UAAIA,KAAI,UAAU,IAAI,UAAUA,MAAK,IAAI;AAAQ;AACjD,UAAIA,KAAI,MAAM,IAAI,IAAIA,EAAC;AAAA,IACzB;AAEA,WAAOA;AAAA,EACT;AAKA,WAAS,WAAW,KAAK,MAAM;AAC7B,WAAO,eAAe,QAAQ,OAAO,QAAQ,IAAI,eAAe,QAAQ,IAAI,YAAY,QAAQ,QAAQ,IAAI,YAAY,SAAS,KAAK;AAAA,EACxI;AAEA,WAAS,YAAY,KAAK;AAExB,WAAO,QAAQ;AAAA,EACjB;AAIA,QAAM,sBAAsB,WAAY;AACtC,UAAM,WAAW;AACjB,UAAM,QAAQ,IAAI,MAAM,GAAG;AAE3B,aAASA,KAAI,GAAGA,KAAI,IAAI,EAAEA,IAAG;AAC3B,YAAM,MAAMA,KAAI;AAEhB,eAAS,IAAI,GAAG,IAAI,IAAI,EAAE,GAAG;AAC3B,cAAM,MAAM,CAAC,IAAI,SAASA,EAAC,IAAI,SAAS,CAAC;AAAA,MAC3C;AAAA,IACF;AAEA,WAAO;AAAA,EACT,EAAE;AAGF,WAAS,mBAAmB,IAAI;AAC9B,WAAO,OAAO,WAAW,cAAc,yBAAyB;AAAA,EAClE;AAEA,WAAS,yBAAyB;AAChC,UAAM,IAAI,MAAM,sBAAsB;AAAA,EACxC;AAEA,SAAO;AACT;AA9vEA,IAAI,WACA,YA6HA,WACA,YAkGA,WACA,UA8hEE,SAGFS,SACA,mBACA;AArwEJ;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAR;AAAA,IAAAC;AAAA,IAAI,YAAY,CAAC;AAAjB,IACI,aAAa;AA6HjB,IAAI,YAAY,CAAC;AAAjB,IACI,aAAa;AAkGjB,IAAI,YAAY,CAAC;AAAjB,IACI,WAAW;AA8hEf,IAAM,UAAU,IAAI;AACpB,YAAQ,QAAQ;AAAG,YAAQ,YAAY;AAAG,YAAQ,mBAAmB;AAAG,YAAQ,YAAY;AAE5F,IAAIO,UAAS,QAAQ;AACrB,IAAI,oBAAoB,QAAQ;AAChC,IAAI,aAAa,QAAQ;AAAA;AAAA;;;ACrwEzB,IAAAR,eAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA,4CAAAgB,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,QAAQ,OAAO,UAAU;AAE7B,WAAO,UAAU,SAAS,YAAY,OAAO;AAC5C,UAAI,MAAM,MAAM,KAAK,KAAK;AAC1B,UAAI,SAAS,QAAQ;AACrB,UAAI,CAAC,QAAQ;AACZ,iBAAS,QAAQ,oBAChB,UAAU,QACV,OAAO,UAAU,YACjB,OAAO,MAAM,WAAW,YACxB,MAAM,UAAU,KAChB,MAAM,KAAK,MAAM,MAAM,MAAM;AAAA,MAC/B;AACA,aAAO;AAAA,IACR;AAAA;AAAA;;;AChBA;AAAA,+CAAAe,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI;AACJ,QAAI,CAAC,OAAO,MAAM;AAEb,YAAM,OAAO,UAAU;AACvB,cAAQ,OAAO,UAAU;AACzB,eAAS;AACT,qBAAe,OAAO,UAAU;AAChC,uBAAiB,CAAC,aAAa,KAAK,EAAE,UAAU,KAAK,GAAG,UAAU;AAClE,wBAAkB,aAAa,KAAK,WAAY;AAAA,MAAC,GAAG,WAAW;AAC/D,kBAAY;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD;AACI,mCAA6B,SAAUgB,IAAG;AAC7C,YAAI,OAAOA,GAAE;AACb,eAAO,QAAQ,KAAK,cAAcA;AAAA,MACnC;AACI,qBAAe;AAAA,QAClB,mBAAmB;AAAA,QACnB,UAAU;AAAA,QACV,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,eAAe;AAAA,QACf,SAAS;AAAA,QACT,cAAc;AAAA,QACd,aAAa;AAAA,QACb,wBAAwB;AAAA,QACxB,uBAAuB;AAAA,QACvB,cAAc;AAAA,QACd,aAAa;AAAA,QACb,cAAc;AAAA,QACd,cAAc;AAAA,QACd,SAAS;AAAA,QACT,aAAa;AAAA,QACb,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,UAAU;AAAA,QACV,OAAO;AAAA,QACP,kBAAkB;AAAA,QAClB,oBAAoB;AAAA,QACpB,SAAS;AAAA,MACV;AACI,iCAA4B,WAAY;AAE3C,YAAI,OAAO,WAAW,aAAa;AAAE,iBAAO;AAAA,QAAO;AACnD,iBAAS,KAAK,QAAQ;AACrB,cAAI;AACH,gBAAI,CAAC,aAAa,MAAM,CAAC,KAAK,IAAI,KAAK,QAAQ,CAAC,KAAK,OAAO,CAAC,MAAM,QAAQ,OAAO,OAAO,CAAC,MAAM,UAAU;AACzG,kBAAI;AACH,2CAA2B,OAAO,CAAC,CAAC;AAAA,cACrC,SAASb,IAAP;AACD,uBAAO;AAAA,cACR;AAAA,YACD;AAAA,UACD,SAASA,IAAP;AACD,mBAAO;AAAA,UACR;AAAA,QACD;AACA,eAAO;AAAA,MACR,EAAE;AACE,6CAAuC,SAAUa,IAAG;AAEvD,YAAI,OAAO,WAAW,eAAe,CAAC,0BAA0B;AAC/D,iBAAO,2BAA2BA,EAAC;AAAA,QACpC;AACA,YAAI;AACH,iBAAO,2BAA2BA,EAAC;AAAA,QACpC,SAASb,IAAP;AACD,iBAAO;AAAA,QACR;AAAA,MACD;AAEA,iBAAW,SAAS,KAAK,QAAQ;AAChC,YAAIc,YAAW,WAAW,QAAQ,OAAO,WAAW;AACpD,YAAIC,cAAa,MAAM,KAAK,MAAM,MAAM;AACxC,YAAI,cAAc,OAAO,MAAM;AAC/B,YAAIC,YAAWF,aAAY,MAAM,KAAK,MAAM,MAAM;AAClD,YAAI,UAAU,CAAC;AAEf,YAAI,CAACA,aAAY,CAACC,eAAc,CAAC,aAAa;AAC7C,gBAAM,IAAI,UAAU,oCAAoC;AAAA,QACzD;AAEA,YAAI,YAAY,mBAAmBA;AACnC,YAAIC,aAAY,OAAO,SAAS,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,GAAG;AAC1D,mBAASrB,KAAI,GAAGA,KAAI,OAAO,QAAQ,EAAEA,IAAG;AACvC,oBAAQ,KAAK,OAAOA,EAAC,CAAC;AAAA,UACvB;AAAA,QACD;AAEA,YAAI,eAAe,OAAO,SAAS,GAAG;AACrC,mBAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,EAAE,GAAG;AACvC,oBAAQ,KAAK,OAAO,CAAC,CAAC;AAAA,UACvB;AAAA,QACD,OAAO;AACN,mBAASD,SAAQ,QAAQ;AACxB,gBAAI,EAAE,aAAaA,UAAS,gBAAgB,IAAI,KAAK,QAAQA,KAAI,GAAG;AACnE,sBAAQ,KAAK,OAAOA,KAAI,CAAC;AAAA,YAC1B;AAAA,UACD;AAAA,QACD;AAEA,YAAI,gBAAgB;AACnB,cAAI,kBAAkB,qCAAqC,MAAM;AAEjE,mBAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,EAAE,GAAG;AAC1C,gBAAI,EAAE,mBAAmB,UAAU,CAAC,MAAM,kBAAkB,IAAI,KAAK,QAAQ,UAAU,CAAC,CAAC,GAAG;AAC3F,sBAAQ,KAAK,UAAU,CAAC,CAAC;AAAA,YAC1B;AAAA,UACD;AAAA,QACD;AACA,eAAO;AAAA,MACR;AAAA,IACD;AAnHK;AACA;AACA;AACA;AACA;AACA;AACA;AASA;AAIA;AAyBA;AAkBA;AAsDL,WAAO,UAAU;AAAA;AAAA;;;ACzHjB;AAAA,sCAAAkB,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,QAAQ,MAAM,UAAU;AAC5B,QAAI,SAAS;AAEb,QAAI,WAAW,OAAO;AACtB,QAAI,WAAW,WAAW,SAAS,KAAKgB,IAAG;AAAE,aAAO,SAASA,EAAC;AAAA,IAAG,IAAI;AAErE,QAAI,eAAe,OAAO;AAE1B,aAAS,OAAO,SAAS,iBAAiB;AACzC,UAAI,OAAO,MAAM;AAChB,YAAI,yBAA0B,WAAY;AAEzC,cAAI,OAAO,OAAO,KAAK,SAAS;AAChC,iBAAO,QAAQ,KAAK,WAAW,UAAU;AAAA,QAC1C,EAAE,GAAG,CAAC;AACN,YAAI,CAAC,wBAAwB;AAC5B,iBAAO,OAAO,SAAS,KAAK,QAAQ;AACnC,gBAAI,OAAO,MAAM,GAAG;AACnB,qBAAO,aAAa,MAAM,KAAK,MAAM,CAAC;AAAA,YACvC;AACA,mBAAO,aAAa,MAAM;AAAA,UAC3B;AAAA,QACD;AAAA,MACD,OAAO;AACN,eAAO,OAAO;AAAA,MACf;AACA,aAAO,OAAO,QAAQ;AAAA,IACvB;AAEA,WAAO,UAAU;AAAA;AAAA;;;AC/BjB;AAAA,sCAAAD,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAGA,WAAO,UAAU,SAAS,aAAa;AACtC,UAAI,OAAO,WAAW,cAAc,OAAO,OAAO,0BAA0B,YAAY;AAAE,eAAO;AAAA,MAAO;AACxG,UAAI,OAAO,OAAO,aAAa,UAAU;AAAE,eAAO;AAAA,MAAM;AAExD,UAAI,MAAM,CAAC;AACX,UAAI,MAAM,OAAO,MAAM;AACvB,UAAI,SAAS,OAAO,GAAG;AACvB,UAAI,OAAO,QAAQ,UAAU;AAAE,eAAO;AAAA,MAAO;AAE7C,UAAI,OAAO,UAAU,SAAS,KAAK,GAAG,MAAM,mBAAmB;AAAE,eAAO;AAAA,MAAO;AAC/E,UAAI,OAAO,UAAU,SAAS,KAAK,MAAM,MAAM,mBAAmB;AAAE,eAAO;AAAA,MAAO;AAUlF,UAAI,SAAS;AACb,UAAI,GAAG,IAAI;AACX,WAAK,OAAO,KAAK;AAAE,eAAO;AAAA,MAAO;AACjC,UAAI,OAAO,OAAO,SAAS,cAAc,OAAO,KAAK,GAAG,EAAE,WAAW,GAAG;AAAE,eAAO;AAAA,MAAO;AAExF,UAAI,OAAO,OAAO,wBAAwB,cAAc,OAAO,oBAAoB,GAAG,EAAE,WAAW,GAAG;AAAE,eAAO;AAAA,MAAO;AAEtH,UAAI,OAAO,OAAO,sBAAsB,GAAG;AAC3C,UAAI,KAAK,WAAW,KAAK,KAAK,CAAC,MAAM,KAAK;AAAE,eAAO;AAAA,MAAO;AAE1D,UAAI,CAAC,OAAO,UAAU,qBAAqB,KAAK,KAAK,GAAG,GAAG;AAAE,eAAO;AAAA,MAAO;AAE3E,UAAI,OAAO,OAAO,6BAA6B,YAAY;AAC1D,YAAI,aAAa,OAAO,yBAAyB,KAAK,GAAG;AACzD,YAAI,WAAW,UAAU,UAAU,WAAW,eAAe,MAAM;AAAE,iBAAO;AAAA,QAAO;AAAA,MACpF;AAEA,aAAO;AAAA,IACR;AAAA;AAAA;;;ACzCA;AAAA,sCAAAe,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,aAAa,OAAO,WAAW,eAAe;AAClD,QAAI,gBAAgB;AAEpB,WAAO,UAAU,SAAS,mBAAmB;AAC5C,UAAI,OAAO,eAAe,YAAY;AAAE,eAAO;AAAA,MAAO;AACtD,UAAI,OAAO,WAAW,YAAY;AAAE,eAAO;AAAA,MAAO;AAClD,UAAI,OAAO,WAAW,KAAK,MAAM,UAAU;AAAE,eAAO;AAAA,MAAO;AAC3D,UAAI,OAAO,OAAO,KAAK,MAAM,UAAU;AAAE,eAAO;AAAA,MAAO;AAEvD,aAAO,cAAc;AAAA,IACtB;AAAA;AAAA;;;ACZA;AAAA,oCAAAe,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,OAAO;AAAA,MACV,KAAK,CAAC;AAAA,IACP;AAEA,QAAI,UAAU;AAEd,WAAO,UAAU,SAAS,WAAW;AACpC,aAAO,EAAE,WAAW,KAAK,EAAE,QAAQ,KAAK,OAAO,EAAE,EAAE,WAAW,KAAK,aAAa;AAAA,IACjF;AAAA;AAAA;;;ACVA,IAAAoB,0BAAA;AAAA,iDAAAL,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAIA,QAAI,gBAAgB;AACpB,QAAI,QAAQ,MAAM,UAAU;AAC5B,QAAI,QAAQ,OAAO,UAAU;AAC7B,QAAI,WAAW;AAEf,WAAO,UAAU,SAASqB,MAAK,MAAM;AACjC,UAAI,SAAS;AACb,UAAI,OAAO,WAAW,cAAc,MAAM,KAAK,MAAM,MAAM,UAAU;AACjE,cAAM,IAAI,UAAU,gBAAgB,MAAM;AAAA,MAC9C;AACA,UAAI,OAAO,MAAM,KAAK,WAAW,CAAC;AAElC,UAAI;AACJ,UAAI,SAAS,WAAY;AACrB,YAAI,gBAAgB,OAAO;AACvB,cAAI,SAAS,OAAO;AAAA,YAChB;AAAA,YACA,KAAK,OAAO,MAAM,KAAK,SAAS,CAAC;AAAA,UACrC;AACA,cAAI,OAAO,MAAM,MAAM,QAAQ;AAC3B,mBAAO;AAAA,UACX;AACA,iBAAO;AAAA,QACX,OAAO;AACH,iBAAO,OAAO;AAAA,YACV;AAAA,YACA,KAAK,OAAO,MAAM,KAAK,SAAS,CAAC;AAAA,UACrC;AAAA,QACJ;AAAA,MACJ;AAEA,UAAI,cAAc,KAAK,IAAI,GAAG,OAAO,SAAS,KAAK,MAAM;AACzD,UAAI,YAAY,CAAC;AACjB,eAASvB,KAAI,GAAGA,KAAI,aAAaA,MAAK;AAClC,kBAAU,KAAK,MAAMA,EAAC;AAAA,MAC1B;AAEA,cAAQ,SAAS,UAAU,sBAAsB,UAAU,KAAK,GAAG,IAAI,2CAA2C,EAAE,MAAM;AAE1H,UAAI,OAAO,WAAW;AAClB,YAAI,QAAQ,SAASwB,SAAQ;AAAA,QAAC;AAC9B,cAAM,YAAY,OAAO;AACzB,cAAM,YAAY,IAAI,MAAM;AAC5B,cAAM,YAAY;AAAA,MACtB;AAEA,aAAO;AAAA,IACX;AAAA;AAAA;;;ACnDA;AAAA,wCAAAP,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,iBAAiB;AAErB,WAAO,UAAU,SAAS,UAAU,QAAQ;AAAA;AAAA;;;ACJ5C;AAAA,kCAAAe,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAIqB,QAAO;AAEX,WAAO,UAAUA,MAAK,KAAK,SAAS,MAAM,OAAO,UAAU,cAAc;AAAA;AAAA;;;ACJzE;AAAA,wCAAAN,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAIuB;AAEJ,QAAI,eAAe;AACnB,QAAI,YAAY;AAChB,QAAI,aAAa;AAGjB,QAAI,wBAAwB,SAAU,kBAAkB;AACvD,UAAI;AACH,eAAO,UAAU,2BAA2B,mBAAmB,gBAAgB,EAAE;AAAA,MAClF,SAASpB,IAAP;AAAA,MAAW;AAAA,IACd;AAEA,QAAI,QAAQ,OAAO;AACnB,QAAI,OAAO;AACV,UAAI;AACH,cAAM,CAAC,GAAG,EAAE;AAAA,MACb,SAASA,IAAP;AACD,gBAAQ;AAAA,MACT;AAAA,IACD;AAEA,QAAI,iBAAiB,WAAY;AAChC,YAAM,IAAI,WAAW;AAAA,IACtB;AACA,QAAI,iBAAiB,QACjB,WAAY;AACd,UAAI;AAEH,kBAAU;AACV,eAAO;AAAA,MACR,SAAS,cAAP;AACD,YAAI;AAEH,iBAAO,MAAM,WAAW,QAAQ,EAAE;AAAA,QACnC,SAAS,YAAP;AACD,iBAAO;AAAA,QACR;AAAA,MACD;AAAA,IACD,EAAE,IACA;AAEH,QAAI,aAAa,sBAAuB;AACxC,QAAI,WAAW,oBAAqB;AAEpC,QAAI,WAAW,OAAO,mBACrB,WACG,SAAU,GAAG;AAAE,aAAO,EAAE;AAAA,IAAW,IACnC;AAGJ,QAAI,YAAY,CAAC;AAEjB,QAAI,aAAa,OAAO,eAAe,eAAe,CAAC,WAAWoB,aAAY,SAAS,UAAU;AAEjG,QAAI,aAAa;AAAA,MAChB,oBAAoB,OAAO,mBAAmB,cAAcA,aAAY;AAAA,MACxE,WAAW;AAAA,MACX,iBAAiB,OAAO,gBAAgB,cAAcA,aAAY;AAAA,MAClE,4BAA4B,cAAc,WAAW,SAAS,CAAC,EAAE,OAAO,QAAQ,EAAE,CAAC,IAAIA;AAAA,MACvF,oCAAoCA;AAAA,MACpC,mBAAmB;AAAA,MACnB,oBAAoB;AAAA,MACpB,4BAA4B;AAAA,MAC5B,4BAA4B;AAAA,MAC5B,aAAa,OAAO,YAAY,cAAcA,aAAY;AAAA,MAC1D,YAAY,OAAO,WAAW,cAAcA,aAAY;AAAA,MACxD,mBAAmB,OAAO,kBAAkB,cAAcA,aAAY;AAAA,MACtE,oBAAoB,OAAO,mBAAmB,cAAcA,aAAY;AAAA,MACxE,aAAa;AAAA,MACb,cAAc,OAAO,aAAa,cAAcA,aAAY;AAAA,MAC5D,UAAU;AAAA,MACV,eAAe;AAAA,MACf,wBAAwB;AAAA,MACxB,eAAe;AAAA,MACf,wBAAwB;AAAA,MACxB,WAAW;AAAA,MACX,UAAU;AAAA;AAAA,MACV,eAAe;AAAA,MACf,kBAAkB,OAAO,iBAAiB,cAAcA,aAAY;AAAA,MACpE,kBAAkB,OAAO,iBAAiB,cAAcA,aAAY;AAAA,MACpE,0BAA0B,OAAO,yBAAyB,cAAcA,aAAY;AAAA,MACpF,cAAc;AAAA,MACd,uBAAuB;AAAA,MACvB,eAAe,OAAO,cAAc,cAAcA,aAAY;AAAA,MAC9D,gBAAgB,OAAO,eAAe,cAAcA,aAAY;AAAA,MAChE,gBAAgB,OAAO,eAAe,cAAcA,aAAY;AAAA,MAChE,cAAc;AAAA,MACd,WAAW;AAAA,MACX,uBAAuB,cAAc,WAAW,SAAS,SAAS,CAAC,EAAE,OAAO,QAAQ,EAAE,CAAC,CAAC,IAAIA;AAAA,MAC5F,UAAU,OAAO,SAAS,WAAW,OAAOA;AAAA,MAC5C,SAAS,OAAO,QAAQ,cAAcA,aAAY;AAAA,MAClD,0BAA0B,OAAO,QAAQ,eAAe,CAAC,cAAc,CAAC,WAAWA,aAAY,UAAS,oBAAI,IAAI,GAAE,OAAO,QAAQ,EAAE,CAAC;AAAA,MACpI,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,cAAc;AAAA,MACd,aAAa,OAAO,YAAY,cAAcA,aAAY;AAAA,MAC1D,WAAW,OAAO,UAAU,cAAcA,aAAY;AAAA,MACtD,gBAAgB;AAAA,MAChB,oBAAoB;AAAA,MACpB,aAAa,OAAO,YAAY,cAAcA,aAAY;AAAA,MAC1D,YAAY;AAAA,MACZ,SAAS,OAAO,QAAQ,cAAcA,aAAY;AAAA,MAClD,0BAA0B,OAAO,QAAQ,eAAe,CAAC,cAAc,CAAC,WAAWA,aAAY,UAAS,oBAAI,IAAI,GAAE,OAAO,QAAQ,EAAE,CAAC;AAAA,MACpI,uBAAuB,OAAO,sBAAsB,cAAcA,aAAY;AAAA,MAC9E,YAAY;AAAA,MACZ,6BAA6B,cAAc,WAAW,SAAS,GAAG,OAAO,QAAQ,EAAE,CAAC,IAAIA;AAAA,MACxF,YAAY,aAAa,SAASA;AAAA,MAClC,iBAAiB;AAAA,MACjB,oBAAoB;AAAA,MACpB,gBAAgB;AAAA,MAChB,eAAe;AAAA,MACf,gBAAgB,OAAO,eAAe,cAAcA,aAAY;AAAA,MAChE,uBAAuB,OAAO,sBAAsB,cAAcA,aAAY;AAAA,MAC9E,iBAAiB,OAAO,gBAAgB,cAAcA,aAAY;AAAA,MAClE,iBAAiB,OAAO,gBAAgB,cAAcA,aAAY;AAAA,MAClE,cAAc;AAAA,MACd,aAAa,OAAO,YAAY,cAAcA,aAAY;AAAA,MAC1D,aAAa,OAAO,YAAY,cAAcA,aAAY;AAAA,MAC1D,aAAa,OAAO,YAAY,cAAcA,aAAY;AAAA,IAC3D;AAEA,QAAI,UAAU;AACb,UAAI;AACH,aAAK;AAAA,MACN,SAASpB,IAAP;AAEG,qBAAa,SAAS,SAASA,EAAC,CAAC;AACrC,mBAAW,mBAAmB,IAAI;AAAA,MACnC;AAAA,IACD;AAHM;AAKN,QAAI,SAAS,SAASqB,QAAO3B,OAAM;AAClC,UAAI;AACJ,UAAIA,UAAS,mBAAmB;AAC/B,gBAAQ,sBAAsB,sBAAsB;AAAA,MACrD,WAAWA,UAAS,uBAAuB;AAC1C,gBAAQ,sBAAsB,iBAAiB;AAAA,MAChD,WAAWA,UAAS,4BAA4B;AAC/C,gBAAQ,sBAAsB,uBAAuB;AAAA,MACtD,WAAWA,UAAS,oBAAoB;AACvC,YAAI,KAAK2B,QAAO,0BAA0B;AAC1C,YAAI,IAAI;AACP,kBAAQ,GAAG;AAAA,QACZ;AAAA,MACD,WAAW3B,UAAS,4BAA4B;AAC/C,YAAI,MAAM2B,QAAO,kBAAkB;AACnC,YAAI,OAAO,UAAU;AACpB,kBAAQ,SAAS,IAAI,SAAS;AAAA,QAC/B;AAAA,MACD;AAEA,iBAAW3B,KAAI,IAAI;AAEnB,aAAO;AAAA,IACR;AAEA,QAAI,iBAAiB;AAAA,MACpB,0BAA0B,CAAC,eAAe,WAAW;AAAA,MACrD,oBAAoB,CAAC,SAAS,WAAW;AAAA,MACzC,wBAAwB,CAAC,SAAS,aAAa,SAAS;AAAA,MACxD,wBAAwB,CAAC,SAAS,aAAa,SAAS;AAAA,MACxD,qBAAqB,CAAC,SAAS,aAAa,MAAM;AAAA,MAClD,uBAAuB,CAAC,SAAS,aAAa,QAAQ;AAAA,MACtD,4BAA4B,CAAC,iBAAiB,WAAW;AAAA,MACzD,oBAAoB,CAAC,0BAA0B,WAAW;AAAA,MAC1D,6BAA6B,CAAC,0BAA0B,aAAa,WAAW;AAAA,MAChF,sBAAsB,CAAC,WAAW,WAAW;AAAA,MAC7C,uBAAuB,CAAC,YAAY,WAAW;AAAA,MAC/C,mBAAmB,CAAC,QAAQ,WAAW;AAAA,MACvC,oBAAoB,CAAC,SAAS,WAAW;AAAA,MACzC,wBAAwB,CAAC,aAAa,WAAW;AAAA,MACjD,2BAA2B,CAAC,gBAAgB,WAAW;AAAA,MACvD,2BAA2B,CAAC,gBAAgB,WAAW;AAAA,MACvD,uBAAuB,CAAC,YAAY,WAAW;AAAA,MAC/C,eAAe,CAAC,qBAAqB,WAAW;AAAA,MAChD,wBAAwB,CAAC,qBAAqB,aAAa,WAAW;AAAA,MACtE,wBAAwB,CAAC,aAAa,WAAW;AAAA,MACjD,yBAAyB,CAAC,cAAc,WAAW;AAAA,MACnD,yBAAyB,CAAC,cAAc,WAAW;AAAA,MACnD,eAAe,CAAC,QAAQ,OAAO;AAAA,MAC/B,mBAAmB,CAAC,QAAQ,WAAW;AAAA,MACvC,kBAAkB,CAAC,OAAO,WAAW;AAAA,MACrC,qBAAqB,CAAC,UAAU,WAAW;AAAA,MAC3C,qBAAqB,CAAC,UAAU,WAAW;AAAA,MAC3C,uBAAuB,CAAC,UAAU,aAAa,UAAU;AAAA,MACzD,sBAAsB,CAAC,UAAU,aAAa,SAAS;AAAA,MACvD,sBAAsB,CAAC,WAAW,WAAW;AAAA,MAC7C,uBAAuB,CAAC,WAAW,aAAa,MAAM;AAAA,MACtD,iBAAiB,CAAC,WAAW,KAAK;AAAA,MAClC,oBAAoB,CAAC,WAAW,QAAQ;AAAA,MACxC,qBAAqB,CAAC,WAAW,SAAS;AAAA,MAC1C,yBAAyB,CAAC,cAAc,WAAW;AAAA,MACnD,6BAA6B,CAAC,kBAAkB,WAAW;AAAA,MAC3D,qBAAqB,CAAC,UAAU,WAAW;AAAA,MAC3C,kBAAkB,CAAC,OAAO,WAAW;AAAA,MACrC,gCAAgC,CAAC,qBAAqB,WAAW;AAAA,MACjE,qBAAqB,CAAC,UAAU,WAAW;AAAA,MAC3C,qBAAqB,CAAC,UAAU,WAAW;AAAA,MAC3C,0BAA0B,CAAC,eAAe,WAAW;AAAA,MACrD,yBAAyB,CAAC,cAAc,WAAW;AAAA,MACnD,wBAAwB,CAAC,aAAa,WAAW;AAAA,MACjD,yBAAyB,CAAC,cAAc,WAAW;AAAA,MACnD,gCAAgC,CAAC,qBAAqB,WAAW;AAAA,MACjE,0BAA0B,CAAC,eAAe,WAAW;AAAA,MACrD,0BAA0B,CAAC,eAAe,WAAW;AAAA,MACrD,uBAAuB,CAAC,YAAY,WAAW;AAAA,MAC/C,sBAAsB,CAAC,WAAW,WAAW;AAAA,MAC7C,sBAAsB,CAAC,WAAW,WAAW;AAAA,IAC9C;AAEA,QAAIwB,QAAO;AACX,QAAI,SAAS;AACb,QAAI,UAAUA,MAAK,KAAK,SAAS,MAAM,MAAM,UAAU,MAAM;AAC7D,QAAI,eAAeA,MAAK,KAAK,SAAS,OAAO,MAAM,UAAU,MAAM;AACnE,QAAI,WAAWA,MAAK,KAAK,SAAS,MAAM,OAAO,UAAU,OAAO;AAChE,QAAI,YAAYA,MAAK,KAAK,SAAS,MAAM,OAAO,UAAU,KAAK;AAC/D,QAAI,QAAQA,MAAK,KAAK,SAAS,MAAM,OAAO,UAAU,IAAI;AAG1D,QAAI,aAAa;AACjB,QAAI,eAAe;AACnB,QAAI,eAAe,SAASI,cAAa,QAAQ;AAChD,UAAI,QAAQ,UAAU,QAAQ,GAAG,CAAC;AAClC,UAAI,OAAO,UAAU,QAAQ,EAAE;AAC/B,UAAI,UAAU,OAAO,SAAS,KAAK;AAClC,cAAM,IAAI,aAAa,gDAAgD;AAAA,MACxE,WAAW,SAAS,OAAO,UAAU,KAAK;AACzC,cAAM,IAAI,aAAa,gDAAgD;AAAA,MACxE;AACA,UAAI,SAAS,CAAC;AACd,eAAS,QAAQ,YAAY,SAAU,OAAO,QAAQ,OAAO,WAAW;AACvE,eAAO,OAAO,MAAM,IAAI,QAAQ,SAAS,WAAW,cAAc,IAAI,IAAI,UAAU;AAAA,MACrF,CAAC;AACD,aAAO;AAAA,IACR;AAGA,QAAI,mBAAmB,SAASC,kBAAiB7B,OAAM,cAAc;AACpE,UAAI,gBAAgBA;AACpB,UAAI;AACJ,UAAI,OAAO,gBAAgB,aAAa,GAAG;AAC1C,gBAAQ,eAAe,aAAa;AACpC,wBAAgB,MAAM,MAAM,CAAC,IAAI;AAAA,MAClC;AAEA,UAAI,OAAO,YAAY,aAAa,GAAG;AACtC,YAAI,QAAQ,WAAW,aAAa;AACpC,YAAI,UAAU,WAAW;AACxB,kBAAQ,OAAO,aAAa;AAAA,QAC7B;AACA,YAAI,OAAO,UAAU,eAAe,CAAC,cAAc;AAClD,gBAAM,IAAI,WAAW,eAAeA,QAAO,sDAAsD;AAAA,QAClG;AAEA,eAAO;AAAA,UACN;AAAA,UACA,MAAM;AAAA,UACN;AAAA,QACD;AAAA,MACD;AAEA,YAAM,IAAI,aAAa,eAAeA,QAAO,kBAAkB;AAAA,IAChE;AAEA,WAAO,UAAU,SAAS,aAAaA,OAAM,cAAc;AAC1D,UAAI,OAAOA,UAAS,YAAYA,MAAK,WAAW,GAAG;AAClD,cAAM,IAAI,WAAW,2CAA2C;AAAA,MACjE;AACA,UAAI,UAAU,SAAS,KAAK,OAAO,iBAAiB,WAAW;AAC9D,cAAM,IAAI,WAAW,2CAA2C;AAAA,MACjE;AAEA,UAAI,MAAM,eAAeA,KAAI,MAAM,MAAM;AACxC,cAAM,IAAI,aAAa,oFAAoF;AAAA,MAC5G;AACA,UAAI,QAAQ,aAAaA,KAAI;AAC7B,UAAI,oBAAoB,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI;AAEtD,UAAI,YAAY,iBAAiB,MAAM,oBAAoB,KAAK,YAAY;AAC5E,UAAI,oBAAoB,UAAU;AAClC,UAAI,QAAQ,UAAU;AACtB,UAAI,qBAAqB;AAEzB,UAAI,QAAQ,UAAU;AACtB,UAAI,OAAO;AACV,4BAAoB,MAAM,CAAC;AAC3B,qBAAa,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAAA,MAC3C;AAEA,eAASC,KAAI,GAAG,QAAQ,MAAMA,KAAI,MAAM,QAAQA,MAAK,GAAG;AACvD,YAAI,OAAO,MAAMA,EAAC;AAClB,YAAI,QAAQ,UAAU,MAAM,GAAG,CAAC;AAChC,YAAI,OAAO,UAAU,MAAM,EAAE;AAC7B,aAEG,UAAU,OAAO,UAAU,OAAO,UAAU,QACzC,SAAS,OAAO,SAAS,OAAO,SAAS,SAE3C,UAAU,MACZ;AACD,gBAAM,IAAI,aAAa,sDAAsD;AAAA,QAC9E;AACA,YAAI,SAAS,iBAAiB,CAAC,OAAO;AACrC,+BAAqB;AAAA,QACtB;AAEA,6BAAqB,MAAM;AAC3B,4BAAoB,MAAM,oBAAoB;AAE9C,YAAI,OAAO,YAAY,iBAAiB,GAAG;AAC1C,kBAAQ,WAAW,iBAAiB;AAAA,QACrC,WAAW,SAAS,MAAM;AACzB,cAAI,EAAE,QAAQ,QAAQ;AACrB,gBAAI,CAAC,cAAc;AAClB,oBAAM,IAAI,WAAW,wBAAwBD,QAAO,6CAA6C;AAAA,YAClG;AACA,mBAAO;AAAA,UACR;AACA,cAAI,SAAUC,KAAI,KAAM,MAAM,QAAQ;AACrC,gBAAI,OAAO,MAAM,OAAO,IAAI;AAC5B,oBAAQ,CAAC,CAAC;AASV,gBAAI,SAAS,SAAS,QAAQ,EAAE,mBAAmB,KAAK,MAAM;AAC7D,sBAAQ,KAAK;AAAA,YACd,OAAO;AACN,sBAAQ,MAAM,IAAI;AAAA,YACnB;AAAA,UACD,OAAO;AACN,oBAAQ,OAAO,OAAO,IAAI;AAC1B,oBAAQ,MAAM,IAAI;AAAA,UACnB;AAEA,cAAI,SAAS,CAAC,oBAAoB;AACjC,uBAAW,iBAAiB,IAAI;AAAA,UACjC;AAAA,QACD;AAAA,MACD;AACA,aAAO;AAAA,IACR;AAAA;AAAA;;;AC9VA;AAAA,mDAAAiB,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,eAAe;AAEnB,QAAI,kBAAkB,aAAa,2BAA2B,IAAI;AAElE,QAAI,yBAAyB,SAAS2B,0BAAyB;AAC9D,UAAI,iBAAiB;AACpB,YAAI;AACH,0BAAgB,CAAC,GAAG,KAAK,EAAE,OAAO,EAAE,CAAC;AACrC,iBAAO;AAAA,QACR,SAASxB,IAAP;AAED,iBAAO;AAAA,QACR;AAAA,MACD;AACA,aAAO;AAAA,IACR;AAEA,2BAAuB,0BAA0B,SAAS,0BAA0B;AAEnF,UAAI,CAAC,uBAAuB,GAAG;AAC9B,eAAO;AAAA,MACR;AACA,UAAI;AACH,eAAO,gBAAgB,CAAC,GAAG,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW;AAAA,MAC/D,SAASA,IAAP;AAED,eAAO;AAAA,MACR;AAAA,IACD;AAEA,WAAO,UAAU;AAAA;AAAA;;;AChCjB;AAAA,4CAAAY,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,OAAO;AACX,QAAI,aAAa,OAAO,WAAW,cAAc,OAAO,OAAO,KAAK,MAAM;AAE1E,QAAI,QAAQ,OAAO,UAAU;AAC7B,QAAI,SAAS,MAAM,UAAU;AAC7B,QAAI,qBAAqB,OAAO;AAEhC,QAAIkB,cAAa,SAAU,IAAI;AAC9B,aAAO,OAAO,OAAO,cAAc,MAAM,KAAK,EAAE,MAAM;AAAA,IACvD;AAEA,QAAI,yBAAyB,mCAAoC;AAEjE,QAAI,sBAAsB,sBAAsB;AAEhD,QAAI,iBAAiB,SAAU,QAAQrB,OAAM,OAAO,WAAW;AAC9D,UAAIA,SAAQ,QAAQ;AACnB,YAAI,cAAc,MAAM;AACvB,cAAI,OAAOA,KAAI,MAAM,OAAO;AAC3B;AAAA,UACD;AAAA,QACD,WAAW,CAACqB,YAAW,SAAS,KAAK,CAAC,UAAU,GAAG;AAClD;AAAA,QACD;AAAA,MACD;AACA,UAAI,qBAAqB;AACxB,2BAAmB,QAAQrB,OAAM;AAAA,UAChC,cAAc;AAAA,UACd,YAAY;AAAA,UACZ;AAAA,UACA,UAAU;AAAA,QACX,CAAC;AAAA,MACF,OAAO;AACN,eAAOA,KAAI,IAAI;AAAA,MAChB;AAAA,IACD;AAEA,QAAI,mBAAmB,SAAU,QAAQ,KAAK;AAC7C,UAAI+B,cAAa,UAAU,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC;AACxD,UAAI,QAAQ,KAAK,GAAG;AACpB,UAAI,YAAY;AACf,gBAAQ,OAAO,KAAK,OAAO,OAAO,sBAAsB,GAAG,CAAC;AAAA,MAC7D;AACA,eAAS9B,KAAI,GAAGA,KAAI,MAAM,QAAQA,MAAK,GAAG;AACzC,uBAAe,QAAQ,MAAMA,EAAC,GAAG,IAAI,MAAMA,EAAC,CAAC,GAAG8B,YAAW,MAAM9B,EAAC,CAAC,CAAC;AAAA,MACrE;AAAA,IACD;AAEA,qBAAiB,sBAAsB,CAAC,CAAC;AAEzC,WAAO,UAAU;AAAA;AAAA;;;ACpDjB;AAAA,oCAAAiB,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAIqB,QAAO;AACX,QAAI,eAAe;AAEnB,QAAI,SAAS,aAAa,4BAA4B;AACtD,QAAI,QAAQ,aAAa,2BAA2B;AACpD,QAAI,gBAAgB,aAAa,mBAAmB,IAAI,KAAKA,MAAK,KAAK,OAAO,MAAM;AAEpF,QAAI,QAAQ,aAAa,qCAAqC,IAAI;AAClE,QAAI,kBAAkB,aAAa,2BAA2B,IAAI;AAClE,QAAI,OAAO,aAAa,YAAY;AAEpC,QAAI,iBAAiB;AACpB,UAAI;AACH,wBAAgB,CAAC,GAAG,KAAK,EAAE,OAAO,EAAE,CAAC;AAAA,MACtC,SAASlB,IAAP;AAED,0BAAkB;AAAA,MACnB;AAAA,IACD;AAEA,WAAO,UAAU,SAAS,SAAS,kBAAkB;AACpD,UAAI,OAAO,cAAckB,OAAM,OAAO,SAAS;AAC/C,UAAI,SAAS,iBAAiB;AAC7B,YAAI,OAAO,MAAM,MAAM,QAAQ;AAC/B,YAAI,KAAK,cAAc;AAEtB;AAAA,YACC;AAAA,YACA;AAAA,YACA,EAAE,OAAO,IAAI,KAAK,GAAG,iBAAiB,UAAU,UAAU,SAAS,EAAE,EAAE;AAAA,UACxE;AAAA,QACD;AAAA,MACD;AACA,aAAO;AAAA,IACR;AAEA,QAAI,YAAY,SAASQ,aAAY;AACpC,aAAO,cAAcR,OAAM,QAAQ,SAAS;AAAA,IAC7C;AAEA,QAAI,iBAAiB;AACpB,sBAAgB,OAAO,SAAS,SAAS,EAAE,OAAO,UAAU,CAAC;AAAA,IAC9D,OAAO;AACN,aAAO,QAAQ,QAAQ;AAAA,IACxB;AAAA;AAAA;;;AC9CA;AAAA,wCAAAN,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,eAAe;AAEnB,QAAI,WAAW;AAEf,QAAI,WAAW,SAAS,aAAa,0BAA0B,CAAC;AAEhE,WAAO,UAAU,SAAS,mBAAmBH,OAAM,cAAc;AAChE,UAAI,YAAY,aAAaA,OAAM,CAAC,CAAC,YAAY;AACjD,UAAI,OAAO,cAAc,cAAc,SAASA,OAAM,aAAa,IAAI,IAAI;AAC1E,eAAO,SAAS,SAAS;AAAA,MAC1B;AACA,aAAO;AAAA,IACR;AAAA;AAAA;;;ACdA,IAAAuB,0BAAA;AAAA,iDAAAL,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAGA,QAAI,aAAa;AACjB,QAAI,aAAa,gBAA6B;AAC9C,QAAI,YAAY;AAChB,QAAI,WAAW;AACf,QAAI,QAAQ,UAAU,sBAAsB;AAC5C,QAAI,oBAAoB,UAAU,uCAAuC;AACzE,QAAI,qBAAqB,aAAa,OAAO,wBAAwB;AAGrE,WAAO,UAAU,SAAS,OAAO,QAAQ,SAAS;AACjD,UAAI,UAAU,MAAM;AAAE,cAAM,IAAI,UAAU,0BAA0B;AAAA,MAAG;AACvE,UAAI,KAAK,SAAS,MAAM;AACxB,UAAI,UAAU,WAAW,GAAG;AAC3B,eAAO;AAAA,MACR;AACA,eAASI,KAAI,GAAGA,KAAI,UAAU,QAAQ,EAAEA,IAAG;AAC1C,YAAI,OAAO,SAAS,UAAUA,EAAC,CAAC;AAGhC,YAAI,OAAO,WAAW,IAAI;AAC1B,YAAI,aAAa,eAAe,OAAO,yBAAyB;AAChE,YAAI,YAAY;AACf,cAAI,OAAO,WAAW,IAAI;AAC1B,mBAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,EAAE,GAAG;AACrC,gBAAI,MAAM,KAAK,CAAC;AAChB,gBAAI,kBAAkB,MAAM,GAAG,GAAG;AACjC,oBAAM,MAAM,GAAG;AAAA,YAChB;AAAA,UACD;AAAA,QACD;AAGA,iBAASN,KAAI,GAAGA,KAAI,KAAK,QAAQ,EAAEA,IAAG;AACrC,cAAI,UAAU,KAAKA,EAAC;AACpB,cAAI,kBAAkB,MAAM,OAAO,GAAG;AACrC,gBAAI,YAAY,KAAK,OAAO;AAC5B,eAAG,OAAO,IAAI;AAAA,UACf;AAAA,QACD;AAAA,MACD;AAEA,aAAO;AAAA,IACR;AAAA;AAAA;;;AC7CA;AAAA,2CAAAiB,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,iBAAiB;AAErB,QAAI,8BAA8B,WAAY;AAC7C,UAAI,CAAC,OAAO,QAAQ;AACnB,eAAO;AAAA,MACR;AAKA,UAAI,MAAM;AACV,UAAI,UAAU,IAAI,MAAM,EAAE;AAC1B,UAAI,MAAM,CAAC;AACX,eAASF,KAAI,GAAGA,KAAI,QAAQ,QAAQ,EAAEA,IAAG;AACxC,YAAI,QAAQA,EAAC,CAAC,IAAI,QAAQA,EAAC;AAAA,MAC5B;AACA,UAAI,MAAM,OAAO,OAAO,CAAC,GAAG,GAAG;AAC/B,UAAI,SAAS;AACb,eAAS,KAAK,KAAK;AAClB,kBAAU;AAAA,MACX;AACA,aAAO,QAAQ;AAAA,IAChB;AAEA,QAAI,6BAA6B,WAAY;AAC5C,UAAI,CAAC,OAAO,UAAU,CAAC,OAAO,mBAAmB;AAChD,eAAO;AAAA,MACR;AAKA,UAAI,UAAU,OAAO,kBAAkB,EAAE,GAAG,EAAE,CAAC;AAC/C,UAAI;AACH,eAAO,OAAO,SAAS,IAAI;AAAA,MAC5B,SAASK,IAAP;AACD,eAAO,QAAQ,CAAC,MAAM;AAAA,MACvB;AACA,aAAO;AAAA,IACR;AAEA,WAAO,UAAU,SAAS,cAAc;AACvC,UAAI,CAAC,OAAO,QAAQ;AACnB,eAAO;AAAA,MACR;AACA,UAAI,4BAA4B,GAAG;AAClC,eAAO;AAAA,MACR;AACA,UAAI,2BAA2B,GAAG;AACjC,eAAO;AAAA,MACR;AACA,aAAO,OAAO;AAAA,IACf;AAAA;AAAA;;;ACtDA;AAAA,uCAAAY,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI8B,UAAS;AACb,QAAI,cAAc;AAElB,WAAO,UAAU,SAAS,aAAa;AACtC,UAAI,WAAW,YAAY;AAC3B,MAAAA;AAAA,QACC;AAAA,QACA,EAAE,QAAQ,SAAS;AAAA,QACnB,EAAE,QAAQ,WAAY;AAAE,iBAAO,OAAO,WAAW;AAAA,QAAU,EAAE;AAAA,MAC9D;AACA,aAAO;AAAA,IACR;AAAA;AAAA;;;ACbA;AAAA,wCAAAf,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,mBAAmB;AACvB,QAAI,WAAW;AAEf,QAAI,iBAAiB;AACrB,QAAI,cAAc;AAClB,QAAI,OAAO;AAEX,QAAI,WAAW,SAAS,MAAM,YAAY,CAAC;AAE3C,QAAI,QAAQ,SAAS,OAAO,QAAQ,SAAS;AAC5C,aAAO,SAAS,QAAQ,SAAS;AAAA,IAClC;AAEA,qBAAiB,OAAO;AAAA,MACvB;AAAA,MACA;AAAA,MACA;AAAA,IACD,CAAC;AAED,WAAO,UAAU;AAAA;AAAA;;;ACrBjB;AAAA,+CAAAe,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,qBAAqB,SAAS+B,sBAAqB;AACtD,aAAO,OAAO,SAASC,KAAI;AAAA,MAAC,EAAE,SAAS;AAAA,IACxC;AAEA,QAAI,OAAO,OAAO;AAClB,QAAI,MAAM;AACT,UAAI;AACH,aAAK,CAAC,GAAG,QAAQ;AAAA,MAClB,SAAS7B,IAAP;AAED,eAAO;AAAA,MACR;AAAA,IACD;AAEA,uBAAmB,iCAAiC,SAAS,iCAAiC;AAC7F,UAAI,CAAC,mBAAmB,KAAK,CAAC,MAAM;AACnC,eAAO;AAAA,MACR;AACA,UAAI,OAAO,KAAK,WAAY;AAAA,MAAC,GAAG,MAAM;AACtC,aAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK;AAAA,IACzB;AAEA,QAAI,QAAQ,SAAS,UAAU;AAE/B,uBAAmB,0BAA0B,SAAS,0BAA0B;AAC/E,aAAO,mBAAmB,KAAK,OAAO,UAAU,cAAc,SAAS6B,KAAI;AAAA,MAAC,EAAE,KAAK,EAAE,SAAS;AAAA,IAC/F;AAEA,WAAO,UAAU;AAAA;AAAA;;;AC9BjB,IAAAZ,0BAAA;AAAA,0DAAAL,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,iCAAiC,+BAAgC,+BAA+B;AAEpG,QAAI,UAAU;AACd,QAAI,aAAa;AAEjB,WAAO,UAAU,SAAS,QAAQ;AACjC,UAAI,QAAQ,QAAQ,SAAS,QAAQ,IAAI,GAAG;AAC3C,cAAM,IAAI,WAAW,oDAAoD;AAAA,MAC1E;AACA,UAAI,SAAS;AACb,UAAI,KAAK,YAAY;AACpB,kBAAU;AAAA,MACX;AACA,UAAI,KAAK,QAAQ;AAChB,kBAAU;AAAA,MACX;AACA,UAAI,KAAK,YAAY;AACpB,kBAAU;AAAA,MACX;AACA,UAAI,KAAK,WAAW;AACnB,kBAAU;AAAA,MACX;AACA,UAAI,KAAK,QAAQ;AAChB,kBAAU;AAAA,MACX;AACA,UAAI,KAAK,SAAS;AACjB,kBAAU;AAAA,MACX;AACA,UAAI,KAAK,aAAa;AACrB,kBAAU;AAAA,MACX;AACA,UAAI,KAAK,QAAQ;AAChB,kBAAU;AAAA,MACX;AACA,aAAO;AAAA,IACR;AAEA,QAAI,kCAAkC,OAAO,gBAAgB;AAC5D,aAAO,eAAe,OAAO,SAAS,QAAQ,EAAE,OAAO,YAAY,CAAC;AAAA,IACrE;AAAA;AAAA;;;ACzCA,IAAAiC,oBAAA;AAAA,oDAAAlB,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,iBAAiB;AAErB,QAAI,sBAAsB,4BAA6B;AACvD,QAAI,QAAQ,OAAO;AAEnB,WAAO,UAAU,SAAS,cAAc;AACvC,UAAI,uBAAwB,OAAQ,UAAU,OAAO;AACpD,YAAI,aAAa,MAAM,OAAO,WAAW,OAAO;AAChD,YACC,cACG,OAAO,WAAW,QAAQ,cAC1B,OAAO,OAAO,UAAU,WAAW,aACnC,OAAO,OAAO,UAAU,eAAe,WACzC;AAED,cAAI,QAAQ;AACZ,cAAIgB,KAAI,CAAC;AACT,iBAAO,eAAeA,IAAG,cAAc;AAAA,YACtC,KAAK,WAAY;AAChB,uBAAS;AAAA,YACV;AAAA,UACD,CAAC;AACD,iBAAO,eAAeA,IAAG,UAAU;AAAA,YAClC,KAAK,WAAY;AAChB,uBAAS;AAAA,YACV;AAAA,UACD,CAAC;AACD,cAAI,UAAU,MAAM;AACnB,mBAAO,WAAW;AAAA,UACnB;AAAA,QACD;AAAA,MACD;AACA,aAAO;AAAA,IACR;AAAA;AAAA;;;ACnCA,IAAAkB,gBAAA;AAAA,gDAAAnB,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,sBAAsB,4BAA6B;AACvD,QAAI,cAAc;AAClB,QAAI,OAAO,OAAO;AAClB,QAAI,iBAAiB,OAAO;AAC5B,QAAI,UAAU;AACd,QAAI,WAAW,OAAO;AACtB,QAAI,QAAQ;AAEZ,WAAO,UAAU,SAAS,YAAY;AACrC,UAAI,CAAC,uBAAuB,CAAC,UAAU;AACtC,cAAM,IAAI,QAAQ,2FAA2F;AAAA,MAC9G;AACA,UAAI,WAAW,YAAY;AAC3B,UAAI,QAAQ,SAAS,KAAK;AAC1B,UAAI,aAAa,KAAK,OAAO,OAAO;AACpC,UAAI,CAAC,cAAc,WAAW,QAAQ,UAAU;AAC/C,uBAAe,OAAO,SAAS;AAAA,UAC9B,cAAc;AAAA,UACd,YAAY;AAAA,UACZ,KAAK;AAAA,QACN,CAAC;AAAA,MACF;AACA,aAAO;AAAA,IACR;AAAA;AAAA;;;ACzBA;AAAA,iDAAAe,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI8B,UAAS;AACb,QAAI,WAAW;AAEf,QAAI,iBAAiB;AACrB,QAAI,cAAc;AAClB,QAAI,OAAO;AAEX,QAAI,aAAa,SAAS,YAAY,CAAC;AAEvC,IAAAA,QAAO,YAAY;AAAA,MAClB;AAAA,MACA;AAAA,MACA;AAAA,IACD,CAAC;AAED,WAAO,UAAU;AAAA;AAAA;;;ACjBjB,IAAAK,iBAAA;AAAA,0CAAApB,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,aAAa;AAEjB,WAAO,UAAU,SAAS,sBAAsB;AAC/C,aAAO,WAAW,KAAK,CAAC,CAAC,OAAO;AAAA,IACjC;AAAA;AAAA;;;ACNA;AAAA,uCAAAe,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,iBAAiB,iBAAiC;AACtD,QAAI,YAAY;AAEhB,QAAI,YAAY,UAAU,2BAA2B;AAErD,QAAI,sBAAsB,SAAS,YAAY,OAAO;AACrD,UAAI,kBAAkB,SAAS,OAAO,UAAU,YAAY,OAAO,eAAe,OAAO;AACxF,eAAO;AAAA,MACR;AACA,aAAO,UAAU,KAAK,MAAM;AAAA,IAC7B;AAEA,QAAI,oBAAoB,SAAS,YAAY,OAAO;AACnD,UAAI,oBAAoB,KAAK,GAAG;AAC/B,eAAO;AAAA,MACR;AACA,aAAO,UAAU,QAChB,OAAO,UAAU,YACjB,OAAO,MAAM,WAAW,YACxB,MAAM,UAAU,KAChB,UAAU,KAAK,MAAM,oBACrB,UAAU,MAAM,MAAM,MAAM;AAAA,IAC9B;AAEA,QAAI,4BAA6B,WAAY;AAC5C,aAAO,oBAAoB,SAAS;AAAA,IACrC,EAAE;AAEF,wBAAoB,oBAAoB;AAExC,WAAO,UAAU,4BAA4B,sBAAsB;AAAA;AAAA;;;;;;;;;;;;;;AChCnE;AAAA,yCAAAe,UAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAAA,QAAI,SAAS,OAAO,QAAQ,cAAc,IAAI;AAC9C,QAAI,oBAAoB,OAAO,4BAA4B,SAAS,OAAO,yBAAyB,IAAI,WAAW,MAAM,IAAI;AAC7H,QAAI,UAAU,UAAU,qBAAqB,OAAO,kBAAkB,QAAQ,aAAa,kBAAkB,MAAM;AACnH,QAAI,aAAa,UAAU,IAAI,UAAU;AACzC,QAAI,SAAS,OAAO,QAAQ,cAAc,IAAI;AAC9C,QAAI,oBAAoB,OAAO,4BAA4B,SAAS,OAAO,yBAAyB,IAAI,WAAW,MAAM,IAAI;AAC7H,QAAI,UAAU,UAAU,qBAAqB,OAAO,kBAAkB,QAAQ,aAAa,kBAAkB,MAAM;AACnH,QAAI,aAAa,UAAU,IAAI,UAAU;AACzC,QAAI,aAAa,OAAO,YAAY,cAAc,QAAQ;AAC1D,QAAI,aAAa,aAAa,QAAQ,UAAU,MAAM;AACtD,QAAI,aAAa,OAAO,YAAY,cAAc,QAAQ;AAC1D,QAAI,aAAa,aAAa,QAAQ,UAAU,MAAM;AACtD,QAAI,aAAa,OAAO,YAAY,cAAc,QAAQ;AAC1D,QAAI,eAAe,aAAa,QAAQ,UAAU,QAAQ;AAC1D,QAAI,iBAAiB,QAAQ,UAAU;AACvC,QAAI,iBAAiB,OAAO,UAAU;AACtC,QAAI,mBAAmB,SAAS,UAAU;AAC1C,QAAI,SAAS,OAAO,UAAU;AAC9B,QAAI,SAAS,OAAO,UAAU;AAC9B,QAAI,WAAW,OAAO,UAAU;AAChC,QAAI,eAAe,OAAO,UAAU;AACpC,QAAI,eAAe,OAAO,UAAU;AACpC,QAAI,QAAQ,OAAO,UAAU;AAC7B,QAAI,UAAU,MAAM,UAAU;AAC9B,QAAI,QAAQ,MAAM,UAAU;AAC5B,QAAI,YAAY,MAAM,UAAU;AAChC,QAAI,SAAS,KAAK;AAClB,QAAI,gBAAgB,OAAO,WAAW,aAAa,OAAO,UAAU,UAAU;AAC9E,QAAI,OAAO,OAAO;AAClB,QAAI,cAAc,OAAO,WAAW,cAAc,OAAO,OAAO,aAAa,WAAW,OAAO,UAAU,WAAW;AACpH,QAAI,oBAAoB,OAAO,WAAW,cAAc,OAAO,OAAO,aAAa;AAEnF,QAAI,cAAc,OAAO,WAAW,cAAc,OAAO,gBAAgB,OAAO,OAAO,gBAAgB,oBAAoB,WAAW,YAChI,OAAO,cACP;AACN,QAAI,eAAe,OAAO,UAAU;AAEpC,QAAI,OAAO,OAAO,YAAY,aAAa,QAAQ,iBAAiB,OAAO,oBACvE,CAAC,EAAE,cAAc,MAAM,YACjB,SAAU,GAAG;AACX,aAAO,EAAE;AAAA,IACb,IACE;AAGV,aAAS,oBAAoB,KAAK,KAAK;AACnC,UACI,QAAQ,YACL,QAAQ,aACR,QAAQ,OACP,OAAO,MAAM,QAAS,MAAM,OAC7B,MAAM,KAAK,KAAK,GAAG,GACxB;AACE,eAAO;AAAA,MACX;AACA,UAAI,WAAW;AACf,UAAI,OAAO,QAAQ,UAAU;AACzB,YAAI,MAAM,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,GAAG;AAC9C,YAAI,QAAQ,KAAK;AACb,cAAI,SAAS,OAAO,GAAG;AACvB,cAAI,MAAM,OAAO,KAAK,KAAK,OAAO,SAAS,CAAC;AAC5C,iBAAO,SAAS,KAAK,QAAQ,UAAU,KAAK,IAAI,MAAM,SAAS,KAAK,SAAS,KAAK,KAAK,eAAe,KAAK,GAAG,MAAM,EAAE;AAAA,QAC1H;AAAA,MACJ;AACA,aAAO,SAAS,KAAK,KAAK,UAAU,KAAK;AAAA,IAC7C;AAEA,QAAI,cAAc;AAClB,QAAI,gBAAgB,YAAY;AAChC,QAAI,gBAAgB,SAAS,aAAa,IAAI,gBAAgB;AAE9D,WAAO,UAAU,SAAS,SAAS,KAAK,SAAS,OAAO,MAAM;AAC1D,UAAI,OAAO,WAAW,CAAC;AAEvB,UAAI,IAAI,MAAM,YAAY,MAAM,KAAK,eAAe,YAAY,KAAK,eAAe,WAAW;AAC3F,cAAM,IAAI,UAAU,kDAAkD;AAAA,MAC1E;AACA,UACI,IAAI,MAAM,iBAAiB,MAAM,OAAO,KAAK,oBAAoB,WAC3D,KAAK,kBAAkB,KAAK,KAAK,oBAAoB,WACrD,KAAK,oBAAoB,OAEjC;AACE,cAAM,IAAI,UAAU,wFAAwF;AAAA,MAChH;AACA,UAAI,gBAAgB,IAAI,MAAM,eAAe,IAAI,KAAK,gBAAgB;AACtE,UAAI,OAAO,kBAAkB,aAAa,kBAAkB,UAAU;AAClE,cAAM,IAAI,UAAU,+EAA+E;AAAA,MACvG;AAEA,UACI,IAAI,MAAM,QAAQ,KACf,KAAK,WAAW,QAChB,KAAK,WAAW,OAChB,EAAE,SAAS,KAAK,QAAQ,EAAE,MAAM,KAAK,UAAU,KAAK,SAAS,IAClE;AACE,cAAM,IAAI,UAAU,0DAA0D;AAAA,MAClF;AACA,UAAI,IAAI,MAAM,kBAAkB,KAAK,OAAO,KAAK,qBAAqB,WAAW;AAC7E,cAAM,IAAI,UAAU,mEAAmE;AAAA,MAC3F;AACA,UAAI,mBAAmB,KAAK;AAE5B,UAAI,OAAO,QAAQ,aAAa;AAC5B,eAAO;AAAA,MACX;AACA,UAAI,QAAQ,MAAM;AACd,eAAO;AAAA,MACX;AACA,UAAI,OAAO,QAAQ,WAAW;AAC1B,eAAO,MAAM,SAAS;AAAA,MAC1B;AAEA,UAAI,OAAO,QAAQ,UAAU;AACzB,eAAO,cAAc,KAAK,IAAI;AAAA,MAClC;AACA,UAAI,OAAO,QAAQ,UAAU;AACzB,YAAI,QAAQ,GAAG;AACX,iBAAO,WAAW,MAAM,IAAI,MAAM;AAAA,QACtC;AACA,YAAI,MAAM,OAAO,GAAG;AACpB,eAAO,mBAAmB,oBAAoB,KAAK,GAAG,IAAI;AAAA,MAC9D;AACA,UAAI,OAAO,QAAQ,UAAU;AACzB,YAAI,YAAY,OAAO,GAAG,IAAI;AAC9B,eAAO,mBAAmB,oBAAoB,KAAK,SAAS,IAAI;AAAA,MACpE;AAEA,UAAI,WAAW,OAAO,KAAK,UAAU,cAAc,IAAI,KAAK;AAC5D,UAAI,OAAO,UAAU,aAAa;AAAE,gBAAQ;AAAA,MAAG;AAC/C,UAAI,SAAS,YAAY,WAAW,KAAK,OAAO,QAAQ,UAAU;AAC9D,eAAOoC,SAAQ,GAAG,IAAI,YAAY;AAAA,MACtC;AAEA,UAAI,SAAS,UAAU,MAAM,KAAK;AAElC,UAAI,OAAO,SAAS,aAAa;AAC7B,eAAO,CAAC;AAAA,MACZ,WAAW,QAAQ,MAAM,GAAG,KAAK,GAAG;AAChC,eAAO;AAAA,MACX;AAEA,eAAS,QAAQ,OAAO,MAAM,UAAU;AACpC,YAAI,MAAM;AACN,iBAAO,UAAU,KAAK,IAAI;AAC1B,eAAK,KAAK,IAAI;AAAA,QAClB;AACA,YAAI,UAAU;AACV,cAAI,UAAU;AAAA,YACV,OAAO,KAAK;AAAA,UAChB;AACA,cAAI,IAAI,MAAM,YAAY,GAAG;AACzB,oBAAQ,aAAa,KAAK;AAAA,UAC9B;AACA,iBAAO,SAAS,OAAO,SAAS,QAAQ,GAAG,IAAI;AAAA,QACnD;AACA,eAAO,SAAS,OAAO,MAAM,QAAQ,GAAG,IAAI;AAAA,MAChD;AAEA,UAAI,OAAO,QAAQ,cAAc,CAACC,UAAS,GAAG,GAAG;AAC7C,YAAIxC,QAAO,OAAO,GAAG;AACrB,YAAI,OAAO,WAAW,KAAK,OAAO;AAClC,eAAO,eAAeA,QAAO,OAAOA,QAAO,kBAAkB,OAAO,KAAK,SAAS,IAAI,QAAQ,MAAM,KAAK,MAAM,IAAI,IAAI,OAAO;AAAA,MAClI;AACA,UAAI,SAAS,GAAG,GAAG;AACf,YAAI,YAAY,oBAAoB,SAAS,KAAK,OAAO,GAAG,GAAG,0BAA0B,IAAI,IAAI,YAAY,KAAK,GAAG;AACrH,eAAO,OAAO,QAAQ,YAAY,CAAC,oBAAoB,UAAU,SAAS,IAAI;AAAA,MAClF;AACA,UAAI,UAAU,GAAG,GAAG;AAChB,YAAIO,KAAI,MAAM,aAAa,KAAK,OAAO,IAAI,QAAQ,CAAC;AACpD,YAAI,QAAQ,IAAI,cAAc,CAAC;AAC/B,iBAASN,KAAI,GAAGA,KAAI,MAAM,QAAQA,MAAK;AACnC,UAAAM,MAAK,MAAM,MAAMN,EAAC,EAAE,OAAO,MAAM,WAAW,MAAM,MAAMA,EAAC,EAAE,KAAK,GAAG,UAAU,IAAI;AAAA,QACrF;AACA,QAAAM,MAAK;AACL,YAAI,IAAI,cAAc,IAAI,WAAW,QAAQ;AAAE,UAAAA,MAAK;AAAA,QAAO;AAC3D,QAAAA,MAAK,OAAO,aAAa,KAAK,OAAO,IAAI,QAAQ,CAAC,IAAI;AACtD,eAAOA;AAAA,MACX;AACA,UAAIgC,SAAQ,GAAG,GAAG;AACd,YAAI,IAAI,WAAW,GAAG;AAAE,iBAAO;AAAA,QAAM;AACrC,YAAI,KAAK,WAAW,KAAK,OAAO;AAChC,YAAI,UAAU,CAAC,iBAAiB,EAAE,GAAG;AACjC,iBAAO,MAAM,aAAa,IAAI,MAAM,IAAI;AAAA,QAC5C;AACA,eAAO,OAAO,MAAM,KAAK,IAAI,IAAI,IAAI;AAAA,MACzC;AACA,UAAI,QAAQ,GAAG,GAAG;AACd,YAAI,QAAQ,WAAW,KAAK,OAAO;AACnC,YAAI,EAAE,WAAW,MAAM,cAAc,WAAW,OAAO,CAAC,aAAa,KAAK,KAAK,OAAO,GAAG;AACrF,iBAAO,QAAQ,OAAO,GAAG,IAAI,OAAO,MAAM,KAAK,QAAQ,KAAK,cAAc,QAAQ,IAAI,KAAK,GAAG,KAAK,GAAG,IAAI,IAAI;AAAA,QAClH;AACA,YAAI,MAAM,WAAW,GAAG;AAAE,iBAAO,MAAM,OAAO,GAAG,IAAI;AAAA,QAAK;AAC1D,eAAO,QAAQ,OAAO,GAAG,IAAI,OAAO,MAAM,KAAK,OAAO,IAAI,IAAI;AAAA,MAClE;AACA,UAAI,OAAO,QAAQ,YAAY,eAAe;AAC1C,YAAI,iBAAiB,OAAO,IAAI,aAAa,MAAM,cAAc,aAAa;AAC1E,iBAAO,YAAY,KAAK,EAAE,OAAO,WAAW,MAAM,CAAC;AAAA,QACvD,WAAW,kBAAkB,YAAY,OAAO,IAAI,YAAY,YAAY;AACxE,iBAAO,IAAI,QAAQ;AAAA,QACvB;AAAA,MACJ;AACA,UAAI,MAAM,GAAG,GAAG;AACZ,YAAI,WAAW,CAAC;AAChB,YAAI,YAAY;AACZ,qBAAW,KAAK,KAAK,SAAU,OAAO,KAAK;AACvC,qBAAS,KAAK,QAAQ,KAAK,KAAK,IAAI,IAAI,SAAS,QAAQ,OAAO,GAAG,CAAC;AAAA,UACxE,CAAC;AAAA,QACL;AACA,eAAO,aAAa,OAAO,QAAQ,KAAK,GAAG,GAAG,UAAU,MAAM;AAAA,MAClE;AACA,UAAI,MAAM,GAAG,GAAG;AACZ,YAAI,WAAW,CAAC;AAChB,YAAI,YAAY;AACZ,qBAAW,KAAK,KAAK,SAAU,OAAO;AAClC,qBAAS,KAAK,QAAQ,OAAO,GAAG,CAAC;AAAA,UACrC,CAAC;AAAA,QACL;AACA,eAAO,aAAa,OAAO,QAAQ,KAAK,GAAG,GAAG,UAAU,MAAM;AAAA,MAClE;AACA,UAAI,UAAU,GAAG,GAAG;AAChB,eAAO,iBAAiB,SAAS;AAAA,MACrC;AACA,UAAI,UAAU,GAAG,GAAG;AAChB,eAAO,iBAAiB,SAAS;AAAA,MACrC;AACA,UAAI,UAAU,GAAG,GAAG;AAChB,eAAO,iBAAiB,SAAS;AAAA,MACrC;AACA,UAAIE,UAAS,GAAG,GAAG;AACf,eAAO,UAAU,QAAQ,OAAO,GAAG,CAAC,CAAC;AAAA,MACzC;AACA,UAAI,SAAS,GAAG,GAAG;AACf,eAAO,UAAU,QAAQ,cAAc,KAAK,GAAG,CAAC,CAAC;AAAA,MACrD;AACA,UAAIC,WAAU,GAAG,GAAG;AAChB,eAAO,UAAU,eAAe,KAAK,GAAG,CAAC;AAAA,MAC7C;AACA,UAAIpB,UAAS,GAAG,GAAG;AACf,eAAO,UAAU,QAAQ,OAAO,GAAG,CAAC,CAAC;AAAA,MACzC;AACA,UAAI,CAACqB,QAAO,GAAG,KAAK,CAACH,UAAS,GAAG,GAAG;AAChC,YAAI,KAAK,WAAW,KAAK,OAAO;AAChC,YAAII,iBAAgB,MAAM,IAAI,GAAG,MAAM,OAAO,YAAY,eAAe,UAAU,IAAI,gBAAgB;AACvG,YAAI,WAAW,eAAe,SAAS,KAAK;AAC5C,YAAI,YAAY,CAACA,kBAAiB,eAAe,OAAO,GAAG,MAAM,OAAO,eAAe,MAAM,OAAO,KAAK,MAAM,GAAG,GAAG,GAAG,EAAE,IAAI,WAAW,WAAW;AACpJ,YAAI,iBAAiBA,kBAAiB,OAAO,IAAI,gBAAgB,aAAa,KAAK,IAAI,YAAY,OAAO,IAAI,YAAY,OAAO,MAAM;AACvI,YAAI,MAAM,kBAAkB,aAAa,WAAW,MAAM,MAAM,KAAK,QAAQ,KAAK,CAAC,GAAG,aAAa,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,IAAI,IAAI,OAAO;AACvI,YAAI,GAAG,WAAW,GAAG;AAAE,iBAAO,MAAM;AAAA,QAAM;AAC1C,YAAI,QAAQ;AACR,iBAAO,MAAM,MAAM,aAAa,IAAI,MAAM,IAAI;AAAA,QAClD;AACA,eAAO,MAAM,OAAO,MAAM,KAAK,IAAI,IAAI,IAAI;AAAA,MAC/C;AACA,aAAO,OAAO,GAAG;AAAA,IACrB;AAEA,aAAS,WAAWrC,IAAG,cAAc,MAAM;AACvC,UAAI,aAAa,KAAK,cAAc,kBAAkB,WAAW,MAAM;AACvE,aAAO,YAAYA,KAAI;AAAA,IAC3B;AAEA,aAAS,MAAMA,IAAG;AACd,aAAO,SAAS,KAAK,OAAOA,EAAC,GAAG,MAAM,QAAQ;AAAA,IAClD;AAEA,aAASgC,SAAQ,KAAK;AAAE,aAAO,MAAM,GAAG,MAAM,qBAAqB,CAAC,eAAe,EAAE,OAAO,QAAQ,YAAY,eAAe;AAAA,IAAO;AACtI,aAASI,QAAO,KAAK;AAAE,aAAO,MAAM,GAAG,MAAM,oBAAoB,CAAC,eAAe,EAAE,OAAO,QAAQ,YAAY,eAAe;AAAA,IAAO;AACpI,aAASH,UAAS,KAAK;AAAE,aAAO,MAAM,GAAG,MAAM,sBAAsB,CAAC,eAAe,EAAE,OAAO,QAAQ,YAAY,eAAe;AAAA,IAAO;AACxI,aAAS,QAAQ,KAAK;AAAE,aAAO,MAAM,GAAG,MAAM,qBAAqB,CAAC,eAAe,EAAE,OAAO,QAAQ,YAAY,eAAe;AAAA,IAAO;AACtI,aAASlB,UAAS,KAAK;AAAE,aAAO,MAAM,GAAG,MAAM,sBAAsB,CAAC,eAAe,EAAE,OAAO,QAAQ,YAAY,eAAe;AAAA,IAAO;AACxI,aAASmB,UAAS,KAAK;AAAE,aAAO,MAAM,GAAG,MAAM,sBAAsB,CAAC,eAAe,EAAE,OAAO,QAAQ,YAAY,eAAe;AAAA,IAAO;AACxI,aAASC,WAAU,KAAK;AAAE,aAAO,MAAM,GAAG,MAAM,uBAAuB,CAAC,eAAe,EAAE,OAAO,QAAQ,YAAY,eAAe;AAAA,IAAO;AAG1I,aAAS,SAAS,KAAK;AACnB,UAAI,mBAAmB;AACnB,eAAO,OAAO,OAAO,QAAQ,YAAY,eAAe;AAAA,MAC5D;AACA,UAAI,OAAO,QAAQ,UAAU;AACzB,eAAO;AAAA,MACX;AACA,UAAI,CAAC,OAAO,OAAO,QAAQ,YAAY,CAAC,aAAa;AACjD,eAAO;AAAA,MACX;AACA,UAAI;AACA,oBAAY,KAAK,GAAG;AACpB,eAAO;AAAA,MACX,SAASpC,IAAP;AAAA,MAAW;AACb,aAAO;AAAA,IACX;AAEA,aAAS,SAAS,KAAK;AACnB,UAAI,CAAC,OAAO,OAAO,QAAQ,YAAY,CAAC,eAAe;AACnD,eAAO;AAAA,MACX;AACA,UAAI;AACA,sBAAc,KAAK,GAAG;AACtB,eAAO;AAAA,MACX,SAASA,IAAP;AAAA,MAAW;AACb,aAAO;AAAA,IACX;AAEA,QAAI,SAAS,OAAO,UAAU,kBAAkB,SAAU,KAAK;AAAE,aAAO,OAAO;AAAA,IAAM;AACrF,aAAS,IAAI,KAAK,KAAK;AACnB,aAAO,OAAO,KAAK,KAAK,GAAG;AAAA,IAC/B;AAEA,aAAS,MAAM,KAAK;AAChB,aAAO,eAAe,KAAK,GAAG;AAAA,IAClC;AAEA,aAAS,OAAO6B,IAAG;AACf,UAAIA,GAAE,MAAM;AAAE,eAAOA,GAAE;AAAA,MAAM;AAC7B,UAAI,IAAI,OAAO,KAAK,iBAAiB,KAAKA,EAAC,GAAG,sBAAsB;AACpE,UAAI,GAAG;AAAE,eAAO,EAAE,CAAC;AAAA,MAAG;AACtB,aAAO;AAAA,IACX;AAEA,aAAS,QAAQ,IAAI,GAAG;AACpB,UAAI,GAAG,SAAS;AAAE,eAAO,GAAG,QAAQ,CAAC;AAAA,MAAG;AACxC,eAASlC,KAAI,GAAG4C,KAAI,GAAG,QAAQ5C,KAAI4C,IAAG5C,MAAK;AACvC,YAAI,GAAGA,EAAC,MAAM,GAAG;AAAE,iBAAOA;AAAA,QAAG;AAAA,MACjC;AACA,aAAO;AAAA,IACX;AAEA,aAAS,MAAM,GAAG;AACd,UAAI,CAAC,WAAW,CAAC,KAAK,OAAO,MAAM,UAAU;AACzC,eAAO;AAAA,MACX;AACA,UAAI;AACA,gBAAQ,KAAK,CAAC;AACd,YAAI;AACA,kBAAQ,KAAK,CAAC;AAAA,QAClB,SAASM,IAAP;AACE,iBAAO;AAAA,QACX;AACA,eAAO,aAAa;AAAA,MACxB,SAASD,IAAP;AAAA,MAAW;AACb,aAAO;AAAA,IACX;AAEA,aAAS,UAAU,GAAG;AAClB,UAAI,CAAC,cAAc,CAAC,KAAK,OAAO,MAAM,UAAU;AAC5C,eAAO;AAAA,MACX;AACA,UAAI;AACA,mBAAW,KAAK,GAAG,UAAU;AAC7B,YAAI;AACA,qBAAW,KAAK,GAAG,UAAU;AAAA,QACjC,SAASC,IAAP;AACE,iBAAO;AAAA,QACX;AACA,eAAO,aAAa;AAAA,MACxB,SAASD,IAAP;AAAA,MAAW;AACb,aAAO;AAAA,IACX;AAEA,aAAS,UAAU,GAAG;AAClB,UAAI,CAAC,gBAAgB,CAAC,KAAK,OAAO,MAAM,UAAU;AAC9C,eAAO;AAAA,MACX;AACA,UAAI;AACA,qBAAa,KAAK,CAAC;AACnB,eAAO;AAAA,MACX,SAASA,IAAP;AAAA,MAAW;AACb,aAAO;AAAA,IACX;AAEA,aAAS,MAAM,GAAG;AACd,UAAI,CAAC,WAAW,CAAC,KAAK,OAAO,MAAM,UAAU;AACzC,eAAO;AAAA,MACX;AACA,UAAI;AACA,gBAAQ,KAAK,CAAC;AACd,YAAI;AACA,kBAAQ,KAAK,CAAC;AAAA,QAClB,SAAS,GAAP;AACE,iBAAO;AAAA,QACX;AACA,eAAO,aAAa;AAAA,MACxB,SAASA,IAAP;AAAA,MAAW;AACb,aAAO;AAAA,IACX;AAEA,aAAS,UAAU,GAAG;AAClB,UAAI,CAAC,cAAc,CAAC,KAAK,OAAO,MAAM,UAAU;AAC5C,eAAO;AAAA,MACX;AACA,UAAI;AACA,mBAAW,KAAK,GAAG,UAAU;AAC7B,YAAI;AACA,qBAAW,KAAK,GAAG,UAAU;AAAA,QACjC,SAASC,IAAP;AACE,iBAAO;AAAA,QACX;AACA,eAAO,aAAa;AAAA,MACxB,SAASD,IAAP;AAAA,MAAW;AACb,aAAO;AAAA,IACX;AAEA,aAAS,UAAU,GAAG;AAClB,UAAI,CAAC,KAAK,OAAO,MAAM,UAAU;AAAE,eAAO;AAAA,MAAO;AACjD,UAAI,OAAO,gBAAgB,eAAe,aAAa,aAAa;AAChE,eAAO;AAAA,MACX;AACA,aAAO,OAAO,EAAE,aAAa,YAAY,OAAO,EAAE,iBAAiB;AAAA,IACvE;AAEA,aAAS,cAAc,KAAK,MAAM;AAC9B,UAAI,IAAI,SAAS,KAAK,iBAAiB;AACnC,YAAI,YAAY,IAAI,SAAS,KAAK;AAClC,YAAI,UAAU,SAAS,YAAY,qBAAqB,YAAY,IAAI,MAAM;AAC9E,eAAO,cAAc,OAAO,KAAK,KAAK,GAAG,KAAK,eAAe,GAAG,IAAI,IAAI;AAAA,MAC5E;AAEA,UAAIC,KAAI,SAAS,KAAK,SAAS,KAAK,KAAK,YAAY,MAAM,GAAG,gBAAgB,OAAO;AACrF,aAAO,WAAWA,IAAG,UAAU,IAAI;AAAA,IACvC;AAEA,aAAS,QAAQC,IAAG;AAChB,UAAIM,KAAIN,GAAE,WAAW,CAAC;AACtB,UAAI,IAAI;AAAA,QACJ,GAAG;AAAA,QACH,GAAG;AAAA,QACH,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MACR,EAAEM,EAAC;AACH,UAAI,GAAG;AAAE,eAAO,OAAO;AAAA,MAAG;AAC1B,aAAO,SAASA,KAAI,KAAO,MAAM,MAAM,aAAa,KAAKA,GAAE,SAAS,EAAE,CAAC;AAAA,IAC3E;AAEA,aAAS,UAAU,KAAK;AACpB,aAAO,YAAY,MAAM;AAAA,IAC7B;AAEA,aAAS,iBAAiB,MAAM;AAC5B,aAAO,OAAO;AAAA,IAClB;AAEA,aAAS,aAAa,MAAM,MAAM,SAAS,QAAQ;AAC/C,UAAI,gBAAgB,SAAS,aAAa,SAAS,MAAM,IAAI,MAAM,KAAK,SAAS,IAAI;AACrF,aAAO,OAAO,OAAO,OAAO,QAAQ,gBAAgB;AAAA,IACxD;AAEA,aAAS,iBAAiB,IAAI;AAC1B,eAASb,KAAI,GAAGA,KAAI,GAAG,QAAQA,MAAK;AAChC,YAAI,QAAQ,GAAGA,EAAC,GAAG,IAAI,KAAK,GAAG;AAC3B,iBAAO;AAAA,QACX;AAAA,MACJ;AACA,aAAO;AAAA,IACX;AAEA,aAAS,UAAU,MAAM,OAAO;AAC5B,UAAI;AACJ,UAAI,KAAK,WAAW,KAAM;AACtB,qBAAa;AAAA,MACjB,WAAW,OAAO,KAAK,WAAW,YAAY,KAAK,SAAS,GAAG;AAC3D,qBAAa,MAAM,KAAK,MAAM,KAAK,SAAS,CAAC,GAAG,GAAG;AAAA,MACvD,OAAO;AACH,eAAO;AAAA,MACX;AACA,aAAO;AAAA,QACH,MAAM;AAAA,QACN,MAAM,MAAM,KAAK,MAAM,QAAQ,CAAC,GAAG,UAAU;AAAA,MACjD;AAAA,IACJ;AAEA,aAAS,aAAa,IAAI,QAAQ;AAC9B,UAAI,GAAG,WAAW,GAAG;AAAE,eAAO;AAAA,MAAI;AAClC,UAAI,aAAa,OAAO,OAAO,OAAO,OAAO;AAC7C,aAAO,aAAa,MAAM,KAAK,IAAI,MAAM,UAAU,IAAI,OAAO,OAAO;AAAA,IACzE;AAEA,aAAS,WAAW,KAAK,SAAS;AAC9B,UAAI,QAAQsC,SAAQ,GAAG;AACvB,UAAI,KAAK,CAAC;AACV,UAAI,OAAO;AACP,WAAG,SAAS,IAAI;AAChB,iBAAStC,KAAI,GAAGA,KAAI,IAAI,QAAQA,MAAK;AACjC,aAAGA,EAAC,IAAI,IAAI,KAAKA,EAAC,IAAI,QAAQ,IAAIA,EAAC,GAAG,GAAG,IAAI;AAAA,QACjD;AAAA,MACJ;AACA,UAAI,OAAO,OAAO,SAAS,aAAa,KAAK,GAAG,IAAI,CAAC;AACrD,UAAI;AACJ,UAAI,mBAAmB;AACnB,iBAAS,CAAC;AACV,iBAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AAClC,iBAAO,MAAM,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC;AAAA,QAClC;AAAA,MACJ;AAEA,eAAS,OAAO,KAAK;AACjB,YAAI,CAAC,IAAI,KAAK,GAAG,GAAG;AAAE;AAAA,QAAU;AAChC,YAAI,SAAS,OAAO,OAAO,GAAG,CAAC,MAAM,OAAO,MAAM,IAAI,QAAQ;AAAE;AAAA,QAAU;AAC1E,YAAI,qBAAqB,OAAO,MAAM,GAAG,aAAa,QAAQ;AAE1D;AAAA,QACJ,WAAW,MAAM,KAAK,UAAU,GAAG,GAAG;AAClC,aAAG,KAAK,QAAQ,KAAK,GAAG,IAAI,OAAO,QAAQ,IAAI,GAAG,GAAG,GAAG,CAAC;AAAA,QAC7D,OAAO;AACH,aAAG,KAAK,MAAM,OAAO,QAAQ,IAAI,GAAG,GAAG,GAAG,CAAC;AAAA,QAC/C;AAAA,MACJ;AACA,UAAI,OAAO,SAAS,YAAY;AAC5B,iBAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AAClC,cAAI,aAAa,KAAK,KAAK,KAAK,CAAC,CAAC,GAAG;AACjC,eAAG,KAAK,MAAM,QAAQ,KAAK,CAAC,CAAC,IAAI,QAAQ,QAAQ,IAAI,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC;AAAA,UACvE;AAAA,QACJ;AAAA,MACJ;AACA,aAAO;AAAA,IACX;AAAA;AAAA;;;ACngBA;AAAA,uCAAAiB,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,eAAe;AACnB,QAAI,YAAY;AAChB,QAAI,UAAU;AAEd,QAAI,aAAa,aAAa,aAAa;AAC3C,QAAI,WAAW,aAAa,aAAa,IAAI;AAC7C,QAAI,OAAO,aAAa,SAAS,IAAI;AAErC,QAAI,cAAc,UAAU,yBAAyB,IAAI;AACzD,QAAI,cAAc,UAAU,yBAAyB,IAAI;AACzD,QAAI,cAAc,UAAU,yBAAyB,IAAI;AACzD,QAAI,UAAU,UAAU,qBAAqB,IAAI;AACjD,QAAI,UAAU,UAAU,qBAAqB,IAAI;AACjD,QAAI,UAAU,UAAU,qBAAqB,IAAI;AAUjD,QAAI,cAAc,SAAU,MAAM,KAAK;AACtC,eAAS,OAAO,MAAM,OAAO,OAAO,KAAK,UAAU,MAAM,OAAO,MAAM;AACrE,YAAI,KAAK,QAAQ,KAAK;AACrB,eAAK,OAAO,KAAK;AACjB,eAAK,OAAO,KAAK;AACjB,eAAK,OAAO;AACZ,iBAAO;AAAA,QACR;AAAA,MACD;AAAA,IACD;AAEA,QAAI,UAAU,SAAU,SAAS,KAAK;AACrC,UAAI,OAAO,YAAY,SAAS,GAAG;AACnC,aAAO,QAAQ,KAAK;AAAA,IACrB;AACA,QAAI,UAAU,SAAU,SAAS,KAAK,OAAO;AAC5C,UAAI,OAAO,YAAY,SAAS,GAAG;AACnC,UAAI,MAAM;AACT,aAAK,QAAQ;AAAA,MACd,OAAO;AAEN,gBAAQ,OAAO;AAAA;AAAA,UACd;AAAA,UACA,MAAM,QAAQ;AAAA,UACd;AAAA,QACD;AAAA,MACD;AAAA,IACD;AACA,QAAI,UAAU,SAAU,SAAS,KAAK;AACrC,aAAO,CAAC,CAAC,YAAY,SAAS,GAAG;AAAA,IAClC;AAEA,WAAO,UAAU,SAAS,iBAAiB;AAC1C,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI,UAAU;AAAA,QACb,QAAQ,SAAU,KAAK;AACtB,cAAI,CAAC,QAAQ,IAAI,GAAG,GAAG;AACtB,kBAAM,IAAI,WAAW,mCAAmC,QAAQ,GAAG,CAAC;AAAA,UACrE;AAAA,QACD;AAAA,QACA,KAAK,SAAU,KAAK;AACnB,cAAI,YAAY,QAAQ,OAAO,QAAQ,YAAY,OAAO,QAAQ,aAAa;AAC9E,gBAAI,KAAK;AACR,qBAAO,YAAY,KAAK,GAAG;AAAA,YAC5B;AAAA,UACD,WAAW,MAAM;AAChB,gBAAI,IAAI;AACP,qBAAO,QAAQ,IAAI,GAAG;AAAA,YACvB;AAAA,UACD,OAAO;AACN,gBAAI,IAAI;AACP,qBAAO,QAAQ,IAAI,GAAG;AAAA,YACvB;AAAA,UACD;AAAA,QACD;AAAA,QACA,KAAK,SAAU,KAAK;AACnB,cAAI,YAAY,QAAQ,OAAO,QAAQ,YAAY,OAAO,QAAQ,aAAa;AAC9E,gBAAI,KAAK;AACR,qBAAO,YAAY,KAAK,GAAG;AAAA,YAC5B;AAAA,UACD,WAAW,MAAM;AAChB,gBAAI,IAAI;AACP,qBAAO,QAAQ,IAAI,GAAG;AAAA,YACvB;AAAA,UACD,OAAO;AACN,gBAAI,IAAI;AACP,qBAAO,QAAQ,IAAI,GAAG;AAAA,YACvB;AAAA,UACD;AACA,iBAAO;AAAA,QACR;AAAA,QACA,KAAK,SAAU,KAAK,OAAO;AAC1B,cAAI,YAAY,QAAQ,OAAO,QAAQ,YAAY,OAAO,QAAQ,aAAa;AAC9E,gBAAI,CAAC,KAAK;AACT,oBAAM,IAAI,SAAS;AAAA,YACpB;AACA,wBAAY,KAAK,KAAK,KAAK;AAAA,UAC5B,WAAW,MAAM;AAChB,gBAAI,CAAC,IAAI;AACR,mBAAK,IAAI,KAAK;AAAA,YACf;AACA,oBAAQ,IAAI,KAAK,KAAK;AAAA,UACvB,OAAO;AACN,gBAAI,CAAC,IAAI;AAMR,mBAAK,EAAE,KAAK,CAAC,GAAG,MAAM,KAAK;AAAA,YAC5B;AACA,oBAAQ,IAAI,KAAK,KAAK;AAAA,UACvB;AAAA,QACD;AAAA,MACD;AACA,aAAO;AAAA,IACR;AAAA;AAAA;;;AC3HA;AAAA,wCAAAe,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,eAAe;AACnB,QAAI,MAAM;AACV,QAAI,UAAU,uBAAwB;AAEtC,QAAI,aAAa,aAAa,aAAa;AAE3C,QAAI,OAAO;AAAA,MACV,QAAQ,SAAU,GAAG,MAAM;AAC1B,YAAI,CAAC,KAAM,OAAO,MAAM,YAAY,OAAO,MAAM,YAAa;AAC7D,gBAAM,IAAI,WAAW,sBAAsB;AAAA,QAC5C;AACA,YAAI,OAAO,SAAS,UAAU;AAC7B,gBAAM,IAAI,WAAW,yBAAyB;AAAA,QAC/C;AACA,gBAAQ,OAAO,CAAC;AAChB,YAAI,CAAC,KAAK,IAAI,GAAG,IAAI,GAAG;AACvB,gBAAM,IAAI,WAAW,MAAM,OAAO,yBAAyB;AAAA,QAC5D;AAAA,MACD;AAAA,MACA,KAAK,SAAU,GAAG,MAAM;AACvB,YAAI,CAAC,KAAM,OAAO,MAAM,YAAY,OAAO,MAAM,YAAa;AAC7D,gBAAM,IAAI,WAAW,sBAAsB;AAAA,QAC5C;AACA,YAAI,OAAO,SAAS,UAAU;AAC7B,gBAAM,IAAI,WAAW,yBAAyB;AAAA,QAC/C;AACA,YAAI,QAAQ,QAAQ,IAAI,CAAC;AACzB,eAAO,SAAS,MAAM,MAAM,IAAI;AAAA,MACjC;AAAA,MACA,KAAK,SAAU,GAAG,MAAM;AACvB,YAAI,CAAC,KAAM,OAAO,MAAM,YAAY,OAAO,MAAM,YAAa;AAC7D,gBAAM,IAAI,WAAW,sBAAsB;AAAA,QAC5C;AACA,YAAI,OAAO,SAAS,UAAU;AAC7B,gBAAM,IAAI,WAAW,yBAAyB;AAAA,QAC/C;AACA,YAAI,QAAQ,QAAQ,IAAI,CAAC;AACzB,eAAO,CAAC,CAAC,SAAS,IAAI,OAAO,MAAM,IAAI;AAAA,MACxC;AAAA,MACA,KAAK,SAAU,GAAG,MAAM,GAAG;AAC1B,YAAI,CAAC,KAAM,OAAO,MAAM,YAAY,OAAO,MAAM,YAAa;AAC7D,gBAAM,IAAI,WAAW,sBAAsB;AAAA,QAC5C;AACA,YAAI,OAAO,SAAS,UAAU;AAC7B,gBAAM,IAAI,WAAW,yBAAyB;AAAA,QAC/C;AACA,YAAI,QAAQ,QAAQ,IAAI,CAAC;AACzB,YAAI,CAAC,OAAO;AACX,kBAAQ,CAAC;AACT,kBAAQ,IAAI,GAAG,KAAK;AAAA,QACrB;AACA,cAAM,MAAM,IAAI,IAAI;AAAA,MACrB;AAAA,IACD;AAEA,QAAI,OAAO,QAAQ;AAClB,aAAO,OAAO,IAAI;AAAA,IACnB;AAEA,WAAO,UAAU;AAAA;AAAA;;;AC7DjB;AAAA,kDAAAe,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,OAAO;AAEX,QAAI,eAAe;AACnB,QAAI,iBAAiB,OAAO,kBAAkB,WAAW,gBAAgB;AAEzE,WAAO,UAAU,SAAS,yBAAyB,cAAc;AAChE,UAAI,CAAC,gBAAgB;AACpB,cAAM,IAAI,aAAa,sCAAsC;AAAA,MAC9D;AAEA,WAAK,IAAI,cAAc,YAAY,KAAK;AAExC,UAAI,aAAa;AAAA,QAChB,MAAM,SAAS,OAAO;AACrB,cAAI,WAAW,KAAK,IAAI,MAAM,cAAc;AAC5C,cAAI,OAAO,KAAK,IAAI,UAAU,UAAU;AACxC,cAAI;AACH,mBAAO;AAAA,cACN;AAAA,cACA,OAAO,OAAO,SAAiB,SAAS,KAAK;AAAA,YAC9C;AAAA,UACD,SAASG,IAAP;AACD,iBAAK,IAAI,UAAU,YAAY,IAAI;AACnC,gBAAIA,OAAM,gBAAgB;AACzB,oBAAMA;AAAA,YACP;AACA,mBAAO;AAAA,cACN,MAAM;AAAA,cACN,OAAO;AAAA,YACR;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAEA,WAAK,IAAI,YAAY,gBAAgB,YAAY;AAEjD,aAAO;AAAA,IACR;AAAA;AAAA;;;ACvCA;AAAA,kCAAAY,UAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAAA,QAAIY,YAAW,CAAC,EAAE;AAElB,WAAO,UAAU,MAAM,WAAW,SAAU,KAAK;AAC/C,aAAOA,UAAS,KAAK,GAAG,KAAK;AAAA,IAC/B;AAAA;AAAA;;;ACJA;AAAA,oCAAAG,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,WAAW,OAAO,UAAU;AAChC,QAAI,kBAAkB,SAAS2C,iBAAgB,OAAO;AACrD,UAAI;AACH,iBAAS,KAAK,KAAK;AACnB,eAAO;AAAA,MACR,SAASxC,IAAP;AACD,eAAO;AAAA,MACR;AAAA,IACD;AACA,QAAI,QAAQ,OAAO,UAAU;AAC7B,QAAI,WAAW;AACf,QAAI,iBAAiB,iBAAiC;AAEtD,WAAO,UAAU,SAASgB,UAAS,OAAO;AACzC,UAAI,OAAO,UAAU,UAAU;AAC9B,eAAO;AAAA,MACR;AACA,UAAI,OAAO,UAAU,UAAU;AAC9B,eAAO;AAAA,MACR;AACA,aAAO,iBAAiB,gBAAgB,KAAK,IAAI,MAAM,KAAK,KAAK,MAAM;AAAA,IACxE;AAAA;AAAA;;;ACvBA;AAAA,iCAAAJ,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,OAAO,OAAO,QAAQ,cAAc,IAAI,YAAY,MAAM;AAC9D,QAAI,OAAO,OAAO,QAAQ,cAAc,IAAI,YAAY,MAAM;AAE9D,QAAI;AAEJ,QAAI,CAAC,MAAM;AAEV,iBAAW,SAAS,MAAM,GAAG;AAE5B,eAAO;AAAA,MACR;AAAA,IACD;AAEA,QAAI,UAAU,OAAO,IAAI,UAAU,MAAM;AACzC,QAAI,UAAU,OAAO,IAAI,UAAU,MAAM;AACzC,QAAI,CAAC,YAAY,CAAC,SAAS;AAE1B,iBAAW,SAAS,MAAM,GAAG;AAE5B,eAAO;AAAA,MACR;AAAA,IACD;AAEA,WAAO,UAAU,YAAY,SAAS,MAAM,GAAG;AAC9C,UAAI,CAAC,KAAK,OAAO,MAAM,UAAU;AAChC,eAAO;AAAA,MACR;AACA,UAAI;AACH,gBAAQ,KAAK,CAAC;AACd,YAAI,SAAS;AACZ,cAAI;AACH,oBAAQ,KAAK,CAAC;AAAA,UACf,SAASG,IAAP;AACD,mBAAO;AAAA,UACR;AAAA,QACD;AACA,eAAO,aAAa;AAAA,MACrB,SAASA,IAAP;AAAA,MAAW;AACb,aAAO;AAAA,IACR;AAAA;AAAA;;;ACzCA;AAAA,iCAAAY,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,OAAO,OAAO,QAAQ,cAAc,IAAI,YAAY,MAAM;AAC9D,QAAI,OAAO,OAAO,QAAQ,cAAc,IAAI,YAAY,MAAM;AAE9D,QAAI;AAEJ,QAAI,CAAC,MAAM;AAEV,iBAAW,SAAS,MAAM,GAAG;AAE5B,eAAO;AAAA,MACR;AAAA,IACD;AAEA,QAAI,UAAU,OAAO,IAAI,UAAU,MAAM;AACzC,QAAI,UAAU,OAAO,IAAI,UAAU,MAAM;AACzC,QAAI,CAAC,YAAY,CAAC,SAAS;AAE1B,iBAAW,SAAS,MAAM,GAAG;AAE5B,eAAO;AAAA,MACR;AAAA,IACD;AAEA,WAAO,UAAU,YAAY,SAAS,MAAM,GAAG;AAC9C,UAAI,CAAC,KAAK,OAAO,MAAM,UAAU;AAChC,eAAO;AAAA,MACR;AACA,UAAI;AACH,gBAAQ,KAAK,CAAC;AACd,YAAI,SAAS;AACZ,cAAI;AACH,oBAAQ,KAAK,CAAC;AAAA,UACf,SAASG,IAAP;AACD,mBAAO;AAAA,UACR;AAAA,QACD;AACA,eAAO,aAAa;AAAA,MACrB,SAASA,IAAP;AAAA,MAAW;AACb,aAAO;AAAA,IACR;AAAA;AAAA;;;ACzCA;AAAA,0CAAAY,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAWA,QAAI,cAAc;AAClB,QAAI,2BAA2B;AAE/B,QAAI,sBAAuB,KAAK,gBAA6B,GAAG;AAC3D,kBAAY,OAAO;AAQvB,aAAO,UAAU,SAAS,YAAY,UAAU;AAE/C,YAAI,YAAY,QAAQ,OAAO,SAAS,SAAS,MAAM,aAAa;AACnE,iBAAO,SAAS,SAAS,EAAE;AAAA,QAC5B;AACA,YAAI,YAAY,QAAQ,GAAG;AAG1B,iBAAO,MAAM,UAAU,SAAS,EAAE,KAAK,QAAQ;AAAA,QAChD;AAAA,MACD;AAAA,IACD,OAAO;AAEF,MAAAoC,WAAU;AACV,MAAAjB,YAAW;AACX,qBAAe;AACf,aAAO,aAAa,SAAS,IAAI;AACjC,aAAO,aAAa,SAAS,IAAI;AACjC,kBAAY;AACZ,mBAAa,UAAU,sBAAsB;AAC7C,oBAAc,UAAU,6BAA6B;AACrD,qBAAe,UAAU,wBAAwB;AAEjD,2BAAqB,SAASyB,oBAAmB,GAAG,OAAO;AAC9D,YAAI,SAAS,EAAE;AACf,YAAK,QAAQ,KAAM,QAAQ;AAC1B,iBAAO,QAAQ;AAAA,QAChB;AAEA,YAAI,QAAQ,YAAY,GAAG,KAAK;AAChC,YAAI,QAAQ,SAAU,QAAQ,OAAQ;AACrC,iBAAO,QAAQ;AAAA,QAChB;AAEA,YAAI,SAAS,YAAY,GAAG,QAAQ,CAAC;AACrC,YAAI,SAAS,SAAU,SAAS,OAAQ;AACvC,iBAAO,QAAQ;AAAA,QAChB;AAEA,eAAO,QAAQ;AAAA,MAChB;AAEI,yBAAmB,SAASC,kBAAiB,WAAW;AAC3D,YAAI/C,KAAI;AACR,eAAO;AAAA,UACN,MAAM,SAAS,OAAO;AACrB,gBAAI,OAAOA,MAAK,UAAU;AAC1B,gBAAI;AACJ,gBAAI,CAAC,MAAM;AACV,sBAAQ,UAAUA,EAAC;AACnB,cAAAA,MAAK;AAAA,YACN;AACA,mBAAO;AAAA,cACN;AAAA,cACA;AAAA,YACD;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAEI,iCAA2B,SAASgD,0BAAyB,UAAU,yBAAyB;AACnG,YAAIV,SAAQ,QAAQ,KAAK,YAAY,QAAQ,GAAG;AAC/C,iBAAO,iBAAiB,QAAQ;AAAA,QACjC;AACA,YAAIjB,UAAS,QAAQ,GAAG;AACvB,cAAIrB,KAAI;AACR,iBAAO;AAAA,YACN,MAAM,SAAS,OAAO;AACrB,kBAAI,YAAY,mBAAmB,UAAUA,EAAC;AAC9C,kBAAI,QAAQ,aAAa,UAAUA,IAAG,SAAS;AAC/C,cAAAA,KAAI;AACJ,qBAAO;AAAA,gBACN,MAAM,YAAY,SAAS;AAAA,gBAC3B;AAAA,cACD;AAAA,YACD;AAAA,UACD;AAAA,QACD;AAGA,YAAI,2BAA2B,OAAO,SAAS,qBAAqB,MAAM,aAAa;AACtF,iBAAO,SAAS,qBAAqB,EAAE;AAAA,QACxC;AAAA,MACD;AAEA,UAAI,CAAC,QAAQ,CAAC,MAAM;AASnB,eAAO,UAAU,SAAS,YAAY,UAAU;AAC/C,cAAI,YAAY,MAAM;AACrB,mBAAO,yBAAyB,UAAU,IAAI;AAAA,UAC/C;AAAA,QACD;AAAA,MACD,OAAO;AASF,gBAAQ;AACR,gBAAQ;AAGR,sBAAc,UAAU,yBAAyB,IAAI;AACrD,sBAAc,UAAU,yBAAyB,IAAI;AACzD,YAAI,OAAO,oBAAY,eAAe,CAAC,gBAAQ,YAAY,CAAC,gBAAQ,SAAS,MAAM;AAK9E,yBAAe,UAAU,0BAA0B,IAAI;AACvD,yBAAe,UAAU,0BAA0B,IAAI;AAAA,QAC5D;AAII,2BAAmB,UAAU,4BAA4B,IAAI,KAAK,UAAU,qCAAqC,IAAI;AACrH,2BAAmB,UAAU,4BAA4B,IAAI,KAAK,UAAU,qCAAqC,IAAI;AAErH,gCAAwB,SAASiD,uBAAsB,UAAU;AACpE,cAAI,MAAM,QAAQ,GAAG;AACpB,gBAAI,cAAc;AACjB,qBAAO,yBAAyB,aAAa,QAAQ,CAAC;AAAA,YACvD;AACA,gBAAI,kBAAkB;AACrB,qBAAO,iBAAiB,QAAQ;AAAA,YACjC;AACA,gBAAI,aAAa;AAChB,kBAAI,UAAU,CAAC;AACf,0BAAY,UAAU,SAAUC,IAAG,GAAG;AACrC,2BAAW,SAAS,CAAC,GAAGA,EAAC,CAAC;AAAA,cAC3B,CAAC;AACD,qBAAO,iBAAiB,OAAO;AAAA,YAChC;AAAA,UACD;AACA,cAAI,MAAM,QAAQ,GAAG;AACpB,gBAAI,cAAc;AACjB,qBAAO,yBAAyB,aAAa,QAAQ,CAAC;AAAA,YACvD;AACA,gBAAI,kBAAkB;AACrB,qBAAO,iBAAiB,QAAQ;AAAA,YACjC;AACA,gBAAI,aAAa;AAChB,kBAAI,SAAS,CAAC;AACd,0BAAY,UAAU,SAAUA,IAAG;AAClC,2BAAW,QAAQA,EAAC;AAAA,cACrB,CAAC;AACD,qBAAO,iBAAiB,MAAM;AAAA,YAC/B;AAAA,UACD;AAAA,QACD;AAEA,eAAO,UAAU,SAAS,YAAY,UAAU;AAC/C,iBAAO,sBAAsB,QAAQ,KAAK,yBAAyB,QAAQ;AAAA,QAC5E;AAAA,MACD;AAAA,IACD;AA7KK;AAqBA,QAAAZ;AACA,QAAAjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAmBA;AAkBA;AAgDC;AACA;AAGA;AACA;AAMC;AACA;AAKD;AACA;AAEA;AAAA;AAAA;;;ACvJN,IAAAC,0BAAA;AAAA,6CAAAL,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,cAAc,SAAU,OAAO;AAClC,aAAO,UAAU;AAAA,IAClB;AAEA,WAAO,UAAU,SAAS,GAAGS,IAAG,GAAG;AAClC,UAAIA,OAAM,KAAK,MAAM,GAAG;AACvB,eAAO,IAAIA,OAAM,IAAI;AAAA,MACtB;AACA,UAAIA,OAAM,GAAG;AACZ,eAAO;AAAA,MACR;AACA,UAAI,YAAYA,EAAC,KAAK,YAAY,CAAC,GAAG;AACrC,eAAO;AAAA,MACR;AACA,aAAO;AAAA,IACR;AAAA;AAAA;;;ACjBA,IAAAwB,oBAAA;AAAA,uCAAAlB,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,iBAAiB;AAErB,WAAO,UAAU,SAAS,cAAc;AACvC,aAAO,OAAO,OAAO,OAAO,aAAa,OAAO,KAAK;AAAA,IACtD;AAAA;AAAA;;;ACNA,IAAAkC,gBAAA;AAAA,mCAAAnB,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,cAAc;AAClB,QAAI8B,UAAS;AAEb,WAAO,UAAU,SAAS,eAAe;AACxC,UAAI,WAAW,YAAY;AAC3B,MAAAA,QAAO,QAAQ,EAAE,IAAI,SAAS,GAAG;AAAA,QAChC,IAAI,SAAS,eAAe;AAC3B,iBAAO,OAAO,OAAO;AAAA,QACtB;AAAA,MACD,CAAC;AACD,aAAO;AAAA,IACR;AAAA;AAAA;;;ACbA;AAAA,oCAAAf,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI8B,UAAS;AACb,QAAI,WAAW;AAEf,QAAI,iBAAiB;AACrB,QAAI,cAAc;AAClB,QAAI,OAAO;AAEX,QAAI,WAAW,SAAS,YAAY,GAAG,MAAM;AAE7C,IAAAA,QAAO,UAAU;AAAA,MAChB;AAAA,MACA;AAAA,MACA;AAAA,IACD,CAAC;AAED,WAAO,UAAU;AAAA;AAAA;;;ACjBjB;AAAA,sCAAAf,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,UAAU,SAAS,UAAU;AACjC,QAAI,eAAe,OAAO,YAAY,YAAY,YAAY,QAAQ,QAAQ;AAC9E,QAAI;AACJ,QAAI;AACJ,QAAI,OAAO,iBAAiB,cAAc,OAAO,OAAO,mBAAmB,YAAY;AACtF,UAAI;AACH,uBAAe,OAAO,eAAe,CAAC,GAAG,UAAU;AAAA,UAClD,KAAK,WAAY;AAChB,kBAAM;AAAA,UACP;AAAA,QACD,CAAC;AACD,2BAAmB,CAAC;AAEpB,qBAAa,WAAY;AAAE,gBAAM;AAAA,QAAI,GAAG,MAAM,YAAY;AAAA,MAC3D,SAAS,GAAP;AACD,YAAI,MAAM,kBAAkB;AAC3B,yBAAe;AAAA,QAChB;AAAA,MACD;AAAA,IACD,OAAO;AACN,qBAAe;AAAA,IAChB;AAEA,QAAI,mBAAmB;AACvB,QAAI,eAAe,SAAS,mBAAmB,OAAO;AACrD,UAAI;AACH,YAAI,QAAQ,QAAQ,KAAK,KAAK;AAC9B,eAAO,iBAAiB,KAAK,KAAK;AAAA,MACnC,SAASG,IAAP;AACD,eAAO;AAAA,MACR;AAAA,IACD;AAEA,QAAI,oBAAoB,SAAS,iBAAiB,OAAO;AACxD,UAAI;AACH,YAAI,aAAa,KAAK,GAAG;AAAE,iBAAO;AAAA,QAAO;AACzC,gBAAQ,KAAK,KAAK;AAClB,eAAO;AAAA,MACR,SAASA,IAAP;AACD,eAAO;AAAA,MACR;AAAA,IACD;AACA,QAAI,QAAQ,OAAO,UAAU;AAC7B,QAAI,cAAc;AAClB,QAAI,UAAU;AACd,QAAI,WAAW;AACf,QAAI,WAAW;AACf,QAAI,YAAY;AAChB,QAAI,YAAY;AAChB,QAAI,iBAAiB,OAAO,WAAW,cAAc,CAAC,CAAC,OAAO;AAE9D,QAAI,SAAS,EAAE,KAAK,CAAC,CAAC;AAEtB,QAAI,QAAQ,SAAS,mBAAmB;AAAE,aAAO;AAAA,IAAO;AACxD,QAAI,OAAO,aAAa,UAAU;AAE7B,MAAA8C,OAAM,SAAS;AACnB,UAAI,MAAM,KAAKA,IAAG,MAAM,MAAM,KAAK,SAAS,GAAG,GAAG;AACjD,gBAAQ,SAAS,iBAAiB,OAAO;AAGxC,eAAK,UAAU,CAAC,WAAW,OAAO,UAAU,eAAe,OAAO,UAAU,WAAW;AACtF,gBAAI;AACH,kBAAI,MAAM,MAAM,KAAK,KAAK;AAC1B,sBACC,QAAQ,YACL,QAAQ,aACR,QAAQ,aACR,QAAQ,gBACP,MAAM,EAAE,KAAK;AAAA,YACnB,SAAS9C,IAAP;AAAA,YAAiB;AAAA,UACpB;AACA,iBAAO;AAAA,QACR;AAAA,MACD;AAAA,IACD;AAnBK,QAAA8C;AAqBL,WAAO,UAAU,eACd,SAAS,WAAW,OAAO;AAC5B,UAAI,MAAM,KAAK,GAAG;AAAE,eAAO;AAAA,MAAM;AACjC,UAAI,CAAC,OAAO;AAAE,eAAO;AAAA,MAAO;AAC5B,UAAI,OAAO,UAAU,cAAc,OAAO,UAAU,UAAU;AAAE,eAAO;AAAA,MAAO;AAC9E,UAAI;AACH,qBAAa,OAAO,MAAM,YAAY;AAAA,MACvC,SAAS9C,IAAP;AACD,YAAIA,OAAM,kBAAkB;AAAE,iBAAO;AAAA,QAAO;AAAA,MAC7C;AACA,aAAO,CAAC,aAAa,KAAK,KAAK,kBAAkB,KAAK;AAAA,IACvD,IACE,SAAS,WAAW,OAAO;AAC5B,UAAI,MAAM,KAAK,GAAG;AAAE,eAAO;AAAA,MAAM;AACjC,UAAI,CAAC,OAAO;AAAE,eAAO;AAAA,MAAO;AAC5B,UAAI,OAAO,UAAU,cAAc,OAAO,UAAU,UAAU;AAAE,eAAO;AAAA,MAAO;AAC9E,UAAI,gBAAgB;AAAE,eAAO,kBAAkB,KAAK;AAAA,MAAG;AACvD,UAAI,aAAa,KAAK,GAAG;AAAE,eAAO;AAAA,MAAO;AACzC,UAAI,WAAW,MAAM,KAAK,KAAK;AAC/B,UAAI,aAAa,WAAW,aAAa,YAAY,CAAE,iBAAkB,KAAK,QAAQ,GAAG;AAAE,eAAO;AAAA,MAAO;AACzG,aAAO,kBAAkB,KAAK;AAAA,IAC/B;AAAA;AAAA;;;ACpGD;AAAA,mCAAAY,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,aAAa;AAEjB,QAAI,QAAQ,OAAO,UAAU;AAC7B,QAAIkD,kBAAiB,OAAO,UAAU;AAEtC,QAAI,eAAe,SAASC,cAAa,OAAO,UAAU,UAAU;AAChE,eAASrD,KAAI,GAAG,MAAM,MAAM,QAAQA,KAAI,KAAKA,MAAK;AAC9C,YAAIoD,gBAAe,KAAK,OAAOpD,EAAC,GAAG;AAC/B,cAAI,YAAY,MAAM;AAClB,qBAAS,MAAMA,EAAC,GAAGA,IAAG,KAAK;AAAA,UAC/B,OAAO;AACH,qBAAS,KAAK,UAAU,MAAMA,EAAC,GAAGA,IAAG,KAAK;AAAA,UAC9C;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAEA,QAAI,gBAAgB,SAASsD,eAAc,QAAQ,UAAU,UAAU;AACnE,eAAStD,KAAI,GAAG,MAAM,OAAO,QAAQA,KAAI,KAAKA,MAAK;AAE/C,YAAI,YAAY,MAAM;AAClB,mBAAS,OAAO,OAAOA,EAAC,GAAGA,IAAG,MAAM;AAAA,QACxC,OAAO;AACH,mBAAS,KAAK,UAAU,OAAO,OAAOA,EAAC,GAAGA,IAAG,MAAM;AAAA,QACvD;AAAA,MACJ;AAAA,IACJ;AAEA,QAAI,gBAAgB,SAASuD,eAAc,QAAQ,UAAU,UAAU;AACnE,eAAS,KAAK,QAAQ;AAClB,YAAIH,gBAAe,KAAK,QAAQ,CAAC,GAAG;AAChC,cAAI,YAAY,MAAM;AAClB,qBAAS,OAAO,CAAC,GAAG,GAAG,MAAM;AAAA,UACjC,OAAO;AACH,qBAAS,KAAK,UAAU,OAAO,CAAC,GAAG,GAAG,MAAM;AAAA,UAChD;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAEA,QAAII,WAAU,SAASA,SAAQ,MAAM,UAAU,SAAS;AACpD,UAAI,CAAC,WAAW,QAAQ,GAAG;AACvB,cAAM,IAAI,UAAU,6BAA6B;AAAA,MACrD;AAEA,UAAI;AACJ,UAAI,UAAU,UAAU,GAAG;AACvB,mBAAW;AAAA,MACf;AAEA,UAAI,MAAM,KAAK,IAAI,MAAM,kBAAkB;AACvC,qBAAa,MAAM,UAAU,QAAQ;AAAA,MACzC,WAAW,OAAO,SAAS,UAAU;AACjC,sBAAc,MAAM,UAAU,QAAQ;AAAA,MAC1C,OAAO;AACH,sBAAc,MAAM,UAAU,QAAQ;AAAA,MAC1C;AAAA,IACJ;AAEA,WAAO,UAAUA;AAAA;AAAA;;;AC7DjB;AAAA,iDAAAvC,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,gBAAgB;AAAA,MACnB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAEA,QAAI,IAAI,OAAO,eAAe,cAAc,SAAS;AAErD,WAAO,UAAU,SAAS,uBAAuB;AAChD,UAAI,MAAM,CAAC;AACX,eAASF,KAAI,GAAGA,KAAI,cAAc,QAAQA,MAAK;AAC9C,YAAI,OAAO,EAAE,cAAcA,EAAC,CAAC,MAAM,YAAY;AAC9C,cAAI,IAAI,MAAM,IAAI,cAAcA,EAAC;AAAA,QAClC;AAAA,MACD;AACA,aAAO;AAAA,IACR;AAAA;AAAA;;;AC1BA;AAAA,+BAAAiB,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,eAAe;AAEnB,QAAI,QAAQ,aAAa,qCAAqC,IAAI;AAElE,QAAI,OAAO;AACV,UAAI;AACH,cAAM,CAAC,GAAG,QAAQ;AAAA,MACnB,SAASG,IAAP;AAED,gBAAQ;AAAA,MACT;AAAA,IACD;AAEA,WAAO,UAAU;AAAA;AAAA;;;ACfjB;AAAA,yCAAAY,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAIsD,WAAU;AACd,QAAI,uBAAuB;AAC3B,QAAI,YAAY;AAEhB,QAAI,YAAY,UAAU,2BAA2B;AACrD,QAAI,iBAAiB,iBAAiC;AACtD,QAAI,OAAO;AAEX,QAAI,IAAI,OAAO,eAAe,cAAc,SAAS;AACrD,QAAI,cAAc,qBAAqB;AAEvC,QAAI,WAAW,UAAU,2BAA2B,IAAI,KAAK,SAAS,QAAQ,OAAO,OAAO;AAC3F,eAASxD,KAAI,GAAGA,KAAI,MAAM,QAAQA,MAAK,GAAG;AACzC,YAAI,MAAMA,EAAC,MAAM,OAAO;AACvB,iBAAOA;AAAA,QACR;AAAA,MACD;AACA,aAAO;AAAA,IACR;AACA,QAAI,SAAS,UAAU,wBAAwB;AAC/C,QAAI,YAAY,CAAC;AACjB,QAAIyD,kBAAiB,OAAO;AAC5B,QAAI,kBAAkB,QAAQA,iBAAgB;AAC7C,MAAAD,SAAQ,aAAa,SAAU,YAAY;AAC1C,YAAI,MAAM,IAAI,EAAE,UAAU,EAAE;AAC5B,YAAI,OAAO,eAAe,KAAK;AAC9B,cAAI,QAAQC,gBAAe,GAAG;AAC9B,cAAI,aAAa,KAAK,OAAO,OAAO,WAAW;AAC/C,cAAI,CAAC,YAAY;AAChB,gBAAI,aAAaA,gBAAe,KAAK;AACrC,yBAAa,KAAK,YAAY,OAAO,WAAW;AAAA,UACjD;AACA,oBAAU,UAAU,IAAI,WAAW;AAAA,QACpC;AAAA,MACD,CAAC;AAAA,IACF;AAEA,QAAI,iBAAiB,SAAS,kBAAkB,OAAO;AACtD,UAAI,UAAU;AACd,MAAAD,SAAQ,WAAW,SAAU,QAAQ,YAAY;AAChD,YAAI,CAAC,SAAS;AACb,cAAI;AACH,sBAAU,OAAO,KAAK,KAAK,MAAM;AAAA,UAClC,SAASnD,IAAP;AAAA,UAAiB;AAAA,QACpB;AAAA,MACD,CAAC;AACD,aAAO;AAAA,IACR;AAEA,WAAO,UAAU,SAASqD,cAAa,OAAO;AAC7C,UAAI,CAAC,SAAS,OAAO,UAAU,UAAU;AAAE,eAAO;AAAA,MAAO;AACzD,UAAI,CAAC,kBAAkB,EAAE,OAAO,eAAe,QAAQ;AACtD,YAAI,MAAM,OAAO,UAAU,KAAK,GAAG,GAAG,EAAE;AACxC,eAAO,SAAS,aAAa,GAAG,IAAI;AAAA,MACrC;AACA,UAAI,CAAC,MAAM;AAAE,eAAO;AAAA,MAAO;AAC3B,aAAO,eAAe,KAAK;AAAA,IAC5B;AAAA;AAAA;;;AC3DA;AAAA,0CAAAzC,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,WAAW;AACf,QAAI,YAAY;AAChB,QAAI,eAAe;AACnB,QAAIwD,gBAAe;AAEnB,QAAI,eAAe,aAAa,eAAe,IAAI;AACnD,QAAI,gBAAgB,aAAa,gBAAgB,IAAI;AACrD,QAAI,cAAc,UAAU,oCAAoC,IAAI;AAGpE,QAAI,UAAU,gBAAgB,CAAC,eAAe,IAAI,aAAa,EAAE;AACjE,QAAI,WAAW,WAAW,SAAS,OAAO;AAE1C,WAAO,UAAU,eAAe,WAC7B,SAASC,eAAc,KAAK;AAC7B,UAAI,CAAC,OAAO,OAAO,QAAQ,UAAU;AACpC,eAAO;AAAA,MACR;AACA,UAAI;AACH,YAAI,aAAa;AAChB,sBAAY,GAAG;AAAA,QAChB,OAAO;AACN,mBAAS,KAAK,CAAC;AAAA,QAChB;AACA,eAAO;AAAA,MACR,SAAStD,IAAP;AACD,eAAO;AAAA,MACR;AAAA,IACD,IACE,gBAEC,SAAS,cAAc,KAAK;AAC7B,UAAI;AACH,eAAQ,IAAI,cAAc,GAAG,EAAG,WAAW,OAAO,CAACqD,cAAa,GAAG;AAAA,MACpE,SAASrD,IAAP;AACD,eAAO,OAAO,QAAQ,YAAYA,GAAE,SAAS;AAAA,MAC9C;AAAA,IACD,IACE,SAASsD,eAAc,KAAK;AAC7B,aAAO;AAAA,IACR;AAAA;AAAA;;;AC1CF;AAAA,yCAAA1C,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,SAAS,KAAK,UAAU;AAC5B,QAAI,gBAAgB,SAAS,kBAAkB,OAAO;AACrD,UAAI;AACH,eAAO,KAAK,KAAK;AACjB,eAAO;AAAA,MACR,SAASG,IAAP;AACD,eAAO;AAAA,MACR;AAAA,IACD;AAEA,QAAI,QAAQ,OAAO,UAAU;AAC7B,QAAI,YAAY;AAChB,QAAI,iBAAiB,iBAAiC;AAEtD,WAAO,UAAU,SAAS,aAAa,OAAO;AAC7C,UAAI,OAAO,UAAU,YAAY,UAAU,MAAM;AAChD,eAAO;AAAA,MACR;AACA,aAAO,iBAAiB,cAAc,KAAK,IAAI,MAAM,KAAK,KAAK,MAAM;AAAA,IACtE;AAAA;AAAA;;;ACrBA;AAAA,mCAAAY,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,YAAY;AAChB,QAAI,iBAAiB,iBAAiC;AACtD,QAAI;AACJ,QAAI;AACJ,QAAI;AACJ,QAAI;AAEJ,QAAI,gBAAgB;AACnB,YAAM,UAAU,iCAAiC;AACjD,cAAQ,UAAU,uBAAuB;AACzC,sBAAgB,CAAC;AAEb,yBAAmB,WAAY;AAClC,cAAM;AAAA,MACP;AACA,uBAAiB;AAAA,QAChB,UAAU;AAAA,QACV,SAAS;AAAA,MACV;AAEA,UAAI,OAAO,OAAO,gBAAgB,UAAU;AAC3C,uBAAe,OAAO,WAAW,IAAI;AAAA,MACtC;AAAA,IACD;AAXK;AAaL,QAAI,YAAY,UAAU,2BAA2B;AACrD,QAAI,OAAO,OAAO;AAClB,QAAI,aAAa;AAEjB,WAAO,UAAU,iBAEd,SAAS,QAAQ,OAAO;AACzB,UAAI,CAAC,SAAS,OAAO,UAAU,UAAU;AACxC,eAAO;AAAA,MACR;AAEA,UAAI,aAAa,KAAK,OAAO,WAAW;AACxC,UAAI,2BAA2B,cAAc,IAAI,YAAY,OAAO;AACpE,UAAI,CAAC,0BAA0B;AAC9B,eAAO;AAAA,MACR;AAEA,UAAI;AACH,cAAM,OAAO,cAAc;AAAA,MAC5B,SAASG,IAAP;AACD,eAAOA,OAAM;AAAA,MACd;AAAA,IACD,IACE,SAAS,QAAQ,OAAO;AAEzB,UAAI,CAAC,SAAU,OAAO,UAAU,YAAY,OAAO,UAAU,YAAa;AACzE,eAAO;AAAA,MACR;AAEA,aAAO,UAAU,KAAK,MAAM;AAAA,IAC7B;AAAA;AAAA;;;ACzDD;AAAA,iDAAAY,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,YAAY;AAEhB,QAAI,cAAc,UAAU,0CAA0C,IAAI;AAE1E,WAAO,UAAU,cACd,SAAS,oBAAoB,KAAK;AACnC,UAAI,CAAC,OAAO,OAAO,QAAQ,UAAU;AACpC,eAAO;AAAA,MACR;AACA,UAAI;AACH,oBAAY,GAAG;AACf,eAAO;AAAA,MACR,SAASG,IAAP;AACD,eAAO;AAAA,MACR;AAAA,IACD,IACE,SAAS,oBAAoB,KAAK;AACnC,aAAO;AAAA,IACR;AAAA;AAAA;;;ACpBD;AAAA,2CAAAY,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,WAAW,OAAO,UAAU;AAChC,QAAI,kBAAkB,SAAS0D,iBAAgB,OAAO;AACrD,UAAI;AACH,iBAAS,KAAK,KAAK;AACnB,eAAO;AAAA,MACR,SAASvD,IAAP;AACD,eAAO;AAAA,MACR;AAAA,IACD;AACA,QAAI,QAAQ,OAAO,UAAU;AAC7B,QAAI,WAAW;AACf,QAAI,iBAAiB,iBAAiC;AAEtD,WAAO,UAAU,SAAS,eAAe,OAAO;AAC/C,UAAI,OAAO,UAAU,UAAU;AAC9B,eAAO;AAAA,MACR;AACA,UAAI,OAAO,UAAU,UAAU;AAC9B,eAAO;AAAA,MACR;AACA,aAAO,iBAAiB,gBAAgB,KAAK,IAAI,MAAM,KAAK,KAAK,MAAM;AAAA,IACxE;AAAA;AAAA;;;ACvBA;AAAA,4CAAAY,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,YAAY;AAChB,QAAI,aAAa,UAAU,4BAA4B;AACvD,QAAI,YAAY,UAAU,2BAA2B;AAErD,QAAI,mBAAmB,SAAS,kBAAkB,OAAO;AACxD,UAAI;AACH,mBAAW,KAAK;AAChB,eAAO;AAAA,MACR,SAASG,IAAP;AACD,eAAO;AAAA,MACR;AAAA,IACD;AACA,QAAI,YAAY;AAChB,QAAI,iBAAiB,iBAAiC;AAEtD,WAAO,UAAU,SAASoC,WAAU,OAAO;AAC1C,UAAI,OAAO,UAAU,WAAW;AAC/B,eAAO;AAAA,MACR;AACA,UAAI,UAAU,QAAQ,OAAO,UAAU,UAAU;AAChD,eAAO;AAAA,MACR;AACA,aAAO,kBAAkB,OAAO,eAAe,QAAQ,iBAAiB,KAAK,IAAI,UAAU,KAAK,MAAM;AAAA,IACvG;AAAA;AAAA;;;ACzBA;AAAA,oCAAAxB,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,QAAQ,OAAO,UAAU;AAC7B,QAAI,aAAa,sBAAuB;AAExC,QAAI,YAAY;AACX,iBAAW,OAAO,UAAU;AAC5B,uBAAiB;AACjB,uBAAiB,SAAS,mBAAmB,OAAO;AACvD,YAAI,OAAO,MAAM,QAAQ,MAAM,UAAU;AACxC,iBAAO;AAAA,QACR;AACA,eAAO,eAAe,KAAK,SAAS,KAAK,KAAK,CAAC;AAAA,MAChD;AAEA,aAAO,UAAU,SAAS,SAAS,OAAO;AACzC,YAAI,OAAO,UAAU,UAAU;AAC9B,iBAAO;AAAA,QACR;AACA,YAAI,MAAM,KAAK,KAAK,MAAM,mBAAmB;AAC5C,iBAAO;AAAA,QACR;AACA,YAAI;AACH,iBAAO,eAAe,KAAK;AAAA,QAC5B,SAASG,IAAP;AACD,iBAAO;AAAA,QACR;AAAA,MACD;AAAA,IACD,OAAO;AAEN,aAAO,UAAU,SAAS,SAAS,OAAO;AAEzC,eAAO;AAAA,MACR;AAAA,IACD;AA5BK;AACA;AACA;AAAA;AAAA;;;ACRL;AAAA,sCAAAY,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,UAAU,OAAO,WAAW,eAAe;AAE/C,WAAO,UAAU,SAAS,mBAAmB;AAC5C,aAAO,OAAO,YAAY,cACtB,OAAO,WAAW,cAClB,OAAO,QAAQ,EAAE,MAAM,YACvB,OAAO,OAAO,EAAE,MAAM;AAAA,IAC3B;AAAA;AAAA;;;ACTA;AAAA,oCAAAe,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,aAAa,sBAAuB;AAExC,QAAI,YAAY;AACX,sBAAgB,OAAO,UAAU;AACjC,kBAAY,SAAS,gBAAgB,OAAO;AAC/C,YAAI;AACH,wBAAc,KAAK,KAAK;AACxB,iBAAO;AAAA,QACR,SAASG,IAAP;AAAA,QACF;AACA,eAAO;AAAA,MACR;AAEA,aAAO,UAAU,SAAS,SAAS,OAAO;AACzC,YACC,UAAU,QACP,OAAO,UAAU,eACjB,OAAO,UAAU,aACjB,OAAO,UAAU,YACjB,OAAO,UAAU,YACjB,OAAO,UAAU,YACjB,OAAO,UAAU,YACnB;AACD,iBAAO;AAAA,QACR;AACA,YAAI,OAAO,UAAU,UAAU;AAC9B,iBAAO;AAAA,QACR;AAEA,eAAO,UAAU,KAAK;AAAA,MACvB;AAAA,IACD,OAAO;AACN,aAAO,UAAU,SAAS,SAAS,OAAO;AACzC,eAAO;AAAA,MACR;AAAA,IACD;AAhCK;AACA;AAAA;AAAA;;;ACNL;AAAA,gDAAAY,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAImB,YAAW;AACf,QAAImB,YAAW;AACf,QAAIC,aAAY;AAChB,QAAI,WAAW;AACf,QAAI,WAAW;AAGf,WAAO,UAAU,SAAS,oBAAoB,OAAO;AAEpD,UAAI,SAAS,QAAS,OAAO,UAAU,YAAY,OAAO,UAAU,YAAa;AAChF,eAAO;AAAA,MACR;AACA,UAAIpB,UAAS,KAAK,GAAG;AACpB,eAAO;AAAA,MACR;AACA,UAAImB,UAAS,KAAK,GAAG;AACpB,eAAO;AAAA,MACR;AACA,UAAIC,WAAU,KAAK,GAAG;AACrB,eAAO;AAAA,MACR;AACA,UAAI,SAAS,KAAK,GAAG;AACpB,eAAO;AAAA,MACR;AACA,UAAI,SAAS,KAAK,GAAG;AACpB,eAAO;AAAA,MACR;AAAA,IACD;AAAA;AAAA;;;AC7BA;AAAA,qCAAAxB,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,WAAW,OAAO,YAAY,cAAc,QAAQ,YAAY,UAAU;AAC9E,QAAI,WAAW,OAAO,YAAY,cAAc,QAAQ,YAAY,UAAU;AAE9E,QAAI;AAEJ,QAAI,CAAC,UAAU;AAEd,iBAAW,SAAS,UAAU,GAAG;AAEhC,eAAO;AAAA,MACR;AAAA,IACD;AAEA,QAAI,UAAU,WAAW,SAAS,UAAU,MAAM;AAClD,QAAI,UAAU,WAAW,SAAS,UAAU,MAAM;AAClD,QAAI,CAAC,YAAY,CAAC,SAAS;AAE1B,iBAAW,SAAS,UAAU,GAAG;AAEhC,eAAO;AAAA,MACR;AAAA,IACD;AAEA,WAAO,UAAU,YAAY,SAAS,UAAU,GAAG;AAClD,UAAI,CAAC,KAAK,OAAO,MAAM,UAAU;AAChC,eAAO;AAAA,MACR;AACA,UAAI;AACH,gBAAQ,KAAK,GAAG,OAAO;AACvB,YAAI,SAAS;AACZ,cAAI;AACH,oBAAQ,KAAK,GAAG,OAAO;AAAA,UACxB,SAASG,IAAP;AACD,mBAAO;AAAA,UACR;AAAA,QACD;AACA,eAAO,aAAa;AAAA,MACrB,SAASA,IAAP;AAAA,MAAW;AACb,aAAO;AAAA,IACR;AAAA;AAAA;;;ACzCA;AAAA,qCAAAY,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,eAAe;AACnB,QAAI,YAAY;AAEhB,QAAI,WAAW,aAAa,aAAa,IAAI;AAE7C,QAAI,UAAU,UAAU,yBAAyB,IAAI;AAErD,QAAI,SAAS;AACR,gBAAU,UAAU,yBAAyB,IAAI;AAErD,aAAO,UAAU,SAAS,UAAU,GAAG;AACtC,YAAI,CAAC,KAAK,OAAO,MAAM,UAAU;AAChC,iBAAO;AAAA,QACR;AACA,YAAI;AACH,kBAAQ,GAAG,OAAO;AAClB,cAAI,SAAS;AACZ,gBAAI;AACH,sBAAQ,GAAG,OAAO;AAAA,YACnB,SAASG,IAAP;AACD,qBAAO;AAAA,YACR;AAAA,UACD;AACA,iBAAO,aAAa;AAAA,QACrB,SAASA,IAAP;AAAA,QAAW;AACb,eAAO;AAAA,MACR;AAAA,IACD,OAAO;AAEN,aAAO,UAAU,SAAS,UAAU,GAAG;AAEtC,eAAO;AAAA,MACR;AAAA,IACD;AAzBK;AAAA;AAAA;;;ACVL;AAAA,2CAAAY,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,QAAQ;AACZ,QAAI,QAAQ;AACZ,QAAI,YAAY;AAChB,QAAI,YAAY;AAEhB,WAAO,UAAU,SAAS,gBAAgB,OAAO;AAChD,UAAI,SAAS,OAAO,UAAU,UAAU;AACvC,YAAI,MAAM,KAAK,GAAG;AACjB,iBAAO;AAAA,QACR;AACA,YAAI,MAAM,KAAK,GAAG;AACjB,iBAAO;AAAA,QACR;AACA,YAAI,UAAU,KAAK,GAAG;AACrB,iBAAO;AAAA,QACR;AACA,YAAI,UAAU,KAAK,GAAG;AACrB,iBAAO;AAAA,QACR;AAAA,MACD;AACA,aAAO;AAAA,IACR;AAAA;AAAA;;;ACvBA;AAAA,4CAAAe,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAIsD,WAAU;AACd,QAAI,uBAAuB;AAC3B,QAAI,YAAY;AAChB,QAAI,OAAO;AAEX,QAAI,YAAY,UAAU,2BAA2B;AACrD,QAAI,iBAAiB,iBAAiC;AAEtD,QAAI,IAAI,OAAO,eAAe,cAAc,SAAS;AACrD,QAAI,cAAc,qBAAqB;AAEvC,QAAI,SAAS,UAAU,wBAAwB;AAC/C,QAAI,YAAY,CAAC;AACjB,QAAIC,kBAAiB,OAAO;AAC5B,QAAI,kBAAkB,QAAQA,iBAAgB;AAC7C,MAAAD,SAAQ,aAAa,SAAU,YAAY;AAC1C,YAAI,OAAO,EAAE,UAAU,MAAM,YAAY;AACxC,cAAI,MAAM,IAAI,EAAE,UAAU,EAAE;AAC5B,cAAI,OAAO,eAAe,KAAK;AAC9B,gBAAI,QAAQC,gBAAe,GAAG;AAC9B,gBAAI,aAAa,KAAK,OAAO,OAAO,WAAW;AAC/C,gBAAI,CAAC,YAAY;AAChB,kBAAI,aAAaA,gBAAe,KAAK;AACrC,2BAAa,KAAK,YAAY,OAAO,WAAW;AAAA,YACjD;AACA,sBAAU,UAAU,IAAI,WAAW;AAAA,UACpC;AAAA,QACD;AAAA,MACD,CAAC;AAAA,IACF;AAEA,QAAI,iBAAiB,SAAS,kBAAkB,OAAO;AACtD,UAAI,YAAY;AAChB,MAAAD,SAAQ,WAAW,SAAU,QAAQ,YAAY;AAChD,YAAI,CAAC,WAAW;AACf,cAAI;AACH,gBAAIzD,QAAO,OAAO,KAAK,KAAK;AAC5B,gBAAIA,UAAS,YAAY;AACxB,0BAAYA;AAAA,YACb;AAAA,UACD,SAASM,IAAP;AAAA,UAAW;AAAA,QACd;AAAA,MACD,CAAC;AACD,aAAO;AAAA,IACR;AAEA,QAAIqD,gBAAe;AAEnB,WAAO,UAAU,SAAS,gBAAgB,OAAO;AAChD,UAAI,CAACA,cAAa,KAAK,GAAG;AAAE,eAAO;AAAA,MAAO;AAC1C,UAAI,CAAC,kBAAkB,EAAE,OAAO,eAAe,QAAQ;AAAE,eAAO,OAAO,UAAU,KAAK,GAAG,GAAG,EAAE;AAAA,MAAG;AACjG,aAAO,eAAe,KAAK;AAAA,IAC5B;AAAA;AAAA;;;ACtDA;AAAA,mDAAAzC,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,YAAY;AAChB,QAAI,cAAc,UAAU,oCAAoC,IAAI;AAEpE,QAAIyD,iBAAgB;AAEpB,WAAO,UAAU,SAAS,WAAW,IAAI;AACxC,UAAI,CAACA,eAAc,EAAE,GAAG;AACvB,eAAO;AAAA,MACR;AACA,aAAO,cAAc,YAAY,EAAE,IAAI,GAAG;AAAA,IAC3C;AAAA;AAAA;;;ACZA;AAAA,qCAAA1C,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,SAAS;AACb,QAAI,YAAY;AAChB,QAAI,QAAQ;AACZ,QAAI,eAAe;AACnB,QAAI,cAAc;AAClB,QAAI,iBAAiB;AACrB,QAAI,KAAK;AACT,QAAI,cAAc;AAClB,QAAIoC,WAAU;AACd,QAAIqB,iBAAgB;AACpB,QAAIjB,UAAS;AACb,QAAI,UAAU;AACd,QAAI,sBAAsB;AAC1B,QAAI,aAAa;AACjB,QAAI,sBAAsB;AAC1B,QAAI,kBAAkB;AACtB,QAAI,kBAAkB;AACtB,QAAI,aAAa;AAEjB,QAAI,gBAAgB,UAAU,0CAA0C,IAAI;AAE5E,QAAI,WAAW,UAAU,wBAAwB;AACjD,QAAI,MAAM,OAAO;AACjB,QAAI,eAAe,UAAU,2BAA2B;AAExD,QAAI,OAAO,aAAa,SAAS,IAAI;AACrC,QAAI,UAAU,UAAU,qBAAqB,IAAI;AACjD,QAAI,UAAU,UAAU,qBAAqB,IAAI;AACjD,QAAI,WAAW,UAAU,sBAAsB,IAAI;AACnD,QAAI,UAAU,UAAU,qBAAqB,IAAI;AACjD,QAAI,aAAa,UAAU,wBAAwB,IAAI;AACvD,QAAI,UAAU,UAAU,qBAAqB,IAAI;AACjD,QAAI,WAAW,UAAU,sBAAsB,IAAI;AAGnD,aAAS,mBAAmB,KAAK,MAAM,MAAM,SAAS;AACpD,UAAI1C,KAAI,YAAY,GAAG;AACvB,UAAI;AACJ,cAAQ,SAASA,GAAE,KAAK,MAAM,CAAC,OAAO,MAAM;AAC1C,YAAI,kBAAkB,MAAM,OAAO,OAAO,MAAM,OAAO,GAAG;AAExD,qBAAW,KAAK,OAAO,KAAK;AAC5B,iBAAO;AAAA,QACT;AAAA,MACF;AAEA,aAAO;AAAA,IACT;AAGA,aAAS,4BAA4B,MAAM;AACzC,UAAI,OAAO,SAAS,aAAa;AAC/B,eAAO;AAAA,MACT;AACA,UAAI,OAAO,SAAS,UAAU;AAC5B,eAAO;AAAA,MACT;AACA,UAAI,OAAO,SAAS,UAAU;AAC5B,eAAO;AAAA,MACT;AACA,UAAI,OAAO,SAAS,YAAY,OAAO,SAAS,UAAU;AAExD,eAAO,CAAC,SAAS,CAAC;AAAA,MACpB;AACA,aAAO;AAAA,IACT;AAGA,aAAS,sBAAsBW,IAAG,GAAG,MAAM,MAAM,MAAM,SAAS;AAC9D,UAAI,WAAW,4BAA4B,IAAI;AAC/C,UAAI,YAAY,MAAM;AACpB,eAAO;AAAA,MACT;AACA,UAAI,OAAO,QAAQ,GAAG,QAAQ;AAC9B,UAAI,YAAY,OAAO,CAAC,GAAG,MAAM,EAAE,QAAQ,MAAM,CAAC;AAClD,UACG,OAAO,SAAS,eAAe,CAAC,QAAQ,GAAG,QAAQ,KAEjD,CAAC,kBAAkB,MAAM,MAAM,WAAW,OAAO,GACpD;AACA,eAAO;AAAA,MACT;AAEA,aAAO,CAAC,QAAQA,IAAG,QAAQ,KAAK,kBAAkB,MAAM,MAAM,WAAW,OAAO;AAAA,IAClF;AAGA,aAAS,sBAAsBA,IAAG,GAAG,MAAM;AACzC,UAAI,WAAW,4BAA4B,IAAI;AAC/C,UAAI,YAAY,MAAM;AACpB,eAAO;AAAA,MACT;AAEA,aAAO,QAAQ,GAAG,QAAQ,KAAK,CAAC,QAAQA,IAAG,QAAQ;AAAA,IACrD;AAGA,aAAS,iBAAiB,KAAK,KAAK,MAAM,OAAO,MAAM,SAAS;AAC9D,UAAIX,KAAI,YAAY,GAAG;AACvB,UAAI;AACJ,UAAI;AACJ,cAAQ,SAASA,GAAE,KAAK,MAAM,CAAC,OAAO,MAAM;AAC1C,eAAO,OAAO;AACd;AAAA;AAAA,UAEE,kBAAkB,MAAM,MAAM,MAAM,OAAO,KAExC,kBAAkB,OAAO,QAAQ,KAAK,IAAI,GAAG,MAAM,OAAO;AAAA,UAC7D;AACA,qBAAW,KAAK,IAAI;AACpB,iBAAO;AAAA,QACT;AAAA,MACF;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,kBAAkB,QAAQ,UAAU,SAAS,SAAS;AAC7D,UAAI,OAAO,WAAW,CAAC;AAGvB,UAAI,KAAK,SAAS,GAAG,QAAQ,QAAQ,IAAI,WAAW,UAAU;AAC5D,eAAO;AAAA,MACT;AAEA,UAAI,cAAc,oBAAoB,MAAM;AAC5C,UAAI,gBAAgB,oBAAoB,QAAQ;AAChD,UAAI,gBAAgB,eAAe;AACjC,eAAO;AAAA,MACT;AAGA,UAAI,CAAC,UAAU,CAAC,YAAa,OAAO,WAAW,YAAY,OAAO,aAAa,UAAW;AACxF,eAAO,KAAK,SAAS,GAAG,QAAQ,QAAQ,IAAI,UAAU;AAAA,MACxD;AAYA,UAAI,YAAY,QAAQ,IAAI,MAAM;AAClC,UAAI,cAAc,QAAQ,IAAI,QAAQ;AACtC,UAAI;AACJ,UAAI,aAAa,aAAa;AAC5B,YAAI,QAAQ,IAAI,MAAM,MAAM,QAAQ,IAAI,QAAQ,GAAG;AACjD,iBAAO;AAAA,QACT;AAAA,MACF,OAAO;AACL,mBAAW,CAAC;AAAA,MACd;AACA,UAAI,CAAC,WAAW;AAAE,gBAAQ,IAAI,QAAQ,QAAQ;AAAA,MAAG;AACjD,UAAI,CAAC,aAAa;AAAE,gBAAQ,IAAI,UAAU,QAAQ;AAAA,MAAG;AAGrD,aAAO,SAAS,QAAQ,UAAU,MAAM,OAAO;AAAA,IACjD;AAEA,aAASU,UAAS,GAAG;AACnB,UAAI,CAAC,KAAK,OAAO,MAAM,YAAY,OAAO,EAAE,WAAW,UAAU;AAC/D,eAAO;AAAA,MACT;AACA,UAAI,OAAO,EAAE,SAAS,cAAc,OAAO,EAAE,UAAU,YAAY;AACjE,eAAO;AAAA,MACT;AACA,UAAI,EAAE,SAAS,KAAK,OAAO,EAAE,CAAC,MAAM,UAAU;AAC5C,eAAO;AAAA,MACT;AAEA,aAAO,CAAC,EAAE,EAAE,eAAe,EAAE,YAAY,YAAY,EAAE,YAAY,SAAS,CAAC;AAAA,IAC/E;AAEA,aAAS,SAASC,IAAG,GAAG,MAAM,SAAS;AACrC,UAAI,SAASA,EAAC,MAAM,SAAS,CAAC,GAAG;AAC/B,eAAO;AAAA,MACT;AACA,UAAI,KAAK,YAAYA,EAAC;AACtB,UAAI,KAAK,YAAY,CAAC;AACtB,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,cAAQ,UAAU,GAAG,KAAK,MAAM,CAAC,QAAQ,MAAM;AAC7C,YAAI,QAAQ,SAAS,OAAO,QAAQ,UAAU,UAAU;AACtD,cAAI,CAAC,KAAK;AAAE,kBAAM,IAAI,KAAK;AAAA,UAAG;AAC9B,kBAAQ,KAAK,QAAQ,KAAK;AAAA,QAC5B,WAAW,CAAC,QAAQ,GAAG,QAAQ,KAAK,GAAG;AACrC,cAAI,KAAK,QAAQ;AAAE,mBAAO;AAAA,UAAO;AACjC,cAAI,CAAC,sBAAsBA,IAAG,GAAG,QAAQ,KAAK,GAAG;AAC/C,mBAAO;AAAA,UACT;AACA,cAAI,CAAC,KAAK;AAAE,kBAAM,IAAI,KAAK;AAAA,UAAG;AAC9B,kBAAQ,KAAK,QAAQ,KAAK;AAAA,QAC5B;AAAA,MACF;AACA,UAAI,KAAK;AACP,gBAAQ,UAAU,GAAG,KAAK,MAAM,CAAC,QAAQ,MAAM;AAE7C,cAAI,QAAQ,SAAS,OAAO,QAAQ,UAAU,UAAU;AACtD,gBAAI,CAAC,mBAAmB,KAAK,QAAQ,OAAO,KAAK,QAAQ,OAAO,GAAG;AACjE,qBAAO;AAAA,YACT;AAAA,UACF,WACE,CAAC,KAAK,UACH,CAAC,QAAQA,IAAG,QAAQ,KAAK,KACzB,CAAC,mBAAmB,KAAK,QAAQ,OAAO,KAAK,QAAQ,OAAO,GAC/D;AACA,mBAAO;AAAA,UACT;AAAA,QACF;AACA,eAAO,SAAS,GAAG,MAAM;AAAA,MAC3B;AACA,aAAO;AAAA,IACT;AAEA,aAAS,SAASA,IAAG,GAAG,MAAM,SAAS;AACrC,UAAI,SAASA,EAAC,MAAM,SAAS,CAAC,GAAG;AAC/B,eAAO;AAAA,MACT;AACA,UAAI,KAAK,YAAYA,EAAC;AACtB,UAAI,KAAK,YAAY,CAAC;AACtB,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,cAAQ,UAAU,GAAG,KAAK,MAAM,CAAC,QAAQ,MAAM;AAC7C,cAAM,QAAQ,MAAM,CAAC;AACrB,gBAAQ,QAAQ,MAAM,CAAC;AACvB,YAAI,OAAO,OAAO,QAAQ,UAAU;AAClC,cAAI,CAAC,KAAK;AAAE,kBAAM,IAAI,KAAK;AAAA,UAAG;AAC9B,kBAAQ,KAAK,GAAG;AAAA,QAClB,OAAO;AACL,kBAAQ,QAAQ,GAAG,GAAG;AACtB,cAAK,OAAO,UAAU,eAAe,CAAC,QAAQ,GAAG,GAAG,KAAM,CAAC,kBAAkB,OAAO,OAAO,MAAM,OAAO,GAAG;AACzG,gBAAI,KAAK,QAAQ;AACf,qBAAO;AAAA,YACT;AACA,gBAAI,CAAC,sBAAsBA,IAAG,GAAG,KAAK,OAAO,MAAM,OAAO,GAAG;AAC3D,qBAAO;AAAA,YACT;AACA,gBAAI,CAAC,KAAK;AAAE,oBAAM,IAAI,KAAK;AAAA,YAAG;AAC9B,oBAAQ,KAAK,GAAG;AAAA,UAClB;AAAA,QACF;AAAA,MACF;AAEA,UAAI,KAAK;AACP,gBAAQ,UAAU,GAAG,KAAK,MAAM,CAAC,QAAQ,MAAM;AAC7C,gBAAM,QAAQ,MAAM,CAAC;AACrB,kBAAQ,QAAQ,MAAM,CAAC;AACvB,cAAI,OAAO,OAAO,QAAQ,UAAU;AAClC,gBAAI,CAAC,iBAAiB,KAAKA,IAAG,KAAK,OAAO,MAAM,OAAO,GAAG;AACxD,qBAAO;AAAA,YACT;AAAA,UACF,WACE,CAAC,KAAK,WACF,CAACA,GAAE,IAAI,GAAG,KAAK,CAAC,kBAAkB,QAAQA,IAAG,GAAG,GAAG,OAAO,MAAM,OAAO,MACxE,CAAC,iBAAiB,KAAKA,IAAG,KAAK,OAAO,OAAO,CAAC,GAAG,MAAM,EAAE,QAAQ,MAAM,CAAC,GAAG,OAAO,GACrF;AACA,mBAAO;AAAA,UACT;AAAA,QACF;AACA,eAAO,SAAS,GAAG,MAAM;AAAA,MAC3B;AACA,aAAO;AAAA,IACT;AAEA,aAAS,SAASA,IAAG,GAAG,MAAM,SAAS;AAErC,UAAIX,IAAG;AAEP,UAAI,OAAOW,OAAM,OAAO,GAAG;AAAE,eAAO;AAAA,MAAO;AAC3C,UAAIA,MAAK,QAAQ,KAAK,MAAM;AAAE,eAAO;AAAA,MAAO;AAE5C,UAAI,aAAaA,EAAC,MAAM,aAAa,CAAC,GAAG;AAAE,eAAO;AAAA,MAAO;AAEzD,UAAI,YAAYA,EAAC,MAAM,YAAY,CAAC,GAAG;AAAE,eAAO;AAAA,MAAO;AAEvD,UAAI,WAAW2B,SAAQ3B,EAAC;AACxB,UAAI,WAAW2B,SAAQ,CAAC;AACxB,UAAI,aAAa,UAAU;AAAE,eAAO;AAAA,MAAO;AAG3C,UAAI,WAAW3B,cAAa;AAC5B,UAAI,WAAW,aAAa;AAC5B,UAAI,aAAa,UAAU;AAAE,eAAO;AAAA,MAAO;AAC3C,UAAI,YAAY,UAAU;AACxB,YAAIA,GAAE,SAAS,EAAE,QAAQA,GAAE,YAAY,EAAE,SAAS;AAAE,iBAAO;AAAA,QAAO;AAAA,MACpE;AAEA,UAAI,WAAW,QAAQA,EAAC;AACxB,UAAI,WAAW,QAAQ,CAAC;AACxB,UAAI,aAAa,UAAU;AAAE,eAAO;AAAA,MAAO;AAC3C,WAAK,YAAY,cAAcA,GAAE,WAAW,EAAE,UAAU,MAAMA,EAAC,MAAM,MAAM,CAAC,IAAI;AAC9E,eAAO;AAAA,MACT;AAEA,UAAI,UAAU+B,QAAO/B,EAAC;AACtB,UAAI,UAAU+B,QAAO,CAAC;AACtB,UAAI,YAAY,SAAS;AAAE,eAAO;AAAA,MAAO;AACzC,UAAI,WAAW,SAAS;AACtB,YAAI,SAAS/B,EAAC,MAAM,SAAS,CAAC,GAAG;AAAE,iBAAO;AAAA,QAAO;AAAA,MACnD;AACA,UAAI,KAAK,UAAU,OAAO,IAAIA,EAAC,MAAM,IAAI,CAAC,GAAG;AAAE,eAAO;AAAA,MAAO;AAE7D,UAAI,SAAS,gBAAgBA,EAAC;AAC9B,UAAI,SAAS,gBAAgB,CAAC;AAC9B,WAAK,UAAU,WAAW,WAAW,QAAQ;AAC3C,eAAO;AAAA,MACT;AAEA,UAAI,YAAYD,UAASC,EAAC;AAC1B,UAAI,YAAYD,UAAS,CAAC;AAC1B,UAAI,cAAc,WAAW;AAAE,eAAO;AAAA,MAAO;AAC7C,UAAI,aAAa,WAAW;AAC1B,YAAIC,GAAE,WAAW,EAAE,QAAQ;AAAE,iBAAO;AAAA,QAAO;AAC3C,aAAKX,KAAI,GAAGA,KAAIW,GAAE,QAAQX,MAAK;AAC7B,cAAIW,GAAEX,EAAC,MAAM,EAAEA,EAAC,GAAG;AAAE,mBAAO;AAAA,UAAO;AAAA,QACrC;AACA,eAAO;AAAA,MACT;AAEA,UAAI,iBAAiB2D,eAAchD,EAAC;AACpC,UAAI,iBAAiBgD,eAAc,CAAC;AACpC,UAAI,mBAAmB,gBAAgB;AAAE,eAAO;AAAA,MAAO;AACvD,UAAI,kBAAkB,gBAAgB;AACpC,YAAI,WAAWhD,EAAC,MAAM,WAAW,CAAC,GAAG;AAAE,iBAAO;AAAA,QAAO;AACrD,eAAO,OAAO,eAAe,cAAc,kBAAkB,IAAI,WAAWA,EAAC,GAAG,IAAI,WAAW,CAAC,GAAG,MAAM,OAAO;AAAA,MAClH;AAEA,UAAI,SAAS,oBAAoBA,EAAC;AAClC,UAAI,SAAS,oBAAoB,CAAC;AAClC,UAAI,WAAW,QAAQ;AAAE,eAAO;AAAA,MAAO;AACvC,UAAI,UAAU,QAAQ;AACpB,YAAI,cAAcA,EAAC,MAAM,cAAc,CAAC,GAAG;AAAE,iBAAO;AAAA,QAAO;AAC3D,eAAO,OAAO,eAAe,cAAc,kBAAkB,IAAI,WAAWA,EAAC,GAAG,IAAI,WAAW,CAAC,GAAG,MAAM,OAAO;AAAA,MAClH;AAEA,UAAI,OAAOA,OAAM,OAAO,GAAG;AAAE,eAAO;AAAA,MAAO;AAE3C,UAAI,KAAK,WAAWA,EAAC;AACrB,UAAI,KAAK,WAAW,CAAC;AAErB,UAAI,GAAG,WAAW,GAAG,QAAQ;AAAE,eAAO;AAAA,MAAO;AAG7C,SAAG,KAAK;AACR,SAAG,KAAK;AAER,WAAKX,KAAI,GAAG,SAAS,GAAGA,MAAK,GAAGA,MAAK;AACnC,YAAI,GAAGA,EAAC,KAAK,GAAGA,EAAC,GAAG;AAAE,iBAAO;AAAA,QAAO;AAAA,MACtC;AAGA,WAAKA,KAAI,GAAG,SAAS,GAAGA,MAAK,GAAGA,MAAK;AACnC,cAAM,GAAGA,EAAC;AACV,YAAI,CAAC,kBAAkBW,GAAE,GAAG,GAAG,EAAE,GAAG,GAAG,MAAM,OAAO,GAAG;AAAE,iBAAO;AAAA,QAAO;AAAA,MACzE;AAEA,UAAI,cAAc,gBAAgBA,EAAC;AACnC,UAAI,cAAc,gBAAgB,CAAC;AACnC,UAAI,gBAAgB,aAAa;AAC/B,eAAO;AAAA,MACT;AACA,UAAI,gBAAgB,SAAS,gBAAgB,OAAO;AAClD,eAAO,SAASA,IAAG,GAAG,MAAM,OAAO;AAAA,MACrC;AACA,UAAI,gBAAgB,OAAO;AACzB,eAAO,SAASA,IAAG,GAAG,MAAM,OAAO;AAAA,MACrC;AAEA,aAAO;AAAA,IACT;AAEA,WAAO,UAAU,SAASkD,WAAUlD,IAAG,GAAG,MAAM;AAC9C,aAAO,kBAAkBA,IAAG,GAAG,MAAM,eAAe,CAAC;AAAA,IACvD;AAAA;AAAA;;;AChYA;AAAA,uCAAAM,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAI,oBAAoB,SAAS4D,mBAAkB,OAAO;AACzD,aAAO,gBAAgB,KAAK,KACxB,CAAC,UAAU,KAAK;AAAA,IACrB;AAEA,aAAS,gBAAgB,OAAO;AAC/B,aAAO,CAAC,CAAC,SAAS,OAAO,UAAU;AAAA,IACpC;AAEA,aAAS,UAAU,OAAO;AACzB,UAAI,cAAc,OAAO,UAAU,SAAS,KAAK,KAAK;AAEtD,aAAO,gBAAgB,qBACnB,gBAAgB,mBAChB,eAAe,KAAK;AAAA,IACzB;AAGA,QAAI,eAAe,OAAO,WAAW,cAAc,OAAO;AAC1D,QAAI,qBAAqB,eAAe,OAAO,IAAI,eAAe,IAAI;AAEtE,aAAS,eAAe,OAAO;AAC9B,aAAO,MAAM,aAAa;AAAA,IAC3B;AAEA,aAAS,YAAY,KAAK;AACzB,aAAO,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;AAAA,IACnC;AAEA,aAAS,8BAA8B,OAAO,SAAS;AACtD,aAAQ,QAAQ,UAAU,SAAS,QAAQ,kBAAkB,KAAK,IAC/D,UAAU,YAAY,KAAK,GAAG,OAAO,OAAO,IAC5C;AAAA,IACJ;AAEA,aAAS,kBAAkB,QAAQ,QAAQ,SAAS;AACnD,aAAO,OAAO,OAAO,MAAM,EAAE,IAAI,SAAS,SAAS;AAClD,eAAO,8BAA8B,SAAS,OAAO;AAAA,MACtD,CAAC;AAAA,IACF;AAEA,aAAS,iBAAiB,KAAK,SAAS;AACvC,UAAI,CAAC,QAAQ,aAAa;AACzB,eAAO;AAAA,MACR;AACA,UAAI,cAAc,QAAQ,YAAY,GAAG;AACzC,aAAO,OAAO,gBAAgB,aAAa,cAAc;AAAA,IAC1D;AAEA,aAAS,gCAAgC,QAAQ;AAChD,aAAO,OAAO,wBACX,OAAO,sBAAsB,MAAM,EAAE,OAAO,SAAS,QAAQ;AAC9D,eAAO,OAAO,qBAAqB,KAAK,QAAQ,MAAM;AAAA,MACvD,CAAC,IACC,CAAC;AAAA,IACL;AAEA,aAAS,QAAQ,QAAQ;AACxB,aAAO,OAAO,KAAK,MAAM,EAAE,OAAO,gCAAgC,MAAM,CAAC;AAAA,IAC1E;AAEA,aAAS,mBAAmB,QAAQ,UAAU;AAC7C,UAAI;AACH,eAAO,YAAY;AAAA,MACpB,SAAQ,GAAN;AACD,eAAO;AAAA,MACR;AAAA,IACD;AAGA,aAAS,iBAAiB,QAAQ,KAAK;AACtC,aAAO,mBAAmB,QAAQ,GAAG,KACjC,EAAE,OAAO,eAAe,KAAK,QAAQ,GAAG,KACvC,OAAO,qBAAqB,KAAK,QAAQ,GAAG;AAAA,IAClD;AAEA,aAAS,YAAY,QAAQ,QAAQ,SAAS;AAC7C,UAAI,cAAc,CAAC;AACnB,UAAI,QAAQ,kBAAkB,MAAM,GAAG;AACtC,gBAAQ,MAAM,EAAE,QAAQ,SAAS,KAAK;AACrC,sBAAY,GAAG,IAAI,8BAA8B,OAAO,GAAG,GAAG,OAAO;AAAA,QACtE,CAAC;AAAA,MACF;AACA,cAAQ,MAAM,EAAE,QAAQ,SAAS,KAAK;AACrC,YAAI,iBAAiB,QAAQ,GAAG,GAAG;AAClC;AAAA,QACD;AAEA,YAAI,mBAAmB,QAAQ,GAAG,KAAK,QAAQ,kBAAkB,OAAO,GAAG,CAAC,GAAG;AAC9E,sBAAY,GAAG,IAAI,iBAAiB,KAAK,OAAO,EAAE,OAAO,GAAG,GAAG,OAAO,GAAG,GAAG,OAAO;AAAA,QACpF,OAAO;AACN,sBAAY,GAAG,IAAI,8BAA8B,OAAO,GAAG,GAAG,OAAO;AAAA,QACtE;AAAA,MACD,CAAC;AACD,aAAO;AAAA,IACR;AAEA,aAAS,UAAU,QAAQ,QAAQ,SAAS;AAC3C,gBAAU,WAAW,CAAC;AACtB,cAAQ,aAAa,QAAQ,cAAc;AAC3C,cAAQ,oBAAoB,QAAQ,qBAAqB;AAGzD,cAAQ,gCAAgC;AAExC,UAAI,gBAAgB,MAAM,QAAQ,MAAM;AACxC,UAAI,gBAAgB,MAAM,QAAQ,MAAM;AACxC,UAAI,4BAA4B,kBAAkB;AAElD,UAAI,CAAC,2BAA2B;AAC/B,eAAO,8BAA8B,QAAQ,OAAO;AAAA,MACrD,WAAW,eAAe;AACzB,eAAO,QAAQ,WAAW,QAAQ,QAAQ,OAAO;AAAA,MAClD,OAAO;AACN,eAAO,YAAY,QAAQ,QAAQ,OAAO;AAAA,MAC3C;AAAA,IACD;AAEA,cAAU,MAAM,SAAS,aAAa,OAAO,SAAS;AACrD,UAAI,CAAC,MAAM,QAAQ,KAAK,GAAG;AAC1B,cAAM,IAAI,MAAM,mCAAmC;AAAA,MACpD;AAEA,aAAO,MAAM,OAAO,SAAS,MAAM,MAAM;AACxC,eAAO,UAAU,MAAM,MAAM,OAAO;AAAA,MACrC,GAAG,CAAC,CAAC;AAAA,IACN;AAEA,QAAI,cAAc;AAElB,WAAO,UAAU;AAAA;AAAA;;;ACpIjB;AAAA,0CAAA7C,UAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AACA,WAAO,UAAU,OAAO,QAAQ,WAAW,KAAK,WAAW,OAAO;AAAA;AAAA;;;ACDlE;AAAA,iDAAAe,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AACA,aAAS,aAAcgB,IAAG;AACxB,UAAI;AAAE,eAAO,KAAK,UAAUA,EAAC;AAAA,MAAE,SAAQb,IAAN;AAAW,eAAO;AAAA,MAAe;AAAA,IACpE;AAEA,WAAO,UAAU;AAEjB,aAAS,OAAO6B,IAAG,MAAM,MAAM;AAC7B,UAAI,KAAM,QAAQ,KAAK,aAAc;AACrC,UAAI,SAAS;AACb,UAAI,OAAOA,OAAM,YAAYA,OAAM,MAAM;AACvC,YAAI,MAAM,KAAK,SAAS;AACxB,YAAI,QAAQ;AAAG,iBAAOA;AACtB,YAAI,UAAU,IAAI,MAAM,GAAG;AAC3B,gBAAQ,CAAC,IAAI,GAAGA,EAAC;AACjB,iBAAS,QAAQ,GAAG,QAAQ,KAAK,SAAS;AACxC,kBAAQ,KAAK,IAAI,GAAG,KAAK,KAAK,CAAC;AAAA,QACjC;AACA,eAAO,QAAQ,KAAK,GAAG;AAAA,MACzB;AACA,UAAI,OAAOA,OAAM,UAAU;AACzB,eAAOA;AAAA,MACT;AACA,UAAI,SAAS,KAAK;AAClB,UAAI,WAAW;AAAG,eAAOA;AACzB,UAAI,MAAM;AACV,UAAIvB,KAAI,IAAI;AACZ,UAAI,UAAU;AACd,UAAI,OAAQuB,MAAKA,GAAE,UAAW;AAC9B,eAASlC,KAAI,GAAGA,KAAI,QAAO;AACzB,YAAIkC,GAAE,WAAWlC,EAAC,MAAM,MAAMA,KAAI,IAAI,MAAM;AAC1C,oBAAU,UAAU,KAAK,UAAU;AACnC,kBAAQkC,GAAE,WAAWlC,KAAI,CAAC,GAAG;AAAA,YAC3B,KAAK;AAAA,YACL,KAAK;AACH,kBAAIW,MAAK;AACP;AACF,kBAAI,KAAKA,EAAC,KAAK;AAAO;AACtB,kBAAI,UAAUX;AACZ,uBAAOkC,GAAE,MAAM,SAASlC,EAAC;AAC3B,qBAAO,OAAO,KAAKW,EAAC,CAAC;AACrB,wBAAUX,KAAI;AACd,cAAAA;AACA;AAAA,YACF,KAAK;AACH,kBAAIW,MAAK;AACP;AACF,kBAAI,KAAKA,EAAC,KAAK;AAAO;AACtB,kBAAI,UAAUX;AACZ,uBAAOkC,GAAE,MAAM,SAASlC,EAAC;AAC3B,qBAAO,KAAK,MAAM,OAAO,KAAKW,EAAC,CAAC,CAAC;AACjC,wBAAUX,KAAI;AACd,cAAAA;AACA;AAAA,YACF,KAAK;AAAA,YACL,KAAK;AAAA,YACL,KAAK;AACH,kBAAIW,MAAK;AACP;AACF,kBAAI,KAAKA,EAAC,MAAM;AAAW;AAC3B,kBAAI,UAAUX;AACZ,uBAAOkC,GAAE,MAAM,SAASlC,EAAC;AAC3B,kBAAI,OAAO,OAAO,KAAKW,EAAC;AACxB,kBAAI,SAAS,UAAU;AACrB,uBAAO,MAAO,KAAKA,EAAC,IAAI;AACxB,0BAAUX,KAAI;AACd,gBAAAA;AACA;AAAA,cACF;AACA,kBAAI,SAAS,YAAY;AACvB,uBAAO,KAAKW,EAAC,EAAE,QAAQ;AACvB,0BAAUX,KAAI;AACd,gBAAAA;AACA;AAAA,cACF;AACA,qBAAO,GAAG,KAAKW,EAAC,CAAC;AACjB,wBAAUX,KAAI;AACd,cAAAA;AACA;AAAA,YACF,KAAK;AACH,kBAAIW,MAAK;AACP;AACF,kBAAI,UAAUX;AACZ,uBAAOkC,GAAE,MAAM,SAASlC,EAAC;AAC3B,qBAAO,OAAO,KAAKW,EAAC,CAAC;AACrB,wBAAUX,KAAI;AACd,cAAAA;AACA;AAAA,YACF,KAAK;AACH,kBAAI,UAAUA;AACZ,uBAAOkC,GAAE,MAAM,SAASlC,EAAC;AAC3B,qBAAO;AACP,wBAAUA,KAAI;AACd,cAAAA;AACA,cAAAW;AACA;AAAA,UACJ;AACA,YAAEA;AAAA,QACJ;AACA,UAAEX;AAAA,MACJ;AACA,UAAI,YAAY;AACd,eAAOkC;AAAA,eACA,UAAU,MAAM;AACvB,eAAOA,GAAE,MAAM,OAAO;AAAA,MACxB;AAEA,aAAO;AAAA,IACT;AAAA;AAAA;;;AC5GA,IAAA6B,mBAAA;AAAA,iCAAA9C,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,QAAM,SAAS;AAEf,WAAO,UAAU8D;AAEjB,QAAM,WAAW,uBAAuB,EAAE,WAAW,CAAC;AACtD,QAAM,iBAAiB;AAAA,MACrB,gBAAgB;AAAA,MAChB,iBAAiB;AAAA,MACjB,uBAAuB;AAAA,MACvB,wBAAwB;AAAA,MACxB,qBAAqB;AAAA,MACrB,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,cAAc;AAAA,IAChB;AAEA,aAAS,gBAAiB,WAAW,aAAa;AAChD,UAAI,MAAM,QAAQ,SAAS,GAAG;AAC5B,cAAM,cAAc,UAAU,OAAO,SAAU,GAAG;AAChD,iBAAO,MAAM;AAAA,QACf,CAAC;AACD,eAAO;AAAA,MACT,WAAW,cAAc,MAAM;AAC7B,eAAO,OAAO,KAAK,WAAW;AAAA,MAChC;AAEA,aAAO;AAAA,IACT;AAEA,aAASA,MAAM,MAAM;AACnB,aAAO,QAAQ,CAAC;AAChB,WAAK,UAAU,KAAK,WAAW,CAAC;AAEhC,YAAMC,YAAW,KAAK,QAAQ;AAC9B,UAAIA,aAAY,OAAOA,UAAS,SAAS,YAAY;AAAE,cAAM,MAAM,iDAAiD;AAAA,MAAE;AAEtH,YAAM,QAAQ,KAAK,QAAQ,SAAS;AACpC,UAAI,KAAK,QAAQ;AAAO,aAAK,QAAQ,WAAW;AAChD,YAAM,cAAc,KAAK,eAAe,CAAC;AACzC,YAAM,YAAY,gBAAgB,KAAK,QAAQ,WAAW,WAAW;AACrE,UAAI,kBAAkB,KAAK,QAAQ;AAEnC,UACE,MAAM,QAAQ,KAAK,QAAQ,SAAS,KACpC,KAAK,QAAQ,UAAU,QAAQ,qBAAqB,IAAI;AACxD,0BAAkB;AAEpB,YAAM,eAAe,OAAO,KAAK,KAAK,gBAAgB,CAAC,CAAC;AACxD,YAAM,SAAS,CAAC,SAAS,SAAS,QAAQ,QAAQ,SAAS,OAAO,EAAE,OAAO,YAAY;AAEvF,UAAI,OAAO,UAAU,YAAY;AAC/B,eAAO,QAAQ,SAAUC,QAAO;AAC9B,gBAAMA,MAAK,IAAI;AAAA,QACjB,CAAC;AAAA,MACH;AACA,UAAI,KAAK,YAAY,SAAS,KAAK,QAAQ;AAAU,aAAK,QAAQ;AAClE,YAAM,QAAQ,KAAK,SAAS;AAC5B,YAAMC,UAAS,OAAO,OAAO,KAAK;AAClC,UAAI,CAACA,QAAO;AAAK,QAAAA,QAAO,MAAMC;AAE9B,aAAO,eAAeD,SAAQ,YAAY;AAAA,QACxC,KAAK;AAAA,MACP,CAAC;AACD,aAAO,eAAeA,SAAQ,SAAS;AAAA,QACrC,KAAK;AAAA,QACL,KAAK;AAAA,MACP,CAAC;AAED,YAAM,UAAU;AAAA,QACd,UAAAF;AAAA,QACA;AAAA,QACA,UAAU,KAAK,QAAQ;AAAA,QACvB;AAAA,QACA,WAAW,gBAAgB,IAAI;AAAA,MACjC;AACA,MAAAE,QAAO,SAAS,UAAU,IAAI;AAC9B,MAAAA,QAAO,QAAQ;AAEf,MAAAA,QAAO,kBAAkBA,QAAO,kBAChCA,QAAO,OAAOA,QAAO,cAAcA,QAAO,KAC1CA,QAAO,kBAAkBA,QAAO,OAChCA,QAAO,sBAAsBA,QAAO,iBACpCA,QAAO,qBAAqBA,QAAO,YACnCA,QAAO,gBAAgBA,QAAO,aAC9BA,QAAO,QAAQA,QAAO,QAAQC;AAC9B,MAAAD,QAAO,cAAc;AACrB,MAAAA,QAAO,aAAa;AACpB,MAAAA,QAAO,mBAAmB;AAC1B,MAAAA,QAAO,QAAQ;AAEf,UAAIF;AAAU,QAAAE,QAAO,YAAY,oBAAoB;AAErD,eAAS,cAAe;AACtB,eAAO,KAAK,UAAU,WAClB,WACA,KAAK,OAAO,OAAO,KAAK,KAAK;AAAA,MACnC;AAEA,eAAS,WAAY;AACnB,eAAO,KAAK;AAAA,MACd;AACA,eAAS,SAAUD,QAAO;AACxB,YAAIA,WAAU,YAAY,CAAC,KAAK,OAAO,OAAOA,MAAK,GAAG;AACpD,gBAAM,MAAM,mBAAmBA,MAAK;AAAA,QACtC;AACA,aAAK,SAASA;AAEd,YAAI,SAASC,SAAQ,SAAS,KAAK;AACnC,YAAI,SAASA,SAAQ,SAAS,OAAO;AACrC,YAAI,SAASA,SAAQ,QAAQ,OAAO;AACpC,YAAI,SAASA,SAAQ,QAAQ,KAAK;AAClC,YAAI,SAASA,SAAQ,SAAS,KAAK;AACnC,YAAI,SAASA,SAAQ,SAAS,KAAK;AAEnC,qBAAa,QAAQ,SAAUD,QAAO;AACpC,cAAI,SAASC,SAAQD,QAAO,KAAK;AAAA,QACnC,CAAC;AAAA,MACH;AAEA,eAAS,MAAO,UAAU,cAAc;AACtC,YAAI,CAAC,UAAU;AACb,gBAAM,IAAI,MAAM,iCAAiC;AAAA,QACnD;AACA,uBAAe,gBAAgB,CAAC;AAChC,YAAI,aAAa,SAAS,aAAa;AACrC,uBAAa,cAAc,SAAS;AAAA,QACtC;AACA,cAAM,0BAA0B,aAAa;AAC7C,YAAI,aAAa,yBAAyB;AACxC,cAAI,mBAAmB,OAAO,OAAO,CAAC,GAAG,aAAa,uBAAuB;AAC7E,cAAI,iBAAiB,KAAK,QAAQ,cAAc,OAC5C,OAAO,KAAK,gBAAgB,IAC5B;AACJ,iBAAO,SAAS;AAChB,2BAAiB,CAAC,QAAQ,GAAG,gBAAgB,kBAAkB,KAAK,gBAAgB;AAAA,QACtF;AACA,iBAAS,MAAO,QAAQ;AACtB,eAAK,eAAe,OAAO,cAAc,KAAK;AAC9C,eAAK,QAAQ3C,MAAK,QAAQ,UAAU,OAAO;AAC3C,eAAK,QAAQA,MAAK,QAAQ,UAAU,OAAO;AAC3C,eAAK,OAAOA,MAAK,QAAQ,UAAU,MAAM;AACzC,eAAK,OAAOA,MAAK,QAAQ,UAAU,MAAM;AACzC,eAAK,QAAQA,MAAK,QAAQ,UAAU,OAAO;AAC3C,eAAK,QAAQA,MAAK,QAAQ,UAAU,OAAO;AAC3C,cAAI,kBAAkB;AACpB,iBAAK,cAAc;AACnB,iBAAK,aAAa;AAAA,UACpB;AACA,cAAI0C,WAAU;AACZ,iBAAK,YAAY;AAAA,cACf,CAAC,EAAE,OAAO,OAAO,UAAU,UAAU,QAAQ;AAAA,YAC/C;AAAA,UACF;AAAA,QACF;AACA,cAAM,YAAY;AAClB,eAAO,IAAI,MAAM,IAAI;AAAA,MACvB;AACA,aAAOE;AAAA,IACT;AAEA,aAAS,UAAW,MAAM;AACxB,YAAM,eAAe,KAAK,gBAAgB,CAAC;AAE3C,YAAM,SAAS,OAAO,OAAO,CAAC,GAAGH,MAAK,OAAO,QAAQ,YAAY;AACjE,YAAM,SAAS,OAAO,OAAO,CAAC,GAAGA,MAAK,OAAO,QAAQ,aAAa,YAAY,CAAC;AAE/E,aAAO;AAAA,QACL;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAEA,aAAS,aAAc,KAAK;AAC1B,YAAM,WAAW,CAAC;AAClB,aAAO,KAAK,GAAG,EAAE,QAAQ,SAAU,KAAK;AACtC,iBAAS,IAAI,GAAG,CAAC,IAAI;AAAA,MACvB,CAAC;AACD,aAAO;AAAA,IACT;AAEA,IAAAA,MAAK,SAAS;AAAA,MACZ,QAAQ;AAAA,QACN,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,QACN,OAAO;AAAA,QACP,OAAO;AAAA,MACT;AAAA,MACA,QAAQ;AAAA,QACN,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,IACF;AAEA,IAAAA,MAAK,iBAAiB;AACtB,IAAAA,MAAK,mBAAmB,OAAO,OAAO,CAAC,GAAG,EAAE,UAAU,WAAW,UAAU,QAAQ,CAAC;AAEpF,aAAS,IAAK,MAAMG,SAAQ,OAAO,UAAU;AAC3C,YAAM,QAAQ,OAAO,eAAeA,OAAM;AAC1C,MAAAA,QAAO,KAAK,IAAIA,QAAO,WAAWA,QAAO,OAAO,OAAO,KAAK,IACxDC,QACC,MAAM,KAAK,IAAI,MAAM,KAAK,IAAK,SAAS,KAAK,KAAK,SAAS,QAAQ,KAAKA;AAE7E,WAAK,MAAMD,SAAQ,KAAK;AAAA,IAC1B;AAEA,aAAS,KAAM,MAAMA,SAAQ,OAAO;AAClC,UAAI,CAAC,KAAK,YAAYA,QAAO,KAAK,MAAMC;AAAM;AAE9C,MAAAD,QAAO,KAAK,IAAK,SAAU,OAAO;AAChC,eAAO,SAAS,MAAO;AACrB,gBAAM,KAAK,KAAK,UAAU;AAC1B,gBAAM,OAAO,IAAI,MAAM,UAAU,MAAM;AACvC,gBAAM,QAAS,OAAO,kBAAkB,OAAO,eAAe,IAAI,MAAM,WAAY,WAAW;AAC/F,mBAASnE,KAAI,GAAGA,KAAI,KAAK,QAAQA;AAAK,iBAAKA,EAAC,IAAI,UAAUA,EAAC;AAE3D,cAAI,KAAK,aAAa,CAAC,KAAK,UAAU;AACpC,6BAAiB,MAAM,KAAK,YAAY,KAAK,aAAa,KAAK,gBAAgB;AAAA,UACjF;AACA,cAAI,KAAK;AAAU,kBAAM,KAAK,OAAO,SAAS,MAAM,OAAO,MAAM,EAAE,CAAC;AAAA;AAC/D,kBAAM,MAAM,OAAO,IAAI;AAE5B,cAAI,KAAK,UAAU;AACjB,kBAAM,gBAAgB,KAAK,SAAS,SAASmE,QAAO;AACpD,kBAAM,gBAAgBA,QAAO,OAAO,OAAO,aAAa;AACxD,kBAAM,cAAcA,QAAO,OAAO,OAAO,KAAK;AAC9C,gBAAI,cAAc;AAAe;AACjC,qBAAS,MAAM;AAAA,cACb;AAAA,cACA,aAAa;AAAA,cACb;AAAA,cACA;AAAA,cACA,eAAeA,QAAO,OAAO,OAAO,KAAK,SAAS,SAASA,QAAO,KAAK;AAAA,cACvE,MAAM,KAAK,SAAS;AAAA,cACpB,KAAKA,QAAO;AAAA,YACd,GAAG,IAAI;AAAA,UACT;AAAA,QACF;AAAA,MACF,EAAGA,QAAO,KAAK,CAAC;AAAA,IAClB;AAEA,aAAS,SAAUA,SAAQ,OAAO,MAAM,IAAI;AAC1C,UAAIA,QAAO;AAAY,yBAAiB,MAAMA,QAAO,YAAYA,QAAO,aAAaA,QAAO,gBAAgB;AAC5G,YAAM,aAAa,KAAK,MAAM;AAC9B,UAAI,MAAM,WAAW,CAAC;AACtB,YAAMjD,KAAI,CAAC;AACX,UAAI,IAAI;AACN,QAAAA,GAAE,OAAO;AAAA,MACX;AACA,MAAAA,GAAE,QAAQiD,QAAO,OAAO,OAAO,KAAK;AACpC,UAAI,OAAOA,QAAO,cAAc,KAAK;AACrC,UAAI,MAAM;AAAG,cAAM;AAEnB,UAAI,QAAQ,QAAQ,OAAO,QAAQ,UAAU;AAC3C,eAAO,SAAS,OAAO,WAAW,CAAC,MAAM,UAAU;AACjD,iBAAO,OAAOjD,IAAG,WAAW,MAAM,CAAC;AAAA,QACrC;AACA,cAAM,WAAW,SAAS,OAAO,WAAW,MAAM,GAAG,UAAU,IAAI;AAAA,MACrE,WAAW,OAAO,QAAQ;AAAU,cAAM,OAAO,WAAW,MAAM,GAAG,UAAU;AAC/E,UAAI,QAAQ;AAAW,QAAAA,GAAE,MAAM;AAC/B,aAAOA;AAAA,IACT;AAEA,aAAS,iBAAkB,MAAM,WAAW,aAAa,iBAAiB;AACxE,iBAAWlB,MAAK,MAAM;AACpB,YAAI,mBAAmB,KAAKA,EAAC,aAAa,OAAO;AAC/C,eAAKA,EAAC,IAAIgE,MAAK,eAAe,IAAI,KAAKhE,EAAC,CAAC;AAAA,QAC3C,WAAW,OAAO,KAAKA,EAAC,MAAM,YAAY,CAAC,MAAM,QAAQ,KAAKA,EAAC,CAAC,GAAG;AACjE,qBAAW,KAAK,KAAKA,EAAC,GAAG;AACvB,gBAAI,aAAa,UAAU,QAAQ,CAAC,IAAI,MAAM,KAAK,aAAa;AAC9D,mBAAKA,EAAC,EAAE,CAAC,IAAI,YAAY,CAAC,EAAE,KAAKA,EAAC,EAAE,CAAC,CAAC;AAAA,YACxC;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,aAASuB,MAAM,QAAQ,UAAU,OAAO;AACtC,aAAO,WAAY;AACjB,cAAM,OAAO,IAAI,MAAM,IAAI,UAAU,MAAM;AAC3C,aAAK,CAAC,IAAI;AACV,iBAASvB,KAAI,GAAGA,KAAI,KAAK,QAAQA,MAAK;AACpC,eAAKA,EAAC,IAAI,UAAUA,KAAI,CAAC;AAAA,QAC3B;AACA,eAAO,OAAO,KAAK,EAAE,MAAM,MAAM,IAAI;AAAA,MACvC;AAAA,IACF;AAEA,aAAS,SAAUmE,SAAQ,MAAM,MAAM;AACrC,YAAM,OAAO,KAAK;AAClB,YAAM,KAAK,KAAK;AAChB,YAAM,cAAc,KAAK;AACzB,YAAM,cAAc,KAAK;AACzB,YAAM,MAAM,KAAK;AACjB,YAAM,WAAWA,QAAO,UAAU;AAElC;AAAA,QACE;AAAA,QACAA,QAAO,cAAc,OAAO,KAAKA,QAAO,WAAW;AAAA,QACnDA,QAAO;AAAA,QACPA,QAAO,qBAAqB,SAAY,OAAOA,QAAO;AAAA,MACxD;AACA,MAAAA,QAAO,UAAU,KAAK;AACtB,MAAAA,QAAO,UAAU,WAAW,KAAK,OAAO,SAAU,KAAK;AAErD,eAAO,SAAS,QAAQ,GAAG,MAAM;AAAA,MACnC,CAAC;AAED,MAAAA,QAAO,UAAU,MAAM,QAAQ;AAC/B,MAAAA,QAAO,UAAU,MAAM,QAAQ;AAE/B,WAAK,aAAaA,QAAO,WAAW,GAAG;AAEvC,MAAAA,QAAO,YAAY,oBAAoB,QAAQ;AAAA,IACjD;AAEA,aAAS,oBAAqB,UAAU;AACtC,aAAO;AAAA,QACL,IAAI;AAAA,QACJ,UAAU,CAAC;AAAA,QACX,UAAU,YAAY,CAAC;AAAA,QACvB,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE;AAAA,MAC/B;AAAA,IACF;AAEA,aAAS,WAAY,KAAK;AACxB,YAAM,MAAM;AAAA,QACV,MAAM,IAAI,YAAY;AAAA,QACtB,KAAK,IAAI;AAAA,QACT,OAAO,IAAI;AAAA,MACb;AACA,iBAAW,OAAO,KAAK;AACrB,YAAI,IAAI,GAAG,MAAM,QAAW;AAC1B,cAAI,GAAG,IAAI,IAAI,GAAG;AAAA,QACpB;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAEA,aAAS,gBAAiB,MAAM;AAC9B,UAAI,OAAO,KAAK,cAAc,YAAY;AACxC,eAAO,KAAK;AAAA,MACd;AACA,UAAI,KAAK,cAAc,OAAO;AAC5B,eAAO;AAAA,MACT;AACA,aAAO;AAAA,IACT;AAEA,aAAS,OAAQ;AAAE,aAAO,CAAC;AAAA,IAAE;AAC7B,aAAS,YAAaxD,IAAG;AAAE,aAAOA;AAAA,IAAE;AACpC,aAASyD,QAAQ;AAAA,IAAC;AAElB,aAAS,WAAY;AAAE,aAAO;AAAA,IAAM;AACpC,aAAS,YAAa;AAAE,aAAO,KAAK,IAAI;AAAA,IAAE;AAC1C,aAAS,WAAY;AAAE,aAAO,KAAK,MAAM,KAAK,IAAI,IAAI,GAAM;AAAA,IAAE;AAC9D,aAAS,UAAW;AAAE,aAAO,IAAI,KAAK,KAAK,IAAI,CAAC,EAAE,YAAY;AAAA,IAAE;AAIhE,aAAS,yBAA0B;AACjC,eAAS,KAAMlD,IAAG;AAAE,eAAO,OAAOA,OAAM,eAAeA;AAAA,MAAE;AACzD,UAAI;AACF,YAAI,OAAO,eAAe;AAAa,iBAAO;AAC9C,eAAO,eAAe,OAAO,WAAW,cAAc;AAAA,UACpD,KAAK,WAAY;AACf,mBAAO,OAAO,UAAU;AACxB,mBAAQ,KAAK,aAAa;AAAA,UAC5B;AAAA,UACA,cAAc;AAAA,QAChB,CAAC;AACD,eAAO;AAAA,MACT,SAASb,IAAP;AACA,eAAO,KAAK,IAAI,KAAK,KAAK,MAAM,KAAK,KAAK,IAAI,KAAK,CAAC;AAAA,MACtD;AAAA,IACF;AAAA;AAAA;;;AC/XA;AAAA,iDAAAY,UAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAAA,KAAC,SAASG,IAAE;AAAC,UAAIgE;AAAE,kBAAU,OAAOpD,WAAQ,OAAO,UAAQZ,GAAE,IAAE,cAAY,OAAO,UAAQ,OAAO,MAAI,OAAOA,EAAC,KAAG,eAAa,OAAO,SAAOgE,KAAE,SAAO,eAAa,OAAO,SAAOA,KAAE,SAAO,eAAa,OAAO,SAAOA,KAAE,OAAMA,GAAE,aAAWhE,GAAE;AAAA,IAAE,EAAE,WAAU;AAAC,aAAO,SAASiE,GAAEpD,IAAElB,IAAEuE,IAAE;AAAC,iBAASjE,GAAEO,IAAER,IAAE;AAAC,cAAG,CAACL,GAAEa,EAAC,GAAE;AAAC,gBAAG,CAACK,GAAEL,EAAC,GAAE;AAAC,kBAAIwD,KAAE,cAAY,OAAO,aAAS;AAAQ,kBAAG,CAAChE,MAAGgE;AAAE,uBAAOA,GAAExD,IAAE,IAAE;AAAE,kBAAGF;AAAE,uBAAOA,GAAEE,IAAE,IAAE;AAAE,oBAAM,IAAI,MAAM,yBAAuBA,KAAE,GAAG;AAAA,YAAC;AAAC,YAAAR,KAAEL,GAAEa,EAAC,IAAE,EAAC,SAAQ,CAAC,EAAC;AAAE,YAAAK,GAAEL,EAAC,EAAE,CAAC,EAAE,KAAKR,GAAE,SAAQ,SAASA,IAAE;AAAC,kBAAIgE,KAAEnD,GAAEL,EAAC,EAAE,CAAC,EAAER,EAAC;AAAE,qBAAOC,GAAE+D,MAAGhE,EAAC;AAAA,YAAC,GAAEA,IAAEA,GAAE,SAAQiE,IAAEpD,IAAElB,IAAEuE,EAAC;AAAA,UAAC;AAAC,iBAAOvE,GAAEa,EAAC,EAAE;AAAA,QAAO;AAAC,iBAAQF,KAAE,cAAY,OAAO,aAAS,WAAQN,KAAE,GAAEA,KAAEkE,GAAE,QAAOlE;AAAI,UAAAC,GAAEiE,GAAElE,EAAC,CAAC;AAAE,eAAOC;AAAA,MAAC,EAAE,EAAC,GAAE,CAAC,SAAS,GAAE,GAAE,GAAE;AAAC,SAAC,SAASD,IAAEQ,IAAEP,IAAEC,IAAE,GAAEiE,IAAEC,IAAE,GAAE7D,IAAE;AAAC;AAAa,cAAI0D,KAAE,EAAE,QAAQ;AAAE,mBAASD,GAAEhE,IAAEgE,IAAE;AAAC,YAAAA,KAAEE,GAAElE,IAAEgE,EAAC;AAAE,gBAAIxD;AAAE,mBAAO,YAAUA,KAAE,kBAAgBwD,GAAE,YAAUC,GAAE,WAAWD,GAAE,SAAS,IAAE,IAAIzB,MAAG,UAAQ/B,GAAE,QAAMA,GAAE,QAAOA,GAAE,MAAIA,GAAE,SAAQqB,GAAEmC,IAAExD,EAAC,EAAE,SAASR,EAAC,GAAEQ,GAAE,UAAQA,GAAE,IAAI,EAAE,GAAEA,GAAE,SAAOA,GAAE,OAAO,aAAWwD,GAAE,WAAS,SAAOA,GAAE,QAAQ,KAAGhE,KAAEQ,GAAE,KAAK,GAAE,aAAWwD,GAAE,WAAShE,GAAE,SAASgE,GAAE,QAAQ,IAAEhE;AAAA,UAAE;AAAC,WAAC,IAAE,EAAE,UAAQgE,IAAG,OAAK,SAAShE,IAAE;AAAC,mBAAOgE,GAAEhE,EAAC;AAAA,UAAC,GAAE,EAAE,OAAK,SAASA,IAAE;AAAC,mBAAOgE,GAAEhE,IAAE,EAAC,eAAc,MAAG,WAAU,QAAO,UAAS,MAAK,CAAC;AAAA,UAAC,GAAE,EAAE,MAAI,SAASA,IAAE;AAAC,mBAAOgE,GAAEhE,IAAE,EAAC,WAAU,OAAM,UAAS,MAAK,CAAC;AAAA,UAAC,GAAE,EAAE,UAAQ,SAASA,IAAE;AAAC,mBAAOgE,GAAEhE,IAAE,EAAC,WAAU,OAAM,UAAS,OAAM,eAAc,KAAE,CAAC;AAAA,UAAC;AAAE,cAAIa,KAAEoD,GAAE,YAAUA,GAAE,UAAU,EAAE,MAAM,IAAE,CAAC,QAAO,KAAK,GAAEtE,MAAGkB,GAAE,KAAK,aAAa,GAAE,CAAC,UAAS,OAAM,UAAS,QAAQ;AAAG,mBAASqD,GAAElE,IAAEgE,IAAE;AAAC,gBAAIxD,KAAE,CAAC;AAAE,gBAAGA,GAAE,aAAWwD,KAAEA,MAAG,CAAC,GAAG,aAAW,QAAOxD,GAAE,WAASwD,GAAE,YAAU,OAAMxD,GAAE,gBAAc,CAAC,CAACwD,GAAE,eAAcxD,GAAE,YAAUA,GAAE,UAAU,YAAY,GAAEA,GAAE,WAASA,GAAE,SAAS,YAAY,GAAEA,GAAE,gBAAc,SAAKwD,GAAE,eAAcxD,GAAE,cAAY,UAAKwD,GAAE,aAAYxD,GAAE,uBAAqB,UAAKwD,GAAE,sBAAqBxD,GAAE,4BAA0B,UAAKwD,GAAE,2BAA0BxD,GAAE,kBAAgB,SAAKwD,GAAE,iBAAgBxD,GAAE,gBAAc,UAAKwD,GAAE,eAAcxD,GAAE,mBAAiB,UAAKwD,GAAE,kBAAiBxD,GAAE,WAASwD,GAAE,YAAU,QAAOxD,GAAE,cAAYwD,GAAE,eAAa,QAAO,WAAShE;AAAE,oBAAM,IAAI,MAAM,2BAA2B;AAAE,qBAAQiE,KAAE,GAAEA,KAAEpD,GAAE,QAAO,EAAEoD;AAAE,cAAApD,GAAEoD,EAAC,EAAE,YAAY,MAAIzD,GAAE,UAAU,YAAY,MAAIA,GAAE,YAAUK,GAAEoD,EAAC;AAAG,gBAAG,OAAKpD,GAAE,QAAQL,GAAE,SAAS;AAAE,oBAAM,IAAI,MAAM,gBAAcA,GAAE,YAAU,yCAAuCK,GAAE,KAAK,IAAI,CAAC;AAAE,gBAAG,OAAKlB,GAAE,QAAQa,GAAE,QAAQ,KAAG,kBAAgBA,GAAE;AAAU,oBAAM,IAAI,MAAM,eAAaA,GAAE,WAAS,yCAAuCb,GAAE,KAAK,IAAI,CAAC;AAAE,mBAAOa;AAAA,UAAC;AAAC,mBAASF,GAAEN,IAAE;AAAC,gBAAG,cAAY,OAAOA;AAAE,qBAAO,QAAM,wDAAwD,KAAK,SAAS,UAAU,SAAS,KAAKA,EAAC,CAAC;AAAA,UAAC;AAAC,mBAAS6B,GAAEhB,IAAEmD,IAAErE,IAAE;AAAC,YAAAA,KAAEA,MAAG,CAAC;AAAE,qBAASuE,GAAElE,IAAE;AAAC,qBAAOgE,GAAE,SAAOA,GAAE,OAAOhE,IAAE,MAAM,IAAEgE,GAAE,MAAMhE,IAAE,MAAM;AAAA,YAAC;AAAC,mBAAM,EAAC,UAAS,SAASA,IAAE;AAAC,qBAAO,KAAK,OAAK,UAAQA,KAAEa,GAAE,WAASA,GAAE,SAASb,EAAC,IAAEA,MAAG,SAAO,OAAOA,GAAE,EAAEA,EAAC;AAAA,YAAC,GAAE,SAAQ,SAASgE,IAAE;AAAC,kBAAIxD,IAAER,KAAE,OAAO,UAAU,SAAS,KAAKgE,EAAC,GAAEC,KAAE,mBAAmB,KAAKjE,EAAC;AAAE,cAAAiE,MAAGA,KAAEA,KAAEA,GAAE,CAAC,IAAE,cAAYjE,KAAE,KAAK,YAAY;AAAE,kBAAG,MAAIA,KAAEL,GAAE,QAAQqE,EAAC;AAAG,uBAAO,KAAK,SAAS,eAAahE,KAAE,GAAG;AAAE,kBAAGL,GAAE,KAAKqE,EAAC,GAAE,WAAS/D,MAAGA,GAAE,YAAUA,GAAE,SAAS+D,EAAC;AAAE,uBAAOE,GAAE,SAAS,GAAEA,GAAEF,EAAC;AAAE,kBAAG,aAAWC,MAAG,eAAaA,MAAG,oBAAkBA;AAAE,uBAAOjE,KAAE,OAAO,KAAKgE,EAAC,GAAEnD,GAAE,qBAAmBb,KAAEA,GAAE,KAAK,IAAG,UAAKa,GAAE,eAAaP,GAAE0D,EAAC,KAAGhE,GAAE,OAAO,GAAE,GAAE,aAAY,aAAY,aAAa,GAAEa,GAAE,gBAAcb,KAAEA,GAAE,OAAO,SAASA,IAAE;AAAC,yBAAM,CAACa,GAAE,YAAYb,EAAC;AAAA,gBAAC,CAAC,IAAGkE,GAAE,YAAUlE,GAAE,SAAO,GAAG,GAAEQ,KAAE,MAAKR,GAAE,QAAQ,SAASA,IAAE;AAAC,kBAAAQ,GAAE,SAASR,EAAC,GAAEkE,GAAE,GAAG,GAAErD,GAAE,iBAAeL,GAAE,SAASwD,GAAEhE,EAAC,CAAC,GAAEkE,GAAE,GAAG;AAAA,gBAAC,CAAC;AAAE,kBAAG,CAAC,KAAK,MAAID,EAAC,GAAE;AAAC,oBAAGpD,GAAE;AAAc,yBAAOqD,GAAE,MAAID,KAAE,GAAG;AAAE,sBAAM,IAAI,MAAM,0BAAwBA,KAAE,GAAG;AAAA,cAAC;AAAC,mBAAK,MAAIA,EAAC,EAAED,EAAC;AAAA,YAAC,GAAE,QAAO,SAAShE,IAAEgE,IAAE;AAAC,cAAAA,KAAE,WAASA,KAAEA,KAAE,UAAKnD,GAAE;AAAgB,kBAAIL,KAAE;AAAK,kBAAG0D,GAAE,WAASlE,GAAE,SAAO,GAAG,GAAE,CAACgE,MAAGhE,GAAE,UAAQ;AAAE,uBAAOA,GAAE,QAAQ,SAASA,IAAE;AAAC,yBAAOQ,GAAE,SAASR,EAAC;AAAA,gBAAC,CAAC;AAAE,kBAAIiE,KAAE,CAAC,GAAED,KAAEhE,GAAE,IAAI,SAASA,IAAE;AAAC,oBAAIgE,KAAE,IAAIzB,MAAE/B,KAAEb,GAAE,MAAM;AAAE,uBAAOkC,GAAEhB,IAAEmD,IAAExD,EAAC,EAAE,SAASR,EAAC,GAAEiE,KAAEA,GAAE,OAAOzD,GAAE,MAAMb,GAAE,MAAM,CAAC,GAAEqE,GAAE,KAAK,EAAE,SAAS;AAAA,cAAC,CAAC;AAAE,qBAAOrE,KAAEA,GAAE,OAAOsE,EAAC,GAAED,GAAE,KAAK,GAAE,KAAK,OAAOA,IAAE,KAAE;AAAA,YAAC,GAAE,OAAM,SAAShE,IAAE;AAAC,qBAAOkE,GAAE,UAAQlE,GAAE,OAAO,CAAC;AAAA,YAAC,GAAE,SAAQ,SAASA,IAAE;AAAC,qBAAOkE,GAAE,YAAUlE,GAAE,SAAS,CAAC;AAAA,YAAC,GAAE,QAAO,SAASA,IAAE;AAAC,qBAAOkE,GAAE,WAASlE,GAAE,SAAS,CAAC;AAAA,YAAC,GAAE,UAAS,SAASA,IAAE;AAAC,qBAAOkE,GAAE,UAAQlE,GAAE,SAAS,CAAC;AAAA,YAAC,GAAE,SAAQ,SAASA,IAAE;AAAC,cAAAkE,GAAE,YAAUlE,GAAE,SAAO,GAAG,GAAEkE,GAAElE,GAAE,SAAS,CAAC;AAAA,YAAC,GAAE,WAAU,SAASA,IAAE;AAAC,cAAAkE,GAAE,KAAK,GAAE5D,GAAEN,EAAC,IAAE,KAAK,SAAS,UAAU,IAAE,KAAK,SAASA,GAAE,SAAS,CAAC,GAAE,UAAKa,GAAE,wBAAsB,KAAK,SAAS,mBAAiB,OAAOb,GAAE,IAAI,CAAC,GAAEa,GAAE,6BAA2B,KAAK,QAAQb,EAAC;AAAA,YAAC,GAAE,SAAQ,SAASA,IAAE;AAAC,qBAAOkE,GAAE,YAAUlE,GAAE,SAAS,CAAC;AAAA,YAAC,GAAE,MAAK,SAASA,IAAE;AAAC,qBAAOkE,GAAE,SAAOlE,GAAE,SAAS,CAAC;AAAA,YAAC,GAAE,OAAM,WAAU;AAAC,qBAAOkE,GAAE,MAAM;AAAA,YAAC,GAAE,YAAW,WAAU;AAAC,qBAAOA,GAAE,WAAW;AAAA,YAAC,GAAE,SAAQ,SAASlE,IAAE;AAAC,qBAAOkE,GAAE,WAASlE,GAAE,SAAS,CAAC;AAAA,YAAC,GAAE,aAAY,SAASA,IAAE;AAAC,qBAAOkE,GAAE,aAAa,GAAE,KAAK,SAAS,MAAM,UAAU,MAAM,KAAKlE,EAAC,CAAC;AAAA,YAAC,GAAE,oBAAmB,SAASA,IAAE;AAAC,qBAAOkE,GAAE,oBAAoB,GAAE,KAAK,SAAS,MAAM,UAAU,MAAM,KAAKlE,EAAC,CAAC;AAAA,YAAC,GAAE,YAAW,SAASA,IAAE;AAAC,qBAAOkE,GAAE,YAAY,GAAE,KAAK,SAAS,MAAM,UAAU,MAAM,KAAKlE,EAAC,CAAC;AAAA,YAAC,GAAE,cAAa,SAASA,IAAE;AAAC,qBAAOkE,GAAE,cAAc,GAAE,KAAK,SAAS,MAAM,UAAU,MAAM,KAAKlE,EAAC,CAAC;AAAA,YAAC,GAAE,aAAY,SAASA,IAAE;AAAC,qBAAOkE,GAAE,aAAa,GAAE,KAAK,SAAS,MAAM,UAAU,MAAM,KAAKlE,EAAC,CAAC;AAAA,YAAC,GAAE,cAAa,SAASA,IAAE;AAAC,qBAAOkE,GAAE,cAAc,GAAE,KAAK,SAAS,MAAM,UAAU,MAAM,KAAKlE,EAAC,CAAC;AAAA,YAAC,GAAE,aAAY,SAASA,IAAE;AAAC,qBAAOkE,GAAE,aAAa,GAAE,KAAK,SAAS,MAAM,UAAU,MAAM,KAAKlE,EAAC,CAAC;AAAA,YAAC,GAAE,eAAc,SAASA,IAAE;AAAC,qBAAOkE,GAAE,eAAe,GAAE,KAAK,SAAS,MAAM,UAAU,MAAM,KAAKlE,EAAC,CAAC;AAAA,YAAC,GAAE,eAAc,SAASA,IAAE;AAAC,qBAAOkE,GAAE,eAAe,GAAE,KAAK,SAAS,MAAM,UAAU,MAAM,KAAKlE,EAAC,CAAC;AAAA,YAAC,GAAE,cAAa,SAASA,IAAE;AAAC,qBAAOkE,GAAE,cAAc,GAAE,KAAK,SAAS,IAAI,WAAWlE,EAAC,CAAC;AAAA,YAAC,GAAE,MAAK,SAASA,IAAE;AAAC,qBAAOkE,GAAE,SAAOlE,GAAE,SAAS,CAAC;AAAA,YAAC,GAAE,MAAK,SAASA,IAAE;AAAC,cAAAkE,GAAE,MAAM;AAAE,cAAAlE,KAAE,MAAM,KAAKA,EAAC;AAAE,qBAAO,KAAK,OAAOA,IAAE,UAAKa,GAAE,aAAa;AAAA,YAAC,GAAE,MAAK,SAASb,IAAE;AAAC,cAAAkE,GAAE,MAAM;AAAE,cAAAlE,KAAE,MAAM,KAAKA,EAAC;AAAE,qBAAO,KAAK,OAAOA,IAAE,UAAKa,GAAE,aAAa;AAAA,YAAC,GAAE,OAAM,SAASb,IAAE;AAAC,qBAAOkE,GAAE,OAAO,GAAE,KAAK,SAAS,CAAClE,GAAE,MAAKA,GAAE,MAAKA,GAAE,MAAKA,GAAE,WAAW,CAAC;AAAA,YAAC,GAAE,OAAM,WAAU;AAAC,kBAAGa,GAAE;AAAc,uBAAOqD,GAAE,QAAQ;AAAE,oBAAM,MAAM,6JAA6J;AAAA,YAAC,GAAE,YAAW,WAAU;AAAC,qBAAOA,GAAE,WAAW;AAAA,YAAC,GAAE,SAAQ,SAASlE,IAAE;AAAC,qBAAOkE,GAAE,YAAUlE,GAAE,SAAS,CAAC;AAAA,YAAC,GAAE,UAAS,WAAU;AAAC,qBAAOkE,GAAE,SAAS;AAAA,YAAC,GAAE,QAAO,WAAU;AAAC,qBAAOA,GAAE,OAAO;AAAA,YAAC,GAAE,OAAM,WAAU;AAAC,qBAAOA,GAAE,MAAM;AAAA,YAAC,GAAE,MAAK,WAAU;AAAC,qBAAOA,GAAE,KAAK;AAAA,YAAC,GAAE,MAAK,WAAU;AAAC,qBAAOA,GAAE,KAAK;AAAA,YAAC,GAAE,MAAK,WAAU;AAAC,qBAAOA,GAAE,KAAK;AAAA,YAAC,GAAE,cAAa,WAAU;AAAC,qBAAOA,GAAE,aAAa;AAAA,YAAC,GAAE,gBAAe,WAAU;AAAC,qBAAOA,GAAE,eAAe;AAAA,YAAC,GAAE,aAAY,WAAU;AAAC,qBAAOA,GAAE,YAAY;AAAA,YAAC,GAAE,OAAM,WAAU;AAAC,qBAAOA,GAAE,MAAM;AAAA,YAAC,GAAE,UAAS,WAAU;AAAC,qBAAOA,GAAE,SAAS;AAAA,YAAC,GAAE,aAAY,WAAU;AAAC,qBAAOA,GAAE,YAAY;AAAA,YAAC,GAAE,aAAY,WAAU;AAAC,qBAAOA,GAAE,YAAY;AAAA,YAAC,GAAE,WAAU,WAAU;AAAC,qBAAOA,GAAE,UAAU;AAAA,YAAC,GAAE,SAAQ,WAAU;AAAC,qBAAOA,GAAE,QAAQ;AAAA,YAAC,GAAE,UAAS,WAAU;AAAC,qBAAOA,GAAE,SAAS;AAAA,YAAC,GAAE,UAAS,WAAU;AAAC,qBAAOA,GAAE,SAAS;AAAA,YAAC,EAAC;AAAA,UAAC;AAAC,mBAAS3B,KAAG;AAAC,mBAAM,EAAC,KAAI,IAAG,OAAM,SAASvC,IAAE;AAAC,mBAAK,OAAKA;AAAA,YAAC,GAAE,KAAI,SAASA,IAAE;AAAC,mBAAK,OAAKA;AAAA,YAAC,GAAE,MAAK,WAAU;AAAC,qBAAO,KAAK;AAAA,YAAG,EAAC;AAAA,UAAC;AAAC,YAAE,gBAAc,SAASA,IAAEgE,IAAExD,IAAE;AAAC,mBAAO,WAASA,OAAIA,KAAEwD,IAAEA,KAAE,CAAC,IAAGnC,GAAEmC,KAAEE,GAAElE,IAAEgE,EAAC,GAAExD,EAAC,EAAE,SAASR,EAAC;AAAA,UAAC;AAAA,QAAC,EAAE,KAAK,MAAK,EAAE,QAAQ,GAAE,eAAa,OAAO,OAAK,OAAK,eAAa,OAAO,SAAO,SAAO,CAAC,GAAE,EAAE,QAAQ,EAAE,QAAO,UAAU,CAAC,GAAE,UAAU,CAAC,GAAE,UAAU,CAAC,GAAE,UAAU,CAAC,GAAE,qBAAoB,GAAG;AAAA,MAAC,GAAE,EAAC,QAAO,GAAE,QAAO,GAAE,QAAO,GAAE,CAAC,GAAE,GAAE,CAAC,SAASA,IAAEgE,IAAEnC,IAAE;AAAC,SAAC,SAAS7B,IAAEgE,IAAExD,IAAEyD,IAAEpD,IAAElB,IAAEuE,IAAEjE,IAAEK,IAAE;AAAC,WAAC,SAASN,IAAE;AAAC;AAAa,gBAAIM,KAAE,eAAa,OAAO,aAAW,aAAW,OAAM0D,KAAE,IAAI,WAAW,CAAC,GAAExD,KAAE,IAAI,WAAW,CAAC,GAAEyD,KAAE,IAAI,WAAW,CAAC,GAAEpD,KAAE,IAAI,WAAW,CAAC,GAAElB,KAAE,IAAI,WAAW,CAAC,GAAEuE,KAAE,IAAI,WAAW,CAAC,GAAEjE,KAAE,IAAI,WAAW,CAAC;AAAE,qBAAS4B,GAAE7B,IAAE;AAAC,cAAAA,KAAEA,GAAE,WAAW,CAAC;AAAE,qBAAOA,OAAIgE,MAAGhE,OAAIkE,KAAE,KAAGlE,OAAIQ,MAAGR,OAAIC,KAAE,KAAGD,KAAEiE,KAAE,KAAGjE,KAAEiE,KAAE,KAAGjE,KAAEiE,KAAE,KAAG,KAAGjE,KAAEL,KAAE,KAAGK,KAAEL,KAAEK,KAAEa,KAAE,KAAGb,KAAEa,KAAE,KAAG;AAAA,YAAM;AAAC,YAAAb,GAAE,cAAY,SAASA,IAAE;AAAC,kBAAIgE,IAAExD;AAAE,kBAAG,IAAER,GAAE,SAAO;AAAE,sBAAM,IAAI,MAAM,gDAAgD;AAAE,kBAAIiE,KAAEjE,GAAE,QAAOiE,KAAE,QAAMjE,GAAE,OAAOiE,KAAE,CAAC,IAAE,IAAE,QAAMjE,GAAE,OAAOiE,KAAE,CAAC,IAAE,IAAE,GAAEpD,KAAE,IAAIP,GAAE,IAAEN,GAAE,SAAO,IAAEiE,EAAC,GAAEtE,KAAE,IAAEsE,KAAEjE,GAAE,SAAO,IAAEA,GAAE,QAAOkE,KAAE;AAAE,uBAASjE,GAAED,IAAE;AAAC,gBAAAa,GAAEqD,IAAG,IAAElE;AAAA,cAAC;AAAC,mBAAIgE,KAAE,GAAEA,KAAErE,IAAEqE,MAAG,GAAE;AAAE,gBAAA/D,IAAG,YAAUO,KAAEqB,GAAE7B,GAAE,OAAOgE,EAAC,CAAC,KAAG,KAAGnC,GAAE7B,GAAE,OAAOgE,KAAE,CAAC,CAAC,KAAG,KAAGnC,GAAE7B,GAAE,OAAOgE,KAAE,CAAC,CAAC,KAAG,IAAEnC,GAAE7B,GAAE,OAAOgE,KAAE,CAAC,CAAC,OAAK,EAAE,GAAE/D,IAAG,QAAMO,OAAI,CAAC,GAAEP,GAAE,MAAIO,EAAC;AAAE,qBAAO,KAAGyD,KAAEhE,GAAE,OAAKO,KAAEqB,GAAE7B,GAAE,OAAOgE,EAAC,CAAC,KAAG,IAAEnC,GAAE7B,GAAE,OAAOgE,KAAE,CAAC,CAAC,KAAG,EAAE,IAAE,KAAGC,OAAIhE,IAAGO,KAAEqB,GAAE7B,GAAE,OAAOgE,EAAC,CAAC,KAAG,KAAGnC,GAAE7B,GAAE,OAAOgE,KAAE,CAAC,CAAC,KAAG,IAAEnC,GAAE7B,GAAE,OAAOgE,KAAE,CAAC,CAAC,KAAG,MAAI,IAAE,GAAG,GAAE/D,GAAE,MAAIO,EAAC,IAAGK;AAAA,YAAC,GAAEb,GAAE,gBAAc,SAASA,IAAE;AAAC,kBAAIgE,IAAExD,IAAEyD,IAAEpD,IAAElB,KAAEK,GAAE,SAAO,GAAEkE,KAAE;AAAG,uBAASjE,GAAED,IAAE;AAAC,uBAAM,mEAAmE,OAAOA,EAAC;AAAA,cAAC;AAAC,mBAAIgE,KAAE,GAAEC,KAAEjE,GAAE,SAAOL,IAAEqE,KAAEC,IAAED,MAAG;AAAE,gBAAAxD,MAAGR,GAAEgE,EAAC,KAAG,OAAKhE,GAAEgE,KAAE,CAAC,KAAG,KAAGhE,GAAEgE,KAAE,CAAC,GAAEE,MAAGjE,IAAGY,KAAEL,OAAI,KAAG,EAAE,IAAEP,GAAEY,MAAG,KAAG,EAAE,IAAEZ,GAAEY,MAAG,IAAE,EAAE,IAAEZ,GAAE,KAAGY,EAAC;AAAE,sBAAOlB,IAAE;AAAA,gBAAC,KAAK;AAAE,kBAAAuE,MAAGA,MAAGjE,IAAGO,KAAER,GAAEA,GAAE,SAAO,CAAC,MAAI,CAAC,KAAGC,GAAEO,MAAG,IAAE,EAAE,IAAE;AAAK;AAAA,gBAAM,KAAK;AAAE,kBAAA0D,MAAGA,MAAGA,MAAGjE,IAAGO,MAAGR,GAAEA,GAAE,SAAO,CAAC,KAAG,KAAGA,GAAEA,GAAE,SAAO,CAAC,MAAI,EAAE,KAAGC,GAAEO,MAAG,IAAE,EAAE,KAAGP,GAAEO,MAAG,IAAE,EAAE,IAAE;AAAA,cAAG;AAAC,qBAAO0D;AAAA,YAAC;AAAA,UAAC,EAAE,WAASrC,KAAE,KAAK,WAAS,CAAC,IAAEA,EAAC;AAAA,QAAC,EAAE,KAAK,MAAK7B,GAAE,QAAQ,GAAE,eAAa,OAAO,OAAK,OAAK,eAAa,OAAO,SAAO,SAAO,CAAC,GAAEA,GAAE,QAAQ,EAAE,QAAO,UAAU,CAAC,GAAE,UAAU,CAAC,GAAE,UAAU,CAAC,GAAE,UAAU,CAAC,GAAE,mEAAkE,0DAA0D;AAAA,MAAC,GAAE,EAAC,QAAO,GAAE,QAAO,GAAE,CAAC,GAAE,GAAE,CAAC,SAAS,GAAEA,IAAE,GAAE;AAAC,SAAC,SAASA,IAAEQ,IAAEqB,IAAEoC,IAAEE,IAAEC,IAAE,GAAE7D,IAAE,GAAE;AAAC,cAAID,KAAE,EAAE,WAAW,GAAEX,KAAE,EAAE,SAAS;AAAE,mBAASkC,GAAE7B,IAAEgE,IAAExD,IAAE;AAAC,gBAAG,EAAE,gBAAgBqB;AAAG,qBAAO,IAAIA,GAAE7B,IAAEgE,IAAExD,EAAC;AAAE,gBAAIyD,IAAEpD,IAAElB,IAAEuE,IAAEjE,KAAE,OAAOD;AAAE,gBAAG,aAAWgE,MAAG,YAAU/D;AAAE,mBAAID,MAAGkE,KAAElE,IAAG,OAAKkE,GAAE,KAAK,IAAEA,GAAE,QAAQ,cAAa,EAAE,GAAElE,GAAE,SAAO,KAAG;AAAG,gBAAAA,MAAG;AAAI,gBAAG,YAAUC;AAAE,cAAAgE,KAAE,EAAEjE,EAAC;AAAA,qBAAU,YAAUC;AAAE,cAAAgE,KAAEpC,GAAE,WAAW7B,IAAEgE,EAAC;AAAA,iBAAM;AAAC,kBAAG,YAAU/D;AAAE,sBAAM,IAAI,MAAM,uDAAuD;AAAE,cAAAgE,KAAE,EAAEjE,GAAE,MAAM;AAAA,YAAC;AAAC,gBAAG6B,GAAE,kBAAgBhB,KAAEgB,GAAE,SAAS,IAAI,WAAWoC,EAAC,CAAC,MAAIpD,KAAE,MAAM,SAAOoD,IAAEpD,GAAE,YAAU,OAAIgB,GAAE,mBAAiB,YAAU,OAAO7B,GAAE;AAAW,cAAAa,GAAE,KAAKb,EAAC;AAAA,qBAAU,EAAEkE,KAAElE,EAAC,KAAG6B,GAAE,SAASqC,EAAC,KAAGA,MAAG,YAAU,OAAOA,MAAG,YAAU,OAAOA,GAAE;AAAO,mBAAIvE,KAAE,GAAEA,KAAEsE,IAAEtE;AAAI,gBAAAkC,GAAE,SAAS7B,EAAC,IAAEa,GAAElB,EAAC,IAAEK,GAAE,UAAUL,EAAC,IAAEkB,GAAElB,EAAC,IAAEK,GAAEL,EAAC;AAAA,qBAAU,YAAUM;AAAE,cAAAY,GAAE,MAAMb,IAAE,GAAEgE,EAAC;AAAA,qBAAU,YAAU/D,MAAG,CAAC4B,GAAE,mBAAiB,CAACrB;AAAE,mBAAIb,KAAE,GAAEA,KAAEsE,IAAEtE;AAAI,gBAAAkB,GAAElB,EAAC,IAAE;AAAE,mBAAOkB;AAAA,UAAC;AAAC,mBAAS,EAAEb,IAAEgE,IAAExD,IAAEyD,IAAE;AAAC,mBAAOpC,GAAE,gBAAc3B,GAAE,SAASF,IAAE;AAAC,uBAAQgE,KAAE,CAAC,GAAExD,KAAE,GAAEA,KAAER,GAAE,QAAOQ;AAAI,gBAAAwD,GAAE,KAAK,MAAIhE,GAAE,WAAWQ,EAAC,CAAC;AAAE,qBAAOwD;AAAA,YAAC,EAAEA,EAAC,GAAEhE,IAAEQ,IAAEyD,EAAC;AAAA,UAAC;AAAC,mBAAS,EAAEjE,IAAEgE,IAAExD,IAAEyD,IAAE;AAAC,mBAAOpC,GAAE,gBAAc3B,GAAE,SAASF,IAAE;AAAC,uBAAQgE,IAAExD,IAAEyD,KAAE,CAAC,GAAEpD,KAAE,GAAEA,KAAEb,GAAE,QAAOa;AAAI,gBAAAL,KAAER,GAAE,WAAWa,EAAC,GAAEmD,KAAExD,MAAG,GAAEA,KAAEA,KAAE,KAAIyD,GAAE,KAAKzD,EAAC,GAAEyD,GAAE,KAAKD,EAAC;AAAE,qBAAOC;AAAA,YAAC,EAAED,EAAC,GAAEhE,IAAEQ,IAAEyD,EAAC;AAAA,UAAC;AAAC,mBAASpB,GAAE7C,IAAEgE,IAAExD,IAAE;AAAC,gBAAIyD,KAAE;AAAG,YAAAzD,KAAE,KAAK,IAAIR,GAAE,QAAOQ,EAAC;AAAE,qBAAQK,KAAEmD,IAAEnD,KAAEL,IAAEK;AAAI,cAAAoD,MAAG,OAAO,aAAajE,GAAEa,EAAC,CAAC;AAAE,mBAAOoD;AAAA,UAAC;AAAC,mBAASpD,GAAEb,IAAEgE,IAAExD,IAAEyD,IAAE;AAAC,YAAAA,OAAI,EAAE,aAAW,OAAOzD,IAAE,2BAA2B,GAAE,EAAE,QAAMwD,IAAE,gBAAgB,GAAE,EAAEA,KAAE,IAAEhE,GAAE,QAAO,qCAAqC;AAAG,gBAAIa,IAAEoD,KAAEjE,GAAE;AAAO,gBAAG,EAAEiE,MAAGD;AAAG,qBAAOxD,MAAGK,KAAEb,GAAEgE,EAAC,GAAEA,KAAE,IAAEC,OAAIpD,MAAGb,GAAEgE,KAAE,CAAC,KAAG,OAAKnD,KAAEb,GAAEgE,EAAC,KAAG,GAAEA,KAAE,IAAEC,OAAIpD,MAAGb,GAAEgE,KAAE,CAAC,KAAInD;AAAA,UAAC;AAAC,mBAASqD,GAAElE,IAAEgE,IAAExD,IAAEyD,IAAE;AAAC,YAAAA,OAAI,EAAE,aAAW,OAAOzD,IAAE,2BAA2B,GAAE,EAAE,QAAMwD,IAAE,gBAAgB,GAAE,EAAEA,KAAE,IAAEhE,GAAE,QAAO,qCAAqC;AAAG,gBAAIa,IAAEoD,KAAEjE,GAAE;AAAO,gBAAG,EAAEiE,MAAGD;AAAG,qBAAOxD,MAAGwD,KAAE,IAAEC,OAAIpD,KAAEb,GAAEgE,KAAE,CAAC,KAAG,KAAIA,KAAE,IAAEC,OAAIpD,MAAGb,GAAEgE,KAAE,CAAC,KAAG,IAAGnD,MAAGb,GAAEgE,EAAC,GAAEA,KAAE,IAAEC,OAAIpD,MAAGb,GAAEgE,KAAE,CAAC,KAAG,OAAK,OAAKA,KAAE,IAAEC,OAAIpD,KAAEb,GAAEgE,KAAE,CAAC,KAAG,KAAIA,KAAE,IAAEC,OAAIpD,MAAGb,GAAEgE,KAAE,CAAC,KAAG,IAAGA,KAAE,IAAEC,OAAIpD,MAAGb,GAAEgE,KAAE,CAAC,IAAGnD,MAAGb,GAAEgE,EAAC,KAAG,OAAK,IAAGnD;AAAA,UAAC;AAAC,mBAAS,EAAEb,IAAEgE,IAAExD,IAAEyD,IAAE;AAAC,gBAAGA,OAAI,EAAE,aAAW,OAAOzD,IAAE,2BAA2B,GAAE,EAAE,QAAMwD,IAAE,gBAAgB,GAAE,EAAEA,KAAE,IAAEhE,GAAE,QAAO,qCAAqC,IAAG,EAAEA,GAAE,UAAQgE;AAAG,qBAAOC,KAAEpD,GAAEb,IAAEgE,IAAExD,IAAE,IAAE,GAAE,QAAMyD,KAAE,MAAI,QAAMA,KAAE,KAAGA;AAAA,UAAC;AAAC,mBAAS,EAAEjE,IAAEgE,IAAExD,IAAEyD,IAAE;AAAC,gBAAGA,OAAI,EAAE,aAAW,OAAOzD,IAAE,2BAA2B,GAAE,EAAE,QAAMwD,IAAE,gBAAgB,GAAE,EAAEA,KAAE,IAAEhE,GAAE,QAAO,qCAAqC,IAAG,EAAEA,GAAE,UAAQgE;AAAG,qBAAOC,KAAEC,GAAElE,IAAEgE,IAAExD,IAAE,IAAE,GAAE,aAAWyD,KAAE,MAAI,aAAWA,KAAE,KAAGA;AAAA,UAAC;AAAC,mBAAS,EAAEjE,IAAEgE,IAAExD,IAAEyD,IAAE;AAAC,mBAAOA,OAAI,EAAE,aAAW,OAAOzD,IAAE,2BAA2B,GAAE,EAAEwD,KAAE,IAAEhE,GAAE,QAAO,qCAAqC,IAAGL,GAAE,KAAKK,IAAEgE,IAAExD,IAAE,IAAG,CAAC;AAAA,UAAC;AAAC,mBAAS,EAAER,IAAEgE,IAAExD,IAAEyD,IAAE;AAAC,mBAAOA,OAAI,EAAE,aAAW,OAAOzD,IAAE,2BAA2B,GAAE,EAAEwD,KAAE,IAAEhE,GAAE,QAAO,qCAAqC,IAAGL,GAAE,KAAKK,IAAEgE,IAAExD,IAAE,IAAG,CAAC;AAAA,UAAC;AAAC,mBAASP,GAAED,IAAEgE,IAAExD,IAAEyD,IAAEpD,IAAE;AAAC,YAAAA,OAAI,EAAE,QAAMmD,IAAE,eAAe,GAAE,EAAE,aAAW,OAAOC,IAAE,2BAA2B,GAAE,EAAE,QAAMzD,IAAE,gBAAgB,GAAE,EAAEA,KAAE,IAAER,GAAE,QAAO,sCAAsC,GAAE,EAAEgE,IAAE,KAAK;AAAG,YAAAnD,KAAEb,GAAE;AAAO,gBAAG,EAAEa,MAAGL;AAAG,uBAAQb,KAAE,GAAEuE,KAAE,KAAK,IAAIrD,KAAEL,IAAE,CAAC,GAAEb,KAAEuE,IAAEvE;AAAI,gBAAAK,GAAEQ,KAAEb,EAAC,KAAGqE,KAAE,OAAK,KAAGC,KAAEtE,KAAE,IAAEA,SAAM,KAAGsE,KAAEtE,KAAE,IAAEA;AAAA,UAAE;AAAC,mBAAS4C,GAAEvC,IAAEgE,IAAExD,IAAEyD,IAAEpD,IAAE;AAAC,YAAAA,OAAI,EAAE,QAAMmD,IAAE,eAAe,GAAE,EAAE,aAAW,OAAOC,IAAE,2BAA2B,GAAE,EAAE,QAAMzD,IAAE,gBAAgB,GAAE,EAAEA,KAAE,IAAER,GAAE,QAAO,sCAAsC,GAAE,EAAEgE,IAAE,UAAU;AAAG,YAAAnD,KAAEb,GAAE;AAAO,gBAAG,EAAEa,MAAGL;AAAG,uBAAQb,KAAE,GAAEuE,KAAE,KAAK,IAAIrD,KAAEL,IAAE,CAAC,GAAEb,KAAEuE,IAAEvE;AAAI,gBAAAK,GAAEQ,KAAEb,EAAC,IAAEqE,OAAI,KAAGC,KAAEtE,KAAE,IAAEA,MAAG;AAAA,UAAG;AAAC,mBAAS,EAAEK,IAAEgE,IAAExD,IAAEyD,IAAEpD,IAAE;AAAC,YAAAA,OAAI,EAAE,QAAMmD,IAAE,eAAe,GAAE,EAAE,aAAW,OAAOC,IAAE,2BAA2B,GAAE,EAAE,QAAMzD,IAAE,gBAAgB,GAAE,EAAEA,KAAE,IAAER,GAAE,QAAO,sCAAsC,GAAE,EAAEgE,IAAE,OAAM,MAAM,IAAGhE,GAAE,UAAQQ,MAAGP,GAAED,IAAE,KAAGgE,KAAEA,KAAE,QAAMA,KAAE,GAAExD,IAAEyD,IAAEpD,EAAC;AAAA,UAAC;AAAC,mBAAS,EAAEb,IAAEgE,IAAExD,IAAEyD,IAAEpD,IAAE;AAAC,YAAAA,OAAI,EAAE,QAAMmD,IAAE,eAAe,GAAE,EAAE,aAAW,OAAOC,IAAE,2BAA2B,GAAE,EAAE,QAAMzD,IAAE,gBAAgB,GAAE,EAAEA,KAAE,IAAER,GAAE,QAAO,sCAAsC,GAAE,EAAEgE,IAAE,YAAW,WAAW,IAAGhE,GAAE,UAAQQ,MAAG+B,GAAEvC,IAAE,KAAGgE,KAAEA,KAAE,aAAWA,KAAE,GAAExD,IAAEyD,IAAEpD,EAAC;AAAA,UAAC;AAAC,mBAAS,EAAEb,IAAEgE,IAAExD,IAAEyD,IAAEpD,IAAE;AAAC,YAAAA,OAAI,EAAE,QAAMmD,IAAE,eAAe,GAAE,EAAE,aAAW,OAAOC,IAAE,2BAA2B,GAAE,EAAE,QAAMzD,IAAE,gBAAgB,GAAE,EAAEA,KAAE,IAAER,GAAE,QAAO,sCAAsC,GAAE,EAAEgE,IAAE,sBAAqB,qBAAqB,IAAGhE,GAAE,UAAQQ,MAAGb,GAAE,MAAMK,IAAEgE,IAAExD,IAAEyD,IAAE,IAAG,CAAC;AAAA,UAAC;AAAC,mBAAS,EAAEjE,IAAEgE,IAAExD,IAAEyD,IAAEpD,IAAE;AAAC,YAAAA,OAAI,EAAE,QAAMmD,IAAE,eAAe,GAAE,EAAE,aAAW,OAAOC,IAAE,2BAA2B,GAAE,EAAE,QAAMzD,IAAE,gBAAgB,GAAE,EAAEA,KAAE,IAAER,GAAE,QAAO,sCAAsC,GAAE,EAAEgE,IAAE,uBAAsB,sBAAsB,IAAGhE,GAAE,UAAQQ,MAAGb,GAAE,MAAMK,IAAEgE,IAAExD,IAAEyD,IAAE,IAAG,CAAC;AAAA,UAAC;AAAC,YAAE,SAAOpC,IAAE,EAAE,aAAWA,IAAE,EAAE,oBAAkB,IAAGA,GAAE,WAAS,MAAKA,GAAE,kBAAgB,WAAU;AAAC,gBAAG;AAAC,kBAAI7B,KAAE,IAAI,YAAY,CAAC,GAAEgE,KAAE,IAAI,WAAWhE,EAAC;AAAE,qBAAOgE,GAAE,MAAI,WAAU;AAAC,uBAAO;AAAA,cAAE,GAAE,OAAKA,GAAE,IAAI,KAAG,cAAY,OAAOA,GAAE;AAAA,YAAQ,SAAOhE,IAAN;AAAS,qBAAM;AAAA,YAAE;AAAA,UAAC,EAAE,GAAE6B,GAAE,aAAW,SAAS7B,IAAE;AAAC,oBAAO,OAAOA,EAAC,EAAE,YAAY,GAAE;AAAA,cAAC,KAAI;AAAA,cAAM,KAAI;AAAA,cAAO,KAAI;AAAA,cAAQ,KAAI;AAAA,cAAQ,KAAI;AAAA,cAAS,KAAI;AAAA,cAAS,KAAI;AAAA,cAAM,KAAI;AAAA,cAAO,KAAI;AAAA,cAAQ,KAAI;AAAA,cAAU,KAAI;AAAW,uBAAM;AAAA,cAAG;AAAQ,uBAAM;AAAA,YAAE;AAAA,UAAC,GAAE6B,GAAE,WAAS,SAAS7B,IAAE;AAAC,mBAAM,EAAE,QAAMA,MAAG,CAACA,GAAE;AAAA,UAAU,GAAE6B,GAAE,aAAW,SAAS7B,IAAEgE,IAAE;AAAC,gBAAIxD;AAAE,oBAAOR,MAAG,IAAGgE,MAAG,QAAO;AAAA,cAAC,KAAI;AAAM,gBAAAxD,KAAER,GAAE,SAAO;AAAE;AAAA,cAAM,KAAI;AAAA,cAAO,KAAI;AAAQ,gBAAAQ,KAAE,EAAER,EAAC,EAAE;AAAO;AAAA,cAAM,KAAI;AAAA,cAAQ,KAAI;AAAA,cAAS,KAAI;AAAM,gBAAAQ,KAAER,GAAE;AAAO;AAAA,cAAM,KAAI;AAAS,gBAAAQ,KAAE,EAAER,EAAC,EAAE;AAAO;AAAA,cAAM,KAAI;AAAA,cAAO,KAAI;AAAA,cAAQ,KAAI;AAAA,cAAU,KAAI;AAAW,gBAAAQ,KAAE,IAAER,GAAE;AAAO;AAAA,cAAM;AAAQ,sBAAM,IAAI,MAAM,kBAAkB;AAAA,YAAC;AAAC,mBAAOQ;AAAA,UAAC,GAAEqB,GAAE,SAAO,SAAS7B,IAAEgE,IAAE;AAAC,gBAAG,EAAE,EAAEhE,EAAC,GAAE,qEAAqE,GAAE,MAAIA,GAAE;AAAO,qBAAO,IAAI6B,GAAE,CAAC;AAAE,gBAAG,MAAI7B,GAAE;AAAO,qBAAOA,GAAE,CAAC;AAAE,gBAAG,YAAU,OAAOgE;AAAE,mBAAInD,KAAEmD,KAAE,GAAEnD,KAAEb,GAAE,QAAOa;AAAI,gBAAAmD,MAAGhE,GAAEa,EAAC,EAAE;AAAO,qBAAQL,KAAE,IAAIqB,GAAEmC,EAAC,GAAEC,KAAE,GAAEpD,KAAE,GAAEA,KAAEb,GAAE,QAAOa,MAAI;AAAC,kBAAIlB,KAAEK,GAAEa,EAAC;AAAE,cAAAlB,GAAE,KAAKa,IAAEyD,EAAC,GAAEA,MAAGtE,GAAE;AAAA,YAAM;AAAC,mBAAOa;AAAA,UAAC,GAAEqB,GAAE,UAAU,QAAM,SAAS7B,IAAEgE,IAAExD,IAAEyD,IAAE;AAAC,qBAASD,EAAC,IAAE,SAASxD,EAAC,MAAIyD,KAAEzD,IAAEA,KAAE,WAASF,KAAE2D,IAAEA,KAAED,IAAEA,KAAExD,IAAEA,KAAEF,KAAG0D,KAAE,OAAOA,EAAC,KAAG;AAAE,gBAAInD,IAAElB,IAAEuE,IAAEjE,IAAEK,KAAE,KAAK,SAAO0D;AAAE,qBAAQ,CAACxD,MAAGF,MAAGE,KAAE,OAAOA,EAAC,QAAMA,KAAEF,KAAG2D,KAAE,OAAOA,MAAG,MAAM,EAAE,YAAY,GAAE;AAAA,cAAC,KAAI;AAAM,gBAAApD,KAAE,SAASb,IAAEgE,IAAExD,IAAEyD,IAAE;AAAC,kBAAAzD,KAAE,OAAOA,EAAC,KAAG;AAAE,sBAAIK,KAAEb,GAAE,SAAOQ;AAAE,mBAAC,CAACyD,MAAGpD,MAAGoD,KAAE,OAAOA,EAAC,QAAMA,KAAEpD,KAAG,GAAGA,KAAEmD,GAAE,UAAQ,KAAG,GAAE,oBAAoB,GAAEnD,KAAE,IAAEoD,OAAIA,KAAEpD,KAAE;AAAG,2BAAQlB,KAAE,GAAEA,KAAEsE,IAAEtE,MAAI;AAAC,wBAAIuE,KAAE,SAASF,GAAE,OAAO,IAAErE,IAAE,CAAC,GAAE,EAAE;AAAE,sBAAE,CAAC,MAAMuE,EAAC,GAAE,oBAAoB,GAAElE,GAAEQ,KAAEb,EAAC,IAAEuE;AAAA,kBAAC;AAAC,yBAAOrC,GAAE,gBAAc,IAAElC,IAAEA;AAAA,gBAAC,EAAE,MAAKK,IAAEgE,IAAExD,EAAC;AAAE;AAAA,cAAM,KAAI;AAAA,cAAO,KAAI;AAAQ,gBAAAb,KAAE,MAAKuE,KAAEF,IAAE/D,KAAEO,IAAEK,KAAEgB,GAAE,gBAAc3B,GAAE,EAAEF,EAAC,GAAEL,IAAEuE,IAAEjE,EAAC;AAAE;AAAA,cAAM,KAAI;AAAA,cAAQ,KAAI;AAAS,gBAAAY,KAAE,EAAE,MAAKb,IAAEgE,IAAExD,EAAC;AAAE;AAAA,cAAM,KAAI;AAAS,gBAAAb,KAAE,MAAKuE,KAAEF,IAAE/D,KAAEO,IAAEK,KAAEgB,GAAE,gBAAc3B,GAAE,EAAEF,EAAC,GAAEL,IAAEuE,IAAEjE,EAAC;AAAE;AAAA,cAAM,KAAI;AAAA,cAAO,KAAI;AAAA,cAAQ,KAAI;AAAA,cAAU,KAAI;AAAW,gBAAAY,KAAE,EAAE,MAAKb,IAAEgE,IAAExD,EAAC;AAAE;AAAA,cAAM;AAAQ,sBAAM,IAAI,MAAM,kBAAkB;AAAA,YAAC;AAAC,mBAAOK;AAAA,UAAC,GAAEgB,GAAE,UAAU,WAAS,SAAS7B,IAAEgE,IAAExD,IAAE;AAAC,gBAAIyD,IAAEpD,IAAElB,IAAEuE,IAAEjE,KAAE;AAAK,gBAAGD,KAAE,OAAOA,MAAG,MAAM,EAAE,YAAY,GAAEgE,KAAE,OAAOA,EAAC,KAAG,IAAGxD,KAAE,WAASA,KAAE,OAAOA,EAAC,IAAEP,GAAE,YAAU+D;AAAE,qBAAM;AAAG,oBAAOhE,IAAE;AAAA,cAAC,KAAI;AAAM,gBAAAiE,KAAE,SAASjE,IAAEgE,IAAExD,IAAE;AAAC,sBAAIyD,KAAEjE,GAAE;AAAO,mBAAC,CAACgE,MAAGA,KAAE,OAAKA,KAAE;AAAG,mBAAC,CAACxD,MAAGA,KAAE,KAAGyD,KAAEzD,QAAKA,KAAEyD;AAAG,2BAAQpD,KAAE,IAAGlB,KAAEqE,IAAErE,KAAEa,IAAEb;AAAI,oBAAAkB,MAAG,EAAEb,GAAEL,EAAC,CAAC;AAAE,yBAAOkB;AAAA,gBAAC,EAAEZ,IAAE+D,IAAExD,EAAC;AAAE;AAAA,cAAM,KAAI;AAAA,cAAO,KAAI;AAAQ,gBAAAyD,KAAE,SAASjE,IAAEgE,IAAExD,IAAE;AAAC,sBAAIyD,KAAE,IAAGpD,KAAE;AAAG,kBAAAL,KAAE,KAAK,IAAIR,GAAE,QAAOQ,EAAC;AAAE,2BAAQb,KAAEqE,IAAErE,KAAEa,IAAEb;AAAI,oBAAAK,GAAEL,EAAC,KAAG,OAAKsE,MAAG,EAAEpD,EAAC,IAAE,OAAO,aAAab,GAAEL,EAAC,CAAC,GAAEkB,KAAE,MAAIA,MAAG,MAAIb,GAAEL,EAAC,EAAE,SAAS,EAAE;AAAE,yBAAOsE,KAAE,EAAEpD,EAAC;AAAA,gBAAC,EAAEZ,IAAE+D,IAAExD,EAAC;AAAE;AAAA,cAAM,KAAI;AAAA,cAAQ,KAAI;AAAS,gBAAAyD,KAAEpB,GAAE5C,IAAE+D,IAAExD,EAAC;AAAE;AAAA,cAAM,KAAI;AAAS,gBAAAK,KAAEZ,IAAEiE,KAAE1D,IAAEyD,KAAE,OAAKtE,KAAEqE,OAAIE,OAAIrD,GAAE,SAAOP,GAAE,cAAcO,EAAC,IAAEP,GAAE,cAAcO,GAAE,MAAMlB,IAAEuE,EAAC,CAAC;AAAE;AAAA,cAAM,KAAI;AAAA,cAAO,KAAI;AAAA,cAAQ,KAAI;AAAA,cAAU,KAAI;AAAW,gBAAAD,KAAE,SAASjE,IAAEgE,IAAExD,IAAE;AAAC,2BAAQyD,KAAEjE,GAAE,MAAMgE,IAAExD,EAAC,GAAEK,KAAE,IAAGlB,KAAE,GAAEA,KAAEsE,GAAE,QAAOtE,MAAG;AAAE,oBAAAkB,MAAG,OAAO,aAAaoD,GAAEtE,EAAC,IAAE,MAAIsE,GAAEtE,KAAE,CAAC,CAAC;AAAE,yBAAOkB;AAAA,gBAAC,EAAEZ,IAAE+D,IAAExD,EAAC;AAAE;AAAA,cAAM;AAAQ,sBAAM,IAAI,MAAM,kBAAkB;AAAA,YAAC;AAAC,mBAAOyD;AAAA,UAAC,GAAEpC,GAAE,UAAU,SAAO,WAAU;AAAC,mBAAM,EAAC,MAAK,UAAS,MAAK,MAAM,UAAU,MAAM,KAAK,KAAK,QAAM,MAAK,CAAC,EAAC;AAAA,UAAC,GAAEA,GAAE,UAAU,OAAK,SAAS7B,IAAEgE,IAAExD,IAAEyD,IAAE;AAAC,gBAAGD,KAAEA,MAAG,IAAGC,KAAEA,MAAG,MAAIA,KAAEA,KAAE,KAAK,aAAWzD,KAAEA,MAAG,MAAI,MAAIR,GAAE,UAAQ,MAAI,KAAK,QAAO;AAAC,gBAAEQ,MAAGyD,IAAE,yBAAyB,GAAE,EAAE,KAAGD,MAAGA,KAAEhE,GAAE,QAAO,2BAA2B,GAAE,EAAE,KAAGQ,MAAGA,KAAE,KAAK,QAAO,2BAA2B,GAAE,EAAE,KAAGyD,MAAGA,MAAG,KAAK,QAAO,yBAAyB,GAAEA,KAAE,KAAK,WAASA,KAAE,KAAK;AAAQ,kBAAIpD,MAAGoD,KAAEjE,GAAE,SAAOgE,KAAEC,KAAEzD,KAAER,GAAE,SAAOgE,KAAExD,KAAEyD,MAAGzD;AAAE,kBAAGK,KAAE,OAAK,CAACgB,GAAE;AAAgB,yBAAQlC,KAAE,GAAEA,KAAEkB,IAAElB;AAAI,kBAAAK,GAAEL,KAAEqE,EAAC,IAAE,KAAKrE,KAAEa,EAAC;AAAA;AAAO,gBAAAR,GAAE,KAAK,KAAK,SAASQ,IAAEA,KAAEK,EAAC,GAAEmD,EAAC;AAAA,YAAC;AAAA,UAAC,GAAEnC,GAAE,UAAU,QAAM,SAAS7B,IAAEgE,IAAE;AAAC,gBAAIxD,KAAE,KAAK;AAAO,gBAAGR,KAAE,EAAEA,IAAEQ,IAAE,CAAC,GAAEwD,KAAE,EAAEA,IAAExD,IAAEA,EAAC,GAAEqB,GAAE;AAAgB,qBAAOA,GAAE,SAAS,KAAK,SAAS7B,IAAEgE,EAAC,CAAC;AAAE,qBAAQC,KAAED,KAAEhE,IAAEa,KAAE,IAAIgB,GAAEoC,IAAE,QAAO,IAAE,GAAEtE,KAAE,GAAEA,KAAEsE,IAAEtE;AAAI,cAAAkB,GAAElB,EAAC,IAAE,KAAKA,KAAEK,EAAC;AAAE,mBAAOa;AAAA,UAAC,GAAEgB,GAAE,UAAU,MAAI,SAAS7B,IAAE;AAAC,mBAAO,QAAQ,IAAI,2DAA2D,GAAE,KAAK,UAAUA,EAAC;AAAA,UAAC,GAAE6B,GAAE,UAAU,MAAI,SAAS7B,IAAEgE,IAAE;AAAC,mBAAO,QAAQ,IAAI,2DAA2D,GAAE,KAAK,WAAWhE,IAAEgE,EAAC;AAAA,UAAC,GAAEnC,GAAE,UAAU,YAAU,SAAS7B,IAAEgE,IAAE;AAAC,gBAAGA,OAAI,EAAE,QAAMhE,IAAE,gBAAgB,GAAE,EAAEA,KAAE,KAAK,QAAO,qCAAqC,IAAG,EAAEA,MAAG,KAAK;AAAQ,qBAAO,KAAKA,EAAC;AAAA,UAAC,GAAE6B,GAAE,UAAU,eAAa,SAAS7B,IAAEgE,IAAE;AAAC,mBAAOnD,GAAE,MAAKb,IAAE,MAAGgE,EAAC;AAAA,UAAC,GAAEnC,GAAE,UAAU,eAAa,SAAS7B,IAAEgE,IAAE;AAAC,mBAAOnD,GAAE,MAAKb,IAAE,OAAGgE,EAAC;AAAA,UAAC,GAAEnC,GAAE,UAAU,eAAa,SAAS7B,IAAEgE,IAAE;AAAC,mBAAOE,GAAE,MAAKlE,IAAE,MAAGgE,EAAC;AAAA,UAAC,GAAEnC,GAAE,UAAU,eAAa,SAAS7B,IAAEgE,IAAE;AAAC,mBAAOE,GAAE,MAAKlE,IAAE,OAAGgE,EAAC;AAAA,UAAC,GAAEnC,GAAE,UAAU,WAAS,SAAS7B,IAAEgE,IAAE;AAAC,gBAAGA,OAAI,EAAE,QAAMhE,IAAE,gBAAgB,GAAE,EAAEA,KAAE,KAAK,QAAO,qCAAqC,IAAG,EAAEA,MAAG,KAAK;AAAQ,qBAAO,MAAI,KAAKA,EAAC,IAAE,MAAI,MAAI,KAAKA,EAAC,IAAE,KAAG,KAAKA,EAAC;AAAA,UAAC,GAAE6B,GAAE,UAAU,cAAY,SAAS7B,IAAEgE,IAAE;AAAC,mBAAO,EAAE,MAAKhE,IAAE,MAAGgE,EAAC;AAAA,UAAC,GAAEnC,GAAE,UAAU,cAAY,SAAS7B,IAAEgE,IAAE;AAAC,mBAAO,EAAE,MAAKhE,IAAE,OAAGgE,EAAC;AAAA,UAAC,GAAEnC,GAAE,UAAU,cAAY,SAAS7B,IAAEgE,IAAE;AAAC,mBAAO,EAAE,MAAKhE,IAAE,MAAGgE,EAAC;AAAA,UAAC,GAAEnC,GAAE,UAAU,cAAY,SAAS7B,IAAEgE,IAAE;AAAC,mBAAO,EAAE,MAAKhE,IAAE,OAAGgE,EAAC;AAAA,UAAC,GAAEnC,GAAE,UAAU,cAAY,SAAS7B,IAAEgE,IAAE;AAAC,mBAAO,EAAE,MAAKhE,IAAE,MAAGgE,EAAC;AAAA,UAAC,GAAEnC,GAAE,UAAU,cAAY,SAAS7B,IAAEgE,IAAE;AAAC,mBAAO,EAAE,MAAKhE,IAAE,OAAGgE,EAAC;AAAA,UAAC,GAAEnC,GAAE,UAAU,eAAa,SAAS7B,IAAEgE,IAAE;AAAC,mBAAO,EAAE,MAAKhE,IAAE,MAAGgE,EAAC;AAAA,UAAC,GAAEnC,GAAE,UAAU,eAAa,SAAS7B,IAAEgE,IAAE;AAAC,mBAAO,EAAE,MAAKhE,IAAE,OAAGgE,EAAC;AAAA,UAAC,GAAEnC,GAAE,UAAU,aAAW,SAAS7B,IAAEgE,IAAExD,IAAE;AAAC,YAAAA,OAAI,EAAE,QAAMR,IAAE,eAAe,GAAE,EAAE,QAAMgE,IAAE,gBAAgB,GAAE,EAAEA,KAAE,KAAK,QAAO,sCAAsC,GAAE,EAAEhE,IAAE,GAAG,IAAGgE,MAAG,KAAK,WAAS,KAAKA,EAAC,IAAEhE;AAAA,UAAE,GAAE6B,GAAE,UAAU,gBAAc,SAAS7B,IAAEgE,IAAExD,IAAE;AAAC,YAAAP,GAAE,MAAKD,IAAEgE,IAAE,MAAGxD,EAAC;AAAA,UAAC,GAAEqB,GAAE,UAAU,gBAAc,SAAS7B,IAAEgE,IAAExD,IAAE;AAAC,YAAAP,GAAE,MAAKD,IAAEgE,IAAE,OAAGxD,EAAC;AAAA,UAAC,GAAEqB,GAAE,UAAU,gBAAc,SAAS7B,IAAEgE,IAAExD,IAAE;AAAC,YAAA+B,GAAE,MAAKvC,IAAEgE,IAAE,MAAGxD,EAAC;AAAA,UAAC,GAAEqB,GAAE,UAAU,gBAAc,SAAS7B,IAAEgE,IAAExD,IAAE;AAAC,YAAA+B,GAAE,MAAKvC,IAAEgE,IAAE,OAAGxD,EAAC;AAAA,UAAC,GAAEqB,GAAE,UAAU,YAAU,SAAS7B,IAAEgE,IAAExD,IAAE;AAAC,YAAAA,OAAI,EAAE,QAAMR,IAAE,eAAe,GAAE,EAAE,QAAMgE,IAAE,gBAAgB,GAAE,EAAEA,KAAE,KAAK,QAAO,sCAAsC,GAAE,EAAEhE,IAAE,KAAI,IAAI,IAAGgE,MAAG,KAAK,WAAS,KAAGhE,KAAE,KAAK,WAAWA,IAAEgE,IAAExD,EAAC,IAAE,KAAK,WAAW,MAAIR,KAAE,GAAEgE,IAAExD,EAAC;AAAA,UAAE,GAAEqB,GAAE,UAAU,eAAa,SAAS7B,IAAEgE,IAAExD,IAAE;AAAC,cAAE,MAAKR,IAAEgE,IAAE,MAAGxD,EAAC;AAAA,UAAC,GAAEqB,GAAE,UAAU,eAAa,SAAS7B,IAAEgE,IAAExD,IAAE;AAAC,cAAE,MAAKR,IAAEgE,IAAE,OAAGxD,EAAC;AAAA,UAAC,GAAEqB,GAAE,UAAU,eAAa,SAAS7B,IAAEgE,IAAExD,IAAE;AAAC,cAAE,MAAKR,IAAEgE,IAAE,MAAGxD,EAAC;AAAA,UAAC,GAAEqB,GAAE,UAAU,eAAa,SAAS7B,IAAEgE,IAAExD,IAAE;AAAC,cAAE,MAAKR,IAAEgE,IAAE,OAAGxD,EAAC;AAAA,UAAC,GAAEqB,GAAE,UAAU,eAAa,SAAS7B,IAAEgE,IAAExD,IAAE;AAAC,cAAE,MAAKR,IAAEgE,IAAE,MAAGxD,EAAC;AAAA,UAAC,GAAEqB,GAAE,UAAU,eAAa,SAAS7B,IAAEgE,IAAExD,IAAE;AAAC,cAAE,MAAKR,IAAEgE,IAAE,OAAGxD,EAAC;AAAA,UAAC,GAAEqB,GAAE,UAAU,gBAAc,SAAS7B,IAAEgE,IAAExD,IAAE;AAAC,cAAE,MAAKR,IAAEgE,IAAE,MAAGxD,EAAC;AAAA,UAAC,GAAEqB,GAAE,UAAU,gBAAc,SAAS7B,IAAEgE,IAAExD,IAAE;AAAC,cAAE,MAAKR,IAAEgE,IAAE,OAAGxD,EAAC;AAAA,UAAC,GAAEqB,GAAE,UAAU,OAAK,SAAS7B,IAAEgE,IAAExD,IAAE;AAAC,gBAAGwD,KAAEA,MAAG,GAAExD,KAAEA,MAAG,KAAK,QAAO,EAAE,YAAU,QAAOR,KAAE,YAAU,QAAOA,KAAEA,MAAG,KAAGA,GAAE,WAAW,CAAC,IAAEA,OAAI,CAAC,MAAMA,EAAC,GAAE,uBAAuB,GAAE,EAAEgE,MAAGxD,IAAE,aAAa,GAAEA,OAAIwD,MAAG,MAAI,KAAK,QAAO;AAAC,gBAAE,KAAGA,MAAGA,KAAE,KAAK,QAAO,qBAAqB,GAAE,EAAE,KAAGxD,MAAGA,MAAG,KAAK,QAAO,mBAAmB;AAAE,uBAAQyD,KAAED,IAAEC,KAAEzD,IAAEyD;AAAI,qBAAKA,EAAC,IAAEjE;AAAA,YAAC;AAAA,UAAC,GAAE6B,GAAE,UAAU,UAAQ,WAAU;AAAC,qBAAQ7B,KAAE,CAAC,GAAEgE,KAAE,KAAK,QAAOxD,KAAE,GAAEA,KAAEwD,IAAExD;AAAI,kBAAGR,GAAEQ,EAAC,IAAE,EAAE,KAAKA,EAAC,CAAC,GAAEA,OAAI,EAAE,mBAAkB;AAAC,gBAAAR,GAAEQ,KAAE,CAAC,IAAE;AAAM;AAAA,cAAK;AAAC,mBAAM,aAAWR,GAAE,KAAK,GAAG,IAAE;AAAA,UAAG,GAAE6B,GAAE,UAAU,gBAAc,WAAU;AAAC,gBAAG,eAAa,OAAO;AAAW,oBAAM,IAAI,MAAM,oDAAoD;AAAE,gBAAGA,GAAE;AAAgB,qBAAO,IAAIA,GAAE,IAAI,EAAE;AAAO,qBAAQ7B,KAAE,IAAI,WAAW,KAAK,MAAM,GAAEgE,KAAE,GAAExD,KAAER,GAAE,QAAOgE,KAAExD,IAAEwD,MAAG;AAAE,cAAAhE,GAAEgE,EAAC,IAAE,KAAKA,EAAC;AAAE,mBAAOhE,GAAE;AAAA,UAAM;AAAE,cAAIgE,KAAEnC,GAAE;AAAU,mBAAS,EAAE7B,IAAEgE,IAAExD,IAAE;AAAC,mBAAM,YAAU,OAAOR,KAAEQ,KAAEwD,OAAIhE,KAAE,CAAC,CAACA,MAAGgE,KAAE,KAAGhE,MAAG,MAAIA,MAAGgE,MAAGhE,KAAE;AAAA,UAAC;AAAC,mBAAS,EAAEA,IAAE;AAAC,oBAAOA,KAAE,CAAC,CAAC,KAAK,KAAK,CAACA,EAAC,KAAG,IAAE,IAAEA;AAAA,UAAC;AAAC,mBAAS,EAAEA,IAAE;AAAC,oBAAO,MAAM,WAAS,SAASA,IAAE;AAAC,qBAAM,qBAAmB,OAAO,UAAU,SAAS,KAAKA,EAAC;AAAA,YAAC,GAAGA,EAAC;AAAA,UAAC;AAAC,mBAAS,EAAEA,IAAE;AAAC,mBAAOA,KAAE,KAAG,MAAIA,GAAE,SAAS,EAAE,IAAEA,GAAE,SAAS,EAAE;AAAA,UAAC;AAAC,mBAAS,EAAEA,IAAE;AAAC,qBAAQgE,KAAE,CAAC,GAAExD,KAAE,GAAEA,KAAER,GAAE,QAAOQ,MAAI;AAAC,kBAAIyD,KAAEjE,GAAE,WAAWQ,EAAC;AAAE,kBAAGyD,MAAG;AAAI,gBAAAD,GAAE,KAAKhE,GAAE,WAAWQ,EAAC,CAAC;AAAA;AAAO,yBAAQK,KAAEL,IAAEb,MAAG,SAAOsE,MAAGA,MAAG,SAAOzD,MAAI,mBAAmBR,GAAE,MAAMa,IAAEL,KAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAG0D,KAAE,GAAEA,KAAEvE,GAAE,QAAOuE;AAAI,kBAAAF,GAAE,KAAK,SAASrE,GAAEuE,EAAC,GAAE,EAAE,CAAC;AAAA,YAAC;AAAC,mBAAOF;AAAA,UAAC;AAAC,mBAAS,EAAEhE,IAAE;AAAC,mBAAOM,GAAE,YAAYN,EAAC;AAAA,UAAC;AAAC,mBAASE,GAAEF,IAAEgE,IAAExD,IAAEyD,IAAE;AAAC,qBAAQpD,KAAE,GAAEA,KAAEoD,MAAG,EAAEpD,KAAEL,MAAGwD,GAAE,UAAQnD,MAAGb,GAAE,SAAQa;AAAI,cAAAmD,GAAEnD,KAAEL,EAAC,IAAER,GAAEa,EAAC;AAAE,mBAAOA;AAAA,UAAC;AAAC,mBAAS,EAAEb,IAAE;AAAC,gBAAG;AAAC,qBAAO,mBAAmBA,EAAC;AAAA,YAAC,SAAOA,IAAN;AAAS,qBAAO,OAAO,aAAa,KAAK;AAAA,YAAC;AAAA,UAAC;AAAC,mBAAS,EAAEA,IAAEgE,IAAE;AAAC,cAAE,YAAU,OAAOhE,IAAE,uCAAuC,GAAE,EAAE,KAAGA,IAAE,0DAA0D,GAAE,EAAEA,MAAGgE,IAAE,6CAA6C,GAAE,EAAE,KAAK,MAAMhE,EAAC,MAAIA,IAAE,kCAAkC;AAAA,UAAC;AAAC,mBAAS,EAAEA,IAAEgE,IAAExD,IAAE;AAAC,cAAE,YAAU,OAAOR,IAAE,uCAAuC,GAAE,EAAEA,MAAGgE,IAAE,yCAAyC,GAAE,EAAExD,MAAGR,IAAE,0CAA0C,GAAE,EAAE,KAAK,MAAMA,EAAC,MAAIA,IAAE,kCAAkC;AAAA,UAAC;AAAC,mBAAS,EAAEA,IAAEgE,IAAExD,IAAE;AAAC,cAAE,YAAU,OAAOR,IAAE,uCAAuC,GAAE,EAAEA,MAAGgE,IAAE,yCAAyC,GAAE,EAAExD,MAAGR,IAAE,0CAA0C;AAAA,UAAC;AAAC,mBAAS,EAAEA,IAAEgE,IAAE;AAAC,gBAAG,CAAChE;AAAE,oBAAM,IAAI,MAAMgE,MAAG,kBAAkB;AAAA,UAAC;AAAC,UAAAnC,GAAE,WAAS,SAAS7B,IAAE;AAAC,mBAAOA,GAAE,YAAU,MAAGA,GAAE,OAAKA,GAAE,KAAIA,GAAE,OAAKA,GAAE,KAAIA,GAAE,MAAIgE,GAAE,KAAIhE,GAAE,MAAIgE,GAAE,KAAIhE,GAAE,QAAMgE,GAAE,OAAMhE,GAAE,WAASgE,GAAE,UAAShE,GAAE,iBAAegE,GAAE,UAAShE,GAAE,SAAOgE,GAAE,QAAOhE,GAAE,OAAKgE,GAAE,MAAKhE,GAAE,QAAMgE,GAAE,OAAMhE,GAAE,YAAUgE,GAAE,WAAUhE,GAAE,eAAagE,GAAE,cAAahE,GAAE,eAAagE,GAAE,cAAahE,GAAE,eAAagE,GAAE,cAAahE,GAAE,eAAagE,GAAE,cAAahE,GAAE,WAASgE,GAAE,UAAShE,GAAE,cAAYgE,GAAE,aAAYhE,GAAE,cAAYgE,GAAE,aAAYhE,GAAE,cAAYgE,GAAE,aAAYhE,GAAE,cAAYgE,GAAE,aAAYhE,GAAE,cAAYgE,GAAE,aAAYhE,GAAE,cAAYgE,GAAE,aAAYhE,GAAE,eAAagE,GAAE,cAAahE,GAAE,eAAagE,GAAE,cAAahE,GAAE,aAAWgE,GAAE,YAAWhE,GAAE,gBAAcgE,GAAE,eAAchE,GAAE,gBAAcgE,GAAE,eAAchE,GAAE,gBAAcgE,GAAE,eAAchE,GAAE,gBAAcgE,GAAE,eAAchE,GAAE,YAAUgE,GAAE,WAAUhE,GAAE,eAAagE,GAAE,cAAahE,GAAE,eAAagE,GAAE,cAAahE,GAAE,eAAagE,GAAE,cAAahE,GAAE,eAAagE,GAAE,cAAahE,GAAE,eAAagE,GAAE,cAAahE,GAAE,eAAagE,GAAE,cAAahE,GAAE,gBAAcgE,GAAE,eAAchE,GAAE,gBAAcgE,GAAE,eAAchE,GAAE,OAAKgE,GAAE,MAAKhE,GAAE,UAAQgE,GAAE,SAAQhE,GAAE,gBAAcgE,GAAE,eAAchE;AAAA,UAAC;AAAA,QAAC,EAAE,KAAK,MAAK,EAAE,QAAQ,GAAE,eAAa,OAAO,OAAK,OAAK,eAAa,OAAO,SAAO,SAAO,CAAC,GAAE,EAAE,QAAQ,EAAE,QAAO,UAAU,CAAC,GAAE,UAAU,CAAC,GAAE,UAAU,CAAC,GAAE,UAAU,CAAC,GAAE,8DAA6D,mDAAmD;AAAA,MAAC,GAAE,EAAC,aAAY,GAAE,QAAO,GAAE,SAAQ,IAAG,QAAO,GAAE,CAAC,GAAE,GAAE,CAAC,SAASE,IAAE,GAAEF,IAAE;AAAC,SAAC,SAASA,IAAEgE,IAAE1D,IAAEE,IAAEyD,IAAEpD,IAAElB,IAAEuE,IAAEjE,IAAE;AAAC,cAAIK,KAAEJ,GAAE,QAAQ,EAAE,QAAO2B,KAAE,GAAEU,KAAE,IAAIjC,GAAEuB,EAAC;AAAE,UAAAU,GAAE,KAAK,CAAC;AAAE,YAAE,UAAQ,EAAC,MAAK,SAASvC,IAAEgE,IAAExD,IAAEyD,IAAE;AAAC,qBAAQpD,KAAEmD,GAAE,SAAShE,IAAEgE,IAAE;AAAC,cAAAhE,GAAE,SAAO6B,MAAG,MAAIrB,KAAER,GAAE,UAAQ6B,KAAE7B,GAAE,SAAO6B,KAAG7B,KAAEM,GAAE,OAAO,CAACN,IAAEuC,EAAC,GAAE/B,EAAC;AAAG,uBAAQA,IAAEyD,KAAE,CAAC,GAAEpD,KAAEmD,KAAEhE,GAAE,cAAYA,GAAE,aAAYL,KAAE,GAAEA,KAAEK,GAAE,QAAOL,MAAGkC;AAAE,gBAAAoC,GAAE,KAAKpD,GAAE,KAAKb,IAAEL,EAAC,CAAC;AAAE,qBAAOsE;AAAA,YAAC,EAAEjE,KAAEM,GAAE,SAASN,EAAC,IAAEA,KAAE,IAAIM,GAAEN,EAAC,GAAEiE,EAAC,GAAE,IAAEjE,GAAE,MAAM,GAAEgE,KAAEC,IAAEtE,KAAE,IAAIW,GAAEE,EAAC,GAAE0D,KAAEF,KAAErE,GAAE,eAAaA,GAAE,cAAaM,KAAE,GAAEA,KAAEY,GAAE,QAAOZ;AAAI,cAAAiE,GAAE,KAAKvE,IAAEkB,GAAEZ,EAAC,GAAE,IAAEA,IAAE,IAAE;AAAE,mBAAON;AAAA,UAAC,EAAC;AAAA,QAAC,EAAE,KAAK,MAAKO,GAAE,QAAQ,GAAE,eAAa,OAAO,OAAK,OAAK,eAAa,OAAO,SAAO,SAAO,CAAC,GAAEA,GAAE,QAAQ,EAAE,QAAO,UAAU,CAAC,GAAE,UAAU,CAAC,GAAE,UAAU,CAAC,GAAE,UAAU,CAAC,GAAE,2EAA0E,8DAA8D;AAAA,MAAC,GAAE,EAAC,QAAO,GAAE,QAAO,GAAE,CAAC,GAAE,GAAE,CAAC,SAAS2C,IAAE7C,IAAE,GAAE;AAAC,SAAC,SAASuC,IAAErC,IAAEgE,IAAE,GAAEC,IAAEC,IAAE,GAAE7D,IAAE,GAAE;AAAC,cAAI2D,KAAErB,GAAE,QAAQ,EAAE,QAAO7C,KAAE6C,GAAE,OAAO,GAAEmB,KAAEnB,GAAE,UAAU,GAAErC,KAAEqC,GAAE,OAAO,GAAE,IAAE,EAAC,MAAK7C,IAAE,QAAOgE,IAAE,KAAInB,GAAE,OAAO,EAAC,GAAE5C,KAAE,IAAGK,KAAE,IAAI4D,GAAEjE,EAAC;AAAE,mBAASgE,GAAEjE,IAAEQ,IAAE;AAAC,gBAAIyD,KAAE,EAAEjE,KAAEA,MAAG,MAAM,GAAEa,KAAE,CAAC;AAAE,mBAAOoD,MAAGtE,GAAE,cAAaK,IAAE,sBAAsB,GAAE,EAAC,QAAO,SAASA,IAAE;AAAC,qBAAOkE,GAAE,SAASlE,EAAC,MAAIA,KAAE,IAAIkE,GAAElE,EAAC,IAAGa,GAAE,KAAKb,EAAC,GAAEA,GAAE,QAAO;AAAA,YAAI,GAAE,QAAO,SAASA,IAAE;AAAC,kBAAIgE,KAAEE,GAAE,OAAOrD,EAAC,GAAEmD,KAAExD,KAAE,SAASR,IAAEgE,IAAExD,IAAE;AAAC,gBAAA0D,GAAE,SAASF,EAAC,MAAIA,KAAE,IAAIE,GAAEF,EAAC,IAAGE,GAAE,SAAS1D,EAAC,MAAIA,KAAE,IAAI0D,GAAE1D,EAAC,IAAGwD,GAAE,SAAO/D,KAAE+D,KAAEhE,GAAEgE,EAAC,IAAEA,GAAE,SAAO/D,OAAI+D,KAAEE,GAAE,OAAO,CAACF,IAAE1D,EAAC,GAAEL,EAAC;AAAG,yBAAQgE,KAAE,IAAIC,GAAEjE,EAAC,GAAEY,KAAE,IAAIqD,GAAEjE,EAAC,GAAEN,KAAE,GAAEA,KAAEM,IAAEN;AAAI,kBAAAsE,GAAEtE,EAAC,IAAE,KAAGqE,GAAErE,EAAC,GAAEkB,GAAElB,EAAC,IAAE,KAAGqE,GAAErE,EAAC;AAAE,uBAAOa,KAAER,GAAEkE,GAAE,OAAO,CAACD,IAAEzD,EAAC,CAAC,CAAC,GAAER,GAAEkE,GAAE,OAAO,CAACrD,IAAEL,EAAC,CAAC,CAAC;AAAA,cAAC,EAAEyD,IAAEzD,IAAEwD,EAAC,IAAEC,GAAED,EAAC;AAAE,qBAAOnD,KAAE,MAAKb,KAAEgE,GAAE,SAAShE,EAAC,IAAEgE;AAAA,YAAC,EAAC;AAAA,UAAC;AAAC,mBAASrE,KAAG;AAAC,gBAAIK,KAAE,CAAC,EAAE,MAAM,KAAK,SAAS,EAAE,KAAK,GAAG;AAAE,kBAAM,IAAI,MAAM,CAACA,IAAE,2BAA0B,iDAAiD,EAAE,KAAK,IAAI,CAAC;AAAA,UAAC;AAAC,UAAAM,GAAE,KAAK,CAAC,GAAE,EAAE,aAAW,SAASN,IAAE;AAAC,mBAAOiE,GAAEjE,EAAC;AAAA,UAAC,GAAE,EAAE,aAAWiE,IAAE,EAAE,cAAY,SAASjE,IAAEgE,IAAE;AAAC,gBAAG,CAACA,MAAG,CAACA,GAAE;AAAK,qBAAO,IAAIE,GAAE1D,GAAER,EAAC,CAAC;AAAE,gBAAG;AAAC,cAAAgE,GAAE,KAAK,MAAK,QAAO,IAAIE,GAAE1D,GAAER,EAAC,CAAC,CAAC;AAAA,YAAC,SAAOA,IAAN;AAAS,cAAAgE,GAAEhE,EAAC;AAAA,YAAC;AAAA,UAAC;AAAE,cAAIa,IAAEgB,KAAE,CAAC,qBAAoB,gBAAe,kBAAiB,kBAAiB,oBAAmB,cAAa,gBAAe,uBAAsB,QAAQ,GAAE,IAAE,SAAS7B,IAAE;AAAC,cAAEA,EAAC,IAAE,WAAU;AAAC,cAAAL,GAAE,UAASK,IAAE,wBAAwB;AAAA,YAAC;AAAA,UAAC;AAAE,eAAIa,MAAKgB;AAAE,cAAEA,GAAEhB,EAAC,GAAEA,EAAC;AAAA,QAAC,EAAE,KAAK,MAAKgC,GAAE,QAAQ,GAAE,eAAa,OAAO,OAAK,OAAK,eAAa,OAAO,SAAO,SAAO,CAAC,GAAEA,GAAE,QAAQ,EAAE,QAAO,UAAU,CAAC,GAAE,UAAU,CAAC,GAAE,UAAU,CAAC,GAAE,UAAU,CAAC,GAAE,yEAAwE,8DAA8D;AAAA,MAAC,GAAE,EAAC,SAAQ,GAAE,SAAQ,GAAE,SAAQ,GAAE,YAAW,GAAE,QAAO,GAAE,QAAO,GAAE,CAAC,GAAE,GAAE,CAAC,SAAS,GAAE,GAAE7C,IAAE;AAAC,SAAC,SAASA,IAAEiE,IAAEpD,IAAElB,IAAEuE,IAAE5D,IAAEuB,IAAEU,IAAEhC,IAAE;AAAC,cAAIyD,KAAE,EAAE,WAAW;AAAE,mBAASxD,GAAER,IAAEgE,IAAE;AAAC,YAAAhE,GAAEgE,MAAG,CAAC,KAAG,OAAKA,KAAE,IAAGhE,GAAE,MAAIgE,KAAE,OAAK,KAAG,EAAE,IAAEA;AAAE,qBAAQxD,KAAE,YAAWyD,KAAE,YAAWpD,KAAE,aAAYlB,KAAE,WAAUuE,KAAE,GAAEA,KAAElE,GAAE,QAAOkE,MAAG,IAAG;AAAC,kBAAIjE,KAAEO,IAAEF,KAAE2D,IAAEpC,KAAEhB,IAAE0B,KAAE5C,IAAEa,KAAEN,GAAEM,IAAEyD,IAAEpD,IAAElB,IAAEK,GAAEkE,KAAE,CAAC,GAAE,GAAE,UAAU,GAAEvE,KAAEO,GAAEP,IAAEa,IAAEyD,IAAEpD,IAAEb,GAAEkE,KAAE,CAAC,GAAE,IAAG,UAAU,GAAErD,KAAEX,GAAEW,IAAElB,IAAEa,IAAEyD,IAAEjE,GAAEkE,KAAE,CAAC,GAAE,IAAG,SAAS,GAAED,KAAE/D,GAAE+D,IAAEpD,IAAElB,IAAEa,IAAER,GAAEkE,KAAE,CAAC,GAAE,IAAG,WAAW;AAAE,cAAA1D,KAAEN,GAAEM,IAAEyD,IAAEpD,IAAElB,IAAEK,GAAEkE,KAAE,CAAC,GAAE,GAAE,UAAU,GAAEvE,KAAEO,GAAEP,IAAEa,IAAEyD,IAAEpD,IAAEb,GAAEkE,KAAE,CAAC,GAAE,IAAG,UAAU,GAAErD,KAAEX,GAAEW,IAAElB,IAAEa,IAAEyD,IAAEjE,GAAEkE,KAAE,CAAC,GAAE,IAAG,WAAW,GAAED,KAAE/D,GAAE+D,IAAEpD,IAAElB,IAAEa,IAAER,GAAEkE,KAAE,CAAC,GAAE,IAAG,SAAS,GAAE1D,KAAEN,GAAEM,IAAEyD,IAAEpD,IAAElB,IAAEK,GAAEkE,KAAE,CAAC,GAAE,GAAE,UAAU,GAAEvE,KAAEO,GAAEP,IAAEa,IAAEyD,IAAEpD,IAAEb,GAAEkE,KAAE,CAAC,GAAE,IAAG,WAAW,GAAErD,KAAEX,GAAEW,IAAElB,IAAEa,IAAEyD,IAAEjE,GAAEkE,KAAE,EAAE,GAAE,IAAG,MAAM,GAAED,KAAE/D,GAAE+D,IAAEpD,IAAElB,IAAEa,IAAER,GAAEkE,KAAE,EAAE,GAAE,IAAG,WAAW,GAAE1D,KAAEN,GAAEM,IAAEyD,IAAEpD,IAAElB,IAAEK,GAAEkE,KAAE,EAAE,GAAE,GAAE,UAAU,GAAEvE,KAAEO,GAAEP,IAAEa,IAAEyD,IAAEpD,IAAEb,GAAEkE,KAAE,EAAE,GAAE,IAAG,SAAS,GAAErD,KAAEX,GAAEW,IAAElB,IAAEa,IAAEyD,IAAEjE,GAAEkE,KAAE,EAAE,GAAE,IAAG,WAAW,GAAE1D,KAAE,EAAEA,IAAEyD,KAAE/D,GAAE+D,IAAEpD,IAAElB,IAAEa,IAAER,GAAEkE,KAAE,EAAE,GAAE,IAAG,UAAU,GAAErD,IAAElB,IAAEK,GAAEkE,KAAE,CAAC,GAAE,GAAE,UAAU,GAAEvE,KAAE,EAAEA,IAAEa,IAAEyD,IAAEpD,IAAEb,GAAEkE,KAAE,CAAC,GAAE,GAAE,WAAW,GAAErD,KAAE,EAAEA,IAAElB,IAAEa,IAAEyD,IAAEjE,GAAEkE,KAAE,EAAE,GAAE,IAAG,SAAS,GAAED,KAAE,EAAEA,IAAEpD,IAAElB,IAAEa,IAAER,GAAEkE,KAAE,CAAC,GAAE,IAAG,UAAU,GAAE1D,KAAE,EAAEA,IAAEyD,IAAEpD,IAAElB,IAAEK,GAAEkE,KAAE,CAAC,GAAE,GAAE,UAAU,GAAEvE,KAAE,EAAEA,IAAEa,IAAEyD,IAAEpD,IAAEb,GAAEkE,KAAE,EAAE,GAAE,GAAE,QAAQ,GAAErD,KAAE,EAAEA,IAAElB,IAAEa,IAAEyD,IAAEjE,GAAEkE,KAAE,EAAE,GAAE,IAAG,UAAU,GAAED,KAAE,EAAEA,IAAEpD,IAAElB,IAAEa,IAAER,GAAEkE,KAAE,CAAC,GAAE,IAAG,UAAU,GAAE1D,KAAE,EAAEA,IAAEyD,IAAEpD,IAAElB,IAAEK,GAAEkE,KAAE,CAAC,GAAE,GAAE,SAAS,GAAEvE,KAAE,EAAEA,IAAEa,IAAEyD,IAAEpD,IAAEb,GAAEkE,KAAE,EAAE,GAAE,GAAE,WAAW,GAAErD,KAAE,EAAEA,IAAElB,IAAEa,IAAEyD,IAAEjE,GAAEkE,KAAE,CAAC,GAAE,IAAG,UAAU,GAAED,KAAE,EAAEA,IAAEpD,IAAElB,IAAEa,IAAER,GAAEkE,KAAE,CAAC,GAAE,IAAG,UAAU,GAAE1D,KAAE,EAAEA,IAAEyD,IAAEpD,IAAElB,IAAEK,GAAEkE,KAAE,EAAE,GAAE,GAAE,WAAW,GAAEvE,KAAE,EAAEA,IAAEa,IAAEyD,IAAEpD,IAAEb,GAAEkE,KAAE,CAAC,GAAE,GAAE,SAAS,GAAErD,KAAE,EAAEA,IAAElB,IAAEa,IAAEyD,IAAEjE,GAAEkE,KAAE,CAAC,GAAE,IAAG,UAAU,GAAE1D,KAAE2D,GAAE3D,IAAEyD,KAAE,EAAEA,IAAEpD,IAAElB,IAAEa,IAAER,GAAEkE,KAAE,EAAE,GAAE,IAAG,WAAW,GAAErD,IAAElB,IAAEK,GAAEkE,KAAE,CAAC,GAAE,GAAE,OAAO,GAAEvE,KAAEwE,GAAExE,IAAEa,IAAEyD,IAAEpD,IAAEb,GAAEkE,KAAE,CAAC,GAAE,IAAG,WAAW,GAAErD,KAAEsD,GAAEtD,IAAElB,IAAEa,IAAEyD,IAAEjE,GAAEkE,KAAE,EAAE,GAAE,IAAG,UAAU,GAAED,KAAEE,GAAEF,IAAEpD,IAAElB,IAAEa,IAAER,GAAEkE,KAAE,EAAE,GAAE,IAAG,SAAS,GAAE1D,KAAE2D,GAAE3D,IAAEyD,IAAEpD,IAAElB,IAAEK,GAAEkE,KAAE,CAAC,GAAE,GAAE,WAAW,GAAEvE,KAAEwE,GAAExE,IAAEa,IAAEyD,IAAEpD,IAAEb,GAAEkE,KAAE,CAAC,GAAE,IAAG,UAAU,GAAErD,KAAEsD,GAAEtD,IAAElB,IAAEa,IAAEyD,IAAEjE,GAAEkE,KAAE,CAAC,GAAE,IAAG,UAAU,GAAED,KAAEE,GAAEF,IAAEpD,IAAElB,IAAEa,IAAER,GAAEkE,KAAE,EAAE,GAAE,IAAG,WAAW,GAAE1D,KAAE2D,GAAE3D,IAAEyD,IAAEpD,IAAElB,IAAEK,GAAEkE,KAAE,EAAE,GAAE,GAAE,SAAS,GAAEvE,KAAEwE,GAAExE,IAAEa,IAAEyD,IAAEpD,IAAEb,GAAEkE,KAAE,CAAC,GAAE,IAAG,UAAU,GAAErD,KAAEsD,GAAEtD,IAAElB,IAAEa,IAAEyD,IAAEjE,GAAEkE,KAAE,CAAC,GAAE,IAAG,UAAU,GAAED,KAAEE,GAAEF,IAAEpD,IAAElB,IAAEa,IAAER,GAAEkE,KAAE,CAAC,GAAE,IAAG,QAAQ,GAAE1D,KAAE2D,GAAE3D,IAAEyD,IAAEpD,IAAElB,IAAEK,GAAEkE,KAAE,CAAC,GAAE,GAAE,UAAU,GAAEvE,KAAEwE,GAAExE,IAAEa,IAAEyD,IAAEpD,IAAEb,GAAEkE,KAAE,EAAE,GAAE,IAAG,UAAU,GAAErD,KAAEsD,GAAEtD,IAAElB,IAAEa,IAAEyD,IAAEjE,GAAEkE,KAAE,EAAE,GAAE,IAAG,SAAS,GAAE1D,KAAE4D,GAAE5D,IAAEyD,KAAEE,GAAEF,IAAEpD,IAAElB,IAAEa,IAAER,GAAEkE,KAAE,CAAC,GAAE,IAAG,UAAU,GAAErD,IAAElB,IAAEK,GAAEkE,KAAE,CAAC,GAAE,GAAE,UAAU,GAAEvE,KAAEyE,GAAEzE,IAAEa,IAAEyD,IAAEpD,IAAEb,GAAEkE,KAAE,CAAC,GAAE,IAAG,UAAU,GAAErD,KAAEuD,GAAEvD,IAAElB,IAAEa,IAAEyD,IAAEjE,GAAEkE,KAAE,EAAE,GAAE,IAAG,WAAW,GAAED,KAAEG,GAAEH,IAAEpD,IAAElB,IAAEa,IAAER,GAAEkE,KAAE,CAAC,GAAE,IAAG,SAAS,GAAE1D,KAAE4D,GAAE5D,IAAEyD,IAAEpD,IAAElB,IAAEK,GAAEkE,KAAE,EAAE,GAAE,GAAE,UAAU,GAAEvE,KAAEyE,GAAEzE,IAAEa,IAAEyD,IAAEpD,IAAEb,GAAEkE,KAAE,CAAC,GAAE,IAAG,WAAW,GAAErD,KAAEuD,GAAEvD,IAAElB,IAAEa,IAAEyD,IAAEjE,GAAEkE,KAAE,EAAE,GAAE,IAAG,QAAQ,GAAED,KAAEG,GAAEH,IAAEpD,IAAElB,IAAEa,IAAER,GAAEkE,KAAE,CAAC,GAAE,IAAG,WAAW,GAAE1D,KAAE4D,GAAE5D,IAAEyD,IAAEpD,IAAElB,IAAEK,GAAEkE,KAAE,CAAC,GAAE,GAAE,UAAU,GAAEvE,KAAEyE,GAAEzE,IAAEa,IAAEyD,IAAEpD,IAAEb,GAAEkE,KAAE,EAAE,GAAE,IAAG,SAAS,GAAErD,KAAEuD,GAAEvD,IAAElB,IAAEa,IAAEyD,IAAEjE,GAAEkE,KAAE,CAAC,GAAE,IAAG,WAAW,GAAED,KAAEG,GAAEH,IAAEpD,IAAElB,IAAEa,IAAER,GAAEkE,KAAE,EAAE,GAAE,IAAG,UAAU,GAAE1D,KAAE4D,GAAE5D,IAAEyD,IAAEpD,IAAElB,IAAEK,GAAEkE,KAAE,CAAC,GAAE,GAAE,UAAU,GAAEvE,KAAEyE,GAAEzE,IAAEa,IAAEyD,IAAEpD,IAAEb,GAAEkE,KAAE,EAAE,GAAE,IAAG,WAAW,GAAErD,KAAEuD,GAAEvD,IAAElB,IAAEa,IAAEyD,IAAEjE,GAAEkE,KAAE,CAAC,GAAE,IAAG,SAAS,GAAED,KAAEG,GAAEH,IAAEpD,IAAElB,IAAEa,IAAER,GAAEkE,KAAE,CAAC,GAAE,IAAG,UAAU,GAAE1D,KAAE,EAAEA,IAAEP,EAAC,GAAEgE,KAAE,EAAEA,IAAE3D,EAAC,GAAEO,KAAE,EAAEA,IAAEgB,EAAC,GAAElC,KAAE,EAAEA,IAAE4C,EAAC;AAAA,YAAC;AAAC,mBAAO,MAAM/B,IAAEyD,IAAEpD,IAAElB,EAAC;AAAA,UAAC;AAAC,mBAASM,GAAED,IAAEgE,IAAExD,IAAEyD,IAAEpD,IAAElB,IAAE;AAAC,mBAAO,GAAGqE,KAAE,EAAE,EAAEA,IAAEhE,EAAC,GAAE,EAAEiE,IAAEtE,EAAC,CAAC,MAAIkB,KAAEmD,OAAI,KAAGnD,IAAEL,EAAC;AAAA,UAAC;AAAC,mBAASN,GAAEF,IAAEgE,IAAExD,IAAEyD,IAAEpD,IAAElB,IAAEuE,IAAE;AAAC,mBAAOjE,GAAE+D,KAAExD,KAAE,CAACwD,KAAEC,IAAEjE,IAAEgE,IAAEnD,IAAElB,IAAEuE,EAAC;AAAA,UAAC;AAAC,mBAAS,EAAElE,IAAEgE,IAAExD,IAAEyD,IAAEpD,IAAElB,IAAEuE,IAAE;AAAC,mBAAOjE,GAAE+D,KAAEC,KAAEzD,KAAE,CAACyD,IAAEjE,IAAEgE,IAAEnD,IAAElB,IAAEuE,EAAC;AAAA,UAAC;AAAC,mBAASC,GAAEnE,IAAEgE,IAAExD,IAAEyD,IAAEpD,IAAElB,IAAEuE,IAAE;AAAC,mBAAOjE,GAAE+D,KAAExD,KAAEyD,IAAEjE,IAAEgE,IAAEnD,IAAElB,IAAEuE,EAAC;AAAA,UAAC;AAAC,mBAASE,GAAEpE,IAAEgE,IAAExD,IAAEyD,IAAEpD,IAAElB,IAAEuE,IAAE;AAAC,mBAAOjE,GAAEO,MAAGwD,KAAE,CAACC,KAAGjE,IAAEgE,IAAEnD,IAAElB,IAAEuE,EAAC;AAAA,UAAC;AAAC,mBAAS,EAAElE,IAAEgE,IAAE;AAAC,gBAAIxD,MAAG,QAAMR,OAAI,QAAMgE;AAAG,oBAAOhE,MAAG,OAAKgE,MAAG,OAAKxD,MAAG,OAAK,KAAG,QAAMA;AAAA,UAAC;AAAC,YAAE,UAAQ,SAASR,IAAE;AAAC,mBAAOgE,GAAE,KAAKhE,IAAEQ,IAAE,EAAE;AAAA,UAAC;AAAA,QAAC,EAAE,KAAK,MAAK,EAAE,QAAQ,GAAE,eAAa,OAAO,OAAK,OAAK,eAAa,OAAO,SAAO,SAAO,CAAC,GAAE,EAAE,QAAQ,EAAE,QAAO,UAAU,CAAC,GAAE,UAAU,CAAC,GAAE,UAAU,CAAC,GAAE,UAAU,CAAC,GAAE,uEAAsE,8DAA8D;AAAA,MAAC,GAAE,EAAC,aAAY,GAAE,QAAO,GAAE,QAAO,GAAE,CAAC,GAAE,GAAE,CAAC,SAASR,IAAEuC,IAAEyB,IAAE;AAAC,SAAC,SAAShE,IAAEgE,IAAExD,IAAEyD,IAAEpD,IAAElB,IAAEuE,IAAEjE,IAAE4B,IAAE;AAAC,cAAIvB;AAAE,UAAAiC,GAAE,UAAQjC,MAAG,SAASN,IAAE;AAAC,qBAAQgE,IAAExD,KAAE,IAAI,MAAMR,EAAC,GAAEiE,KAAE,GAAEA,KAAEjE,IAAEiE;AAAI,oBAAI,IAAEA,QAAKD,KAAE,aAAW,KAAK,OAAO,IAAGxD,GAAEyD,EAAC,IAAED,SAAM,IAAEC,OAAI,KAAG;AAAI,mBAAOzD;AAAA,UAAC;AAAA,QAAC,EAAE,KAAK,MAAKR,GAAE,QAAQ,GAAE,eAAa,OAAO,OAAK,OAAK,eAAa,OAAO,SAAO,SAAO,CAAC,GAAEA,GAAE,QAAQ,EAAE,QAAO,UAAU,CAAC,GAAE,UAAU,CAAC,GAAE,UAAU,CAAC,GAAE,UAAU,CAAC,GAAE,uEAAsE,8DAA8D;AAAA,MAAC,GAAE,EAAC,QAAO,GAAE,QAAO,GAAE,CAAC,GAAE,GAAE,CAAC,SAASE,IAAE,GAAEF,IAAE;AAAC,SAAC,SAASA,IAAEgE,IAAExD,IAAEyD,IAAEpD,IAAEZ,IAAEK,IAAEuB,IAAEU,IAAE;AAAC,cAAI5C,KAAEO,GAAE,WAAW;AAAE,mBAASgE,GAAE3B,IAAErC,IAAE;AAAC,YAAAqC,GAAErC,MAAG,CAAC,KAAG,OAAK,KAAGA,KAAE,IAAGqC,GAAE,MAAIrC,KAAE,MAAI,KAAG,EAAE,IAAEA;AAAE,qBAAQF,IAAEgE,IAAExD,IAAEyD,KAAE,MAAM,EAAE,GAAEpD,KAAE,YAAWlB,KAAE,YAAWuE,KAAE,aAAYjE,KAAE,WAAUoE,KAAE,aAAYF,KAAE,GAAEA,KAAE5B,GAAE,QAAO4B,MAAG,IAAG;AAAC,uBAAQC,KAAEvD,IAAE,IAAElB,IAAEY,KAAE2D,IAAE,IAAEjE,IAAE,IAAEoE,IAAE/D,KAAE,GAAEA,KAAE,IAAGA,MAAI;AAAC,gBAAA2D,GAAE3D,EAAC,IAAEA,KAAE,KAAGiC,GAAE4B,KAAE7D,EAAC,IAAEuC,GAAEoB,GAAE3D,KAAE,CAAC,IAAE2D,GAAE3D,KAAE,CAAC,IAAE2D,GAAE3D,KAAE,EAAE,IAAE2D,GAAE3D,KAAE,EAAE,GAAE,CAAC;AAAE,oBAAIuB,KAAE,EAAE,EAAEgB,GAAEhC,IAAE,CAAC,IAAGgB,KAAElC,IAAEqE,KAAEE,IAAE1D,KAAEP,KAAGD,KAAEM,MAAG,KAAGuB,KAAEmC,KAAE,CAACnC,KAAErB,KAAE,EAAER,KAAE,OAAKA,KAAE,KAAG6B,KAAEmC,KAAEnC,KAAErB,KAAEwD,KAAExD,KAAEqB,KAAEmC,KAAExD,GAAE,GAAE,EAAE,EAAE6D,IAAEJ,GAAE3D,EAAC,CAAC,IAAGN,KAAEM,MAAG,KAAG,aAAWN,KAAE,KAAG,aAAWA,KAAE,KAAG,cAAY,UAAU,CAAC,GAAEqE,KAAEpE,IAAEA,KAAEiE,IAAEA,KAAErB,GAAElD,IAAE,EAAE,GAAEA,KAAEkB,IAAEA,KAAEgB;AAAA,cAAC;AAAC,cAAAhB,KAAE,EAAEA,IAAEuD,EAAC,GAAEzE,KAAE,EAAEA,IAAE,CAAC,GAAEuE,KAAE,EAAEA,IAAE3D,EAAC,GAAEN,KAAE,EAAEA,IAAE,CAAC,GAAEoE,KAAE,EAAEA,IAAE,CAAC;AAAA,YAAC;AAAC,mBAAO,MAAMxD,IAAElB,IAAEuE,IAAEjE,IAAEoE,EAAC;AAAA,UAAC;AAAC,mBAAS,EAAErE,IAAEgE,IAAE;AAAC,gBAAIxD,MAAG,QAAMR,OAAI,QAAMgE;AAAG,oBAAOhE,MAAG,OAAKgE,MAAG,OAAKxD,MAAG,OAAK,KAAG,QAAMA;AAAA,UAAC;AAAC,mBAASqC,GAAE7C,IAAEgE,IAAE;AAAC,mBAAOhE,MAAGgE,KAAEhE,OAAI,KAAGgE;AAAA,UAAC;AAAC,YAAE,UAAQ,SAAShE,IAAE;AAAC,mBAAOL,GAAE,KAAKK,IAAEkE,IAAE,IAAG,IAAE;AAAA,UAAC;AAAA,QAAC,EAAE,KAAK,MAAKhE,GAAE,QAAQ,GAAE,eAAa,OAAO,OAAK,OAAK,eAAa,OAAO,SAAO,SAAO,CAAC,GAAEA,GAAE,QAAQ,EAAE,QAAO,UAAU,CAAC,GAAE,UAAU,CAAC,GAAE,UAAU,CAAC,GAAE,UAAU,CAAC,GAAE,uEAAsE,8DAA8D;AAAA,MAAC,GAAE,EAAC,aAAY,GAAE,QAAO,GAAE,QAAO,GAAE,CAAC,GAAE,GAAE,CAAC,SAASA,IAAE,GAAEF,IAAE;AAAC,SAAC,SAASA,IAAEgE,IAAExD,IAAEyD,IAAEC,IAAEjE,IAAEK,IAAEuB,IAAEU,IAAE;AAAC,mBAAS,EAAEvC,IAAEgE,IAAE;AAAC,gBAAIxD,MAAG,QAAMR,OAAI,QAAMgE;AAAG,oBAAOhE,MAAG,OAAKgE,MAAG,OAAKxD,MAAG,OAAK,KAAG,QAAMA;AAAA,UAAC;AAAC,mBAASK,GAAEb,IAAEuC,IAAE;AAAC,gBAAIrC,IAAEmE,KAAE,IAAI,MAAM,YAAW,YAAW,YAAW,YAAW,WAAU,YAAW,YAAW,YAAW,YAAW,WAAU,WAAU,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,WAAU,WAAU,WAAU,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,WAAU,WAAU,WAAU,WAAU,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,WAAU,WAAU,WAAU,WAAU,WAAU,WAAU,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,UAAU,GAAEL,KAAE,IAAI,MAAM,YAAW,YAAW,YAAW,YAAW,YAAW,YAAW,WAAU,UAAU,GAAExD,KAAE,IAAI,MAAM,EAAE;AAAE,YAAAR,GAAEuC,MAAG,CAAC,KAAG,OAAK,KAAGA,KAAE,IAAGvC,GAAE,MAAIuC,KAAE,MAAI,KAAG,EAAE,IAAEA;AAAE,qBAAQ0B,IAAEpD,IAAEsD,KAAE,GAAEA,KAAEnE,GAAE,QAAOmE,MAAG,IAAG;AAAC,uBAAQxE,KAAEqE,GAAE,CAAC,GAAEE,KAAEF,GAAE,CAAC,GAAE/D,KAAE+D,GAAE,CAAC,GAAEI,KAAEJ,GAAE,CAAC,GAAE1D,KAAE0D,GAAE,CAAC,GAAE,IAAEA,GAAE,CAAC,GAAEzD,KAAEyD,GAAE,CAAC,GAAE,IAAEA,GAAE,CAAC,GAAEnC,KAAE,GAAEA,KAAE,IAAGA;AAAI,gBAAArB,GAAEqB,EAAC,IAAEA,KAAE,KAAG7B,GAAE6B,KAAEsC,EAAC,IAAE,EAAE,EAAE,GAAGtD,KAAEL,GAAEqB,KAAE,CAAC,GAAE,EAAEhB,IAAE,EAAE,IAAE,EAAEA,IAAE,EAAE,IAAEgC,GAAEhC,IAAE,EAAE,IAAGL,GAAEqB,KAAE,CAAC,CAAC,IAAGhB,KAAEL,GAAEqB,KAAE,EAAE,GAAE,EAAEhB,IAAE,CAAC,IAAE,EAAEA,IAAE,EAAE,IAAEgC,GAAEhC,IAAE,CAAC,EAAE,GAAEL,GAAEqB,KAAE,EAAE,CAAC,GAAE3B,KAAE,EAAE,EAAE,EAAE,EAAE,GAAE,EAAEW,KAAEP,IAAE,CAAC,IAAE,EAAEO,IAAE,EAAE,IAAE,EAAEA,IAAE,EAAE,CAAC,GAAEP,KAAE,IAAE,CAACA,KAAEC,EAAC,GAAE8D,GAAExC,EAAC,CAAC,GAAErB,GAAEqB,EAAC,CAAC,GAAEoC,KAAE,EAAE,EAAEA,KAAEtE,IAAE,CAAC,IAAE,EAAEsE,IAAE,EAAE,IAAE,EAAEA,IAAE,EAAE,GAAEtE,KAAEuE,KAAEvE,KAAEM,KAAEiE,KAAEjE,EAAC,GAAE,IAAEM,IAAEA,KAAE,GAAE,IAAED,IAAEA,KAAE,EAAE8D,IAAElE,EAAC,GAAEkE,KAAEnE,IAAEA,KAAEiE,IAAEA,KAAEvE,IAAEA,KAAE,EAAEO,IAAE+D,EAAC;AAAE,cAAAD,GAAE,CAAC,IAAE,EAAErE,IAAEqE,GAAE,CAAC,CAAC,GAAEA,GAAE,CAAC,IAAE,EAAEE,IAAEF,GAAE,CAAC,CAAC,GAAEA,GAAE,CAAC,IAAE,EAAE/D,IAAE+D,GAAE,CAAC,CAAC,GAAEA,GAAE,CAAC,IAAE,EAAEI,IAAEJ,GAAE,CAAC,CAAC,GAAEA,GAAE,CAAC,IAAE,EAAE1D,IAAE0D,GAAE,CAAC,CAAC,GAAEA,GAAE,CAAC,IAAE,EAAE,GAAEA,GAAE,CAAC,CAAC,GAAEA,GAAE,CAAC,IAAE,EAAEzD,IAAEyD,GAAE,CAAC,CAAC,GAAEA,GAAE,CAAC,IAAE,EAAE,GAAEA,GAAE,CAAC,CAAC;AAAA,YAAC;AAAC,mBAAOA;AAAA,UAAC;AAAC,cAAIrE,KAAEO,GAAE,WAAW,GAAE,IAAE,SAASF,IAAEgE,IAAE;AAAC,mBAAOhE,OAAIgE,KAAEhE,MAAG,KAAGgE;AAAA,UAAC,GAAEnB,KAAE,SAAS7C,IAAEgE,IAAE;AAAC,mBAAOhE,OAAIgE;AAAA,UAAC;AAAE,YAAE,UAAQ,SAAShE,IAAE;AAAC,mBAAOL,GAAE,KAAKK,IAAEa,IAAE,IAAG,IAAE;AAAA,UAAC;AAAA,QAAC,EAAE,KAAK,MAAKX,GAAE,QAAQ,GAAE,eAAa,OAAO,OAAK,OAAK,eAAa,OAAO,SAAO,SAAO,CAAC,GAAEA,GAAE,QAAQ,EAAE,QAAO,UAAU,CAAC,GAAE,UAAU,CAAC,GAAE,UAAU,CAAC,GAAE,UAAU,CAAC,GAAE,0EAAyE,8DAA8D;AAAA,MAAC,GAAE,EAAC,aAAY,GAAE,QAAO,GAAE,QAAO,GAAE,CAAC,GAAE,IAAG,CAAC,SAASF,IAAEgE,IAAEnC,IAAE;AAAC,SAAC,SAAS7B,IAAEgE,IAAExD,IAAEyD,IAAEpD,IAAElB,IAAEuE,IAAEjE,IAAEK,IAAE;AAAC,UAAAuB,GAAE,OAAK,SAAS7B,IAAEgE,IAAExD,IAAEyD,IAAEpD,IAAE;AAAC,gBAAIlB,IAAEuE,IAAE3B,KAAE,IAAE1B,KAAEoD,KAAE,GAAE/D,MAAG,KAAGqC,MAAG,GAAE,IAAErC,MAAG,GAAED,KAAE,IAAGK,KAAEE,KAAEK,KAAE,IAAE,GAAEgB,KAAErB,KAAE,KAAG,GAAEK,KAAEb,GAAEgE,KAAE1D,EAAC;AAAE,iBAAIA,MAAGuB,IAAElC,KAAEkB,MAAG,KAAG,CAACZ,MAAG,GAAEY,OAAI,CAACZ,IAAEA,MAAGsC,IAAE,IAAEtC,IAAEN,KAAE,MAAIA,KAAEK,GAAEgE,KAAE1D,EAAC,GAAEA,MAAGuB,IAAE5B,MAAG;AAAE;AAAC,iBAAIiE,KAAEvE,MAAG,KAAG,CAACM,MAAG,GAAEN,OAAI,CAACM,IAAEA,MAAGgE,IAAE,IAAEhE,IAAEiE,KAAE,MAAIA,KAAElE,GAAEgE,KAAE1D,EAAC,GAAEA,MAAGuB,IAAE5B,MAAG;AAAE;AAAC,gBAAG,MAAIN;AAAE,cAAAA,KAAE,IAAE;AAAA,iBAAM;AAAC,kBAAGA,OAAIO;AAAE,uBAAOgE,KAAE,MAAI,IAAE,KAAGrD,KAAE,KAAG;AAAG,cAAAqD,MAAG,KAAK,IAAI,GAAED,EAAC,GAAEtE,MAAG;AAAA,YAAC;AAAC,oBAAOkB,KAAE,KAAG,KAAGqD,KAAE,KAAK,IAAI,GAAEvE,KAAEsE,EAAC;AAAA,UAAC,GAAEpC,GAAE,QAAM,SAAS7B,IAAEgE,IAAEzB,IAAE/B,IAAEyD,IAAE/D,IAAE;AAAC,gBAAIW,IAAElB,IAAEuE,KAAE,IAAEhE,KAAE+D,KAAE,GAAEhE,MAAG,KAAGiE,MAAG,GAAE5D,KAAEL,MAAG,GAAE,IAAE,OAAKgE,KAAE,KAAK,IAAI,GAAE,GAAG,IAAE,KAAK,IAAI,GAAE,GAAG,IAAE,GAAEpC,KAAErB,KAAE,IAAEN,KAAE,GAAEiE,KAAE3D,KAAE,IAAE,IAAGN,KAAE8D,KAAE,KAAG,MAAIA,MAAG,IAAEA,KAAE,IAAE,IAAE;AAAE,iBAAIA,KAAE,KAAK,IAAIA,EAAC,GAAE,MAAMA,EAAC,KAAGA,OAAI,IAAE,KAAGrE,KAAE,MAAMqE,EAAC,IAAE,IAAE,GAAEnD,KAAEZ,OAAIY,KAAE,KAAK,MAAM,KAAK,IAAImD,EAAC,IAAE,KAAK,GAAG,GAAEA,MAAGxD,KAAE,KAAK,IAAI,GAAE,CAACK,EAAC,KAAG,MAAIA,MAAIL,MAAG,IAAG,MAAIwD,MAAG,KAAGnD,KAAEP,KAAE,IAAEE,KAAE,IAAE,KAAK,IAAI,GAAE,IAAEF,EAAC,KAAGE,OAAIK,MAAIL,MAAG,IAAGP,MAAGY,KAAEP,MAAGX,KAAE,GAAEkB,KAAEZ,MAAG,KAAGY,KAAEP,MAAGX,MAAGqE,KAAExD,KAAE,KAAG,KAAK,IAAI,GAAEyD,EAAC,GAAEpD,MAAGP,OAAIX,KAAEqE,KAAE,KAAK,IAAI,GAAE1D,KAAE,CAAC,IAAE,KAAK,IAAI,GAAE2D,EAAC,GAAEpD,KAAE,KAAI,KAAGoD,IAAEjE,GAAEuC,KAAEV,EAAC,IAAE,MAAIlC,IAAEkC,MAAGsC,IAAExE,MAAG,KAAIsE,MAAG;AAAE;AAAC,iBAAIpD,KAAEA,MAAGoD,KAAEtE,IAAEuE,MAAGD,IAAE,IAAEC,IAAElE,GAAEuC,KAAEV,EAAC,IAAE,MAAIhB,IAAEgB,MAAGsC,IAAEtD,MAAG,KAAIqD,MAAG;AAAE;AAAC,YAAAlE,GAAEuC,KAAEV,KAAEsC,EAAC,KAAG,MAAIjE;AAAA,UAAC;AAAA,QAAC,EAAE,KAAK,MAAKF,GAAE,QAAQ,GAAE,eAAa,OAAO,OAAK,OAAK,eAAa,OAAO,SAAO,SAAO,CAAC,GAAEA,GAAE,QAAQ,EAAE,QAAO,UAAU,CAAC,GAAE,UAAU,CAAC,GAAE,UAAU,CAAC,GAAE,UAAU,CAAC,GAAE,+DAA8D,oDAAoD;AAAA,MAAC,GAAE,EAAC,QAAO,GAAE,QAAO,GAAE,CAAC,GAAE,IAAG,CAAC,SAASA,IAAEmE,IAAEH,IAAE;AAAC,SAAC,SAAShE,IAAEgE,IAAExD,IAAEyD,IAAEpD,IAAEgB,IAAEU,IAAErC,IAAE,GAAE;AAAC,cAAIP,IAAEuE,IAAEjE;AAAE,mBAASK,KAAG;AAAA,UAAC;AAAC,WAACN,KAAEmE,GAAE,UAAQ,CAAC,GAAG,YAAUD,KAAE,eAAa,OAAO,UAAQ,OAAO,cAAajE,KAAE,eAAa,OAAO,UAAQ,OAAO,eAAa,OAAO,kBAAiBiE,KAAE,SAASlE,IAAE;AAAC,mBAAO,OAAO,aAAaA,EAAC;AAAA,UAAC,IAAEC,MAAGN,KAAE,CAAC,GAAE,OAAO,iBAAiB,WAAU,SAASK,IAAE;AAAC,gBAAIgE,KAAEhE,GAAE;AAAO,YAAAgE,OAAI,UAAQ,SAAOA,MAAG,mBAAiBhE,GAAE,SAAOA,GAAE,gBAAgB,GAAE,IAAEL,GAAE,UAAQA,GAAE,MAAM,EAAE;AAAA,UAAE,GAAE,IAAE,GAAE,SAASK,IAAE;AAAC,YAAAL,GAAE,KAAKK,EAAC,GAAE,OAAO,YAAY,gBAAe,GAAG;AAAA,UAAC,KAAG,SAASA,IAAE;AAAC,uBAAWA,IAAE,CAAC;AAAA,UAAC,IAAGA,GAAE,QAAM,WAAUA,GAAE,UAAQ,MAAGA,GAAE,MAAI,CAAC,GAAEA,GAAE,OAAK,CAAC,GAAEA,GAAE,KAAGM,IAAEN,GAAE,cAAYM,IAAEN,GAAE,OAAKM,IAAEN,GAAE,MAAIM,IAAEN,GAAE,iBAAeM,IAAEN,GAAE,qBAAmBM,IAAEN,GAAE,OAAKM,IAAEN,GAAE,UAAQ,SAASA,IAAE;AAAC,kBAAM,IAAI,MAAM,kCAAkC;AAAA,UAAC,GAAEA,GAAE,MAAI,WAAU;AAAC,mBAAM;AAAA,UAAG,GAAEA,GAAE,QAAM,SAASA,IAAE;AAAC,kBAAM,IAAI,MAAM,gCAAgC;AAAA,UAAC;AAAA,QAAC,EAAE,KAAK,MAAKA,GAAE,QAAQ,GAAE,eAAa,OAAO,OAAK,OAAK,eAAa,OAAO,SAAO,SAAO,CAAC,GAAEA,GAAE,QAAQ,EAAE,QAAO,UAAU,CAAC,GAAE,UAAU,CAAC,GAAE,UAAU,CAAC,GAAE,UAAU,CAAC,GAAE,iEAAgE,oDAAoD;AAAA,MAAC,GAAE,EAAC,QAAO,GAAE,QAAO,GAAE,CAAC,EAAC,GAAE,CAAC,GAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAAA,IAAC,CAAC;AAAA;AAAA;;;ACAt9jC;AAAA,4CAAAY,UAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAMA,WAAO,UAAU;AAAA,MACf,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,mBAAmB;AAAA,MACnB,YAAY;AAAA,MACZ,aAAa;AAAA,MACb,YAAY;AAAA,MACZ,aAAa;AAAA,MACb,cAAc;AAAA,MACd,cAAc;AAAA,IAChB;AAAA;AAAA;;;ACpBA;AAAA,oCAAAe,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAEA,IAAAe,SAAQ,aAAa;AACrB,IAAAA,SAAQ,cAAc;AACtB,IAAAA,SAAQ,gBAAgB;AAExB,QAAI,SAAS,CAAC;AACd,QAAI,YAAY,CAAC;AACjB,QAAI,MAAM,OAAO,eAAe,cAAc,aAAa;AAE3D,QAAI,OAAO;AACX,SAASjB,KAAI,GAAG,MAAM,KAAK,QAAQA,KAAI,KAAK,EAAEA,IAAG;AAC/C,aAAOA,EAAC,IAAI,KAAKA,EAAC;AAClB,gBAAU,KAAK,WAAWA,EAAC,CAAC,IAAIA;AAAA,IAClC;AAHS,QAAAA;AAAO;AAOhB,cAAU,IAAI,WAAW,CAAC,CAAC,IAAI;AAC/B,cAAU,IAAI,WAAW,CAAC,CAAC,IAAI;AAE/B,aAAS,QAAS,KAAK;AACrB,UAAIG,OAAM,IAAI;AAEd,UAAIA,OAAM,IAAI,GAAG;AACf,cAAM,IAAI,MAAM,gDAAgD;AAAA,MAClE;AAIA,UAAI,WAAW,IAAI,QAAQ,GAAG;AAC9B,UAAI,aAAa;AAAI,mBAAWA;AAEhC,UAAI,kBAAkB,aAAaA,OAC/B,IACA,IAAK,WAAW;AAEpB,aAAO,CAAC,UAAU,eAAe;AAAA,IACnC;AAGA,aAAS,WAAY,KAAK;AACxB,UAAI,OAAO,QAAQ,GAAG;AACtB,UAAI,WAAW,KAAK,CAAC;AACrB,UAAI,kBAAkB,KAAK,CAAC;AAC5B,cAAS,WAAW,mBAAmB,IAAI,IAAK;AAAA,IAClD;AAEA,aAAS,YAAa,KAAK,UAAU,iBAAiB;AACpD,cAAS,WAAW,mBAAmB,IAAI,IAAK;AAAA,IAClD;AAEA,aAAS,YAAa,KAAK;AACzB,UAAI;AACJ,UAAI,OAAO,QAAQ,GAAG;AACtB,UAAI,WAAW,KAAK,CAAC;AACrB,UAAI,kBAAkB,KAAK,CAAC;AAE5B,UAAI,MAAM,IAAI,IAAI,YAAY,KAAK,UAAU,eAAe,CAAC;AAE7D,UAAI,UAAU;AAGd,UAAIA,OAAM,kBAAkB,IACxB,WAAW,IACX;AAEJ,UAAIH;AACJ,WAAKA,KAAI,GAAGA,KAAIG,MAAKH,MAAK,GAAG;AAC3B,cACG,UAAU,IAAI,WAAWA,EAAC,CAAC,KAAK,KAChC,UAAU,IAAI,WAAWA,KAAI,CAAC,CAAC,KAAK,KACpC,UAAU,IAAI,WAAWA,KAAI,CAAC,CAAC,KAAK,IACrC,UAAU,IAAI,WAAWA,KAAI,CAAC,CAAC;AACjC,YAAI,SAAS,IAAK,OAAO,KAAM;AAC/B,YAAI,SAAS,IAAK,OAAO,IAAK;AAC9B,YAAI,SAAS,IAAI,MAAM;AAAA,MACzB;AAEA,UAAI,oBAAoB,GAAG;AACzB,cACG,UAAU,IAAI,WAAWA,EAAC,CAAC,KAAK,IAChC,UAAU,IAAI,WAAWA,KAAI,CAAC,CAAC,KAAK;AACvC,YAAI,SAAS,IAAI,MAAM;AAAA,MACzB;AAEA,UAAI,oBAAoB,GAAG;AACzB,cACG,UAAU,IAAI,WAAWA,EAAC,CAAC,KAAK,KAChC,UAAU,IAAI,WAAWA,KAAI,CAAC,CAAC,KAAK,IACpC,UAAU,IAAI,WAAWA,KAAI,CAAC,CAAC,KAAK;AACvC,YAAI,SAAS,IAAK,OAAO,IAAK;AAC9B,YAAI,SAAS,IAAI,MAAM;AAAA,MACzB;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,gBAAiB,KAAK;AAC7B,aAAO,OAAO,OAAO,KAAK,EAAI,IAC5B,OAAO,OAAO,KAAK,EAAI,IACvB,OAAO,OAAO,IAAI,EAAI,IACtB,OAAO,MAAM,EAAI;AAAA,IACrB;AAEA,aAAS,YAAa,OAAO,OAAO,KAAK;AACvC,UAAI;AACJ,UAAI,SAAS,CAAC;AACd,eAASA,KAAI,OAAOA,KAAI,KAAKA,MAAK,GAAG;AACnC,eACI,MAAMA,EAAC,KAAK,KAAM,aAClB,MAAMA,KAAI,CAAC,KAAK,IAAK,UACtB,MAAMA,KAAI,CAAC,IAAI;AAClB,eAAO,KAAK,gBAAgB,GAAG,CAAC;AAAA,MAClC;AACA,aAAO,OAAO,KAAK,EAAE;AAAA,IACvB;AAEA,aAAS,cAAe,OAAO;AAC7B,UAAI;AACJ,UAAIG,OAAM,MAAM;AAChB,UAAI,aAAaA,OAAM;AACvB,UAAI,QAAQ,CAAC;AACb,UAAI,iBAAiB;AAGrB,eAASH,KAAI,GAAGI,QAAOD,OAAM,YAAYH,KAAII,OAAMJ,MAAK,gBAAgB;AACtE,cAAM,KAAK,YAAY,OAAOA,IAAIA,KAAI,iBAAkBI,QAAOA,QAAQJ,KAAI,cAAe,CAAC;AAAA,MAC7F;AAGA,UAAI,eAAe,GAAG;AACpB,cAAM,MAAMG,OAAM,CAAC;AACnB,cAAM;AAAA,UACJ,OAAO,OAAO,CAAC,IACf,OAAQ,OAAO,IAAK,EAAI,IACxB;AAAA,QACF;AAAA,MACF,WAAW,eAAe,GAAG;AAC3B,eAAO,MAAMA,OAAM,CAAC,KAAK,KAAK,MAAMA,OAAM,CAAC;AAC3C,cAAM;AAAA,UACJ,OAAO,OAAO,EAAE,IAChB,OAAQ,OAAO,IAAK,EAAI,IACxB,OAAQ,OAAO,IAAK,EAAI,IACxB;AAAA,QACF;AAAA,MACF;AAEA,aAAO,MAAM,KAAK,EAAE;AAAA,IACtB;AAAA;AAAA;;;ACrJA;AAAA,kCAAAc,UAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AACA,IAAAe,SAAQ,OAAO,SAAU,QAAQ,QAAQ,MAAM,MAAM,QAAQ;AAC3D,UAAIZ,IAAG;AACP,UAAI,OAAQ,SAAS,IAAK,OAAO;AACjC,UAAI,QAAQ,KAAK,QAAQ;AACzB,UAAI,QAAQ,QAAQ;AACpB,UAAI,QAAQ;AACZ,UAAIL,KAAI,OAAQ,SAAS,IAAK;AAC9B,UAAI,IAAI,OAAO,KAAK;AACpB,UAAIM,KAAI,OAAO,SAASN,EAAC;AAEzB,MAAAA,MAAK;AAEL,MAAAK,KAAIC,MAAM,KAAM,CAAC,SAAU;AAC3B,MAAAA,OAAO,CAAC;AACR,eAAS;AACT,aAAO,QAAQ,GAAGD,KAAKA,KAAI,MAAO,OAAO,SAASL,EAAC,GAAGA,MAAK,GAAG,SAAS,GAAG;AAAA,MAAC;AAE3E,UAAIK,MAAM,KAAM,CAAC,SAAU;AAC3B,MAAAA,OAAO,CAAC;AACR,eAAS;AACT,aAAO,QAAQ,GAAG,IAAK,IAAI,MAAO,OAAO,SAASL,EAAC,GAAGA,MAAK,GAAG,SAAS,GAAG;AAAA,MAAC;AAE3E,UAAIK,OAAM,GAAG;AACX,QAAAA,KAAI,IAAI;AAAA,MACV,WAAWA,OAAM,MAAM;AACrB,eAAO,IAAI,OAAQC,KAAI,KAAK,KAAK;AAAA,MACnC,OAAO;AACL,YAAI,IAAI,KAAK,IAAI,GAAG,IAAI;AACxB,QAAAD,KAAIA,KAAI;AAAA,MACV;AACA,cAAQC,KAAI,KAAK,KAAK,IAAI,KAAK,IAAI,GAAGD,KAAI,IAAI;AAAA,IAChD;AAEA,IAAAY,SAAQ,QAAQ,SAAU,QAAQ,OAAO,QAAQ,MAAM,MAAM,QAAQ;AACnE,UAAIZ,IAAG,GAAGE;AACV,UAAI,OAAQ,SAAS,IAAK,OAAO;AACjC,UAAI,QAAQ,KAAK,QAAQ;AACzB,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAM,SAAS,KAAK,KAAK,IAAI,GAAG,GAAG,IAAI,KAAK,IAAI,GAAG,GAAG,IAAI;AAC9D,UAAIP,KAAI,OAAO,IAAK,SAAS;AAC7B,UAAI,IAAI,OAAO,IAAI;AACnB,UAAIM,KAAI,QAAQ,KAAM,UAAU,KAAK,IAAI,QAAQ,IAAK,IAAI;AAE1D,cAAQ,KAAK,IAAI,KAAK;AAEtB,UAAI,MAAM,KAAK,KAAK,UAAU,UAAU;AACtC,YAAI,MAAM,KAAK,IAAI,IAAI;AACvB,QAAAD,KAAI;AAAA,MACN,OAAO;AACL,QAAAA,KAAI,KAAK,MAAM,KAAK,IAAI,KAAK,IAAI,KAAK,GAAG;AACzC,YAAI,SAASE,KAAI,KAAK,IAAI,GAAG,CAACF,EAAC,KAAK,GAAG;AACrC,UAAAA;AACA,UAAAE,MAAK;AAAA,QACP;AACA,YAAIF,KAAI,SAAS,GAAG;AAClB,mBAAS,KAAKE;AAAA,QAChB,OAAO;AACL,mBAAS,KAAK,KAAK,IAAI,GAAG,IAAI,KAAK;AAAA,QACrC;AACA,YAAI,QAAQA,MAAK,GAAG;AAClB,UAAAF;AACA,UAAAE,MAAK;AAAA,QACP;AAEA,YAAIF,KAAI,SAAS,MAAM;AACrB,cAAI;AACJ,UAAAA,KAAI;AAAA,QACN,WAAWA,KAAI,SAAS,GAAG;AACzB,eAAM,QAAQE,KAAK,KAAK,KAAK,IAAI,GAAG,IAAI;AACxC,UAAAF,KAAIA,KAAI;AAAA,QACV,OAAO;AACL,cAAI,QAAQ,KAAK,IAAI,GAAG,QAAQ,CAAC,IAAI,KAAK,IAAI,GAAG,IAAI;AACrD,UAAAA,KAAI;AAAA,QACN;AAAA,MACF;AAEA,aAAO,QAAQ,GAAG,OAAO,SAASL,EAAC,IAAI,IAAI,KAAMA,MAAK,GAAG,KAAK,KAAK,QAAQ,GAAG;AAAA,MAAC;AAE/E,MAAAK,KAAKA,MAAK,OAAQ;AAClB,cAAQ;AACR,aAAO,OAAO,GAAG,OAAO,SAASL,EAAC,IAAIK,KAAI,KAAML,MAAK,GAAGK,MAAK,KAAK,QAAQ,GAAG;AAAA,MAAC;AAE9E,aAAO,SAASL,KAAI,CAAC,KAAKM,KAAI;AAAA,IAChC;AAAA;AAAA;;;ACpFA;AAAA,iCAAAW,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAUA,QAAMM,UAAS;AACf,QAAM,UAAU;AAChB,QAAM,sBACH,OAAO,WAAW,cAAc,OAAO,OAAO,KAAK,MAAM,aACtD,OAAO,KAAK,EAAE,4BAA4B,IAC1C;AAEN,IAAAS,SAAQ,SAASR;AACjB,IAAAQ,SAAQ,aAAa;AACrB,IAAAA,SAAQ,oBAAoB;AAE5B,QAAM,eAAe;AACrB,IAAAA,SAAQ,aAAa;AAgBrB,IAAAR,QAAO,sBAAsB,kBAAkB;AAE/C,QAAI,CAACA,QAAO,uBAAuB,OAAO,YAAY,eAClD,OAAO,QAAQ,UAAU,YAAY;AACvC,cAAQ;AAAA,QACN;AAAA,MAEF;AAAA,IACF;AAEA,aAAS,oBAAqB;AAE5B,UAAI;AACF,cAAM,MAAM,IAAI,WAAW,CAAC;AAC5B,cAAM,QAAQ,EAAE,KAAK,WAAY;AAAE,iBAAO;AAAA,QAAG,EAAE;AAC/C,eAAO,eAAe,OAAO,WAAW,SAAS;AACjD,eAAO,eAAe,KAAK,KAAK;AAChC,eAAO,IAAI,IAAI,MAAM;AAAA,MACvB,SAASJ,IAAP;AACA,eAAO;AAAA,MACT;AAAA,IACF;AAEA,WAAO,eAAeI,QAAO,WAAW,UAAU;AAAA,MAChD,YAAY;AAAA,MACZ,KAAK,WAAY;AACf,YAAI,CAACA,QAAO,SAAS,IAAI;AAAG,iBAAO;AACnC,eAAO,KAAK;AAAA,MACd;AAAA,IACF,CAAC;AAED,WAAO,eAAeA,QAAO,WAAW,UAAU;AAAA,MAChD,YAAY;AAAA,MACZ,KAAK,WAAY;AACf,YAAI,CAACA,QAAO,SAAS,IAAI;AAAG,iBAAO;AACnC,eAAO,KAAK;AAAA,MACd;AAAA,IACF,CAAC;AAED,aAAS,aAAc,QAAQ;AAC7B,UAAI,SAAS,cAAc;AACzB,cAAM,IAAI,WAAW,gBAAgB,SAAS,gCAAgC;AAAA,MAChF;AAEA,YAAM,MAAM,IAAI,WAAW,MAAM;AACjC,aAAO,eAAe,KAAKA,QAAO,SAAS;AAC3C,aAAO;AAAA,IACT;AAYA,aAASA,QAAQ,KAAK,kBAAkB,QAAQ;AAE9C,UAAI,OAAO,QAAQ,UAAU;AAC3B,YAAI,OAAO,qBAAqB,UAAU;AACxC,gBAAM,IAAI;AAAA,YACR;AAAA,UACF;AAAA,QACF;AACA,eAAO,YAAY,GAAG;AAAA,MACxB;AACA,aAAO,KAAK,KAAK,kBAAkB,MAAM;AAAA,IAC3C;AAEA,IAAAA,QAAO,WAAW;AAElB,aAAS,KAAM,OAAO,kBAAkB,QAAQ;AAC9C,UAAI,OAAO,UAAU,UAAU;AAC7B,eAAO,WAAW,OAAO,gBAAgB;AAAA,MAC3C;AAEA,UAAI,YAAY,OAAO,KAAK,GAAG;AAC7B,eAAO,cAAc,KAAK;AAAA,MAC5B;AAEA,UAAI,SAAS,MAAM;AACjB,cAAM,IAAI;AAAA,UACR,oHAC0C,OAAO;AAAA,QACnD;AAAA,MACF;AAEA,UAAI,WAAW,OAAO,WAAW,KAC5B,SAAS,WAAW,MAAM,QAAQ,WAAW,GAAI;AACpD,eAAO,gBAAgB,OAAO,kBAAkB,MAAM;AAAA,MACxD;AAEA,UAAI,OAAO,sBAAsB,gBAC5B,WAAW,OAAO,iBAAiB,KACnC,SAAS,WAAW,MAAM,QAAQ,iBAAiB,IAAK;AAC3D,eAAO,gBAAgB,OAAO,kBAAkB,MAAM;AAAA,MACxD;AAEA,UAAI,OAAO,UAAU,UAAU;AAC7B,cAAM,IAAI;AAAA,UACR;AAAA,QACF;AAAA,MACF;AAEA,YAAM,UAAU,MAAM,WAAW,MAAM,QAAQ;AAC/C,UAAI,WAAW,QAAQ,YAAY,OAAO;AACxC,eAAOA,QAAO,KAAK,SAAS,kBAAkB,MAAM;AAAA,MACtD;AAEA,YAAM,IAAI,WAAW,KAAK;AAC1B,UAAI;AAAG,eAAO;AAEd,UAAI,OAAO,WAAW,eAAe,OAAO,eAAe,QACvD,OAAO,MAAM,OAAO,WAAW,MAAM,YAAY;AACnD,eAAOA,QAAO,KAAK,MAAM,OAAO,WAAW,EAAE,QAAQ,GAAG,kBAAkB,MAAM;AAAA,MAClF;AAEA,YAAM,IAAI;AAAA,QACR,oHAC0C,OAAO;AAAA,MACnD;AAAA,IACF;AAUA,IAAAA,QAAO,OAAO,SAAU,OAAO,kBAAkB,QAAQ;AACvD,aAAO,KAAK,OAAO,kBAAkB,MAAM;AAAA,IAC7C;AAIA,WAAO,eAAeA,QAAO,WAAW,WAAW,SAAS;AAC5D,WAAO,eAAeA,SAAQ,UAAU;AAExC,aAAS,WAAY,MAAM;AACzB,UAAI,OAAO,SAAS,UAAU;AAC5B,cAAM,IAAI,UAAU,wCAAwC;AAAA,MAC9D,WAAW,OAAO,GAAG;AACnB,cAAM,IAAI,WAAW,gBAAgB,OAAO,gCAAgC;AAAA,MAC9E;AAAA,IACF;AAEA,aAAS,MAAO,MAAM,MAAM,UAAU;AACpC,iBAAW,IAAI;AACf,UAAI,QAAQ,GAAG;AACb,eAAO,aAAa,IAAI;AAAA,MAC1B;AACA,UAAI,SAAS,QAAW;AAItB,eAAO,OAAO,aAAa,WACvB,aAAa,IAAI,EAAE,KAAK,MAAM,QAAQ,IACtC,aAAa,IAAI,EAAE,KAAK,IAAI;AAAA,MAClC;AACA,aAAO,aAAa,IAAI;AAAA,IAC1B;AAMA,IAAAA,QAAO,QAAQ,SAAU,MAAM,MAAM,UAAU;AAC7C,aAAO,MAAM,MAAM,MAAM,QAAQ;AAAA,IACnC;AAEA,aAAS,YAAa,MAAM;AAC1B,iBAAW,IAAI;AACf,aAAO,aAAa,OAAO,IAAI,IAAI,QAAQ,IAAI,IAAI,CAAC;AAAA,IACtD;AAKA,IAAAA,QAAO,cAAc,SAAU,MAAM;AACnC,aAAO,YAAY,IAAI;AAAA,IACzB;AAIA,IAAAA,QAAO,kBAAkB,SAAU,MAAM;AACvC,aAAO,YAAY,IAAI;AAAA,IACzB;AAEA,aAAS,WAAY,QAAQ,UAAU;AACrC,UAAI,OAAO,aAAa,YAAY,aAAa,IAAI;AACnD,mBAAW;AAAA,MACb;AAEA,UAAI,CAACA,QAAO,WAAW,QAAQ,GAAG;AAChC,cAAM,IAAI,UAAU,uBAAuB,QAAQ;AAAA,MACrD;AAEA,YAAM,SAAS,WAAW,QAAQ,QAAQ,IAAI;AAC9C,UAAI,MAAM,aAAa,MAAM;AAE7B,YAAM,SAAS,IAAI,MAAM,QAAQ,QAAQ;AAEzC,UAAI,WAAW,QAAQ;AAIrB,cAAM,IAAI,MAAM,GAAG,MAAM;AAAA,MAC3B;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,cAAe,OAAO;AAC7B,YAAM,SAAS,MAAM,SAAS,IAAI,IAAI,QAAQ,MAAM,MAAM,IAAI;AAC9D,YAAM,MAAM,aAAa,MAAM;AAC/B,eAAST,KAAI,GAAGA,KAAI,QAAQA,MAAK,GAAG;AAClC,YAAIA,EAAC,IAAI,MAAMA,EAAC,IAAI;AAAA,MACtB;AACA,aAAO;AAAA,IACT;AAEA,aAAS,cAAe,WAAW;AACjC,UAAI,WAAW,WAAW,UAAU,GAAG;AACrC,cAAM,OAAO,IAAI,WAAW,SAAS;AACrC,eAAO,gBAAgB,KAAK,QAAQ,KAAK,YAAY,KAAK,UAAU;AAAA,MACtE;AACA,aAAO,cAAc,SAAS;AAAA,IAChC;AAEA,aAAS,gBAAiB,OAAO,YAAY,QAAQ;AACnD,UAAI,aAAa,KAAK,MAAM,aAAa,YAAY;AACnD,cAAM,IAAI,WAAW,sCAAsC;AAAA,MAC7D;AAEA,UAAI,MAAM,aAAa,cAAc,UAAU,IAAI;AACjD,cAAM,IAAI,WAAW,sCAAsC;AAAA,MAC7D;AAEA,UAAI;AACJ,UAAI,eAAe,UAAa,WAAW,QAAW;AACpD,cAAM,IAAI,WAAW,KAAK;AAAA,MAC5B,WAAW,WAAW,QAAW;AAC/B,cAAM,IAAI,WAAW,OAAO,UAAU;AAAA,MACxC,OAAO;AACL,cAAM,IAAI,WAAW,OAAO,YAAY,MAAM;AAAA,MAChD;AAGA,aAAO,eAAe,KAAKS,QAAO,SAAS;AAE3C,aAAO;AAAA,IACT;AAEA,aAAS,WAAY,KAAK;AACxB,UAAIA,QAAO,SAAS,GAAG,GAAG;AACxB,cAAM,MAAM,QAAQ,IAAI,MAAM,IAAI;AAClC,cAAM,MAAM,aAAa,GAAG;AAE5B,YAAI,IAAI,WAAW,GAAG;AACpB,iBAAO;AAAA,QACT;AAEA,YAAI,KAAK,KAAK,GAAG,GAAG,GAAG;AACvB,eAAO;AAAA,MACT;AAEA,UAAI,IAAI,WAAW,QAAW;AAC5B,YAAI,OAAO,IAAI,WAAW,YAAY,YAAY,IAAI,MAAM,GAAG;AAC7D,iBAAO,aAAa,CAAC;AAAA,QACvB;AACA,eAAO,cAAc,GAAG;AAAA,MAC1B;AAEA,UAAI,IAAI,SAAS,YAAY,MAAM,QAAQ,IAAI,IAAI,GAAG;AACpD,eAAO,cAAc,IAAI,IAAI;AAAA,MAC/B;AAAA,IACF;AAEA,aAAS,QAAS,QAAQ;AAGxB,UAAI,UAAU,cAAc;AAC1B,cAAM,IAAI,WAAW,4DACa,aAAa,SAAS,EAAE,IAAI,QAAQ;AAAA,MACxE;AACA,aAAO,SAAS;AAAA,IAClB;AAEA,aAAS,WAAY,QAAQ;AAC3B,UAAI,CAAC,UAAU,QAAQ;AACrB,iBAAS;AAAA,MACX;AACA,aAAOA,QAAO,MAAM,CAAC,MAAM;AAAA,IAC7B;AAEA,IAAAA,QAAO,WAAW,SAASC,UAAU,GAAG;AACtC,aAAO,KAAK,QAAQ,EAAE,cAAc,QAClC,MAAMD,QAAO;AAAA,IACjB;AAEA,IAAAA,QAAO,UAAU,SAAS,QAASE,IAAG,GAAG;AACvC,UAAI,WAAWA,IAAG,UAAU;AAAG,QAAAA,KAAIF,QAAO,KAAKE,IAAGA,GAAE,QAAQA,GAAE,UAAU;AACxE,UAAI,WAAW,GAAG,UAAU;AAAG,YAAIF,QAAO,KAAK,GAAG,EAAE,QAAQ,EAAE,UAAU;AACxE,UAAI,CAACA,QAAO,SAASE,EAAC,KAAK,CAACF,QAAO,SAAS,CAAC,GAAG;AAC9C,cAAM,IAAI;AAAA,UACR;AAAA,QACF;AAAA,MACF;AAEA,UAAIE,OAAM;AAAG,eAAO;AAEpB,UAAI,IAAIA,GAAE;AACV,UAAIC,KAAI,EAAE;AAEV,eAASZ,KAAI,GAAG,MAAM,KAAK,IAAI,GAAGY,EAAC,GAAGZ,KAAI,KAAK,EAAEA,IAAG;AAClD,YAAIW,GAAEX,EAAC,MAAM,EAAEA,EAAC,GAAG;AACjB,cAAIW,GAAEX,EAAC;AACP,UAAAY,KAAI,EAAEZ,EAAC;AACP;AAAA,QACF;AAAA,MACF;AAEA,UAAI,IAAIY;AAAG,eAAO;AAClB,UAAIA,KAAI;AAAG,eAAO;AAClB,aAAO;AAAA,IACT;AAEA,IAAAH,QAAO,aAAa,SAAS,WAAY,UAAU;AACjD,cAAQ,OAAO,QAAQ,EAAE,YAAY,GAAG;AAAA,QACtC,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AACH,iBAAO;AAAA,QACT;AACE,iBAAO;AAAA,MACX;AAAA,IACF;AAEA,IAAAA,QAAO,SAAS,SAAS,OAAQ,MAAM,QAAQ;AAC7C,UAAI,CAAC,MAAM,QAAQ,IAAI,GAAG;AACxB,cAAM,IAAI,UAAU,6CAA6C;AAAA,MACnE;AAEA,UAAI,KAAK,WAAW,GAAG;AACrB,eAAOA,QAAO,MAAM,CAAC;AAAA,MACvB;AAEA,UAAIT;AACJ,UAAI,WAAW,QAAW;AACxB,iBAAS;AACT,aAAKA,KAAI,GAAGA,KAAI,KAAK,QAAQ,EAAEA,IAAG;AAChC,oBAAU,KAAKA,EAAC,EAAE;AAAA,QACpB;AAAA,MACF;AAEA,YAAM,SAASS,QAAO,YAAY,MAAM;AACxC,UAAI,MAAM;AACV,WAAKT,KAAI,GAAGA,KAAI,KAAK,QAAQ,EAAEA,IAAG;AAChC,YAAI,MAAM,KAAKA,EAAC;AAChB,YAAI,WAAW,KAAK,UAAU,GAAG;AAC/B,cAAI,MAAM,IAAI,SAAS,OAAO,QAAQ;AACpC,gBAAI,CAACS,QAAO,SAAS,GAAG;AAAG,oBAAMA,QAAO,KAAK,GAAG;AAChD,gBAAI,KAAK,QAAQ,GAAG;AAAA,UACtB,OAAO;AACL,uBAAW,UAAU,IAAI;AAAA,cACvB;AAAA,cACA;AAAA,cACA;AAAA,YACF;AAAA,UACF;AAAA,QACF,WAAW,CAACA,QAAO,SAAS,GAAG,GAAG;AAChC,gBAAM,IAAI,UAAU,6CAA6C;AAAA,QACnE,OAAO;AACL,cAAI,KAAK,QAAQ,GAAG;AAAA,QACtB;AACA,eAAO,IAAI;AAAA,MACb;AACA,aAAO;AAAA,IACT;AAEA,aAAS,WAAY,QAAQ,UAAU;AACrC,UAAIA,QAAO,SAAS,MAAM,GAAG;AAC3B,eAAO,OAAO;AAAA,MAChB;AACA,UAAI,YAAY,OAAO,MAAM,KAAK,WAAW,QAAQ,WAAW,GAAG;AACjE,eAAO,OAAO;AAAA,MAChB;AACA,UAAI,OAAO,WAAW,UAAU;AAC9B,cAAM,IAAI;AAAA,UACR,6FACmB,OAAO;AAAA,QAC5B;AAAA,MACF;AAEA,YAAM,MAAM,OAAO;AACnB,YAAM,YAAa,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM;AAC5D,UAAI,CAAC,aAAa,QAAQ;AAAG,eAAO;AAGpC,UAAI,cAAc;AAClB,iBAAS;AACP,gBAAQ,UAAU;AAAA,UAChB,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AAAA,UACL,KAAK;AACH,mBAAO,YAAY,MAAM,EAAE;AAAA,UAC7B,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AACH,mBAAO,MAAM;AAAA,UACf,KAAK;AACH,mBAAO,QAAQ;AAAA,UACjB,KAAK;AACH,mBAAO,cAAc,MAAM,EAAE;AAAA,UAC/B;AACE,gBAAI,aAAa;AACf,qBAAO,YAAY,KAAK,YAAY,MAAM,EAAE;AAAA,YAC9C;AACA,wBAAY,KAAK,UAAU,YAAY;AACvC,0BAAc;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AACA,IAAAA,QAAO,aAAa;AAEpB,aAAS,aAAc,UAAU,OAAO,KAAK;AAC3C,UAAI,cAAc;AASlB,UAAI,UAAU,UAAa,QAAQ,GAAG;AACpC,gBAAQ;AAAA,MACV;AAGA,UAAI,QAAQ,KAAK,QAAQ;AACvB,eAAO;AAAA,MACT;AAEA,UAAI,QAAQ,UAAa,MAAM,KAAK,QAAQ;AAC1C,cAAM,KAAK;AAAA,MACb;AAEA,UAAI,OAAO,GAAG;AACZ,eAAO;AAAA,MACT;AAGA,eAAS;AACT,iBAAW;AAEX,UAAI,OAAO,OAAO;AAChB,eAAO;AAAA,MACT;AAEA,UAAI,CAAC;AAAU,mBAAW;AAE1B,aAAO,MAAM;AACX,gBAAQ,UAAU;AAAA,UAChB,KAAK;AACH,mBAAO,SAAS,MAAM,OAAO,GAAG;AAAA,UAElC,KAAK;AAAA,UACL,KAAK;AACH,mBAAO,UAAU,MAAM,OAAO,GAAG;AAAA,UAEnC,KAAK;AACH,mBAAO,WAAW,MAAM,OAAO,GAAG;AAAA,UAEpC,KAAK;AAAA,UACL,KAAK;AACH,mBAAO,YAAY,MAAM,OAAO,GAAG;AAAA,UAErC,KAAK;AACH,mBAAO,YAAY,MAAM,OAAO,GAAG;AAAA,UAErC,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AACH,mBAAO,aAAa,MAAM,OAAO,GAAG;AAAA,UAEtC;AACE,gBAAI;AAAa,oBAAM,IAAI,UAAU,uBAAuB,QAAQ;AACpE,wBAAY,WAAW,IAAI,YAAY;AACvC,0BAAc;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAQA,IAAAA,QAAO,UAAU,YAAY;AAE7B,aAAS,KAAM,GAAGI,IAAG,GAAG;AACtB,YAAMb,KAAI,EAAEa,EAAC;AACb,QAAEA,EAAC,IAAI,EAAE,CAAC;AACV,QAAE,CAAC,IAAIb;AAAA,IACT;AAEA,IAAAS,QAAO,UAAU,SAAS,SAAS,SAAU;AAC3C,YAAM,MAAM,KAAK;AACjB,UAAI,MAAM,MAAM,GAAG;AACjB,cAAM,IAAI,WAAW,2CAA2C;AAAA,MAClE;AACA,eAAST,KAAI,GAAGA,KAAI,KAAKA,MAAK,GAAG;AAC/B,aAAK,MAAMA,IAAGA,KAAI,CAAC;AAAA,MACrB;AACA,aAAO;AAAA,IACT;AAEA,IAAAS,QAAO,UAAU,SAAS,SAAS,SAAU;AAC3C,YAAM,MAAM,KAAK;AACjB,UAAI,MAAM,MAAM,GAAG;AACjB,cAAM,IAAI,WAAW,2CAA2C;AAAA,MAClE;AACA,eAAST,KAAI,GAAGA,KAAI,KAAKA,MAAK,GAAG;AAC/B,aAAK,MAAMA,IAAGA,KAAI,CAAC;AACnB,aAAK,MAAMA,KAAI,GAAGA,KAAI,CAAC;AAAA,MACzB;AACA,aAAO;AAAA,IACT;AAEA,IAAAS,QAAO,UAAU,SAAS,SAAS,SAAU;AAC3C,YAAM,MAAM,KAAK;AACjB,UAAI,MAAM,MAAM,GAAG;AACjB,cAAM,IAAI,WAAW,2CAA2C;AAAA,MAClE;AACA,eAAST,KAAI,GAAGA,KAAI,KAAKA,MAAK,GAAG;AAC/B,aAAK,MAAMA,IAAGA,KAAI,CAAC;AACnB,aAAK,MAAMA,KAAI,GAAGA,KAAI,CAAC;AACvB,aAAK,MAAMA,KAAI,GAAGA,KAAI,CAAC;AACvB,aAAK,MAAMA,KAAI,GAAGA,KAAI,CAAC;AAAA,MACzB;AACA,aAAO;AAAA,IACT;AAEA,IAAAS,QAAO,UAAU,WAAW,SAASK,YAAY;AAC/C,YAAM,SAAS,KAAK;AACpB,UAAI,WAAW;AAAG,eAAO;AACzB,UAAI,UAAU,WAAW;AAAG,eAAO,UAAU,MAAM,GAAG,MAAM;AAC5D,aAAO,aAAa,MAAM,MAAM,SAAS;AAAA,IAC3C;AAEA,IAAAL,QAAO,UAAU,iBAAiBA,QAAO,UAAU;AAEnD,IAAAA,QAAO,UAAU,SAAS,SAAS,OAAQ,GAAG;AAC5C,UAAI,CAACA,QAAO,SAAS,CAAC;AAAG,cAAM,IAAI,UAAU,2BAA2B;AACxE,UAAI,SAAS;AAAG,eAAO;AACvB,aAAOA,QAAO,QAAQ,MAAM,CAAC,MAAM;AAAA,IACrC;AAEA,IAAAA,QAAO,UAAU,UAAU,SAAS,UAAW;AAC7C,UAAI,MAAM;AACV,YAAM,MAAMQ,SAAQ;AACpB,YAAM,KAAK,SAAS,OAAO,GAAG,GAAG,EAAE,QAAQ,WAAW,KAAK,EAAE,KAAK;AAClE,UAAI,KAAK,SAAS;AAAK,eAAO;AAC9B,aAAO,aAAa,MAAM;AAAA,IAC5B;AACA,QAAI,qBAAqB;AACvB,MAAAR,QAAO,UAAU,mBAAmB,IAAIA,QAAO,UAAU;AAAA,IAC3D;AAEA,IAAAA,QAAO,UAAU,UAAU,SAAS,QAAS,QAAQ,OAAO,KAAK,WAAW,SAAS;AACnF,UAAI,WAAW,QAAQ,UAAU,GAAG;AAClC,iBAASA,QAAO,KAAK,QAAQ,OAAO,QAAQ,OAAO,UAAU;AAAA,MAC/D;AACA,UAAI,CAACA,QAAO,SAAS,MAAM,GAAG;AAC5B,cAAM,IAAI;AAAA,UACR,mFACoB,OAAO;AAAA,QAC7B;AAAA,MACF;AAEA,UAAI,UAAU,QAAW;AACvB,gBAAQ;AAAA,MACV;AACA,UAAI,QAAQ,QAAW;AACrB,cAAM,SAAS,OAAO,SAAS;AAAA,MACjC;AACA,UAAI,cAAc,QAAW;AAC3B,oBAAY;AAAA,MACd;AACA,UAAI,YAAY,QAAW;AACzB,kBAAU,KAAK;AAAA,MACjB;AAEA,UAAI,QAAQ,KAAK,MAAM,OAAO,UAAU,YAAY,KAAK,UAAU,KAAK,QAAQ;AAC9E,cAAM,IAAI,WAAW,oBAAoB;AAAA,MAC3C;AAEA,UAAI,aAAa,WAAW,SAAS,KAAK;AACxC,eAAO;AAAA,MACT;AACA,UAAI,aAAa,SAAS;AACxB,eAAO;AAAA,MACT;AACA,UAAI,SAAS,KAAK;AAChB,eAAO;AAAA,MACT;AAEA,iBAAW;AACX,eAAS;AACT,qBAAe;AACf,mBAAa;AAEb,UAAI,SAAS;AAAQ,eAAO;AAE5B,UAAI,IAAI,UAAU;AAClB,UAAIG,KAAI,MAAM;AACd,YAAM,MAAM,KAAK,IAAI,GAAGA,EAAC;AAEzB,YAAM,WAAW,KAAK,MAAM,WAAW,OAAO;AAC9C,YAAM,aAAa,OAAO,MAAM,OAAO,GAAG;AAE1C,eAASZ,KAAI,GAAGA,KAAI,KAAK,EAAEA,IAAG;AAC5B,YAAI,SAASA,EAAC,MAAM,WAAWA,EAAC,GAAG;AACjC,cAAI,SAASA,EAAC;AACd,UAAAY,KAAI,WAAWZ,EAAC;AAChB;AAAA,QACF;AAAA,MACF;AAEA,UAAI,IAAIY;AAAG,eAAO;AAClB,UAAIA,KAAI;AAAG,eAAO;AAClB,aAAO;AAAA,IACT;AAWA,aAAS,qBAAsB,QAAQ,KAAK,YAAY,UAAU,KAAK;AAErE,UAAI,OAAO,WAAW;AAAG,eAAO;AAGhC,UAAI,OAAO,eAAe,UAAU;AAClC,mBAAW;AACX,qBAAa;AAAA,MACf,WAAW,aAAa,YAAY;AAClC,qBAAa;AAAA,MACf,WAAW,aAAa,aAAa;AACnC,qBAAa;AAAA,MACf;AACA,mBAAa,CAAC;AACd,UAAI,YAAY,UAAU,GAAG;AAE3B,qBAAa,MAAM,IAAK,OAAO,SAAS;AAAA,MAC1C;AAGA,UAAI,aAAa;AAAG,qBAAa,OAAO,SAAS;AACjD,UAAI,cAAc,OAAO,QAAQ;AAC/B,YAAI;AAAK,iBAAO;AAAA;AACX,uBAAa,OAAO,SAAS;AAAA,MACpC,WAAW,aAAa,GAAG;AACzB,YAAI;AAAK,uBAAa;AAAA;AACjB,iBAAO;AAAA,MACd;AAGA,UAAI,OAAO,QAAQ,UAAU;AAC3B,cAAMH,QAAO,KAAK,KAAK,QAAQ;AAAA,MACjC;AAGA,UAAIA,QAAO,SAAS,GAAG,GAAG;AAExB,YAAI,IAAI,WAAW,GAAG;AACpB,iBAAO;AAAA,QACT;AACA,eAAO,aAAa,QAAQ,KAAK,YAAY,UAAU,GAAG;AAAA,MAC5D,WAAW,OAAO,QAAQ,UAAU;AAClC,cAAM,MAAM;AACZ,YAAI,OAAO,WAAW,UAAU,YAAY,YAAY;AACtD,cAAI,KAAK;AACP,mBAAO,WAAW,UAAU,QAAQ,KAAK,QAAQ,KAAK,UAAU;AAAA,UAClE,OAAO;AACL,mBAAO,WAAW,UAAU,YAAY,KAAK,QAAQ,KAAK,UAAU;AAAA,UACtE;AAAA,QACF;AACA,eAAO,aAAa,QAAQ,CAAC,GAAG,GAAG,YAAY,UAAU,GAAG;AAAA,MAC9D;AAEA,YAAM,IAAI,UAAU,sCAAsC;AAAA,IAC5D;AAEA,aAAS,aAAc,KAAK,KAAK,YAAY,UAAU,KAAK;AAC1D,UAAI,YAAY;AAChB,UAAI,YAAY,IAAI;AACpB,UAAI,YAAY,IAAI;AAEpB,UAAI,aAAa,QAAW;AAC1B,mBAAW,OAAO,QAAQ,EAAE,YAAY;AACxC,YAAI,aAAa,UAAU,aAAa,WACpC,aAAa,aAAa,aAAa,YAAY;AACrD,cAAI,IAAI,SAAS,KAAK,IAAI,SAAS,GAAG;AACpC,mBAAO;AAAA,UACT;AACA,sBAAY;AACZ,uBAAa;AACb,uBAAa;AACb,wBAAc;AAAA,QAChB;AAAA,MACF;AAEA,eAAS,KAAM,KAAKT,IAAG;AACrB,YAAI,cAAc,GAAG;AACnB,iBAAO,IAAIA,EAAC;AAAA,QACd,OAAO;AACL,iBAAO,IAAI,aAAaA,KAAI,SAAS;AAAA,QACvC;AAAA,MACF;AAEA,UAAIA;AACJ,UAAI,KAAK;AACP,YAAI,aAAa;AACjB,aAAKA,KAAI,YAAYA,KAAI,WAAWA,MAAK;AACvC,cAAI,KAAK,KAAKA,EAAC,MAAM,KAAK,KAAK,eAAe,KAAK,IAAIA,KAAI,UAAU,GAAG;AACtE,gBAAI,eAAe;AAAI,2BAAaA;AACpC,gBAAIA,KAAI,aAAa,MAAM;AAAW,qBAAO,aAAa;AAAA,UAC5D,OAAO;AACL,gBAAI,eAAe;AAAI,cAAAA,MAAKA,KAAI;AAChC,yBAAa;AAAA,UACf;AAAA,QACF;AAAA,MACF,OAAO;AACL,YAAI,aAAa,YAAY;AAAW,uBAAa,YAAY;AACjE,aAAKA,KAAI,YAAYA,MAAK,GAAGA,MAAK;AAChC,cAAI,QAAQ;AACZ,mBAAS,IAAI,GAAG,IAAI,WAAW,KAAK;AAClC,gBAAI,KAAK,KAAKA,KAAI,CAAC,MAAM,KAAK,KAAK,CAAC,GAAG;AACrC,sBAAQ;AACR;AAAA,YACF;AAAA,UACF;AACA,cAAI;AAAO,mBAAOA;AAAA,QACpB;AAAA,MACF;AAEA,aAAO;AAAA,IACT;AAEA,IAAAS,QAAO,UAAU,WAAW,SAAS,SAAU,KAAK,YAAY,UAAU;AACxE,aAAO,KAAK,QAAQ,KAAK,YAAY,QAAQ,MAAM;AAAA,IACrD;AAEA,IAAAA,QAAO,UAAU,UAAU,SAAS,QAAS,KAAK,YAAY,UAAU;AACtE,aAAO,qBAAqB,MAAM,KAAK,YAAY,UAAU,IAAI;AAAA,IACnE;AAEA,IAAAA,QAAO,UAAU,cAAc,SAAS,YAAa,KAAK,YAAY,UAAU;AAC9E,aAAO,qBAAqB,MAAM,KAAK,YAAY,UAAU,KAAK;AAAA,IACpE;AAEA,aAAS,SAAU,KAAK,QAAQ,QAAQ,QAAQ;AAC9C,eAAS,OAAO,MAAM,KAAK;AAC3B,YAAM,YAAY,IAAI,SAAS;AAC/B,UAAI,CAAC,QAAQ;AACX,iBAAS;AAAA,MACX,OAAO;AACL,iBAAS,OAAO,MAAM;AACtB,YAAI,SAAS,WAAW;AACtB,mBAAS;AAAA,QACX;AAAA,MACF;AAEA,YAAM,SAAS,OAAO;AAEtB,UAAI,SAAS,SAAS,GAAG;AACvB,iBAAS,SAAS;AAAA,MACpB;AACA,UAAIT;AACJ,WAAKA,KAAI,GAAGA,KAAI,QAAQ,EAAEA,IAAG;AAC3B,cAAM,SAAS,SAAS,OAAO,OAAOA,KAAI,GAAG,CAAC,GAAG,EAAE;AACnD,YAAI,YAAY,MAAM;AAAG,iBAAOA;AAChC,YAAI,SAASA,EAAC,IAAI;AAAA,MACpB;AACA,aAAOA;AAAA,IACT;AAEA,aAAS,UAAW,KAAK,QAAQ,QAAQ,QAAQ;AAC/C,aAAO,WAAW,YAAY,QAAQ,IAAI,SAAS,MAAM,GAAG,KAAK,QAAQ,MAAM;AAAA,IACjF;AAEA,aAAS,WAAY,KAAK,QAAQ,QAAQ,QAAQ;AAChD,aAAO,WAAW,aAAa,MAAM,GAAG,KAAK,QAAQ,MAAM;AAAA,IAC7D;AAEA,aAAS,YAAa,KAAK,QAAQ,QAAQ,QAAQ;AACjD,aAAO,WAAW,cAAc,MAAM,GAAG,KAAK,QAAQ,MAAM;AAAA,IAC9D;AAEA,aAAS,UAAW,KAAK,QAAQ,QAAQ,QAAQ;AAC/C,aAAO,WAAW,eAAe,QAAQ,IAAI,SAAS,MAAM,GAAG,KAAK,QAAQ,MAAM;AAAA,IACpF;AAEA,IAAAS,QAAO,UAAU,QAAQ,SAAS,MAAO,QAAQ,QAAQ,QAAQ,UAAU;AAEzE,UAAI,WAAW,QAAW;AACxB,mBAAW;AACX,iBAAS,KAAK;AACd,iBAAS;AAAA,MAEX,WAAW,WAAW,UAAa,OAAO,WAAW,UAAU;AAC7D,mBAAW;AACX,iBAAS,KAAK;AACd,iBAAS;AAAA,MAEX,WAAW,SAAS,MAAM,GAAG;AAC3B,iBAAS,WAAW;AACpB,YAAI,SAAS,MAAM,GAAG;AACpB,mBAAS,WAAW;AACpB,cAAI,aAAa;AAAW,uBAAW;AAAA,QACzC,OAAO;AACL,qBAAW;AACX,mBAAS;AAAA,QACX;AAAA,MACF,OAAO;AACL,cAAM,IAAI;AAAA,UACR;AAAA,QACF;AAAA,MACF;AAEA,YAAM,YAAY,KAAK,SAAS;AAChC,UAAI,WAAW,UAAa,SAAS;AAAW,iBAAS;AAEzD,UAAK,OAAO,SAAS,MAAM,SAAS,KAAK,SAAS,MAAO,SAAS,KAAK,QAAQ;AAC7E,cAAM,IAAI,WAAW,wCAAwC;AAAA,MAC/D;AAEA,UAAI,CAAC;AAAU,mBAAW;AAE1B,UAAI,cAAc;AAClB,iBAAS;AACP,gBAAQ,UAAU;AAAA,UAChB,KAAK;AACH,mBAAO,SAAS,MAAM,QAAQ,QAAQ,MAAM;AAAA,UAE9C,KAAK;AAAA,UACL,KAAK;AACH,mBAAO,UAAU,MAAM,QAAQ,QAAQ,MAAM;AAAA,UAE/C,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AACH,mBAAO,WAAW,MAAM,QAAQ,QAAQ,MAAM;AAAA,UAEhD,KAAK;AAEH,mBAAO,YAAY,MAAM,QAAQ,QAAQ,MAAM;AAAA,UAEjD,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AACH,mBAAO,UAAU,MAAM,QAAQ,QAAQ,MAAM;AAAA,UAE/C;AACE,gBAAI;AAAa,oBAAM,IAAI,UAAU,uBAAuB,QAAQ;AACpE,wBAAY,KAAK,UAAU,YAAY;AACvC,0BAAc;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAEA,IAAAA,QAAO,UAAU,SAAS,SAASM,UAAU;AAC3C,aAAO;AAAA,QACL,MAAM;AAAA,QACN,MAAM,MAAM,UAAU,MAAM,KAAK,KAAK,QAAQ,MAAM,CAAC;AAAA,MACvD;AAAA,IACF;AAEA,aAAS,YAAa,KAAK,OAAO,KAAK;AACrC,UAAI,UAAU,KAAK,QAAQ,IAAI,QAAQ;AACrC,eAAOP,QAAO,cAAc,GAAG;AAAA,MACjC,OAAO;AACL,eAAOA,QAAO,cAAc,IAAI,MAAM,OAAO,GAAG,CAAC;AAAA,MACnD;AAAA,IACF;AAEA,aAAS,UAAW,KAAK,OAAO,KAAK;AACnC,YAAM,KAAK,IAAI,IAAI,QAAQ,GAAG;AAC9B,YAAM,MAAM,CAAC;AAEb,UAAIR,KAAI;AACR,aAAOA,KAAI,KAAK;AACd,cAAM,YAAY,IAAIA,EAAC;AACvB,YAAI,YAAY;AAChB,YAAI,mBAAoB,YAAY,MAChC,IACC,YAAY,MACT,IACC,YAAY,MACT,IACA;AAEZ,YAAIA,KAAI,oBAAoB,KAAK;AAC/B,cAAI,YAAY,WAAW,YAAY;AAEvC,kBAAQ,kBAAkB;AAAA,YACxB,KAAK;AACH,kBAAI,YAAY,KAAM;AACpB,4BAAY;AAAA,cACd;AACA;AAAA,YACF,KAAK;AACH,2BAAa,IAAIA,KAAI,CAAC;AACtB,mBAAK,aAAa,SAAU,KAAM;AAChC,iCAAiB,YAAY,OAAS,IAAO,aAAa;AAC1D,oBAAI,gBAAgB,KAAM;AACxB,8BAAY;AAAA,gBACd;AAAA,cACF;AACA;AAAA,YACF,KAAK;AACH,2BAAa,IAAIA,KAAI,CAAC;AACtB,0BAAY,IAAIA,KAAI,CAAC;AACrB,mBAAK,aAAa,SAAU,QAAS,YAAY,SAAU,KAAM;AAC/D,iCAAiB,YAAY,OAAQ,MAAO,aAAa,OAAS,IAAO,YAAY;AACrF,oBAAI,gBAAgB,SAAU,gBAAgB,SAAU,gBAAgB,QAAS;AAC/E,8BAAY;AAAA,gBACd;AAAA,cACF;AACA;AAAA,YACF,KAAK;AACH,2BAAa,IAAIA,KAAI,CAAC;AACtB,0BAAY,IAAIA,KAAI,CAAC;AACrB,2BAAa,IAAIA,KAAI,CAAC;AACtB,mBAAK,aAAa,SAAU,QAAS,YAAY,SAAU,QAAS,aAAa,SAAU,KAAM;AAC/F,iCAAiB,YAAY,OAAQ,MAAQ,aAAa,OAAS,MAAO,YAAY,OAAS,IAAO,aAAa;AACnH,oBAAI,gBAAgB,SAAU,gBAAgB,SAAU;AACtD,8BAAY;AAAA,gBACd;AAAA,cACF;AAAA,UACJ;AAAA,QACF;AAEA,YAAI,cAAc,MAAM;AAGtB,sBAAY;AACZ,6BAAmB;AAAA,QACrB,WAAW,YAAY,OAAQ;AAE7B,uBAAa;AACb,cAAI,KAAK,cAAc,KAAK,OAAQ,KAAM;AAC1C,sBAAY,QAAS,YAAY;AAAA,QACnC;AAEA,YAAI,KAAK,SAAS;AAClB,QAAAA,MAAK;AAAA,MACP;AAEA,aAAO,sBAAsB,GAAG;AAAA,IAClC;AAKA,QAAM,uBAAuB;AAE7B,aAAS,sBAAuB,YAAY;AAC1C,YAAM,MAAM,WAAW;AACvB,UAAI,OAAO,sBAAsB;AAC/B,eAAO,OAAO,aAAa,MAAM,QAAQ,UAAU;AAAA,MACrD;AAGA,UAAI,MAAM;AACV,UAAIA,KAAI;AACR,aAAOA,KAAI,KAAK;AACd,eAAO,OAAO,aAAa;AAAA,UACzB;AAAA,UACA,WAAW,MAAMA,IAAGA,MAAK,oBAAoB;AAAA,QAC/C;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAEA,aAAS,WAAY,KAAK,OAAO,KAAK;AACpC,UAAI,MAAM;AACV,YAAM,KAAK,IAAI,IAAI,QAAQ,GAAG;AAE9B,eAASA,KAAI,OAAOA,KAAI,KAAK,EAAEA,IAAG;AAChC,eAAO,OAAO,aAAa,IAAIA,EAAC,IAAI,GAAI;AAAA,MAC1C;AACA,aAAO;AAAA,IACT;AAEA,aAAS,YAAa,KAAK,OAAO,KAAK;AACrC,UAAI,MAAM;AACV,YAAM,KAAK,IAAI,IAAI,QAAQ,GAAG;AAE9B,eAASA,KAAI,OAAOA,KAAI,KAAK,EAAEA,IAAG;AAChC,eAAO,OAAO,aAAa,IAAIA,EAAC,CAAC;AAAA,MACnC;AACA,aAAO;AAAA,IACT;AAEA,aAAS,SAAU,KAAK,OAAO,KAAK;AAClC,YAAM,MAAM,IAAI;AAEhB,UAAI,CAAC,SAAS,QAAQ;AAAG,gBAAQ;AACjC,UAAI,CAAC,OAAO,MAAM,KAAK,MAAM;AAAK,cAAM;AAExC,UAAI,MAAM;AACV,eAASA,KAAI,OAAOA,KAAI,KAAK,EAAEA,IAAG;AAChC,eAAO,oBAAoB,IAAIA,EAAC,CAAC;AAAA,MACnC;AACA,aAAO;AAAA,IACT;AAEA,aAAS,aAAc,KAAK,OAAO,KAAK;AACtC,YAAM,QAAQ,IAAI,MAAM,OAAO,GAAG;AAClC,UAAI,MAAM;AAEV,eAASA,KAAI,GAAGA,KAAI,MAAM,SAAS,GAAGA,MAAK,GAAG;AAC5C,eAAO,OAAO,aAAa,MAAMA,EAAC,IAAK,MAAMA,KAAI,CAAC,IAAI,GAAI;AAAA,MAC5D;AACA,aAAO;AAAA,IACT;AAEA,IAAAS,QAAO,UAAU,QAAQ,SAAS,MAAO,OAAO,KAAK;AACnD,YAAM,MAAM,KAAK;AACjB,cAAQ,CAAC,CAAC;AACV,YAAM,QAAQ,SAAY,MAAM,CAAC,CAAC;AAElC,UAAI,QAAQ,GAAG;AACb,iBAAS;AACT,YAAI,QAAQ;AAAG,kBAAQ;AAAA,MACzB,WAAW,QAAQ,KAAK;AACtB,gBAAQ;AAAA,MACV;AAEA,UAAI,MAAM,GAAG;AACX,eAAO;AACP,YAAI,MAAM;AAAG,gBAAM;AAAA,MACrB,WAAW,MAAM,KAAK;AACpB,cAAM;AAAA,MACR;AAEA,UAAI,MAAM;AAAO,cAAM;AAEvB,YAAM,SAAS,KAAK,SAAS,OAAO,GAAG;AAEvC,aAAO,eAAe,QAAQA,QAAO,SAAS;AAE9C,aAAO;AAAA,IACT;AAKA,aAAS,YAAa,QAAQ,KAAK,QAAQ;AACzC,UAAK,SAAS,MAAO,KAAK,SAAS;AAAG,cAAM,IAAI,WAAW,oBAAoB;AAC/E,UAAI,SAAS,MAAM;AAAQ,cAAM,IAAI,WAAW,uCAAuC;AAAA,IACzF;AAEA,IAAAA,QAAO,UAAU,aACjBA,QAAO,UAAU,aAAa,SAAS,WAAY,QAAQO,aAAY,UAAU;AAC/E,eAAS,WAAW;AACpB,MAAAA,cAAaA,gBAAe;AAC5B,UAAI,CAAC;AAAU,oBAAY,QAAQA,aAAY,KAAK,MAAM;AAE1D,UAAI,MAAM,KAAK,MAAM;AACrB,UAAI,MAAM;AACV,UAAIhB,KAAI;AACR,aAAO,EAAEA,KAAIgB,gBAAe,OAAO,MAAQ;AACzC,eAAO,KAAK,SAAShB,EAAC,IAAI;AAAA,MAC5B;AAEA,aAAO;AAAA,IACT;AAEA,IAAAS,QAAO,UAAU,aACjBA,QAAO,UAAU,aAAa,SAAS,WAAY,QAAQO,aAAY,UAAU;AAC/E,eAAS,WAAW;AACpB,MAAAA,cAAaA,gBAAe;AAC5B,UAAI,CAAC,UAAU;AACb,oBAAY,QAAQA,aAAY,KAAK,MAAM;AAAA,MAC7C;AAEA,UAAI,MAAM,KAAK,SAAS,EAAEA,WAAU;AACpC,UAAI,MAAM;AACV,aAAOA,cAAa,MAAM,OAAO,MAAQ;AACvC,eAAO,KAAK,SAAS,EAAEA,WAAU,IAAI;AAAA,MACvC;AAEA,aAAO;AAAA,IACT;AAEA,IAAAP,QAAO,UAAU,YACjBA,QAAO,UAAU,YAAY,SAAS,UAAW,QAAQ,UAAU;AACjE,eAAS,WAAW;AACpB,UAAI,CAAC;AAAU,oBAAY,QAAQ,GAAG,KAAK,MAAM;AACjD,aAAO,KAAK,MAAM;AAAA,IACpB;AAEA,IAAAA,QAAO,UAAU,eACjBA,QAAO,UAAU,eAAe,SAAS,aAAc,QAAQ,UAAU;AACvE,eAAS,WAAW;AACpB,UAAI,CAAC;AAAU,oBAAY,QAAQ,GAAG,KAAK,MAAM;AACjD,aAAO,KAAK,MAAM,IAAK,KAAK,SAAS,CAAC,KAAK;AAAA,IAC7C;AAEA,IAAAA,QAAO,UAAU,eACjBA,QAAO,UAAU,eAAe,SAAS,aAAc,QAAQ,UAAU;AACvE,eAAS,WAAW;AACpB,UAAI,CAAC;AAAU,oBAAY,QAAQ,GAAG,KAAK,MAAM;AACjD,aAAQ,KAAK,MAAM,KAAK,IAAK,KAAK,SAAS,CAAC;AAAA,IAC9C;AAEA,IAAAA,QAAO,UAAU,eACjBA,QAAO,UAAU,eAAe,SAAS,aAAc,QAAQ,UAAU;AACvE,eAAS,WAAW;AACpB,UAAI,CAAC;AAAU,oBAAY,QAAQ,GAAG,KAAK,MAAM;AAEjD,cAAS,KAAK,MAAM,IACf,KAAK,SAAS,CAAC,KAAK,IACpB,KAAK,SAAS,CAAC,KAAK,MACpB,KAAK,SAAS,CAAC,IAAI;AAAA,IAC1B;AAEA,IAAAA,QAAO,UAAU,eACjBA,QAAO,UAAU,eAAe,SAAS,aAAc,QAAQ,UAAU;AACvE,eAAS,WAAW;AACpB,UAAI,CAAC;AAAU,oBAAY,QAAQ,GAAG,KAAK,MAAM;AAEjD,aAAQ,KAAK,MAAM,IAAI,YACnB,KAAK,SAAS,CAAC,KAAK,KACrB,KAAK,SAAS,CAAC,KAAK,IACrB,KAAK,SAAS,CAAC;AAAA,IACnB;AAEA,IAAAA,QAAO,UAAU,kBAAkB,mBAAmB,SAAS,gBAAiB,QAAQ;AACtF,eAAS,WAAW;AACpB,qBAAe,QAAQ,QAAQ;AAC/B,YAAM,QAAQ,KAAK,MAAM;AACzB,YAAM,OAAO,KAAK,SAAS,CAAC;AAC5B,UAAI,UAAU,UAAa,SAAS,QAAW;AAC7C,oBAAY,QAAQ,KAAK,SAAS,CAAC;AAAA,MACrC;AAEA,YAAM,KAAK,QACT,KAAK,EAAE,MAAM,IAAI,KAAK,IACtB,KAAK,EAAE,MAAM,IAAI,KAAK,KACtB,KAAK,EAAE,MAAM,IAAI,KAAK;AAExB,YAAM,KAAK,KAAK,EAAE,MAAM,IACtB,KAAK,EAAE,MAAM,IAAI,KAAK,IACtB,KAAK,EAAE,MAAM,IAAI,KAAK,KACtB,OAAO,KAAK;AAEd,aAAO,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE;AAAA,IAC9C,CAAC;AAED,IAAAA,QAAO,UAAU,kBAAkB,mBAAmB,SAAS,gBAAiB,QAAQ;AACtF,eAAS,WAAW;AACpB,qBAAe,QAAQ,QAAQ;AAC/B,YAAM,QAAQ,KAAK,MAAM;AACzB,YAAM,OAAO,KAAK,SAAS,CAAC;AAC5B,UAAI,UAAU,UAAa,SAAS,QAAW;AAC7C,oBAAY,QAAQ,KAAK,SAAS,CAAC;AAAA,MACrC;AAEA,YAAM,KAAK,QAAQ,KAAK,KACtB,KAAK,EAAE,MAAM,IAAI,KAAK,KACtB,KAAK,EAAE,MAAM,IAAI,KAAK,IACtB,KAAK,EAAE,MAAM;AAEf,YAAM,KAAK,KAAK,EAAE,MAAM,IAAI,KAAK,KAC/B,KAAK,EAAE,MAAM,IAAI,KAAK,KACtB,KAAK,EAAE,MAAM,IAAI,KAAK,IACtB;AAEF,cAAQ,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE;AAAA,IAC/C,CAAC;AAED,IAAAA,QAAO,UAAU,YAAY,SAAS,UAAW,QAAQO,aAAY,UAAU;AAC7E,eAAS,WAAW;AACpB,MAAAA,cAAaA,gBAAe;AAC5B,UAAI,CAAC;AAAU,oBAAY,QAAQA,aAAY,KAAK,MAAM;AAE1D,UAAI,MAAM,KAAK,MAAM;AACrB,UAAI,MAAM;AACV,UAAIhB,KAAI;AACR,aAAO,EAAEA,KAAIgB,gBAAe,OAAO,MAAQ;AACzC,eAAO,KAAK,SAAShB,EAAC,IAAI;AAAA,MAC5B;AACA,aAAO;AAEP,UAAI,OAAO;AAAK,eAAO,KAAK,IAAI,GAAG,IAAIgB,WAAU;AAEjD,aAAO;AAAA,IACT;AAEA,IAAAP,QAAO,UAAU,YAAY,SAAS,UAAW,QAAQO,aAAY,UAAU;AAC7E,eAAS,WAAW;AACpB,MAAAA,cAAaA,gBAAe;AAC5B,UAAI,CAAC;AAAU,oBAAY,QAAQA,aAAY,KAAK,MAAM;AAE1D,UAAIhB,KAAIgB;AACR,UAAI,MAAM;AACV,UAAI,MAAM,KAAK,SAAS,EAAEhB,EAAC;AAC3B,aAAOA,KAAI,MAAM,OAAO,MAAQ;AAC9B,eAAO,KAAK,SAAS,EAAEA,EAAC,IAAI;AAAA,MAC9B;AACA,aAAO;AAEP,UAAI,OAAO;AAAK,eAAO,KAAK,IAAI,GAAG,IAAIgB,WAAU;AAEjD,aAAO;AAAA,IACT;AAEA,IAAAP,QAAO,UAAU,WAAW,SAAS,SAAU,QAAQ,UAAU;AAC/D,eAAS,WAAW;AACpB,UAAI,CAAC;AAAU,oBAAY,QAAQ,GAAG,KAAK,MAAM;AACjD,UAAI,EAAE,KAAK,MAAM,IAAI;AAAO,eAAQ,KAAK,MAAM;AAC/C,cAAS,MAAO,KAAK,MAAM,IAAI,KAAK;AAAA,IACtC;AAEA,IAAAA,QAAO,UAAU,cAAc,SAAS,YAAa,QAAQ,UAAU;AACrE,eAAS,WAAW;AACpB,UAAI,CAAC;AAAU,oBAAY,QAAQ,GAAG,KAAK,MAAM;AACjD,YAAM,MAAM,KAAK,MAAM,IAAK,KAAK,SAAS,CAAC,KAAK;AAChD,aAAQ,MAAM,QAAU,MAAM,aAAa;AAAA,IAC7C;AAEA,IAAAA,QAAO,UAAU,cAAc,SAAS,YAAa,QAAQ,UAAU;AACrE,eAAS,WAAW;AACpB,UAAI,CAAC;AAAU,oBAAY,QAAQ,GAAG,KAAK,MAAM;AACjD,YAAM,MAAM,KAAK,SAAS,CAAC,IAAK,KAAK,MAAM,KAAK;AAChD,aAAQ,MAAM,QAAU,MAAM,aAAa;AAAA,IAC7C;AAEA,IAAAA,QAAO,UAAU,cAAc,SAAS,YAAa,QAAQ,UAAU;AACrE,eAAS,WAAW;AACpB,UAAI,CAAC;AAAU,oBAAY,QAAQ,GAAG,KAAK,MAAM;AAEjD,aAAQ,KAAK,MAAM,IAChB,KAAK,SAAS,CAAC,KAAK,IACpB,KAAK,SAAS,CAAC,KAAK,KACpB,KAAK,SAAS,CAAC,KAAK;AAAA,IACzB;AAEA,IAAAA,QAAO,UAAU,cAAc,SAAS,YAAa,QAAQ,UAAU;AACrE,eAAS,WAAW;AACpB,UAAI,CAAC;AAAU,oBAAY,QAAQ,GAAG,KAAK,MAAM;AAEjD,aAAQ,KAAK,MAAM,KAAK,KACrB,KAAK,SAAS,CAAC,KAAK,KACpB,KAAK,SAAS,CAAC,KAAK,IACpB,KAAK,SAAS,CAAC;AAAA,IACpB;AAEA,IAAAA,QAAO,UAAU,iBAAiB,mBAAmB,SAAS,eAAgB,QAAQ;AACpF,eAAS,WAAW;AACpB,qBAAe,QAAQ,QAAQ;AAC/B,YAAM,QAAQ,KAAK,MAAM;AACzB,YAAM,OAAO,KAAK,SAAS,CAAC;AAC5B,UAAI,UAAU,UAAa,SAAS,QAAW;AAC7C,oBAAY,QAAQ,KAAK,SAAS,CAAC;AAAA,MACrC;AAEA,YAAM,MAAM,KAAK,SAAS,CAAC,IACzB,KAAK,SAAS,CAAC,IAAI,KAAK,IACxB,KAAK,SAAS,CAAC,IAAI,KAAK,MACvB,QAAQ;AAEX,cAAQ,OAAO,GAAG,KAAK,OAAO,EAAE,KAC9B,OAAO,QACP,KAAK,EAAE,MAAM,IAAI,KAAK,IACtB,KAAK,EAAE,MAAM,IAAI,KAAK,KACtB,KAAK,EAAE,MAAM,IAAI,KAAK,EAAE;AAAA,IAC5B,CAAC;AAED,IAAAA,QAAO,UAAU,iBAAiB,mBAAmB,SAAS,eAAgB,QAAQ;AACpF,eAAS,WAAW;AACpB,qBAAe,QAAQ,QAAQ;AAC/B,YAAM,QAAQ,KAAK,MAAM;AACzB,YAAM,OAAO,KAAK,SAAS,CAAC;AAC5B,UAAI,UAAU,UAAa,SAAS,QAAW;AAC7C,oBAAY,QAAQ,KAAK,SAAS,CAAC;AAAA,MACrC;AAEA,YAAM,OAAO,SAAS;AAAA,MACpB,KAAK,EAAE,MAAM,IAAI,KAAK,KACtB,KAAK,EAAE,MAAM,IAAI,KAAK,IACtB,KAAK,EAAE,MAAM;AAEf,cAAQ,OAAO,GAAG,KAAK,OAAO,EAAE,KAC9B,OAAO,KAAK,EAAE,MAAM,IAAI,KAAK,KAC7B,KAAK,EAAE,MAAM,IAAI,KAAK,KACtB,KAAK,EAAE,MAAM,IAAI,KAAK,IACtB,IAAI;AAAA,IACR,CAAC;AAED,IAAAA,QAAO,UAAU,cAAc,SAAS,YAAa,QAAQ,UAAU;AACrE,eAAS,WAAW;AACpB,UAAI,CAAC;AAAU,oBAAY,QAAQ,GAAG,KAAK,MAAM;AACjD,aAAO,QAAQ,KAAK,MAAM,QAAQ,MAAM,IAAI,CAAC;AAAA,IAC/C;AAEA,IAAAA,QAAO,UAAU,cAAc,SAAS,YAAa,QAAQ,UAAU;AACrE,eAAS,WAAW;AACpB,UAAI,CAAC;AAAU,oBAAY,QAAQ,GAAG,KAAK,MAAM;AACjD,aAAO,QAAQ,KAAK,MAAM,QAAQ,OAAO,IAAI,CAAC;AAAA,IAChD;AAEA,IAAAA,QAAO,UAAU,eAAe,SAAS,aAAc,QAAQ,UAAU;AACvE,eAAS,WAAW;AACpB,UAAI,CAAC;AAAU,oBAAY,QAAQ,GAAG,KAAK,MAAM;AACjD,aAAO,QAAQ,KAAK,MAAM,QAAQ,MAAM,IAAI,CAAC;AAAA,IAC/C;AAEA,IAAAA,QAAO,UAAU,eAAe,SAAS,aAAc,QAAQ,UAAU;AACvE,eAAS,WAAW;AACpB,UAAI,CAAC;AAAU,oBAAY,QAAQ,GAAG,KAAK,MAAM;AACjD,aAAO,QAAQ,KAAK,MAAM,QAAQ,OAAO,IAAI,CAAC;AAAA,IAChD;AAEA,aAAS,SAAU,KAAK,OAAO,QAAQ,KAAK,KAAK,KAAK;AACpD,UAAI,CAACA,QAAO,SAAS,GAAG;AAAG,cAAM,IAAI,UAAU,6CAA6C;AAC5F,UAAI,QAAQ,OAAO,QAAQ;AAAK,cAAM,IAAI,WAAW,mCAAmC;AACxF,UAAI,SAAS,MAAM,IAAI;AAAQ,cAAM,IAAI,WAAW,oBAAoB;AAAA,IAC1E;AAEA,IAAAA,QAAO,UAAU,cACjBA,QAAO,UAAU,cAAc,SAAS,YAAa,OAAO,QAAQO,aAAY,UAAU;AACxF,cAAQ,CAAC;AACT,eAAS,WAAW;AACpB,MAAAA,cAAaA,gBAAe;AAC5B,UAAI,CAAC,UAAU;AACb,cAAM,WAAW,KAAK,IAAI,GAAG,IAAIA,WAAU,IAAI;AAC/C,iBAAS,MAAM,OAAO,QAAQA,aAAY,UAAU,CAAC;AAAA,MACvD;AAEA,UAAI,MAAM;AACV,UAAIhB,KAAI;AACR,WAAK,MAAM,IAAI,QAAQ;AACvB,aAAO,EAAEA,KAAIgB,gBAAe,OAAO,MAAQ;AACzC,aAAK,SAAShB,EAAC,IAAK,QAAQ,MAAO;AAAA,MACrC;AAEA,aAAO,SAASgB;AAAA,IAClB;AAEA,IAAAP,QAAO,UAAU,cACjBA,QAAO,UAAU,cAAc,SAAS,YAAa,OAAO,QAAQO,aAAY,UAAU;AACxF,cAAQ,CAAC;AACT,eAAS,WAAW;AACpB,MAAAA,cAAaA,gBAAe;AAC5B,UAAI,CAAC,UAAU;AACb,cAAM,WAAW,KAAK,IAAI,GAAG,IAAIA,WAAU,IAAI;AAC/C,iBAAS,MAAM,OAAO,QAAQA,aAAY,UAAU,CAAC;AAAA,MACvD;AAEA,UAAIhB,KAAIgB,cAAa;AACrB,UAAI,MAAM;AACV,WAAK,SAAShB,EAAC,IAAI,QAAQ;AAC3B,aAAO,EAAEA,MAAK,MAAM,OAAO,MAAQ;AACjC,aAAK,SAASA,EAAC,IAAK,QAAQ,MAAO;AAAA,MACrC;AAEA,aAAO,SAASgB;AAAA,IAClB;AAEA,IAAAP,QAAO,UAAU,aACjBA,QAAO,UAAU,aAAa,SAAS,WAAY,OAAO,QAAQ,UAAU;AAC1E,cAAQ,CAAC;AACT,eAAS,WAAW;AACpB,UAAI,CAAC;AAAU,iBAAS,MAAM,OAAO,QAAQ,GAAG,KAAM,CAAC;AACvD,WAAK,MAAM,IAAK,QAAQ;AACxB,aAAO,SAAS;AAAA,IAClB;AAEA,IAAAA,QAAO,UAAU,gBACjBA,QAAO,UAAU,gBAAgB,SAAS,cAAe,OAAO,QAAQ,UAAU;AAChF,cAAQ,CAAC;AACT,eAAS,WAAW;AACpB,UAAI,CAAC;AAAU,iBAAS,MAAM,OAAO,QAAQ,GAAG,OAAQ,CAAC;AACzD,WAAK,MAAM,IAAK,QAAQ;AACxB,WAAK,SAAS,CAAC,IAAK,UAAU;AAC9B,aAAO,SAAS;AAAA,IAClB;AAEA,IAAAA,QAAO,UAAU,gBACjBA,QAAO,UAAU,gBAAgB,SAAS,cAAe,OAAO,QAAQ,UAAU;AAChF,cAAQ,CAAC;AACT,eAAS,WAAW;AACpB,UAAI,CAAC;AAAU,iBAAS,MAAM,OAAO,QAAQ,GAAG,OAAQ,CAAC;AACzD,WAAK,MAAM,IAAK,UAAU;AAC1B,WAAK,SAAS,CAAC,IAAK,QAAQ;AAC5B,aAAO,SAAS;AAAA,IAClB;AAEA,IAAAA,QAAO,UAAU,gBACjBA,QAAO,UAAU,gBAAgB,SAAS,cAAe,OAAO,QAAQ,UAAU;AAChF,cAAQ,CAAC;AACT,eAAS,WAAW;AACpB,UAAI,CAAC;AAAU,iBAAS,MAAM,OAAO,QAAQ,GAAG,YAAY,CAAC;AAC7D,WAAK,SAAS,CAAC,IAAK,UAAU;AAC9B,WAAK,SAAS,CAAC,IAAK,UAAU;AAC9B,WAAK,SAAS,CAAC,IAAK,UAAU;AAC9B,WAAK,MAAM,IAAK,QAAQ;AACxB,aAAO,SAAS;AAAA,IAClB;AAEA,IAAAA,QAAO,UAAU,gBACjBA,QAAO,UAAU,gBAAgB,SAAS,cAAe,OAAO,QAAQ,UAAU;AAChF,cAAQ,CAAC;AACT,eAAS,WAAW;AACpB,UAAI,CAAC;AAAU,iBAAS,MAAM,OAAO,QAAQ,GAAG,YAAY,CAAC;AAC7D,WAAK,MAAM,IAAK,UAAU;AAC1B,WAAK,SAAS,CAAC,IAAK,UAAU;AAC9B,WAAK,SAAS,CAAC,IAAK,UAAU;AAC9B,WAAK,SAAS,CAAC,IAAK,QAAQ;AAC5B,aAAO,SAAS;AAAA,IAClB;AAEA,aAAS,eAAgB,KAAK,OAAO,QAAQ,KAAK,KAAK;AACrD,iBAAW,OAAO,KAAK,KAAK,KAAK,QAAQ,CAAC;AAE1C,UAAI,KAAK,OAAO,QAAQ,OAAO,UAAU,CAAC;AAC1C,UAAI,QAAQ,IAAI;AAChB,WAAK,MAAM;AACX,UAAI,QAAQ,IAAI;AAChB,WAAK,MAAM;AACX,UAAI,QAAQ,IAAI;AAChB,WAAK,MAAM;AACX,UAAI,QAAQ,IAAI;AAChB,UAAI,KAAK,OAAO,SAAS,OAAO,EAAE,IAAI,OAAO,UAAU,CAAC;AACxD,UAAI,QAAQ,IAAI;AAChB,WAAK,MAAM;AACX,UAAI,QAAQ,IAAI;AAChB,WAAK,MAAM;AACX,UAAI,QAAQ,IAAI;AAChB,WAAK,MAAM;AACX,UAAI,QAAQ,IAAI;AAChB,aAAO;AAAA,IACT;AAEA,aAAS,eAAgB,KAAK,OAAO,QAAQ,KAAK,KAAK;AACrD,iBAAW,OAAO,KAAK,KAAK,KAAK,QAAQ,CAAC;AAE1C,UAAI,KAAK,OAAO,QAAQ,OAAO,UAAU,CAAC;AAC1C,UAAI,SAAS,CAAC,IAAI;AAClB,WAAK,MAAM;AACX,UAAI,SAAS,CAAC,IAAI;AAClB,WAAK,MAAM;AACX,UAAI,SAAS,CAAC,IAAI;AAClB,WAAK,MAAM;AACX,UAAI,SAAS,CAAC,IAAI;AAClB,UAAI,KAAK,OAAO,SAAS,OAAO,EAAE,IAAI,OAAO,UAAU,CAAC;AACxD,UAAI,SAAS,CAAC,IAAI;AAClB,WAAK,MAAM;AACX,UAAI,SAAS,CAAC,IAAI;AAClB,WAAK,MAAM;AACX,UAAI,SAAS,CAAC,IAAI;AAClB,WAAK,MAAM;AACX,UAAI,MAAM,IAAI;AACd,aAAO,SAAS;AAAA,IAClB;AAEA,IAAAA,QAAO,UAAU,mBAAmB,mBAAmB,SAAS,iBAAkB,OAAO,SAAS,GAAG;AACnG,aAAO,eAAe,MAAM,OAAO,QAAQ,OAAO,CAAC,GAAG,OAAO,oBAAoB,CAAC;AAAA,IACpF,CAAC;AAED,IAAAA,QAAO,UAAU,mBAAmB,mBAAmB,SAAS,iBAAkB,OAAO,SAAS,GAAG;AACnG,aAAO,eAAe,MAAM,OAAO,QAAQ,OAAO,CAAC,GAAG,OAAO,oBAAoB,CAAC;AAAA,IACpF,CAAC;AAED,IAAAA,QAAO,UAAU,aAAa,SAAS,WAAY,OAAO,QAAQO,aAAY,UAAU;AACtF,cAAQ,CAAC;AACT,eAAS,WAAW;AACpB,UAAI,CAAC,UAAU;AACb,cAAM,QAAQ,KAAK,IAAI,GAAI,IAAIA,cAAc,CAAC;AAE9C,iBAAS,MAAM,OAAO,QAAQA,aAAY,QAAQ,GAAG,CAAC,KAAK;AAAA,MAC7D;AAEA,UAAIhB,KAAI;AACR,UAAI,MAAM;AACV,UAAI,MAAM;AACV,WAAK,MAAM,IAAI,QAAQ;AACvB,aAAO,EAAEA,KAAIgB,gBAAe,OAAO,MAAQ;AACzC,YAAI,QAAQ,KAAK,QAAQ,KAAK,KAAK,SAAShB,KAAI,CAAC,MAAM,GAAG;AACxD,gBAAM;AAAA,QACR;AACA,aAAK,SAASA,EAAC,KAAM,QAAQ,OAAQ,KAAK,MAAM;AAAA,MAClD;AAEA,aAAO,SAASgB;AAAA,IAClB;AAEA,IAAAP,QAAO,UAAU,aAAa,SAAS,WAAY,OAAO,QAAQO,aAAY,UAAU;AACtF,cAAQ,CAAC;AACT,eAAS,WAAW;AACpB,UAAI,CAAC,UAAU;AACb,cAAM,QAAQ,KAAK,IAAI,GAAI,IAAIA,cAAc,CAAC;AAE9C,iBAAS,MAAM,OAAO,QAAQA,aAAY,QAAQ,GAAG,CAAC,KAAK;AAAA,MAC7D;AAEA,UAAIhB,KAAIgB,cAAa;AACrB,UAAI,MAAM;AACV,UAAI,MAAM;AACV,WAAK,SAAShB,EAAC,IAAI,QAAQ;AAC3B,aAAO,EAAEA,MAAK,MAAM,OAAO,MAAQ;AACjC,YAAI,QAAQ,KAAK,QAAQ,KAAK,KAAK,SAASA,KAAI,CAAC,MAAM,GAAG;AACxD,gBAAM;AAAA,QACR;AACA,aAAK,SAASA,EAAC,KAAM,QAAQ,OAAQ,KAAK,MAAM;AAAA,MAClD;AAEA,aAAO,SAASgB;AAAA,IAClB;AAEA,IAAAP,QAAO,UAAU,YAAY,SAAS,UAAW,OAAO,QAAQ,UAAU;AACxE,cAAQ,CAAC;AACT,eAAS,WAAW;AACpB,UAAI,CAAC;AAAU,iBAAS,MAAM,OAAO,QAAQ,GAAG,KAAM,IAAK;AAC3D,UAAI,QAAQ;AAAG,gBAAQ,MAAO,QAAQ;AACtC,WAAK,MAAM,IAAK,QAAQ;AACxB,aAAO,SAAS;AAAA,IAClB;AAEA,IAAAA,QAAO,UAAU,eAAe,SAAS,aAAc,OAAO,QAAQ,UAAU;AAC9E,cAAQ,CAAC;AACT,eAAS,WAAW;AACpB,UAAI,CAAC;AAAU,iBAAS,MAAM,OAAO,QAAQ,GAAG,OAAQ,MAAO;AAC/D,WAAK,MAAM,IAAK,QAAQ;AACxB,WAAK,SAAS,CAAC,IAAK,UAAU;AAC9B,aAAO,SAAS;AAAA,IAClB;AAEA,IAAAA,QAAO,UAAU,eAAe,SAAS,aAAc,OAAO,QAAQ,UAAU;AAC9E,cAAQ,CAAC;AACT,eAAS,WAAW;AACpB,UAAI,CAAC;AAAU,iBAAS,MAAM,OAAO,QAAQ,GAAG,OAAQ,MAAO;AAC/D,WAAK,MAAM,IAAK,UAAU;AAC1B,WAAK,SAAS,CAAC,IAAK,QAAQ;AAC5B,aAAO,SAAS;AAAA,IAClB;AAEA,IAAAA,QAAO,UAAU,eAAe,SAAS,aAAc,OAAO,QAAQ,UAAU;AAC9E,cAAQ,CAAC;AACT,eAAS,WAAW;AACpB,UAAI,CAAC;AAAU,iBAAS,MAAM,OAAO,QAAQ,GAAG,YAAY,WAAW;AACvE,WAAK,MAAM,IAAK,QAAQ;AACxB,WAAK,SAAS,CAAC,IAAK,UAAU;AAC9B,WAAK,SAAS,CAAC,IAAK,UAAU;AAC9B,WAAK,SAAS,CAAC,IAAK,UAAU;AAC9B,aAAO,SAAS;AAAA,IAClB;AAEA,IAAAA,QAAO,UAAU,eAAe,SAAS,aAAc,OAAO,QAAQ,UAAU;AAC9E,cAAQ,CAAC;AACT,eAAS,WAAW;AACpB,UAAI,CAAC;AAAU,iBAAS,MAAM,OAAO,QAAQ,GAAG,YAAY,WAAW;AACvE,UAAI,QAAQ;AAAG,gBAAQ,aAAa,QAAQ;AAC5C,WAAK,MAAM,IAAK,UAAU;AAC1B,WAAK,SAAS,CAAC,IAAK,UAAU;AAC9B,WAAK,SAAS,CAAC,IAAK,UAAU;AAC9B,WAAK,SAAS,CAAC,IAAK,QAAQ;AAC5B,aAAO,SAAS;AAAA,IAClB;AAEA,IAAAA,QAAO,UAAU,kBAAkB,mBAAmB,SAAS,gBAAiB,OAAO,SAAS,GAAG;AACjG,aAAO,eAAe,MAAM,OAAO,QAAQ,CAAC,OAAO,oBAAoB,GAAG,OAAO,oBAAoB,CAAC;AAAA,IACxG,CAAC;AAED,IAAAA,QAAO,UAAU,kBAAkB,mBAAmB,SAAS,gBAAiB,OAAO,SAAS,GAAG;AACjG,aAAO,eAAe,MAAM,OAAO,QAAQ,CAAC,OAAO,oBAAoB,GAAG,OAAO,oBAAoB,CAAC;AAAA,IACxG,CAAC;AAED,aAAS,aAAc,KAAK,OAAO,QAAQ,KAAK,KAAK,KAAK;AACxD,UAAI,SAAS,MAAM,IAAI;AAAQ,cAAM,IAAI,WAAW,oBAAoB;AACxE,UAAI,SAAS;AAAG,cAAM,IAAI,WAAW,oBAAoB;AAAA,IAC3D;AAEA,aAAS,WAAY,KAAK,OAAO,QAAQ,cAAc,UAAU;AAC/D,cAAQ,CAAC;AACT,eAAS,WAAW;AACpB,UAAI,CAAC,UAAU;AACb,qBAAa,KAAK,OAAO,QAAQ,GAAG,sBAAwB,qBAAuB;AAAA,MACrF;AACA,cAAQ,MAAM,KAAK,OAAO,QAAQ,cAAc,IAAI,CAAC;AACrD,aAAO,SAAS;AAAA,IAClB;AAEA,IAAAA,QAAO,UAAU,eAAe,SAAS,aAAc,OAAO,QAAQ,UAAU;AAC9E,aAAO,WAAW,MAAM,OAAO,QAAQ,MAAM,QAAQ;AAAA,IACvD;AAEA,IAAAA,QAAO,UAAU,eAAe,SAAS,aAAc,OAAO,QAAQ,UAAU;AAC9E,aAAO,WAAW,MAAM,OAAO,QAAQ,OAAO,QAAQ;AAAA,IACxD;AAEA,aAAS,YAAa,KAAK,OAAO,QAAQ,cAAc,UAAU;AAChE,cAAQ,CAAC;AACT,eAAS,WAAW;AACpB,UAAI,CAAC,UAAU;AACb,qBAAa,KAAK,OAAO,QAAQ,GAAG,uBAAyB,sBAAwB;AAAA,MACvF;AACA,cAAQ,MAAM,KAAK,OAAO,QAAQ,cAAc,IAAI,CAAC;AACrD,aAAO,SAAS;AAAA,IAClB;AAEA,IAAAA,QAAO,UAAU,gBAAgB,SAAS,cAAe,OAAO,QAAQ,UAAU;AAChF,aAAO,YAAY,MAAM,OAAO,QAAQ,MAAM,QAAQ;AAAA,IACxD;AAEA,IAAAA,QAAO,UAAU,gBAAgB,SAAS,cAAe,OAAO,QAAQ,UAAU;AAChF,aAAO,YAAY,MAAM,OAAO,QAAQ,OAAO,QAAQ;AAAA,IACzD;AAGA,IAAAA,QAAO,UAAU,OAAO,SAAS,KAAM,QAAQ,aAAa,OAAO,KAAK;AACtE,UAAI,CAACA,QAAO,SAAS,MAAM;AAAG,cAAM,IAAI,UAAU,6BAA6B;AAC/E,UAAI,CAAC;AAAO,gBAAQ;AACpB,UAAI,CAAC,OAAO,QAAQ;AAAG,cAAM,KAAK;AAClC,UAAI,eAAe,OAAO;AAAQ,sBAAc,OAAO;AACvD,UAAI,CAAC;AAAa,sBAAc;AAChC,UAAI,MAAM,KAAK,MAAM;AAAO,cAAM;AAGlC,UAAI,QAAQ;AAAO,eAAO;AAC1B,UAAI,OAAO,WAAW,KAAK,KAAK,WAAW;AAAG,eAAO;AAGrD,UAAI,cAAc,GAAG;AACnB,cAAM,IAAI,WAAW,2BAA2B;AAAA,MAClD;AACA,UAAI,QAAQ,KAAK,SAAS,KAAK;AAAQ,cAAM,IAAI,WAAW,oBAAoB;AAChF,UAAI,MAAM;AAAG,cAAM,IAAI,WAAW,yBAAyB;AAG3D,UAAI,MAAM,KAAK;AAAQ,cAAM,KAAK;AAClC,UAAI,OAAO,SAAS,cAAc,MAAM,OAAO;AAC7C,cAAM,OAAO,SAAS,cAAc;AAAA,MACtC;AAEA,YAAM,MAAM,MAAM;AAElB,UAAI,SAAS,UAAU,OAAO,WAAW,UAAU,eAAe,YAAY;AAE5E,aAAK,WAAW,aAAa,OAAO,GAAG;AAAA,MACzC,OAAO;AACL,mBAAW,UAAU,IAAI;AAAA,UACvB;AAAA,UACA,KAAK,SAAS,OAAO,GAAG;AAAA,UACxB;AAAA,QACF;AAAA,MACF;AAEA,aAAO;AAAA,IACT;AAMA,IAAAA,QAAO,UAAU,OAAO,SAAS,KAAM,KAAK,OAAO,KAAK,UAAU;AAEhE,UAAI,OAAO,QAAQ,UAAU;AAC3B,YAAI,OAAO,UAAU,UAAU;AAC7B,qBAAW;AACX,kBAAQ;AACR,gBAAM,KAAK;AAAA,QACb,WAAW,OAAO,QAAQ,UAAU;AAClC,qBAAW;AACX,gBAAM,KAAK;AAAA,QACb;AACA,YAAI,aAAa,UAAa,OAAO,aAAa,UAAU;AAC1D,gBAAM,IAAI,UAAU,2BAA2B;AAAA,QACjD;AACA,YAAI,OAAO,aAAa,YAAY,CAACA,QAAO,WAAW,QAAQ,GAAG;AAChE,gBAAM,IAAI,UAAU,uBAAuB,QAAQ;AAAA,QACrD;AACA,YAAI,IAAI,WAAW,GAAG;AACpB,gBAAM,OAAO,IAAI,WAAW,CAAC;AAC7B,cAAK,aAAa,UAAU,OAAO,OAC/B,aAAa,UAAU;AAEzB,kBAAM;AAAA,UACR;AAAA,QACF;AAAA,MACF,WAAW,OAAO,QAAQ,UAAU;AAClC,cAAM,MAAM;AAAA,MACd,WAAW,OAAO,QAAQ,WAAW;AACnC,cAAM,OAAO,GAAG;AAAA,MAClB;AAGA,UAAI,QAAQ,KAAK,KAAK,SAAS,SAAS,KAAK,SAAS,KAAK;AACzD,cAAM,IAAI,WAAW,oBAAoB;AAAA,MAC3C;AAEA,UAAI,OAAO,OAAO;AAChB,eAAO;AAAA,MACT;AAEA,cAAQ,UAAU;AAClB,YAAM,QAAQ,SAAY,KAAK,SAAS,QAAQ;AAEhD,UAAI,CAAC;AAAK,cAAM;AAEhB,UAAIT;AACJ,UAAI,OAAO,QAAQ,UAAU;AAC3B,aAAKA,KAAI,OAAOA,KAAI,KAAK,EAAEA,IAAG;AAC5B,eAAKA,EAAC,IAAI;AAAA,QACZ;AAAA,MACF,OAAO;AACL,cAAM,QAAQS,QAAO,SAAS,GAAG,IAC7B,MACAA,QAAO,KAAK,KAAK,QAAQ;AAC7B,cAAM,MAAM,MAAM;AAClB,YAAI,QAAQ,GAAG;AACb,gBAAM,IAAI,UAAU,gBAAgB,MAClC,mCAAmC;AAAA,QACvC;AACA,aAAKT,KAAI,GAAGA,KAAI,MAAM,OAAO,EAAEA,IAAG;AAChC,eAAKA,KAAI,KAAK,IAAI,MAAMA,KAAI,GAAG;AAAA,QACjC;AAAA,MACF;AAEA,aAAO;AAAA,IACT;AAMA,QAAM,SAAS,CAAC;AAChB,aAAS,EAAG,KAAK,YAAY,MAAM;AACjC,aAAO,GAAG,IAAI,MAAM,kBAAkB,KAAK;AAAA,QACzC,cAAe;AACb,gBAAM;AAEN,iBAAO,eAAe,MAAM,WAAW;AAAA,YACrC,OAAO,WAAW,MAAM,MAAM,SAAS;AAAA,YACvC,UAAU;AAAA,YACV,cAAc;AAAA,UAChB,CAAC;AAGD,eAAK,OAAO,GAAG,KAAK,SAAS;AAG7B,eAAK;AAEL,iBAAO,KAAK;AAAA,QACd;AAAA,QAEA,IAAI,OAAQ;AACV,iBAAO;AAAA,QACT;AAAA,QAEA,IAAI,KAAM,OAAO;AACf,iBAAO,eAAe,MAAM,QAAQ;AAAA,YAClC,cAAc;AAAA,YACd,YAAY;AAAA,YACZ;AAAA,YACA,UAAU;AAAA,UACZ,CAAC;AAAA,QACH;AAAA,QAEA,WAAY;AACV,iBAAO,GAAG,KAAK,SAAS,SAAS,KAAK;AAAA,QACxC;AAAA,MACF;AAAA,IACF;AAEA;AAAA,MAAE;AAAA,MACA,SAAUD,OAAM;AACd,YAAIA,OAAM;AACR,iBAAO,GAAGA;AAAA,QACZ;AAEA,eAAO;AAAA,MACT;AAAA,MAAG;AAAA,IAAU;AACf;AAAA,MAAE;AAAA,MACA,SAAUA,OAAM,QAAQ;AACtB,eAAO,QAAQA,yDAAwD,OAAO;AAAA,MAChF;AAAA,MAAG;AAAA,IAAS;AACd;AAAA,MAAE;AAAA,MACA,SAAU,KAAK,OAAO,OAAO;AAC3B,YAAI,MAAM,iBAAiB;AAC3B,YAAI,WAAW;AACf,YAAI,OAAO,UAAU,KAAK,KAAK,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI;AACxD,qBAAW,sBAAsB,OAAO,KAAK,CAAC;AAAA,QAChD,WAAW,OAAO,UAAU,UAAU;AACpC,qBAAW,OAAO,KAAK;AACvB,cAAI,QAAQ,OAAO,CAAC,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,OAAO,CAAC,KAAK,OAAO,EAAE,IAAI;AACzE,uBAAW,sBAAsB,QAAQ;AAAA,UAC3C;AACA,sBAAY;AAAA,QACd;AACA,eAAO,eAAe,mBAAmB;AACzC,eAAO;AAAA,MACT;AAAA,MAAG;AAAA,IAAU;AAEf,aAAS,sBAAuB,KAAK;AACnC,UAAI,MAAM;AACV,UAAIC,KAAI,IAAI;AACZ,YAAM,QAAQ,IAAI,CAAC,MAAM,MAAM,IAAI;AACnC,aAAOA,MAAK,QAAQ,GAAGA,MAAK,GAAG;AAC7B,cAAM,IAAI,IAAI,MAAMA,KAAI,GAAGA,EAAC,IAAI;AAAA,MAClC;AACA,aAAO,GAAG,IAAI,MAAM,GAAGA,EAAC,IAAI;AAAA,IAC9B;AAKA,aAAS,YAAa,KAAK,QAAQgB,aAAY;AAC7C,qBAAe,QAAQ,QAAQ;AAC/B,UAAI,IAAI,MAAM,MAAM,UAAa,IAAI,SAASA,WAAU,MAAM,QAAW;AACvE,oBAAY,QAAQ,IAAI,UAAUA,cAAa,EAAE;AAAA,MACnD;AAAA,IACF;AAEA,aAAS,WAAY,OAAO,KAAK,KAAK,KAAK,QAAQA,aAAY;AAC7D,UAAI,QAAQ,OAAO,QAAQ,KAAK;AAC9B,cAAMH,KAAI,OAAO,QAAQ,WAAW,MAAM;AAC1C,YAAI;AACJ,YAAIG,cAAa,GAAG;AAClB,cAAI,QAAQ,KAAK,QAAQ,OAAO,CAAC,GAAG;AAClC,oBAAQ,OAAOH,aAAYA,UAASG,cAAa,KAAK,IAAIH;AAAA,UAC5D,OAAO;AACL,oBAAQ,SAASA,UAASG,cAAa,KAAK,IAAI,IAAIH,mBACxCG,cAAa,KAAK,IAAI,IAAIH;AAAA,UACxC;AAAA,QACF,OAAO;AACL,kBAAQ,MAAM,MAAMA,aAAY,MAAMA;AAAA,QACxC;AACA,cAAM,IAAI,OAAO,iBAAiB,SAAS,OAAO,KAAK;AAAA,MACzD;AACA,kBAAY,KAAK,QAAQG,WAAU;AAAA,IACrC;AAEA,aAAS,eAAgB,OAAOjB,OAAM;AACpC,UAAI,OAAO,UAAU,UAAU;AAC7B,cAAM,IAAI,OAAO,qBAAqBA,OAAM,UAAU,KAAK;AAAA,MAC7D;AAAA,IACF;AAEA,aAAS,YAAa,OAAO,QAAQ,MAAM;AACzC,UAAI,KAAK,MAAM,KAAK,MAAM,OAAO;AAC/B,uBAAe,OAAO,IAAI;AAC1B,cAAM,IAAI,OAAO,iBAAiB,QAAQ,UAAU,cAAc,KAAK;AAAA,MACzE;AAEA,UAAI,SAAS,GAAG;AACd,cAAM,IAAI,OAAO,yBAAyB;AAAA,MAC5C;AAEA,YAAM,IAAI,OAAO;AAAA,QAAiB,QAAQ;AAAA,QACR,MAAM,OAAO,IAAI,YAAY;AAAA,QAC7B;AAAA,MAAK;AAAA,IACzC;AAKA,QAAM,oBAAoB;AAE1B,aAAS,YAAa,KAAK;AAEzB,YAAM,IAAI,MAAM,GAAG,EAAE,CAAC;AAEtB,YAAM,IAAI,KAAK,EAAE,QAAQ,mBAAmB,EAAE;AAE9C,UAAI,IAAI,SAAS;AAAG,eAAO;AAE3B,aAAO,IAAI,SAAS,MAAM,GAAG;AAC3B,cAAM,MAAM;AAAA,MACd;AACA,aAAO;AAAA,IACT;AAEA,aAAS,YAAa,QAAQ,OAAO;AACnC,cAAQ,SAAS;AACjB,UAAI;AACJ,YAAM,SAAS,OAAO;AACtB,UAAI,gBAAgB;AACpB,YAAM,QAAQ,CAAC;AAEf,eAASC,KAAI,GAAGA,KAAI,QAAQ,EAAEA,IAAG;AAC/B,oBAAY,OAAO,WAAWA,EAAC;AAG/B,YAAI,YAAY,SAAU,YAAY,OAAQ;AAE5C,cAAI,CAAC,eAAe;AAElB,gBAAI,YAAY,OAAQ;AAEtB,mBAAK,SAAS,KAAK;AAAI,sBAAM,KAAK,KAAM,KAAM,GAAI;AAClD;AAAA,YACF,WAAWA,KAAI,MAAM,QAAQ;AAE3B,mBAAK,SAAS,KAAK;AAAI,sBAAM,KAAK,KAAM,KAAM,GAAI;AAClD;AAAA,YACF;AAGA,4BAAgB;AAEhB;AAAA,UACF;AAGA,cAAI,YAAY,OAAQ;AACtB,iBAAK,SAAS,KAAK;AAAI,oBAAM,KAAK,KAAM,KAAM,GAAI;AAClD,4BAAgB;AAChB;AAAA,UACF;AAGA,uBAAa,gBAAgB,SAAU,KAAK,YAAY,SAAU;AAAA,QACpE,WAAW,eAAe;AAExB,eAAK,SAAS,KAAK;AAAI,kBAAM,KAAK,KAAM,KAAM,GAAI;AAAA,QACpD;AAEA,wBAAgB;AAGhB,YAAI,YAAY,KAAM;AACpB,eAAK,SAAS,KAAK;AAAG;AACtB,gBAAM,KAAK,SAAS;AAAA,QACtB,WAAW,YAAY,MAAO;AAC5B,eAAK,SAAS,KAAK;AAAG;AACtB,gBAAM;AAAA,YACJ,aAAa,IAAM;AAAA,YACnB,YAAY,KAAO;AAAA,UACrB;AAAA,QACF,WAAW,YAAY,OAAS;AAC9B,eAAK,SAAS,KAAK;AAAG;AACtB,gBAAM;AAAA,YACJ,aAAa,KAAM;AAAA,YACnB,aAAa,IAAM,KAAO;AAAA,YAC1B,YAAY,KAAO;AAAA,UACrB;AAAA,QACF,WAAW,YAAY,SAAU;AAC/B,eAAK,SAAS,KAAK;AAAG;AACtB,gBAAM;AAAA,YACJ,aAAa,KAAO;AAAA,YACpB,aAAa,KAAM,KAAO;AAAA,YAC1B,aAAa,IAAM,KAAO;AAAA,YAC1B,YAAY,KAAO;AAAA,UACrB;AAAA,QACF,OAAO;AACL,gBAAM,IAAI,MAAM,oBAAoB;AAAA,QACtC;AAAA,MACF;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,aAAc,KAAK;AAC1B,YAAM,YAAY,CAAC;AACnB,eAASA,KAAI,GAAGA,KAAI,IAAI,QAAQ,EAAEA,IAAG;AAEnC,kBAAU,KAAK,IAAI,WAAWA,EAAC,IAAI,GAAI;AAAA,MACzC;AACA,aAAO;AAAA,IACT;AAEA,aAAS,eAAgB,KAAK,OAAO;AACnC,UAAIO,IAAG,IAAI;AACX,YAAM,YAAY,CAAC;AACnB,eAASP,KAAI,GAAGA,KAAI,IAAI,QAAQ,EAAEA,IAAG;AACnC,aAAK,SAAS,KAAK;AAAG;AAEtB,QAAAO,KAAI,IAAI,WAAWP,EAAC;AACpB,aAAKO,MAAK;AACV,aAAKA,KAAI;AACT,kBAAU,KAAK,EAAE;AACjB,kBAAU,KAAK,EAAE;AAAA,MACnB;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,cAAe,KAAK;AAC3B,aAAOC,QAAO,YAAY,YAAY,GAAG,CAAC;AAAA,IAC5C;AAEA,aAAS,WAAY,KAAK,KAAK,QAAQ,QAAQ;AAC7C,UAAIR;AACJ,WAAKA,KAAI,GAAGA,KAAI,QAAQ,EAAEA,IAAG;AAC3B,YAAKA,KAAI,UAAU,IAAI,UAAYA,MAAK,IAAI;AAAS;AACrD,YAAIA,KAAI,MAAM,IAAI,IAAIA,EAAC;AAAA,MACzB;AACA,aAAOA;AAAA,IACT;AAKA,aAAS,WAAY,KAAK,MAAM;AAC9B,aAAO,eAAe,QACnB,OAAO,QAAQ,IAAI,eAAe,QAAQ,IAAI,YAAY,QAAQ,QACjE,IAAI,YAAY,SAAS,KAAK;AAAA,IACpC;AACA,aAAS,YAAa,KAAK;AAEzB,aAAO,QAAQ;AAAA,IACjB;AAIA,QAAM,sBAAuB,WAAY;AACvC,YAAM,WAAW;AACjB,YAAM,QAAQ,IAAI,MAAM,GAAG;AAC3B,eAASA,KAAI,GAAGA,KAAI,IAAI,EAAEA,IAAG;AAC3B,cAAM,MAAMA,KAAI;AAChB,iBAAS,IAAI,GAAG,IAAI,IAAI,EAAE,GAAG;AAC3B,gBAAM,MAAM,CAAC,IAAI,SAASA,EAAC,IAAI,SAAS,CAAC;AAAA,QAC3C;AAAA,MACF;AACA,aAAO;AAAA,IACT,EAAG;AAGH,aAAS,mBAAoB,IAAI;AAC/B,aAAO,OAAO,WAAW,cAAc,yBAAyB;AAAA,IAClE;AAEA,aAAS,yBAA0B;AACjC,YAAM,IAAI,MAAM,sBAAsB;AAAA,IACxC;AAAA;AAAA;;;ACzjEA;AAAA,0CAAAiB,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAhB;AAAA,IAAAC;AAGA,QAAM,aAAa;AACnB,QAAMO,UAAS,iBAAmB;AAOlC,aAAS,sBAAuB,KAAK;AACnC,aAAO,KAAK,IAAI,KAAK,KAAK,IAAI,SAAS,CAAC;AAAA,IAC1C;AAMA,aAAS,oBAAqB;AAC5B,UAAI,OAAO,WAAW,eAAe,OAAO,aAAa,aAAa;AACpE,eAAO;AAAA,MACT;AACA,aAAO;AAAA,IACT;AAOA,aAAS,kBAAmB,KAAK;AAC/B,UAAI,YAAY;AAChB,YAAM,kBAAkB;AACxB,UAAI;AAEF,YAAI,sBAAsB;AAC1B,YAAI,eAAe,KAAK;AAEtB,gCAAsB,OAAO,YAAY,GAAG;AAAA,QAC9C,WAAW,eAAe,KAAK;AAE7B,gCAAsB,MAAM,KAAK,GAAG;AAAA,QACtC;AACA,YAAI,eAAe,WAAW;AAC5B,iBAAO,IAAI,SAAS,WAAW;AAAA,QACjC,WAAW,eAAe,cAAc,eAAe,mBAAmB;AACxE,iBAAO,IAAI,SAAS,WAAW;AAAA,QACjC,WAAW,eAAe,YAAY;AACpC,iBAAO,IAAI,SAAS,WAAW;AAAA,QACjC,WAAW,eAAe,aAAa;AACrC,iBAAO,IAAI,SAAS,WAAW;AAAA,QACjC,WAAW,eAAe,YAAY;AACpC,iBAAO,IAAI,SAAS,WAAW;AAAA,QACjC,WAAW,eAAe,aAAa;AACrC,iBAAO,IAAI,SAAS,WAAW;AAAA,QACjC,WAAW,eAAe,cAAc;AACtC,iBAAO,IAAI,SAAS,WAAW;AAAA,QACjC,WAAW,eAAe,cAAc;AACtC,iBAAO,IAAI,SAAS,WAAW;AAAA,QACjC;AACA,cAAM,iBAAiB,KAAK,UAAU,mBAAmB;AACzD,cAAM,SAAS,IAAIA,QAAO,KAAK,cAAc;AAC7C,oBAAY,OAAO;AAAA,MACrB,SAAS,IAAP;AACA,gBAAQ,MAAM,4BAA4B,iBAAiB,EAAE;AAC7D,eAAO;AAAA,MACT;AACA,aAAO;AAAA,IACT;AAOA,aAAS,iBAAkB,KAAK;AAC9B,YAAM,aAAa,CAAC;AACpB,YAAM,QAAQ,CAAC,GAAG;AAClB,UAAI,QAAQ;AAEZ,aAAO,MAAM,QAAQ;AACnB,cAAM,QAAQ,MAAM,IAAI;AAExB,YAAI,OAAO,UAAU,WAAW;AAC9B,mBAAS,WAAW;AAAA,QACtB,WAAW,OAAO,UAAU,UAAU;AACpC,cAAI,kBAAkB,GAAG;AACvB,qBAAS,sBAAsB,KAAK;AAAA,UACtC,OAAO;AACL,qBAAS,MAAM,SAAS,WAAW;AAAA,UACrC;AAAA,QACF,WAAW,OAAO,UAAU,UAAU;AACpC,mBAAS,WAAW;AAAA,QACtB,WAAW,OAAO,UAAU,UAAU;AACpC,gBAAM,iBAAiB,OAAO,UAAU,OAAO,OAAO,GAAG;AACzD,cAAI,gBAAgB;AAClB,qBAAS,OAAO,OAAO,GAAG,EAAE,SAAS,WAAW;AAAA,UAClD,OAAO;AACL,sBAAU,IAAI,SAAS,EAAE,SAAS,KAAK,WAAW;AAAA,UACpD;AAAA,QACF,WAAW,OAAO,UAAU,UAAU;AACpC,mBAASA,QAAO,KAAK,MAAM,SAAS,CAAC,EAAE;AAAA,QACzC,WAAW,OAAO,UAAU,YAAY;AACtC,mBAAS,MAAM,SAAS,EAAE;AAAA,QAC5B,WAAW,OAAO,UAAU,YAAY,WAAW,QAAQ,KAAK,MAAM,IAAI;AACxE,qBAAW,KAAK,KAAK;AAErB,qBAAWT,MAAK,OAAO;AACrB,kBAAM,KAAK,MAAMA,EAAC,CAAC;AAAA,UACrB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAEA,WAAO,UAAU,SAAU,KAAK;AAC9B,UAAI,YAAY;AAEhB,UAAI,QAAQ,QAAQ,OAAO,QAAQ,UAAU;AAC3C,oBAAY,kBAAkB,GAAG;AAAA,MACnC,OAAO;AACL,oBAAY,iBAAiB,GAAG;AAAA,MAClC;AAEA,aAAO;AAAA,IACT;AAAA;AAAA;;;AC9HA;AAAA;AAAA;AAAAC;AAAAC;;;ACAA;AAAA;AAAA;AAAAD;AAAAC;;;ACAA;AAAA;AAAA;AAAAD;AAAAC;;;ACAA;AAAA;AAAA;AAAAD;AAAAC;AAAA,IAAI;AAAJ,IAAM;AAAN,IAAQ,IAAE,YAAU,OAAO,UAAQ,UAAQ;AAA3C,IAAgD,IAAE,KAAG,cAAY,OAAO,EAAE,QAAM,EAAE,QAAM,SAASG,IAAEgE,IAAExD,IAAE;AAAC,SAAO,SAAS,UAAU,MAAM,KAAKR,IAAEgE,IAAExD,EAAC;AAAC;AAAE,IAAE,KAAG,cAAY,OAAO,EAAE,UAAQ,EAAE,UAAQ,OAAO,wBAAsB,SAASR,IAAE;AAAC,SAAO,OAAO,oBAAoBA,EAAC,EAAE,OAAO,OAAO,sBAAsBA,EAAC,CAAC;AAAC,IAAE,SAASA,IAAE;AAAC,SAAO,OAAO,oBAAoBA,EAAC;AAAC;AAAE,IAAI,IAAE,OAAO,SAAO,SAASA,IAAE;AAAC,SAAOA,MAAGA;AAAC;AAAE,SAAS,IAAG;AAAC,IAAE,KAAK,KAAK,IAAI;AAAE;AAAC,IAAE,GAAE,EAAE,eAAa,GAAE,EAAE,UAAU,UAAQ,QAAO,EAAE,UAAU,eAAa,GAAE,EAAE,UAAU,gBAAc;AAAO,IAAI,IAAE;AAAG,SAAS,EAAEA,IAAE;AAAC,MAAG,cAAY,OAAOA;AAAE,UAAM,IAAI,UAAU,qEAAmE,OAAOA,EAAC;AAAC;AAAC,SAAS,EAAEA,IAAE;AAAC,SAAO,WAASA,GAAE,gBAAc,EAAE,sBAAoBA,GAAE;AAAa;AAAC,SAAS,EAAEA,IAAEgE,IAAExD,IAAEyD,IAAE;AAAC,MAAItE,IAAEkB,IAAEZ,IAAE4C;AAAE,MAAG,EAAErC,EAAC,GAAE,YAAUK,KAAEb,GAAE,YAAUa,KAAEb,GAAE,UAAQ,uBAAO,OAAO,IAAI,GAAEA,GAAE,eAAa,MAAI,WAASa,GAAE,gBAAcb,GAAE,KAAK,eAAcgE,IAAExD,GAAE,WAASA,GAAE,WAASA,EAAC,GAAEK,KAAEb,GAAE,UAASC,KAAEY,GAAEmD,EAAC,IAAG,WAAS/D;AAAE,IAAAA,KAAEY,GAAEmD,EAAC,IAAExD,IAAE,EAAER,GAAE;AAAA,WAAqB,cAAY,OAAOC,KAAEA,KAAEY,GAAEmD,EAAC,IAAEC,KAAE,CAACzD,IAAEP,EAAC,IAAE,CAACA,IAAEO,EAAC,IAAEyD,KAAEhE,GAAE,QAAQO,EAAC,IAAEP,GAAE,KAAKO,EAAC,IAAGb,KAAE,EAAEK,EAAC,KAAG,KAAGC,GAAE,SAAON,MAAG,CAACM,GAAE,QAAO;AAAC,IAAAA,GAAE,SAAO;AAAG,QAAIK,KAAE,IAAI,MAAM,iDAA+CL,GAAE,SAAO,MAAI,OAAO+D,EAAC,IAAE,mEAAmE;AAAE,IAAA1D,GAAE,OAAK,+BAA8BA,GAAE,UAAQN,IAAEM,GAAE,OAAK0D,IAAE1D,GAAE,QAAML,GAAE,QAAO4C,KAAEvC,IAAE,WAAS,QAAQ,QAAM,QAAQ,KAAKuC,EAAC;AAAA,EAAE;AAAC,SAAO7C;AAAC;AAAC,SAAS,IAAG;AAAC,MAAG,CAAC,KAAK;AAAM,WAAO,KAAK,OAAO,eAAe,KAAK,MAAK,KAAK,MAAM,GAAE,KAAK,QAAM,MAAG,MAAI,UAAU,SAAO,KAAK,SAAS,KAAK,KAAK,MAAM,IAAE,KAAK,SAAS,MAAM,KAAK,QAAO,SAAS;AAAC;AAAC,SAAS,EAAEA,IAAEgE,IAAExD,IAAE;AAAC,MAAIyD,KAAE,EAAC,OAAM,OAAG,QAAO,QAAO,QAAOjE,IAAE,MAAKgE,IAAE,UAASxD,GAAC,GAAEb,KAAE,EAAE,KAAKsE,EAAC;AAAE,SAAOtE,GAAE,WAASa,IAAEyD,GAAE,SAAOtE,IAAEA;AAAC;AAAC,SAAS,EAAEK,IAAEgE,IAAExD,IAAE;AAAC,MAAIyD,KAAEjE,GAAE;AAAQ,MAAG,WAASiE;AAAE,WAAO,CAAC;AAAE,MAAItE,KAAEsE,GAAED,EAAC;AAAE,SAAO,WAASrE,KAAE,CAAC,IAAE,cAAY,OAAOA,KAAEa,KAAE,CAACb,GAAE,YAAUA,EAAC,IAAE,CAACA,EAAC,IAAEa,KAAE,SAASR,IAAE;AAAC,aAAQgE,KAAE,IAAI,MAAMhE,GAAE,MAAM,GAAEQ,KAAE,GAAEA,KAAEwD,GAAE,QAAO,EAAExD;AAAE,MAAAwD,GAAExD,EAAC,IAAER,GAAEQ,EAAC,EAAE,YAAUR,GAAEQ,EAAC;AAAE,WAAOwD;AAAA,EAAC,EAAErE,EAAC,IAAE,EAAEA,IAAEA,GAAE,MAAM;AAAC;AAAC,SAAS,EAAEK,IAAE;AAAC,MAAIgE,KAAE,KAAK;AAAQ,MAAG,WAASA,IAAE;AAAC,QAAIxD,KAAEwD,GAAEhE,EAAC;AAAE,QAAG,cAAY,OAAOQ;AAAE,aAAO;AAAE,QAAG,WAASA;AAAE,aAAOA,GAAE;AAAA,EAAM;AAAC,SAAO;AAAC;AAAC,SAAS,EAAER,IAAEgE,IAAE;AAAC,WAAQxD,KAAE,IAAI,MAAMwD,EAAC,GAAEC,KAAE,GAAEA,KAAED,IAAE,EAAEC;AAAE,IAAAzD,GAAEyD,EAAC,IAAEjE,GAAEiE,EAAC;AAAE,SAAOzD;AAAC;AAAC,OAAO,eAAe,GAAE,uBAAsB,EAAC,YAAW,MAAG,KAAI,WAAU;AAAC,SAAO;AAAC,GAAE,KAAI,SAASR,IAAE;AAAC,MAAG,YAAU,OAAOA,MAAGA,KAAE,KAAG,EAAEA,EAAC;AAAE,UAAM,IAAI,WAAW,oGAAkGA,KAAE,GAAG;AAAE,MAAEA;AAAE,EAAC,CAAC,GAAE,EAAE,OAAK,WAAU;AAAC,aAAS,KAAK,WAAS,KAAK,YAAU,OAAO,eAAe,IAAI,EAAE,YAAU,KAAK,UAAQ,uBAAO,OAAO,IAAI,GAAE,KAAK,eAAa,IAAG,KAAK,gBAAc,KAAK,iBAAe;AAAO,GAAE,EAAE,UAAU,kBAAgB,SAASA,IAAE;AAAC,MAAG,YAAU,OAAOA,MAAGA,KAAE,KAAG,EAAEA,EAAC;AAAE,UAAM,IAAI,WAAW,kFAAgFA,KAAE,GAAG;AAAE,SAAO,KAAK,gBAAcA,IAAE;AAAI,GAAE,EAAE,UAAU,kBAAgB,WAAU;AAAC,SAAO,EAAE,IAAI;AAAC,GAAE,EAAE,UAAU,OAAK,SAASA,IAAE;AAAC,WAAQgE,KAAE,CAAC,GAAExD,KAAE,GAAEA,KAAE,UAAU,QAAOA;AAAI,IAAAwD,GAAE,KAAK,UAAUxD,EAAC,CAAC;AAAE,MAAIb,KAAE,YAAUK,IAAEa,KAAE,KAAK;AAAQ,MAAG,WAASA;AAAE,IAAAlB,KAAEA,MAAG,WAASkB,GAAE;AAAA,WAAc,CAAClB;AAAE,WAAO;AAAG,MAAGA,IAAE;AAAC,QAAIM;AAAE,QAAG+D,GAAE,SAAO,MAAI/D,KAAE+D,GAAE,CAAC,IAAG/D,cAAa;AAAM,YAAMA;AAAE,QAAIiE,KAAE,IAAI,MAAM,sBAAoBjE,KAAE,OAAKA,GAAE,UAAQ,MAAI,GAAG;AAAE,UAAMiE,GAAE,UAAQjE,IAAEiE;AAAA,EAAC;AAAC,MAAIrC,KAAEhB,GAAEb,EAAC;AAAE,MAAG,WAAS6B;AAAE,WAAO;AAAG,MAAG,cAAY,OAAOA;AAAE,MAAEA,IAAE,MAAKmC,EAAC;AAAA,OAAO;AAAC,QAAInB,KAAEhB,GAAE,QAAOvB,KAAE,EAAEuB,IAAEgB,EAAC;AAAE,SAAIrC,KAAE,GAAEA,KAAEqC,IAAE,EAAErC;AAAE,QAAEF,GAAEE,EAAC,GAAE,MAAKwD,EAAC;AAAA,EAAE;AAAC,SAAO;AAAE,GAAE,EAAE,UAAU,cAAY,SAAShE,IAAEgE,IAAE;AAAC,SAAO,EAAE,MAAKhE,IAAEgE,IAAE,KAAE;AAAC,GAAE,EAAE,UAAU,KAAG,EAAE,UAAU,aAAY,EAAE,UAAU,kBAAgB,SAAShE,IAAEgE,IAAE;AAAC,SAAO,EAAE,MAAKhE,IAAEgE,IAAE,IAAE;AAAC,GAAE,EAAE,UAAU,OAAK,SAAShE,IAAEgE,IAAE;AAAC,SAAO,EAAEA,EAAC,GAAE,KAAK,GAAGhE,IAAE,EAAE,MAAKA,IAAEgE,EAAC,CAAC,GAAE;AAAI,GAAE,EAAE,UAAU,sBAAoB,SAAShE,IAAEgE,IAAE;AAAC,SAAO,EAAEA,EAAC,GAAE,KAAK,gBAAgBhE,IAAE,EAAE,MAAKA,IAAEgE,EAAC,CAAC,GAAE;AAAI,GAAE,EAAE,UAAU,iBAAe,SAAShE,IAAEgE,IAAE;AAAC,MAAIxD,IAAEyD,IAAEtE,IAAEkB,IAAEZ;AAAE,MAAG,EAAE+D,EAAC,GAAE,YAAUC,KAAE,KAAK;AAAS,WAAO;AAAK,MAAG,YAAUzD,KAAEyD,GAAEjE,EAAC;AAAG,WAAO;AAAK,MAAGQ,OAAIwD,MAAGxD,GAAE,aAAWwD;AAAE,SAAG,EAAE,KAAK,eAAa,KAAK,UAAQ,uBAAO,OAAO,IAAI,KAAG,OAAOC,GAAEjE,EAAC,GAAEiE,GAAE,kBAAgB,KAAK,KAAK,kBAAiBjE,IAAEQ,GAAE,YAAUwD,EAAC;AAAA,WAAW,cAAY,OAAOxD,IAAE;AAAC,SAAIb,KAAE,IAAGkB,KAAEL,GAAE,SAAO,GAAEK,MAAG,GAAEA;AAAI,UAAGL,GAAEK,EAAC,MAAImD,MAAGxD,GAAEK,EAAC,EAAE,aAAWmD,IAAE;AAAC,QAAA/D,KAAEO,GAAEK,EAAC,EAAE,UAASlB,KAAEkB;AAAE;AAAA,MAAK;AAAC,QAAGlB,KAAE;AAAE,aAAO;AAAK,UAAIA,KAAEa,GAAE,MAAM,IAAE,CAAC,SAASR,IAAEgE,IAAE;AAAC,aAAKA,KAAE,IAAEhE,GAAE,QAAOgE;AAAI,QAAAhE,GAAEgE,EAAC,IAAEhE,GAAEgE,KAAE,CAAC;AAAE,MAAAhE,GAAE,IAAI;AAAA,IAAE,EAAEQ,IAAEb,EAAC,GAAE,MAAIa,GAAE,WAASyD,GAAEjE,EAAC,IAAEQ,GAAE,CAAC,IAAG,WAASyD,GAAE,kBAAgB,KAAK,KAAK,kBAAiBjE,IAAEC,MAAG+D,EAAC;AAAA,EAAE;AAAC,SAAO;AAAI,GAAE,EAAE,UAAU,MAAI,EAAE,UAAU,gBAAe,EAAE,UAAU,qBAAmB,SAAShE,IAAE;AAAC,MAAIgE,IAAExD,IAAEyD;AAAE,MAAG,YAAUzD,KAAE,KAAK;AAAS,WAAO;AAAK,MAAG,WAASA,GAAE;AAAe,WAAO,MAAI,UAAU,UAAQ,KAAK,UAAQ,uBAAO,OAAO,IAAI,GAAE,KAAK,eAAa,KAAG,WAASA,GAAER,EAAC,MAAI,KAAG,EAAE,KAAK,eAAa,KAAK,UAAQ,uBAAO,OAAO,IAAI,IAAE,OAAOQ,GAAER,EAAC,IAAG;AAAK,MAAG,MAAI,UAAU,QAAO;AAAC,QAAIL,IAAEkB,KAAE,OAAO,KAAKL,EAAC;AAAE,SAAIyD,KAAE,GAAEA,KAAEpD,GAAE,QAAO,EAAEoD;AAAE,4BAAoBtE,KAAEkB,GAAEoD,EAAC,MAAI,KAAK,mBAAmBtE,EAAC;AAAE,WAAO,KAAK,mBAAmB,gBAAgB,GAAE,KAAK,UAAQ,uBAAO,OAAO,IAAI,GAAE,KAAK,eAAa,GAAE;AAAA,EAAI;AAAC,MAAG,cAAY,QAAOqE,KAAExD,GAAER,EAAC;AAAG,SAAK,eAAeA,IAAEgE,EAAC;AAAA,WAAU,WAASA;AAAE,SAAIC,KAAED,GAAE,SAAO,GAAEC,MAAG,GAAEA;AAAI,WAAK,eAAejE,IAAEgE,GAAEC,EAAC,CAAC;AAAE,SAAO;AAAI,GAAE,EAAE,UAAU,YAAU,SAASjE,IAAE;AAAC,SAAO,EAAE,MAAKA,IAAE,IAAE;AAAC,GAAE,EAAE,UAAU,eAAa,SAASA,IAAE;AAAC,SAAO,EAAE,MAAKA,IAAE,KAAE;AAAC,GAAE,EAAE,gBAAc,SAASA,IAAEgE,IAAE;AAAC,SAAO,cAAY,OAAOhE,GAAE,gBAAcA,GAAE,cAAcgE,EAAC,IAAE,EAAE,KAAKhE,IAAEgE,EAAC;AAAC,GAAE,EAAE,UAAU,gBAAc,GAAE,EAAE,UAAU,aAAW,WAAU;AAAC,SAAO,KAAK,eAAa,IAAE,EAAE,KAAK,OAAO,IAAE,CAAC;AAAC;AAAE,IAAI,IAAE;AAAE,EAAE;AAAa,EAAE;AAAoB,EAAE;AAAK,EAAE;AAE7zK,EAAE;AACF,EAAE;AACF,EAAE;AACF,EAAE;;;ADDF,EAAE,OAAO,SAAU,SAAS,OAAO;AACjC,SAAO,IAAI,QAAQ,CAACM,UAAS,WAAW;AACtC,aAAS,iBAAiB,MAAM;AAC9B,UAAI,kBAAkB,QAAW;AAC/B,gBAAQ,eAAe,SAAS,aAAa;AAAA,MAC/C;AACA,MAAAA,SAAQ,IAAI;AAAA,IACd;AACA,QAAI;AACJ,QAAI,UAAU,SAAS;AAErB,sBAAgB,CAAC,QAAQ;AACvB,gBAAQ,eAAe,MAAM,aAAa;AAC1C,eAAO,GAAG;AAAA,MACZ;AAEA,cAAQ,KAAK,SAAS,aAAa;AAAA,IACrC;AAEA,YAAQ,KAAK,OAAO,aAAa;AAAA,EACnC,CAAC;AACH;AACA,EAAE,KAAK,SAAU,SAAS,OAAO;AAC/B,QAAM,wBAAwB,CAAC;AAC/B,QAAM,qBAAqB,CAAC;AAC5B,MAAI,QAAQ;AACZ,MAAI,WAAW;AAEf,QAAM,WAAW;AAAA,IACf,MAAM,OAAO;AACX,YAAM,QAAQ,sBAAsB,MAAM;AAC1C,UAAI,OAAO;AACT,eAAO,iBAAiB,OAAO,KAAK;AAAA,MACtC;AAEA,UAAI,OAAO;AACT,cAAMF,KAAI,QAAQ,OAAO,KAAK;AAC9B,gBAAQ;AACR,eAAOA;AAAA,MACT;AAEA,UAAI,UAAU;AACZ,eAAO,iBAAiB,QAAW,IAAI;AAAA,MACzC;AAEA,aAAO,IAAI,QAAQ,CAACE,UAAS,WAAW,mBAAmB,KAAK,EAAE,SAAAA,UAAS,OAAO,CAAC,CAAC;AAAA,IACtF;AAAA,IACA,MAAM,SAAS;AACb,cAAQ,eAAe,OAAO,YAAY;AAC1C,cAAQ,eAAe,SAAS,YAAY;AAC5C,iBAAW;AAEX,iBAAW,WAAW,oBAAoB;AACxC,gBAAQ,QAAQ,iBAAiB,QAAW,IAAI,CAAC;AAAA,MACnD;AAEA,aAAO,iBAAiB,QAAW,IAAI;AAAA,IACzC;AAAA,IACA,MAAM,KAAK;AACT,cAAQ;AACR,cAAQ,eAAe,OAAO,YAAY;AAC1C,cAAQ,eAAe,SAAS,YAAY;AAAA,IAC9C;AAAA,IACA,CAAC,OAAO,aAAa,IAAI;AACvB,aAAO;AAAA,IACT;AAAA,EACF;AAEA,UAAQ,GAAG,OAAO,YAAY;AAC9B,UAAQ,GAAG,SAAS,YAAY;AAEhC,SAAO;AAEP,WAAS,gBAAgB,MAAM;AAC7B,UAAM,UAAU,mBAAmB,MAAM;AACzC,QAAI,SAAS;AACX,cAAQ,QAAQ,iBAAiB,MAAM,KAAK,CAAC;AAAA,IAC/C,OAAO;AACL,4BAAsB,KAAK,IAAI;AAAA,IACjC;AAAA,EACF;AAEA,WAAS,aAAa,KAAK;AACzB,eAAW;AACX,UAAM,UAAU,mBAAmB,MAAM;AACzC,QAAI,SAAS;AACX,cAAQ,OAAO,GAAG;AAAA,IACpB,OAAO;AACL,cAAQ;AAAA,IACV;AACA,aAAS,OAAO;AAAA,EAClB;AACF;AACA,IAAM;AAAA,EACJ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,IAAAC;AAAA,EACA,MAAAC;AACF,IAAI;;;AExGJ;AAAA;AAAA;AAAA5E;AAAAC;;;ACAA;AAAA;AAAA;AAAAD;AAAAC;AAGA,IAAI;AACJ,IAAM,QAAQ,IAAI,WAAW,EAAE;AAChB,SAAR,MAAuB;AAE5B,MAAI,CAAC,iBAAiB;AAEpB,sBAAkB,OAAO,WAAW,eAAe,OAAO,mBAAmB,OAAO,gBAAgB,KAAK,MAAM;AAE/G,QAAI,CAAC,iBAAiB;AACpB,YAAM,IAAI,MAAM,0GAA0G;AAAA,IAC5H;AAAA,EACF;AAEA,SAAO,gBAAgB,KAAK;AAC9B;;;ACjBA;AAAA;AAAA;AAAAD;AAAAC;AAMA,IAAM,YAAY,CAAC;AAEnB,SAASF,KAAI,GAAGA,KAAI,KAAK,EAAEA,IAAG;AAC5B,YAAU,MAAMA,KAAI,KAAO,SAAS,EAAE,EAAE,MAAM,CAAC,CAAC;AAClD;AAEO,SAAS,gBAAgB,KAAK,SAAS,GAAG;AAG/C,UAAQ,UAAU,IAAI,SAAS,CAAC,CAAC,IAAI,UAAU,IAAI,SAAS,CAAC,CAAC,IAAI,UAAU,IAAI,SAAS,CAAC,CAAC,IAAI,UAAU,IAAI,SAAS,CAAC,CAAC,IAAI,MAAM,UAAU,IAAI,SAAS,CAAC,CAAC,IAAI,UAAU,IAAI,SAAS,CAAC,CAAC,IAAI,MAAM,UAAU,IAAI,SAAS,CAAC,CAAC,IAAI,UAAU,IAAI,SAAS,CAAC,CAAC,IAAI,MAAM,UAAU,IAAI,SAAS,CAAC,CAAC,IAAI,UAAU,IAAI,SAAS,CAAC,CAAC,IAAI,MAAM,UAAU,IAAI,SAAS,EAAE,CAAC,IAAI,UAAU,IAAI,SAAS,EAAE,CAAC,IAAI,UAAU,IAAI,SAAS,EAAE,CAAC,IAAI,UAAU,IAAI,SAAS,EAAE,CAAC,IAAI,UAAU,IAAI,SAAS,EAAE,CAAC,IAAI,UAAU,IAAI,SAAS,EAAE,CAAC,GAAG,YAAY;AACngB;;;AChBA;AAAA;AAAA;AAAAC;AAAAC;;;ACAA;AAAA;AAAA;AAAAD;AAAAC;AAAA,IAAM,aAAa,OAAO,WAAW,eAAe,OAAO,cAAc,OAAO,WAAW,KAAK,MAAM;AACtG,IAAO,iBAAQ;AAAA,EACb;AACF;;;ADCA,SAAS,GAAG,SAAS,KAAK,QAAQ;AAChC,MAAI,eAAO,cAAc,CAAC,OAAO,CAAC,SAAS;AACzC,WAAO,eAAO,WAAW;AAAA,EAC3B;AAEA,YAAU,WAAW,CAAC;AACtB,QAAM,OAAO,QAAQ,WAAW,QAAQ,OAAO,KAAK;AAEpD,OAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAO;AAC3B,OAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAO;AAE3B,MAAI,KAAK;AACP,aAAS,UAAU;AAEnB,aAASF,KAAI,GAAGA,KAAI,IAAI,EAAEA,IAAG;AAC3B,UAAI,SAASA,EAAC,IAAI,KAAKA,EAAC;AAAA,IAC1B;AAEA,WAAO;AAAA,EACT;AAEA,SAAO,gBAAgB,IAAI;AAC7B;AAEA,IAAO,aAAQ;;;AN1Bf,IAAA8E,qBAAsB;AACtB,uBAAsB;;;AQHtB;AAAA;AAAA;AAAA7E;AAAAC;;;ACAA;AAAA;AAAA;AAAAD;AAAAC;;;ACAA;AAAA;AAAA;AAAAD;AAAAC;;;ACAA;AAAA;AAAA;AAAAD;AAAAC;AAOO,IAAe,kBAAf,MAA+B;AAAA,EAEpC,YAA4B6E,SAAuB;AAAvB,kBAAAA;AAAA,EAAwB;AAGtD;;;ACZA;AAAA;AAAA;AAAA9E;AAAAC;;;ACAA;AAAA;AAAA;AAAAD;AAAAC;;;ACAA;AAAA;AAAA;AAAAD;AAAAC;;;ACAA;AAAA;AAAA;AAAAD;AAAAC;;;ACAA;AAAA;AAAA;AAAAD;AAAAC;AAEe,SAAR,KAAsB,IAAI,SAAS;AACxC,SAAO,SAAS,OAAO;AACrB,WAAO,GAAG,MAAM,SAAS,SAAS;AAAA,EACpC;AACF;;;ADAA,IAAM,EAAC,SAAQ,IAAI,OAAO;AAC1B,IAAM,EAAC,eAAc,IAAI;AAEzB,IAAM,UAAU,WAAS,WAAS;AAC9B,QAAM,MAAM,SAAS,KAAK,KAAK;AAC/B,SAAO,MAAM,GAAG,MAAM,MAAM,GAAG,IAAI,IAAI,MAAM,GAAG,EAAE,EAAE,YAAY;AACpE,GAAG,uBAAO,OAAO,IAAI,CAAC;AAEtB,IAAM,aAAa,CAAC,SAAS;AAC3B,SAAO,KAAK,YAAY;AACxB,SAAO,CAAC,UAAU,OAAO,KAAK,MAAM;AACtC;AAEA,IAAM,aAAa,UAAQ,WAAS,OAAO,UAAU;AASrD,IAAM,EAAC,QAAO,IAAI;AASlB,IAAM,cAAc,WAAW,WAAW;AAS1C,SAAS,SAAS,KAAK;AACrB,SAAO,QAAQ,QAAQ,CAAC,YAAY,GAAG,KAAK,IAAI,gBAAgB,QAAQ,CAAC,YAAY,IAAI,WAAW,KAC/F,WAAW,IAAI,YAAY,QAAQ,KAAK,IAAI,YAAY,SAAS,GAAG;AAC3E;AASA,IAAM,gBAAgB,WAAW,aAAa;AAU9C,SAAS,kBAAkB,KAAK;AAC9B,MAAI;AACJ,MAAK,OAAO,gBAAgB,eAAiB,YAAY,QAAS;AAChE,aAAS,YAAY,OAAO,GAAG;AAAA,EACjC,OAAO;AACL,aAAU,OAAS,IAAI,UAAY,cAAc,IAAI,MAAM;AAAA,EAC7D;AACA,SAAO;AACT;AASA,IAAM,WAAW,WAAW,QAAQ;AAQpC,IAAM,aAAa,WAAW,UAAU;AASxC,IAAM,WAAW,WAAW,QAAQ;AASpC,IAAM,WAAW,CAAC,UAAU,UAAU,QAAQ,OAAO,UAAU;AAQ/D,IAAM,YAAY,WAAS,UAAU,QAAQ,UAAU;AASvD,IAAM,gBAAgB,CAAC,QAAQ;AAC7B,MAAI,OAAO,GAAG,MAAM,UAAU;AAC5B,WAAO;AAAA,EACT;AAEA,QAAM8E,aAAY,eAAe,GAAG;AACpC,UAAQA,eAAc,QAAQA,eAAc,OAAO,aAAa,OAAO,eAAeA,UAAS,MAAM,SAAS,EAAE,OAAO,eAAe,QAAQ,EAAE,OAAO,YAAY;AACrK;AASA,IAAM,SAAS,WAAW,MAAM;AAShC,IAAM,SAAS,WAAW,MAAM;AAShC,IAAM,SAAS,WAAW,MAAM;AAShC,IAAM,aAAa,WAAW,UAAU;AASxC,IAAM,WAAW,CAAC,QAAQ,SAAS,GAAG,KAAK,WAAW,IAAI,IAAI;AAS9D,IAAM,aAAa,CAAC,UAAU;AAC5B,MAAI;AACJ,SAAO,UACJ,OAAO,aAAa,cAAc,iBAAiB,YAClD,WAAW,MAAM,MAAM,OACpB,OAAO,OAAO,KAAK,OAAO;AAAA,EAE1B,SAAS,YAAY,WAAW,MAAM,QAAQ,KAAK,MAAM,SAAS,MAAM;AAIjF;AASA,IAAM,oBAAoB,WAAW,iBAAiB;AAStD,IAAM,OAAO,CAAC,QAAQ,IAAI,OACxB,IAAI,KAAK,IAAI,IAAI,QAAQ,sCAAsC,EAAE;AAiBnE,SAAS,QAAQ,KAAK,IAAI,EAAC,aAAa,MAAK,IAAI,CAAC,GAAG;AAEnD,MAAI,QAAQ,QAAQ,OAAO,QAAQ,aAAa;AAC9C;AAAA,EACF;AAEA,MAAIhF;AACJ,MAAI4C;AAGJ,MAAI,OAAO,QAAQ,UAAU;AAE3B,UAAM,CAAC,GAAG;AAAA,EACZ;AAEA,MAAI,QAAQ,GAAG,GAAG;AAEhB,SAAK5C,KAAI,GAAG4C,KAAI,IAAI,QAAQ5C,KAAI4C,IAAG5C,MAAK;AACtC,SAAG,KAAK,MAAM,IAAIA,EAAC,GAAGA,IAAG,GAAG;AAAA,IAC9B;AAAA,EACF,OAAO;AAEL,UAAM,OAAO,aAAa,OAAO,oBAAoB,GAAG,IAAI,OAAO,KAAK,GAAG;AAC3E,UAAM,MAAM,KAAK;AACjB,QAAI;AAEJ,SAAKA,KAAI,GAAGA,KAAI,KAAKA,MAAK;AACxB,YAAM,KAAKA,EAAC;AACZ,SAAG,KAAK,MAAM,IAAI,GAAG,GAAG,KAAK,GAAG;AAAA,IAClC;AAAA,EACF;AACF;AAEA,SAAS,QAAQ,KAAK,KAAK;AACzB,QAAM,IAAI,YAAY;AACtB,QAAM,OAAO,OAAO,KAAK,GAAG;AAC5B,MAAIA,KAAI,KAAK;AACb,MAAI;AACJ,SAAOA,OAAM,GAAG;AACd,WAAO,KAAKA,EAAC;AACb,QAAI,QAAQ,KAAK,YAAY,GAAG;AAC9B,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AAEA,IAAM,WAAW,MAAM;AAErB,MAAI,OAAO,eAAe;AAAa,WAAO;AAC9C,SAAO,OAAO,SAAS,cAAc,OAAQ,OAAO,WAAW,cAAc,SAAS;AACxF,GAAG;AAEH,IAAM,mBAAmB,CAAC,YAAY,CAAC,YAAY,OAAO,KAAK,YAAY;AAoB3E,SAAS,QAAmC;AAC1C,QAAM,EAAC,SAAQ,IAAI,iBAAiB,IAAI,KAAK,QAAQ,CAAC;AACtD,QAAM,SAAS,CAAC;AAChB,QAAM,cAAc,CAAC,KAAK,QAAQ;AAChC,UAAM,YAAY,YAAY,QAAQ,QAAQ,GAAG,KAAK;AACtD,QAAI,cAAc,OAAO,SAAS,CAAC,KAAK,cAAc,GAAG,GAAG;AAC1D,aAAO,SAAS,IAAI,MAAM,OAAO,SAAS,GAAG,GAAG;AAAA,IAClD,WAAW,cAAc,GAAG,GAAG;AAC7B,aAAO,SAAS,IAAI,MAAM,CAAC,GAAG,GAAG;AAAA,IACnC,WAAW,QAAQ,GAAG,GAAG;AACvB,aAAO,SAAS,IAAI,IAAI,MAAM;AAAA,IAChC,OAAO;AACL,aAAO,SAAS,IAAI;AAAA,IACtB;AAAA,EACF;AAEA,WAASA,KAAI,GAAG4C,KAAI,UAAU,QAAQ5C,KAAI4C,IAAG5C,MAAK;AAChD,cAAUA,EAAC,KAAK,QAAQ,UAAUA,EAAC,GAAG,WAAW;AAAA,EACnD;AACA,SAAO;AACT;AAYA,IAAM,SAAS,CAACW,IAAG,GAAG,SAAS,EAAC,WAAU,IAAG,CAAC,MAAM;AAClD,UAAQ,GAAG,CAAC,KAAK,QAAQ;AACvB,QAAI,WAAW,WAAW,GAAG,GAAG;AAC9B,MAAAA,GAAE,GAAG,IAAI,KAAK,KAAK,OAAO;AAAA,IAC5B,OAAO;AACL,MAAAA,GAAE,GAAG,IAAI;AAAA,IACX;AAAA,EACF,GAAG,EAAC,WAAU,CAAC;AACf,SAAOA;AACT;AASA,IAAM,WAAW,CAAC,YAAY;AAC5B,MAAI,QAAQ,WAAW,CAAC,MAAM,OAAQ;AACpC,cAAU,QAAQ,MAAM,CAAC;AAAA,EAC3B;AACA,SAAO;AACT;AAWA,IAAM,WAAW,CAAC,aAAa,kBAAkB,OAAOsE,iBAAgB;AACtE,cAAY,YAAY,OAAO,OAAO,iBAAiB,WAAWA,YAAW;AAC7E,cAAY,UAAU,cAAc;AACpC,SAAO,eAAe,aAAa,SAAS;AAAA,IAC1C,OAAO,iBAAiB;AAAA,EAC1B,CAAC;AACD,WAAS,OAAO,OAAO,YAAY,WAAW,KAAK;AACrD;AAWA,IAAM,eAAe,CAAC,WAAW,SAASC,SAAQ,eAAe;AAC/D,MAAI;AACJ,MAAIlF;AACJ,MAAI;AACJ,QAAM,SAAS,CAAC;AAEhB,YAAU,WAAW,CAAC;AAEtB,MAAI,aAAa;AAAM,WAAO;AAE9B,KAAG;AACD,YAAQ,OAAO,oBAAoB,SAAS;AAC5C,IAAAA,KAAI,MAAM;AACV,WAAOA,OAAM,GAAG;AACd,aAAO,MAAMA,EAAC;AACd,WAAK,CAAC,cAAc,WAAW,MAAM,WAAW,OAAO,MAAM,CAAC,OAAO,IAAI,GAAG;AAC1E,gBAAQ,IAAI,IAAI,UAAU,IAAI;AAC9B,eAAO,IAAI,IAAI;AAAA,MACjB;AAAA,IACF;AACA,gBAAYkF,YAAW,SAAS,eAAe,SAAS;AAAA,EAC1D,SAAS,cAAc,CAACA,WAAUA,QAAO,WAAW,OAAO,MAAM,cAAc,OAAO;AAEtF,SAAO;AACT;AAWA,IAAM,WAAW,CAAC,KAAK,cAAc,aAAa;AAChD,QAAM,OAAO,GAAG;AAChB,MAAI,aAAa,UAAa,WAAW,IAAI,QAAQ;AACnD,eAAW,IAAI;AAAA,EACjB;AACA,cAAY,aAAa;AACzB,QAAM,YAAY,IAAI,QAAQ,cAAc,QAAQ;AACpD,SAAO,cAAc,MAAM,cAAc;AAC3C;AAUA,IAAM,UAAU,CAAC,UAAU;AACzB,MAAI,CAAC;AAAO,WAAO;AACnB,MAAI,QAAQ,KAAK;AAAG,WAAO;AAC3B,MAAIlF,KAAI,MAAM;AACd,MAAI,CAAC,SAASA,EAAC;AAAG,WAAO;AACzB,QAAM,MAAM,IAAI,MAAMA,EAAC;AACvB,SAAOA,OAAM,GAAG;AACd,QAAIA,EAAC,IAAI,MAAMA,EAAC;AAAA,EAClB;AACA,SAAO;AACT;AAWA,IAAM,gBAAgB,gBAAc;AAElC,SAAO,WAAS;AACd,WAAO,cAAc,iBAAiB;AAAA,EACxC;AACF,GAAG,OAAO,eAAe,eAAe,eAAe,UAAU,CAAC;AAUlE,IAAM,eAAe,CAAC,KAAK,OAAO;AAChC,QAAM,YAAY,OAAO,IAAI,OAAO,QAAQ;AAE5C,QAAM,WAAW,UAAU,KAAK,GAAG;AAEnC,MAAI;AAEJ,UAAQ,SAAS,SAAS,KAAK,MAAM,CAAC,OAAO,MAAM;AACjD,UAAM,OAAO,OAAO;AACpB,OAAG,KAAK,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC;AAAA,EAC/B;AACF;AAUA,IAAM,WAAW,CAAC,QAAQ,QAAQ;AAChC,MAAI;AACJ,QAAM,MAAM,CAAC;AAEb,UAAQ,UAAU,OAAO,KAAK,GAAG,OAAO,MAAM;AAC5C,QAAI,KAAK,OAAO;AAAA,EAClB;AAEA,SAAO;AACT;AAGA,IAAM,aAAa,WAAW,iBAAiB;AAE/C,IAAM,cAAc,SAAO;AACzB,SAAO,IAAI,YAAY,EAAE;AAAA,IAAQ;AAAA,IAC/B,SAAS,SAAS,GAAG,IAAI,IAAI;AAC3B,aAAO,GAAG,YAAY,IAAI;AAAA,IAC5B;AAAA,EACF;AACF;AAGA,IAAM,kBAAkB,CAAC,EAAC,gBAAAoD,gBAAc,MAAM,CAAC,KAAK,SAASA,gBAAe,KAAK,KAAK,IAAI,GAAG,OAAO,SAAS;AAS7G,IAAM,WAAW,WAAW,QAAQ;AAEpC,IAAM,oBAAoB,CAAC,KAAK,YAAY;AAC1C,QAAM6B,eAAc,OAAO,0BAA0B,GAAG;AACxD,QAAM,qBAAqB,CAAC;AAE5B,UAAQA,cAAa,CAAC,YAAYlF,UAAS;AACzC,QAAI,QAAQ,YAAYA,OAAM,GAAG,MAAM,OAAO;AAC5C,yBAAmBA,KAAI,IAAI;AAAA,IAC7B;AAAA,EACF,CAAC;AAED,SAAO,iBAAiB,KAAK,kBAAkB;AACjD;AAOA,IAAM,gBAAgB,CAAC,QAAQ;AAC7B,oBAAkB,KAAK,CAAC,YAAYA,UAAS;AAE3C,QAAI,WAAW,GAAG,KAAK,CAAC,aAAa,UAAU,QAAQ,EAAE,QAAQA,KAAI,MAAM,IAAI;AAC7E,aAAO;AAAA,IACT;AAEA,UAAM,QAAQ,IAAIA,KAAI;AAEtB,QAAI,CAAC,WAAW,KAAK;AAAG;AAExB,eAAW,aAAa;AAExB,QAAI,cAAc,YAAY;AAC5B,iBAAW,WAAW;AACtB;AAAA,IACF;AAEA,QAAI,CAAC,WAAW,KAAK;AACnB,iBAAW,MAAM,MAAM;AACrB,cAAM,MAAM,uCAAwCA,QAAO,GAAI;AAAA,MACjE;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAEA,IAAM,cAAc,CAAC,eAAe,cAAc;AAChD,QAAM,MAAM,CAAC;AAEb,QAAMiC,UAAS,CAAC,QAAQ;AACtB,QAAI,QAAQ,WAAS;AACnB,UAAI,KAAK,IAAI;AAAA,IACf,CAAC;AAAA,EACH;AAEA,UAAQ,aAAa,IAAIA,QAAO,aAAa,IAAIA,QAAO,OAAO,aAAa,EAAE,MAAM,SAAS,CAAC;AAE9F,SAAO;AACT;AAEA,IAAMoC,QAAO,MAAM;AAAC;AAEpB,IAAM,iBAAiB,CAAC,OAAO,iBAAiB;AAC9C,UAAQ,CAAC;AACT,SAAO,OAAO,SAAS,KAAK,IAAI,QAAQ;AAC1C;AAEA,IAAM,QAAQ;AAEd,IAAM,QAAQ;AAEd,IAAM,WAAW;AAAA,EACf;AAAA,EACA;AAAA,EACA,aAAa,QAAQ,MAAM,YAAY,IAAI;AAC7C;AAEA,IAAM,iBAAiB,CAAC,OAAO,IAAI,WAAW,SAAS,gBAAgB;AACrE,MAAI,MAAM;AACV,QAAM,EAAC,OAAM,IAAI;AACjB,SAAO,QAAQ;AACb,WAAO,SAAS,KAAK,OAAO,IAAI,SAAO,CAAC;AAAA,EAC1C;AAEA,SAAO;AACT;AASA,SAAS,oBAAoB,OAAO;AAClC,SAAO,CAAC,EAAE,SAAS,WAAW,MAAM,MAAM,KAAK,MAAM,OAAO,WAAW,MAAM,cAAc,MAAM,OAAO,QAAQ;AAClH;AAEA,IAAM,eAAe,CAAC,QAAQ;AAC5B,QAAM,QAAQ,IAAI,MAAM,EAAE;AAE1B,QAAM,QAAQ,CAAC,QAAQpE,OAAM;AAE3B,QAAI,SAAS,MAAM,GAAG;AACpB,UAAI,MAAM,QAAQ,MAAM,KAAK,GAAG;AAC9B;AAAA,MACF;AAEA,UAAG,EAAE,YAAY,SAAS;AACxB,cAAMA,EAAC,IAAI;AACX,cAAM,SAAS,QAAQ,MAAM,IAAI,CAAC,IAAI,CAAC;AAEvC,gBAAQ,QAAQ,CAAC,OAAO,QAAQ;AAC9B,gBAAM,eAAe,MAAM,OAAOA,KAAI,CAAC;AACvC,WAAC,YAAY,YAAY,MAAM,OAAO,GAAG,IAAI;AAAA,QAC/C,CAAC;AAED,cAAMA,EAAC,IAAI;AAEX,eAAO;AAAA,MACT;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAEA,SAAO,MAAM,KAAK,CAAC;AACrB;AAEA,IAAM,YAAY,WAAW,eAAe;AAE5C,IAAM,aAAa,CAAC,UAClB,UAAU,SAAS,KAAK,KAAK,WAAW,KAAK,MAAM,WAAW,MAAM,IAAI,KAAK,WAAW,MAAM,KAAK;AAErG,IAAO,gBAAQ;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AAAA;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,MAAAoE;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;;;AEjtBA;AAAA;AAAA;AAAAnE;AAAAC;;;ACAA;AAAA;AAAA;AAAAD;AAAAC;;;ACAA;AAAA;AAAA;AAAAD;AAAAC;;;ACAA;AAAA;AAAA;AAAAD;AAAAC;;;ACAA;AAAA;AAAA;AAAAD;AAAAC;AAeA,SAAS,WAAW,SAAS,MAAM6E,SAAQI,UAAS,UAAU;AAC5D,QAAM,KAAK,IAAI;AAEf,MAAI,MAAM,mBAAmB;AAC3B,UAAM,kBAAkB,MAAM,KAAK,WAAW;AAAA,EAChD,OAAO;AACL,SAAK,QAAS,IAAI,MAAM,EAAG;AAAA,EAC7B;AAEA,OAAK,UAAU;AACf,OAAK,OAAO;AACZ,WAAS,KAAK,OAAO;AACrB,EAAAJ,YAAW,KAAK,SAASA;AACzB,EAAAI,aAAY,KAAK,UAAUA;AAC3B,eAAa,KAAK,WAAW;AAC/B;AAEA,cAAM,SAAS,YAAY,OAAO;AAAA,EAChC,QAAQ,SAAS,SAAS;AACxB,WAAO;AAAA;AAAA,MAEL,SAAS,KAAK;AAAA,MACd,MAAM,KAAK;AAAA;AAAA,MAEX,aAAa,KAAK;AAAA,MAClB,QAAQ,KAAK;AAAA;AAAA,MAEb,UAAU,KAAK;AAAA,MACf,YAAY,KAAK;AAAA,MACjB,cAAc,KAAK;AAAA,MACnB,OAAO,KAAK;AAAA;AAAA,MAEZ,QAAQ,cAAM,aAAa,KAAK,MAAM;AAAA,MACtC,MAAM,KAAK;AAAA,MACX,QAAQ,KAAK,YAAY,KAAK,SAAS,SAAS,KAAK,SAAS,SAAS;AAAA,IACzE;AAAA,EACF;AACF,CAAC;AAED,IAAM,YAAY,WAAW;AAC7B,IAAM,cAAc,CAAC;AAErB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAEF,EAAE,QAAQ,UAAQ;AAChB,cAAY,IAAI,IAAI,EAAC,OAAO,KAAI;AAClC,CAAC;AAED,OAAO,iBAAiB,YAAY,WAAW;AAC/C,OAAO,eAAe,WAAW,gBAAgB,EAAC,OAAO,KAAI,CAAC;AAG9D,WAAW,OAAO,CAAC,OAAO,MAAMJ,SAAQI,UAAS,UAAU,gBAAgB;AACzE,QAAM,aAAa,OAAO,OAAO,SAAS;AAE1C,gBAAM,aAAa,OAAO,YAAY,SAASD,QAAO,KAAK;AACzD,WAAO,QAAQ,MAAM;AAAA,EACvB,GAAG,UAAQ;AACT,WAAO,SAAS;AAAA,EAClB,CAAC;AAED,aAAW,KAAK,YAAY,MAAM,SAAS,MAAMH,SAAQI,UAAS,QAAQ;AAE1E,aAAW,QAAQ;AAEnB,aAAW,OAAO,MAAM;AAExB,iBAAe,OAAO,OAAO,YAAY,WAAW;AAEpD,SAAO;AACT;AAEA,IAAO,qBAAQ;;;ACnGf;AAAA;AAAA;AAAAlF;AAAAC;AACA,IAAO,eAAQ;;;AFaf,SAAS,YAAY,OAAO;AAC1B,SAAO,cAAM,cAAc,KAAK,KAAK,cAAM,QAAQ,KAAK;AAC1D;AASA,SAAS,eAAe,KAAK;AAC3B,SAAO,cAAM,SAAS,KAAK,IAAI,IAAI,IAAI,MAAM,GAAG,EAAE,IAAI;AACxD;AAWA,SAAS,UAAU,MAAM,KAAK,MAAM;AAClC,MAAI,CAAC;AAAM,WAAO;AAClB,SAAO,KAAK,OAAO,GAAG,EAAE,IAAI,SAAS,KAAK,OAAOF,IAAG;AAElD,YAAQ,eAAe,KAAK;AAC5B,WAAO,CAAC,QAAQA,KAAI,MAAM,QAAQ,MAAM;AAAA,EAC1C,CAAC,EAAE,KAAK,OAAO,MAAM,EAAE;AACzB;AASA,SAAS,YAAY,KAAK;AACxB,SAAO,cAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,KAAK,WAAW;AACpD;AAEA,IAAM,aAAa,cAAM,aAAa,eAAO,CAAC,GAAG,MAAM,SAAS,OAAO,MAAM;AAC3E,SAAO,WAAW,KAAK,IAAI;AAC7B,CAAC;AAyBD,SAAS,WAAW,KAAK,UAAU,SAAS;AAC1C,MAAI,CAAC,cAAM,SAAS,GAAG,GAAG;AACxB,UAAM,IAAI,UAAU,0BAA0B;AAAA,EAChD;AAGA,aAAW,YAAY,KAAK,gBAAoB,UAAU;AAG1D,YAAU,cAAM,aAAa,SAAS;AAAA,IACpC,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,SAAS;AAAA,EACX,GAAG,OAAO,SAAS,QAAQ,QAAQ,QAAQ;AAEzC,WAAO,CAAC,cAAM,YAAY,OAAO,MAAM,CAAC;AAAA,EAC1C,CAAC;AAED,QAAM,aAAa,QAAQ;AAE3B,QAAM,UAAU,QAAQ,WAAW;AACnC,QAAM,OAAO,QAAQ;AACrB,QAAM,UAAU,QAAQ;AACxB,QAAM,QAAQ,QAAQ,QAAQ,OAAO,SAAS,eAAe;AAC7D,QAAM,UAAU,SAAS,cAAM,oBAAoB,QAAQ;AAE3D,MAAI,CAAC,cAAM,WAAW,OAAO,GAAG;AAC9B,UAAM,IAAI,UAAU,4BAA4B;AAAA,EAClD;AAEA,WAAS,aAAa,OAAO;AAC3B,QAAI,UAAU;AAAM,aAAO;AAE3B,QAAI,cAAM,OAAO,KAAK,GAAG;AACvB,aAAO,MAAM,YAAY;AAAA,IAC3B;AAEA,QAAI,CAAC,WAAW,cAAM,OAAO,KAAK,GAAG;AACnC,YAAM,IAAI,mBAAW,8CAA8C;AAAA,IACrE;AAEA,QAAI,cAAM,cAAc,KAAK,KAAK,cAAM,aAAa,KAAK,GAAG;AAC3D,aAAO,WAAW,OAAO,SAAS,aAAa,IAAI,KAAK,CAAC,KAAK,CAAC,IAAIS,QAAO,KAAK,KAAK;AAAA,IACtF;AAEA,WAAO;AAAA,EACT;AAYA,WAAS,eAAe,OAAO,KAAK,MAAM;AACxC,QAAI,MAAM;AAEV,QAAI,SAAS,CAAC,QAAQ,OAAO,UAAU,UAAU;AAC/C,UAAI,cAAM,SAAS,KAAK,IAAI,GAAG;AAE7B,cAAM,aAAa,MAAM,IAAI,MAAM,GAAG,EAAE;AAExC,gBAAQ,KAAK,UAAU,KAAK;AAAA,MAC9B,WACG,cAAM,QAAQ,KAAK,KAAK,YAAY,KAAK,MACxC,cAAM,WAAW,KAAK,KAAK,cAAM,SAAS,KAAK,IAAI,OAAO,MAAM,cAAM,QAAQ,KAAK,IAClF;AAEH,cAAM,eAAe,GAAG;AAExB,YAAI,QAAQ,SAAS,KAAK,IAAI,OAAO;AACnC,YAAE,cAAM,YAAY,EAAE,KAAK,OAAO,SAAS,SAAS;AAAA;AAAA,YAElD,YAAY,OAAO,UAAU,CAAC,GAAG,GAAG,OAAO,IAAI,IAAK,YAAY,OAAO,MAAM,MAAM;AAAA,YACnF,aAAa,EAAE;AAAA,UACjB;AAAA,QACF,CAAC;AACD,eAAO;AAAA,MACT;AAAA,IACF;AAEA,QAAI,YAAY,KAAK,GAAG;AACtB,aAAO;AAAA,IACT;AAEA,aAAS,OAAO,UAAU,MAAM,KAAK,IAAI,GAAG,aAAa,KAAK,CAAC;AAE/D,WAAO;AAAA,EACT;AAEA,QAAM,QAAQ,CAAC;AAEf,QAAM,iBAAiB,OAAO,OAAO,YAAY;AAAA,IAC/C;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,WAAS,MAAM,OAAO,MAAM;AAC1B,QAAI,cAAM,YAAY,KAAK;AAAG;AAE9B,QAAI,MAAM,QAAQ,KAAK,MAAM,IAAI;AAC/B,YAAM,MAAM,oCAAoC,KAAK,KAAK,GAAG,CAAC;AAAA,IAChE;AAEA,UAAM,KAAK,KAAK;AAEhB,kBAAM,QAAQ,OAAO,SAAS,KAAK,IAAI,KAAK;AAC1C,YAAM,SAAS,EAAE,cAAM,YAAY,EAAE,KAAK,OAAO,SAAS,QAAQ;AAAA,QAChE;AAAA,QAAU;AAAA,QAAI,cAAM,SAAS,GAAG,IAAI,IAAI,KAAK,IAAI;AAAA,QAAK;AAAA,QAAM;AAAA,MAC9D;AAEA,UAAI,WAAW,MAAM;AACnB,cAAM,IAAI,OAAO,KAAK,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC;AAAA,MAC3C;AAAA,IACF,CAAC;AAED,UAAM,IAAI;AAAA,EACZ;AAEA,MAAI,CAAC,cAAM,SAAS,GAAG,GAAG;AACxB,UAAM,IAAI,UAAU,wBAAwB;AAAA,EAC9C;AAEA,QAAM,GAAG;AAET,SAAO;AACT;AAEA,IAAO,qBAAQ;;;AD9Mf,SAAS,OAAO,KAAK;AACnB,QAAM,UAAU;AAAA,IACd,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AACA,SAAO,mBAAmB,GAAG,EAAE,QAAQ,oBAAoB,SAAS,SAAS,OAAO;AAClF,WAAO,QAAQ,KAAK;AAAA,EACtB,CAAC;AACH;AAUA,SAAS,qBAAqB,QAAQ,SAAS;AAC7C,OAAK,SAAS,CAAC;AAEf,YAAU,mBAAW,QAAQ,MAAM,OAAO;AAC5C;AAEA,IAAMuE,aAAY,qBAAqB;AAEvCA,WAAU,SAAS,SAAS,OAAOjF,OAAM,OAAO;AAC9C,OAAK,OAAO,KAAK,CAACA,OAAM,KAAK,CAAC;AAChC;AAEAiF,WAAU,WAAW,SAASlE,UAAS,SAAS;AAC9C,QAAM,UAAU,UAAU,SAAS,OAAO;AACxC,WAAO,QAAQ,KAAK,MAAM,OAAO,MAAM;AAAA,EACzC,IAAI;AAEJ,SAAO,KAAK,OAAO,IAAI,SAAS,KAAK,MAAM;AACzC,WAAO,QAAQ,KAAK,CAAC,CAAC,IAAI,MAAM,QAAQ,KAAK,CAAC,CAAC;AAAA,EACjD,GAAG,EAAE,EAAE,KAAK,GAAG;AACjB;AAEA,IAAO,+BAAQ;;;AD5Cf,SAASsE,QAAO,KAAK;AACnB,SAAO,mBAAmB,GAAG,EAC3B,QAAQ,SAAS,GAAG,EACpB,QAAQ,QAAQ,GAAG,EACnB,QAAQ,SAAS,GAAG,EACpB,QAAQ,QAAQ,GAAG,EACnB,QAAQ,SAAS,GAAG,EACpB,QAAQ,SAAS,GAAG;AACxB;AAWe,SAAR,SAA0B,KAAK,QAAQ,SAAS;AAErD,MAAI,CAAC,QAAQ;AACX,WAAO;AAAA,EACT;AAEA,QAAM,UAAU,WAAW,QAAQ,UAAUA;AAE7C,QAAM,cAAc,WAAW,QAAQ;AAEvC,MAAI;AAEJ,MAAI,aAAa;AACf,uBAAmB,YAAY,QAAQ,OAAO;AAAA,EAChD,OAAO;AACL,uBAAmB,cAAM,kBAAkB,MAAM,IAC/C,OAAO,SAAS,IAChB,IAAI,6BAAqB,QAAQ,OAAO,EAAE,SAAS,OAAO;AAAA,EAC9D;AAEA,MAAI,kBAAkB;AACpB,UAAM,gBAAgB,IAAI,QAAQ,GAAG;AAErC,QAAI,kBAAkB,IAAI;AACxB,YAAM,IAAI,MAAM,GAAG,aAAa;AAAA,IAClC;AACA,YAAQ,IAAI,QAAQ,GAAG,MAAM,KAAK,MAAM,OAAO;AAAA,EACjD;AAEA,SAAO;AACT;;;AK9DA;AAAA;AAAA;AAAAnF;AAAAC;AAIA,IAAM,qBAAN,MAAyB;AAAA,EACvB,cAAc;AACZ,SAAK,WAAW,CAAC;AAAA,EACnB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,IAAI,WAAW,UAAU,SAAS;AAChC,SAAK,SAAS,KAAK;AAAA,MACjB;AAAA,MACA;AAAA,MACA,aAAa,UAAU,QAAQ,cAAc;AAAA,MAC7C,SAAS,UAAU,QAAQ,UAAU;AAAA,IACvC,CAAC;AACD,WAAO,KAAK,SAAS,SAAS;AAAA,EAChC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,MAAM,IAAI;AACR,QAAI,KAAK,SAAS,EAAE,GAAG;AACrB,WAAK,SAAS,EAAE,IAAI;AAAA,IACtB;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,QAAQ;AACN,QAAI,KAAK,UAAU;AACjB,WAAK,WAAW,CAAC;AAAA,IACnB;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,QAAQ,IAAI;AACV,kBAAM,QAAQ,KAAK,UAAU,SAAS,eAAesE,IAAG;AACtD,UAAIA,OAAM,MAAM;AACd,WAAGA,EAAC;AAAA,MACN;AAAA,IACF,CAAC;AAAA,EACH;AACF;AAEA,IAAO,6BAAQ;;;ACtEf;AAAA;AAAA;AAAAvE;AAAAC;;;ACAA;AAAA;AAAA;AAAAD;AAAAC;;;ACAA;AAAA;AAAA;AAAAD;AAAAC;;;ACAA;AAAA;AAAA;AAAAD;AAAAC;AAEA,IAAO,uBAAQ;AAAA,EACb,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,qBAAqB;AACvB;;;ACNA;AAAA;AAAA;AAAAD;AAAAC;;;ACAA;AAAA;AAAA;AAAAD;AAAAC;;;ACAA;AAAA;AAAA;AAAAD;AAAAC;;;ACAA;AAAA;AAAA;AAAAD;AAAAC;AAGA,IAAO,0BAAQ,OAAO,oBAAoB,cAAc,kBAAkB;;;ACH1E;AAAA;AAAA;AAAAD;AAAAC;AAEA,IAAO,mBAAQ,OAAO,aAAa,cAAc,WAAW;;;ACF5D;AAAA;AAAA;AAAAD;AAAAC;AAEA,IAAO,eAAQ,OAAO,SAAS,cAAc,OAAO;;;AHmBpD,IAAM,wBAAwB,MAAM;AAClC,MAAI;AACJ,MAAI,OAAO,cAAc,iBACtB,UAAU,UAAU,aAAa,iBAClC,YAAY,kBACZ,YAAY,OACZ;AACA,WAAO;AAAA,EACT;AAEA,SAAO,OAAO,WAAW,eAAe,OAAO,aAAa;AAC9D,GAAG;AAWF,IAAM,iCAAiC,MAAM;AAC5C,SACE,OAAO,sBAAsB;AAAA,EAE7B,gBAAgB,qBAChB,OAAO,KAAK,kBAAkB;AAElC,GAAG;AAGH,IAAO,kBAAQ;AAAA,EACb,WAAW;AAAA,EACX,SAAS;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW,CAAC,QAAQ,SAAS,QAAQ,QAAQ,OAAO,MAAM;AAC5D;;;AFzDe,SAAR,iBAAkC,MAAM,SAAS;AACtD,SAAO,mBAAW,MAAM,IAAI,gBAAS,QAAQ,gBAAgB,GAAG,OAAO,OAAO;AAAA,IAC5E,SAAS,SAAS,OAAO,KAAK,MAAM,SAAS;AAC3C,UAAI,gBAAS,UAAU,cAAM,SAAS,KAAK,GAAG;AAC5C,aAAK,OAAO,KAAK,MAAM,SAAS,QAAQ,CAAC;AACzC,eAAO;AAAA,MACT;AAEA,aAAO,QAAQ,eAAe,MAAM,MAAM,SAAS;AAAA,IACrD;AAAA,EACF,GAAG,OAAO,CAAC;AACb;;;AMjBA;AAAA;AAAA;AAAAD;AAAAC;AAWA,SAAS,cAAcH,OAAM;AAK3B,SAAO,cAAM,SAAS,iBAAiBA,KAAI,EAAE,IAAI,WAAS;AACxD,WAAO,MAAM,CAAC,MAAM,OAAO,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC;AAAA,EACrD,CAAC;AACH;AASA,SAAS,cAAc,KAAK;AAC1B,QAAM,MAAM,CAAC;AACb,QAAM,OAAO,OAAO,KAAK,GAAG;AAC5B,MAAIC;AACJ,QAAM,MAAM,KAAK;AACjB,MAAI;AACJ,OAAKA,KAAI,GAAGA,KAAI,KAAKA,MAAK;AACxB,UAAM,KAAKA,EAAC;AACZ,QAAI,GAAG,IAAI,IAAI,GAAG;AAAA,EACpB;AACA,SAAO;AACT;AASA,SAAS,eAAe,UAAU;AAChC,WAAS,UAAU,MAAM,OAAO,QAAQ,OAAO;AAC7C,QAAID,QAAO,KAAK,OAAO;AACvB,UAAM,eAAe,OAAO,SAAS,CAACA,KAAI;AAC1C,UAAM,SAAS,SAAS,KAAK;AAC7B,IAAAA,QAAO,CAACA,SAAQ,cAAM,QAAQ,MAAM,IAAI,OAAO,SAASA;AAExD,QAAI,QAAQ;AACV,UAAI,cAAM,WAAW,QAAQA,KAAI,GAAG;AAClC,eAAOA,KAAI,IAAI,CAAC,OAAOA,KAAI,GAAG,KAAK;AAAA,MACrC,OAAO;AACL,eAAOA,KAAI,IAAI;AAAA,MACjB;AAEA,aAAO,CAAC;AAAA,IACV;AAEA,QAAI,CAAC,OAAOA,KAAI,KAAK,CAAC,cAAM,SAAS,OAAOA,KAAI,CAAC,GAAG;AAClD,aAAOA,KAAI,IAAI,CAAC;AAAA,IAClB;AAEA,UAAM,SAAS,UAAU,MAAM,OAAO,OAAOA,KAAI,GAAG,KAAK;AAEzD,QAAI,UAAU,cAAM,QAAQ,OAAOA,KAAI,CAAC,GAAG;AACzC,aAAOA,KAAI,IAAI,cAAc,OAAOA,KAAI,CAAC;AAAA,IAC3C;AAEA,WAAO,CAAC;AAAA,EACV;AAEA,MAAI,cAAM,WAAW,QAAQ,KAAK,cAAM,WAAW,SAAS,OAAO,GAAG;AACpE,UAAM,MAAM,CAAC;AAEb,kBAAM,aAAa,UAAU,CAACA,OAAM,UAAU;AAC5C,gBAAU,cAAcA,KAAI,GAAG,OAAO,KAAK,CAAC;AAAA,IAC9C,CAAC;AAED,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEA,IAAO,yBAAQ;;;ARjFf,IAAM,uBAAuB;AAAA,EAC3B,gBAAgB;AAClB;AAYA,SAAS,gBAAgB,UAAU,QAAQ,SAAS;AAClD,MAAI,cAAM,SAAS,QAAQ,GAAG;AAC5B,QAAI;AACF,OAAC,UAAU,KAAK,OAAO,QAAQ;AAC/B,aAAO,cAAM,KAAK,QAAQ;AAAA,IAC5B,SAASM,IAAP;AACA,UAAIA,GAAE,SAAS,eAAe;AAC5B,cAAMA;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEA,UAAQ,WAAW,KAAK,WAAW,QAAQ;AAC7C;AAEA,IAAM,WAAW;AAAA,EAEf,cAAc;AAAA,EAEd,SAAS,CAAC,OAAO,MAAM;AAAA,EAEvB,kBAAkB,CAAC,SAAS,iBAAiB,MAAM,SAAS;AAC1D,UAAM,cAAc,QAAQ,eAAe,KAAK;AAChD,UAAM,qBAAqB,YAAY,QAAQ,kBAAkB,IAAI;AACrE,UAAM,kBAAkB,cAAM,SAAS,IAAI;AAE3C,QAAI,mBAAmB,cAAM,WAAW,IAAI,GAAG;AAC7C,aAAO,IAAI,SAAS,IAAI;AAAA,IAC1B;AAEA,UAAMgF,cAAa,cAAM,WAAW,IAAI;AAExC,QAAIA,aAAY;AACd,UAAI,CAAC,oBAAoB;AACvB,eAAO;AAAA,MACT;AACA,aAAO,qBAAqB,KAAK,UAAU,uBAAe,IAAI,CAAC,IAAI;AAAA,IACrE;AAEA,QAAI,cAAM,cAAc,IAAI,KAC1B,cAAM,SAAS,IAAI,KACnB,cAAM,SAAS,IAAI,KACnB,cAAM,OAAO,IAAI,KACjB,cAAM,OAAO,IAAI,GACjB;AACA,aAAO;AAAA,IACT;AACA,QAAI,cAAM,kBAAkB,IAAI,GAAG;AACjC,aAAO,KAAK;AAAA,IACd;AACA,QAAI,cAAM,kBAAkB,IAAI,GAAG;AACjC,cAAQ,eAAe,mDAAmD,KAAK;AAC/E,aAAO,KAAK,SAAS;AAAA,IACvB;AAEA,QAAIC;AAEJ,QAAI,iBAAiB;AACnB,UAAI,YAAY,QAAQ,mCAAmC,IAAI,IAAI;AACjE,eAAO,iBAAiB,MAAM,KAAK,cAAc,EAAE,SAAS;AAAA,MAC9D;AAEA,WAAKA,cAAa,cAAM,WAAW,IAAI,MAAM,YAAY,QAAQ,qBAAqB,IAAI,IAAI;AAC5F,cAAM,YAAY,KAAK,OAAO,KAAK,IAAI;AAEvC,eAAO;AAAA,UACLA,cAAa,EAAC,WAAW,KAAI,IAAI;AAAA,UACjC,aAAa,IAAI,UAAU;AAAA,UAC3B,KAAK;AAAA,QACP;AAAA,MACF;AAAA,IACF;AAEA,QAAI,mBAAmB,oBAAqB;AAC1C,cAAQ,eAAe,oBAAoB,KAAK;AAChD,aAAO,gBAAgB,IAAI;AAAA,IAC7B;AAEA,WAAO;AAAA,EACT,CAAC;AAAA,EAED,mBAAmB,CAAC,SAAS,kBAAkB,MAAM;AACnD,UAAMC,gBAAe,KAAK,gBAAgB,SAAS;AACnD,UAAM,oBAAoBA,iBAAgBA,cAAa;AACvD,UAAM,gBAAgB,KAAK,iBAAiB;AAE5C,QAAI,QAAQ,cAAM,SAAS,IAAI,MAAO,qBAAqB,CAAC,KAAK,gBAAiB,gBAAgB;AAChG,YAAM,oBAAoBA,iBAAgBA,cAAa;AACvD,YAAM,oBAAoB,CAAC,qBAAqB;AAEhD,UAAI;AACF,eAAO,KAAK,MAAM,IAAI;AAAA,MACxB,SAASlF,IAAP;AACA,YAAI,mBAAmB;AACrB,cAAIA,GAAE,SAAS,eAAe;AAC5B,kBAAM,mBAAW,KAAKA,IAAG,mBAAW,kBAAkB,MAAM,MAAM,KAAK,QAAQ;AAAA,UACjF;AACA,gBAAMA;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAEA,WAAO;AAAA,EACT,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,SAAS;AAAA,EAET,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAEhB,kBAAkB;AAAA,EAClB,eAAe;AAAA,EAEf,KAAK;AAAA,IACH,UAAU,gBAAS,QAAQ;AAAA,IAC3B,MAAM,gBAAS,QAAQ;AAAA,EACzB;AAAA,EAEA,gBAAgB,SAAS,eAAe,QAAQ;AAC9C,WAAO,UAAU,OAAO,SAAS;AAAA,EACnC;AAAA,EAEA,SAAS;AAAA,IACP,QAAQ;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,EACF;AACF;AAEA,cAAM,QAAQ,CAAC,UAAU,OAAO,MAAM,GAAG,SAAS,oBAAoB,QAAQ;AAC5E,WAAS,QAAQ,MAAM,IAAI,CAAC;AAC9B,CAAC;AAED,cAAM,QAAQ,CAAC,QAAQ,OAAO,OAAO,GAAG,SAAS,sBAAsB,QAAQ;AAC7E,WAAS,QAAQ,MAAM,IAAI,cAAM,MAAM,oBAAoB;AAC7D,CAAC;AAED,IAAO,mBAAQ;;;ASrKf;AAAA;AAAA;AAAAJ;AAAAC;;;ACAA;AAAA;AAAA;AAAAD;AAAAC;AAMA,IAAM,oBAAoB,cAAM,YAAY;AAAA,EAC1C;AAAA,EAAO;AAAA,EAAiB;AAAA,EAAkB;AAAA,EAAgB;AAAA,EAC1D;AAAA,EAAW;AAAA,EAAQ;AAAA,EAAQ;AAAA,EAAqB;AAAA,EAChD;AAAA,EAAiB;AAAA,EAAY;AAAA,EAAgB;AAAA,EAC7C;AAAA,EAAW;AAAA,EAAe;AAC5B,CAAC;AAgBD,IAAO,uBAAQ,gBAAc;AAC3B,QAAM,SAAS,CAAC;AAChB,MAAI;AACJ,MAAI;AACJ,MAAIF;AAEJ,gBAAc,WAAW,MAAM,IAAI,EAAE,QAAQ,SAAS,OAAO,MAAM;AACjE,IAAAA,KAAI,KAAK,QAAQ,GAAG;AACpB,UAAM,KAAK,UAAU,GAAGA,EAAC,EAAE,KAAK,EAAE,YAAY;AAC9C,UAAM,KAAK,UAAUA,KAAI,CAAC,EAAE,KAAK;AAEjC,QAAI,CAAC,OAAQ,OAAO,GAAG,KAAK,kBAAkB,GAAG,GAAI;AACnD;AAAA,IACF;AAEA,QAAI,QAAQ,cAAc;AACxB,UAAI,OAAO,GAAG,GAAG;AACf,eAAO,GAAG,EAAE,KAAK,GAAG;AAAA,MACtB,OAAO;AACL,eAAO,GAAG,IAAI,CAAC,GAAG;AAAA,MACpB;AAAA,IACF,OAAO;AACL,aAAO,GAAG,IAAI,OAAO,GAAG,IAAI,OAAO,GAAG,IAAI,OAAO,MAAM;AAAA,IACzD;AAAA,EACF,CAAC;AAED,SAAO;AACT;;;ADjDA,IAAM,aAAa,OAAO,WAAW;AAErC,SAAS,gBAAgB,QAAQ;AAC/B,SAAO,UAAU,OAAO,MAAM,EAAE,KAAK,EAAE,YAAY;AACrD;AAEA,SAAS,eAAe,OAAO;AAC7B,MAAI,UAAU,SAAS,SAAS,MAAM;AACpC,WAAO;AAAA,EACT;AAEA,SAAO,cAAM,QAAQ,KAAK,IAAI,MAAM,IAAI,cAAc,IAAI,OAAO,KAAK;AACxE;AAEA,SAAS,YAAY,KAAK;AACxB,QAAM,SAAS,uBAAO,OAAO,IAAI;AACjC,QAAM,WAAW;AACjB,MAAI;AAEJ,SAAQ,QAAQ,SAAS,KAAK,GAAG,GAAI;AACnC,WAAO,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC;AAAA,EAC5B;AAEA,SAAO;AACT;AAEA,IAAM,oBAAoB,CAAC,QAAQ,iCAAiC,KAAK,IAAI,KAAK,CAAC;AAEnF,SAAS,iBAAiB,SAAS,OAAO,QAAQkF,SAAQ,oBAAoB;AAC5E,MAAI,cAAM,WAAWA,OAAM,GAAG;AAC5B,WAAOA,QAAO,KAAK,MAAM,OAAO,MAAM;AAAA,EACxC;AAEA,MAAI,oBAAoB;AACtB,YAAQ;AAAA,EACV;AAEA,MAAI,CAAC,cAAM,SAAS,KAAK;AAAG;AAE5B,MAAI,cAAM,SAASA,OAAM,GAAG;AAC1B,WAAO,MAAM,QAAQA,OAAM,MAAM;AAAA,EACnC;AAEA,MAAI,cAAM,SAASA,OAAM,GAAG;AAC1B,WAAOA,QAAO,KAAK,KAAK;AAAA,EAC1B;AACF;AAEA,SAAS,aAAa,QAAQ;AAC5B,SAAO,OAAO,KAAK,EAChB,YAAY,EAAE,QAAQ,mBAAmB,CAAC,GAAG,MAAM,QAAQ;AAC1D,WAAO,KAAK,YAAY,IAAI;AAAA,EAC9B,CAAC;AACL;AAEA,SAAS,eAAe,KAAK,QAAQ;AACnC,QAAM,eAAe,cAAM,YAAY,MAAM,MAAM;AAEnD,GAAC,OAAO,OAAO,KAAK,EAAE,QAAQ,gBAAc;AAC1C,WAAO,eAAe,KAAK,aAAa,cAAc;AAAA,MACpD,OAAO,SAAS,MAAM,MAAM,MAAM;AAChC,eAAO,KAAK,UAAU,EAAE,KAAK,MAAM,QAAQ,MAAM,MAAM,IAAI;AAAA,MAC7D;AAAA,MACA,cAAc;AAAA,IAChB,CAAC;AAAA,EACH,CAAC;AACH;AAEA,IAAM,eAAN,MAAmB;AAAA,EACjB,YAAY,SAAS;AACnB,eAAW,KAAK,IAAI,OAAO;AAAA,EAC7B;AAAA,EAEA,IAAI,QAAQ,gBAAgB,SAAS;AACnC,UAAMM,QAAO;AAEb,aAAS,UAAU,QAAQ,SAAS,UAAU;AAC5C,YAAM,UAAU,gBAAgB,OAAO;AAEvC,UAAI,CAAC,SAAS;AACZ,cAAM,IAAI,MAAM,wCAAwC;AAAA,MAC1D;AAEA,YAAM,MAAM,cAAM,QAAQA,OAAM,OAAO;AAEvC,UAAG,CAAC,OAAOA,MAAK,GAAG,MAAM,UAAa,aAAa,QAAS,aAAa,UAAaA,MAAK,GAAG,MAAM,OAAQ;AAC1G,QAAAA,MAAK,OAAO,OAAO,IAAI,eAAe,MAAM;AAAA,MAC9C;AAAA,IACF;AAEA,UAAM,aAAa,CAAC,SAAS,aAC3B,cAAM,QAAQ,SAAS,CAAC,QAAQ,YAAY,UAAU,QAAQ,SAAS,QAAQ,CAAC;AAElF,QAAI,cAAM,cAAc,MAAM,KAAK,kBAAkB,KAAK,aAAa;AACrE,iBAAW,QAAQ,cAAc;AAAA,IACnC,WAAU,cAAM,SAAS,MAAM,MAAM,SAAS,OAAO,KAAK,MAAM,CAAC,kBAAkB,MAAM,GAAG;AAC1F,iBAAW,qBAAa,MAAM,GAAG,cAAc;AAAA,IACjD,OAAO;AACL,gBAAU,QAAQ,UAAU,gBAAgB,QAAQ,OAAO;AAAA,IAC7D;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,IAAI,QAAQ,QAAQ;AAClB,aAAS,gBAAgB,MAAM;AAE/B,QAAI,QAAQ;AACV,YAAM,MAAM,cAAM,QAAQ,MAAM,MAAM;AAEtC,UAAI,KAAK;AACP,cAAM,QAAQ,KAAK,GAAG;AAEtB,YAAI,CAAC,QAAQ;AACX,iBAAO;AAAA,QACT;AAEA,YAAI,WAAW,MAAM;AACnB,iBAAO,YAAY,KAAK;AAAA,QAC1B;AAEA,YAAI,cAAM,WAAW,MAAM,GAAG;AAC5B,iBAAO,OAAO,KAAK,MAAM,OAAO,GAAG;AAAA,QACrC;AAEA,YAAI,cAAM,SAAS,MAAM,GAAG;AAC1B,iBAAO,OAAO,KAAK,KAAK;AAAA,QAC1B;AAEA,cAAM,IAAI,UAAU,wCAAwC;AAAA,MAC9D;AAAA,IACF;AAAA,EACF;AAAA,EAEA,IAAI,QAAQ,SAAS;AACnB,aAAS,gBAAgB,MAAM;AAE/B,QAAI,QAAQ;AACV,YAAM,MAAM,cAAM,QAAQ,MAAM,MAAM;AAEtC,aAAO,CAAC,EAAE,OAAO,KAAK,GAAG,MAAM,WAAc,CAAC,WAAW,iBAAiB,MAAM,KAAK,GAAG,GAAG,KAAK,OAAO;AAAA,IACzG;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,QAAQ,SAAS;AACtB,UAAMA,QAAO;AACb,QAAI,UAAU;AAEd,aAAS,aAAa,SAAS;AAC7B,gBAAU,gBAAgB,OAAO;AAEjC,UAAI,SAAS;AACX,cAAM,MAAM,cAAM,QAAQA,OAAM,OAAO;AAEvC,YAAI,QAAQ,CAAC,WAAW,iBAAiBA,OAAMA,MAAK,GAAG,GAAG,KAAK,OAAO,IAAI;AACxE,iBAAOA,MAAK,GAAG;AAEf,oBAAU;AAAA,QACZ;AAAA,MACF;AAAA,IACF;AAEA,QAAI,cAAM,QAAQ,MAAM,GAAG;AACzB,aAAO,QAAQ,YAAY;AAAA,IAC7B,OAAO;AACL,mBAAa,MAAM;AAAA,IACrB;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,SAAS;AACb,UAAM,OAAO,OAAO,KAAK,IAAI;AAC7B,QAAIxF,KAAI,KAAK;AACb,QAAI,UAAU;AAEd,WAAOA,MAAK;AACV,YAAM,MAAM,KAAKA,EAAC;AAClB,UAAG,CAAC,WAAW,iBAAiB,MAAM,KAAK,GAAG,GAAG,KAAK,SAAS,IAAI,GAAG;AACpE,eAAO,KAAK,GAAG;AACf,kBAAU;AAAA,MACZ;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,UAAU,QAAQ;AAChB,UAAMwF,QAAO;AACb,UAAM,UAAU,CAAC;AAEjB,kBAAM,QAAQ,MAAM,CAAC,OAAO,WAAW;AACrC,YAAM,MAAM,cAAM,QAAQ,SAAS,MAAM;AAEzC,UAAI,KAAK;AACP,QAAAA,MAAK,GAAG,IAAI,eAAe,KAAK;AAChC,eAAOA,MAAK,MAAM;AAClB;AAAA,MACF;AAEA,YAAM,aAAa,SAAS,aAAa,MAAM,IAAI,OAAO,MAAM,EAAE,KAAK;AAEvE,UAAI,eAAe,QAAQ;AACzB,eAAOA,MAAK,MAAM;AAAA,MACpB;AAEA,MAAAA,MAAK,UAAU,IAAI,eAAe,KAAK;AAEvC,cAAQ,UAAU,IAAI;AAAA,IACxB,CAAC;AAED,WAAO;AAAA,EACT;AAAA,EAEA,UAAU,SAAS;AACjB,WAAO,KAAK,YAAY,OAAO,MAAM,GAAG,OAAO;AAAA,EACjD;AAAA,EAEA,OAAO,WAAW;AAChB,UAAM,MAAM,uBAAO,OAAO,IAAI;AAE9B,kBAAM,QAAQ,MAAM,CAAC,OAAO,WAAW;AACrC,eAAS,QAAQ,UAAU,UAAU,IAAI,MAAM,IAAI,aAAa,cAAM,QAAQ,KAAK,IAAI,MAAM,KAAK,IAAI,IAAI;AAAA,IAC5G,CAAC;AAED,WAAO;AAAA,EACT;AAAA,EAEA,CAAC,OAAO,QAAQ,IAAI;AAClB,WAAO,OAAO,QAAQ,KAAK,OAAO,CAAC,EAAE,OAAO,QAAQ,EAAE;AAAA,EACxD;AAAA,EAEA,WAAW;AACT,WAAO,OAAO,QAAQ,KAAK,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,QAAQ,KAAK,MAAM,SAAS,OAAO,KAAK,EAAE,KAAK,IAAI;AAAA,EAChG;AAAA,EAEA,KAAK,OAAO,WAAW,IAAI;AACzB,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,KAAK,OAAO;AACjB,WAAO,iBAAiB,OAAO,QAAQ,IAAI,KAAK,KAAK;AAAA,EACvD;AAAA,EAEA,OAAO,OAAO,UAAU,SAAS;AAC/B,UAAM,WAAW,IAAI,KAAK,KAAK;AAE/B,YAAQ,QAAQ,CAAC,WAAW,SAAS,IAAI,MAAM,CAAC;AAEhD,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,SAAS,QAAQ;AACtB,UAAM,YAAY,KAAK,UAAU,IAAK,KAAK,UAAU,IAAI;AAAA,MACvD,WAAW,CAAC;AAAA,IACd;AAEA,UAAM,YAAY,UAAU;AAC5B,UAAMR,aAAY,KAAK;AAEvB,aAAS,eAAe,SAAS;AAC/B,YAAM,UAAU,gBAAgB,OAAO;AAEvC,UAAI,CAAC,UAAU,OAAO,GAAG;AACvB,uBAAeA,YAAW,OAAO;AACjC,kBAAU,OAAO,IAAI;AAAA,MACvB;AAAA,IACF;AAEA,kBAAM,QAAQ,MAAM,IAAI,OAAO,QAAQ,cAAc,IAAI,eAAe,MAAM;AAE9E,WAAO;AAAA,EACT;AACF;AAEA,aAAa,SAAS,CAAC,gBAAgB,kBAAkB,UAAU,mBAAmB,cAAc,eAAe,CAAC;AAEpH,cAAM,cAAc,aAAa,SAAS;AAC1C,cAAM,cAAc,YAAY;AAEhC,IAAO,uBAAQ;;;AVjRA,SAAR,cAA+B,KAAK,UAAU;AACnD,QAAMD,UAAS,QAAQ;AACvB,QAAM,UAAU,YAAYA;AAC5B,QAAM,UAAU,qBAAa,KAAK,QAAQ,OAAO;AACjD,MAAI,OAAO,QAAQ;AAEnB,gBAAM,QAAQ,KAAK,SAAS,UAAU,IAAI;AACxC,WAAO,GAAG,KAAKA,SAAQ,MAAM,QAAQ,UAAU,GAAG,WAAW,SAAS,SAAS,MAAS;AAAA,EAC1F,CAAC;AAED,UAAQ,UAAU;AAElB,SAAO;AACT;;;AY3BA;AAAA;AAAA;AAAA9E;AAAAC;AAEe,SAAR,SAA0B,OAAO;AACtC,SAAO,CAAC,EAAE,SAAS,MAAM;AAC3B;;;ACJA;AAAA;AAAA;AAAAD;AAAAC;AAcA,SAAS,cAAc,SAAS6E,SAAQI,UAAS;AAE/C,qBAAW,KAAK,MAAM,WAAW,OAAO,aAAa,SAAS,mBAAW,cAAcJ,SAAQI,QAAO;AACtG,OAAK,OAAO;AACd;AAEA,cAAM,SAAS,eAAe,oBAAY;AAAA,EACxC,YAAY;AACd,CAAC;AAED,IAAO,wBAAQ;;;ACxBf;AAAA;AAAA;AAAAlF;AAAAC;;;ACAA;AAAA;AAAA;AAAAD;AAAAC;;;ACAA;AAAA;AAAA;AAAAD;AAAAC;AAae,SAAR,OAAwByE,UAAS,QAAQ,UAAU;AACxD,QAAMc,kBAAiB,SAAS,OAAO;AACvC,MAAI,CAAC,SAAS,UAAU,CAACA,mBAAkBA,gBAAe,SAAS,MAAM,GAAG;AAC1E,IAAAd,SAAQ,QAAQ;AAAA,EAClB,OAAO;AACL,WAAO,IAAI;AAAA,MACT,qCAAqC,SAAS;AAAA,MAC9C,CAAC,mBAAW,iBAAiB,mBAAW,gBAAgB,EAAE,KAAK,MAAM,SAAS,SAAS,GAAG,IAAI,CAAC;AAAA,MAC/F,SAAS;AAAA,MACT,SAAS;AAAA,MACT;AAAA,IACF,CAAC;AAAA,EACH;AACF;;;AC1BA;AAAA;AAAA;AAAA1E;AAAAC;AAKA,IAAO,kBAAQ,gBAAS;AAAA;AAAA,EAGrB,SAAS,qBAAqB;AAC7B,WAAO;AAAA,MACL,OAAO,SAAS,MAAMH,OAAM,OAAO,SAAS,MAAM2F,SAAQ,QAAQ;AAChE,cAAM,SAAS,CAAC;AAChB,eAAO,KAAK3F,QAAO,MAAM,mBAAmB,KAAK,CAAC;AAElD,YAAI,cAAM,SAAS,OAAO,GAAG;AAC3B,iBAAO,KAAK,aAAa,IAAI,KAAK,OAAO,EAAE,YAAY,CAAC;AAAA,QAC1D;AAEA,YAAI,cAAM,SAAS,IAAI,GAAG;AACxB,iBAAO,KAAK,UAAU,IAAI;AAAA,QAC5B;AAEA,YAAI,cAAM,SAAS2F,OAAM,GAAG;AAC1B,iBAAO,KAAK,YAAYA,OAAM;AAAA,QAChC;AAEA,YAAI,WAAW,MAAM;AACnB,iBAAO,KAAK,QAAQ;AAAA,QACtB;AAEA,iBAAS,SAAS,OAAO,KAAK,IAAI;AAAA,MACpC;AAAA,MAEA,MAAM,SAAS,KAAK3F,OAAM;AACxB,cAAM,QAAQ,SAAS,OAAO,MAAM,IAAI,OAAO,eAAeA,QAAO,WAAW,CAAC;AACjF,eAAQ,QAAQ,mBAAmB,MAAM,CAAC,CAAC,IAAI;AAAA,MACjD;AAAA,MAEA,QAAQ,SAAS,OAAOA,OAAM;AAC5B,aAAK,MAAMA,OAAM,IAAI,KAAK,IAAI,IAAI,KAAQ;AAAA,MAC5C;AAAA,IACF;AAAA,EACF,EAAG;AAAA;AAAA;AAAA,EAGF,SAAS,wBAAwB;AAChC,WAAO;AAAA,MACL,OAAO,SAAS,QAAQ;AAAA,MAAC;AAAA,MACzB,MAAM,SAAS,OAAO;AAAE,eAAO;AAAA,MAAM;AAAA,MACrC,QAAQ,SAAS,SAAS;AAAA,MAAC;AAAA,IAC7B;AAAA,EACF,EAAG;AAAA;;;ACnDL;AAAA;AAAA;AAAAE;AAAAC;;;ACAA;AAAA;AAAA;AAAAD;AAAAC;AASe,SAAR,cAA+B,KAAK;AAIzC,SAAO,8BAA8B,KAAK,GAAG;AAC/C;;;ACdA;AAAA;AAAA;AAAAD;AAAAC;AAUe,SAAR,YAA6B,SAAS,aAAa;AACxD,SAAO,cACH,QAAQ,QAAQ,QAAQ,EAAE,IAAI,MAAM,YAAY,QAAQ,QAAQ,EAAE,IAClE;AACN;;;AFCe,SAAR,cAA+B,SAAS,cAAc;AAC3D,MAAI,WAAW,CAAC,cAAc,YAAY,GAAG;AAC3C,WAAO,YAAY,SAAS,YAAY;AAAA,EAC1C;AACA,SAAO;AACT;;;AGpBA;AAAA;AAAA;AAAAD;AAAAC;AAKA,IAAO,0BAAQ,gBAAS;AAAA;AAAA;AAAA,EAIrB,SAASyF,sBAAqB;AAC7B,UAAM,OAAO,kBAAkB,KAAK,UAAU,SAAS;AACvD,UAAM,iBAAiB,SAAS,cAAc,GAAG;AACjD,QAAI;AAQJ,aAAS,WAAW,KAAK;AACvB,UAAI,OAAO;AAEX,UAAI,MAAM;AAER,uBAAe,aAAa,QAAQ,IAAI;AACxC,eAAO,eAAe;AAAA,MACxB;AAEA,qBAAe,aAAa,QAAQ,IAAI;AAGxC,aAAO;AAAA,QACL,MAAM,eAAe;AAAA,QACrB,UAAU,eAAe,WAAW,eAAe,SAAS,QAAQ,MAAM,EAAE,IAAI;AAAA,QAChF,MAAM,eAAe;AAAA,QACrB,QAAQ,eAAe,SAAS,eAAe,OAAO,QAAQ,OAAO,EAAE,IAAI;AAAA,QAC3E,MAAM,eAAe,OAAO,eAAe,KAAK,QAAQ,MAAM,EAAE,IAAI;AAAA,QACpE,UAAU,eAAe;AAAA,QACzB,MAAM,eAAe;AAAA,QACrB,UAAW,eAAe,SAAS,OAAO,CAAC,MAAM,MAC/C,eAAe,WACf,MAAM,eAAe;AAAA,MACzB;AAAA,IACF;AAEA,gBAAY,WAAW,OAAO,SAAS,IAAI;AAQ3C,WAAO,SAAS,gBAAgB,YAAY;AAC1C,YAAM,SAAU,cAAM,SAAS,UAAU,IAAK,WAAW,UAAU,IAAI;AACvE,aAAQ,OAAO,aAAa,UAAU,YAClC,OAAO,SAAS,UAAU;AAAA,IAChC;AAAA,EACF,EAAG;AAAA;AAAA;AAAA,EAGF,SAASC,yBAAwB;AAChC,WAAO,SAAS,kBAAkB;AAChC,aAAO;AAAA,IACT;AAAA,EACF,EAAG;AAAA;;;AClEL;AAAA;AAAA;AAAA3F;AAAAC;AAEe,SAAR,cAA+B,KAAK;AACzC,QAAM,QAAQ,4BAA4B,KAAK,GAAG;AAClD,SAAO,SAAS,MAAM,CAAC,KAAK;AAC9B;;;ACLA;AAAA;AAAA;AAAAD;AAAAC;AAQA,SAAS,YAAY,cAAc,KAAK;AACtC,iBAAe,gBAAgB;AAC/B,QAAM,QAAQ,IAAI,MAAM,YAAY;AACpC,QAAM,aAAa,IAAI,MAAM,YAAY;AACzC,MAAI,OAAO;AACX,MAAI,OAAO;AACX,MAAI;AAEJ,QAAM,QAAQ,SAAY,MAAM;AAEhC,SAAO,SAAS,KAAK,aAAa;AAChC,UAAM,MAAM,KAAK,IAAI;AAErB,UAAM,YAAY,WAAW,IAAI;AAEjC,QAAI,CAAC,eAAe;AAClB,sBAAgB;AAAA,IAClB;AAEA,UAAM,IAAI,IAAI;AACd,eAAW,IAAI,IAAI;AAEnB,QAAIF,KAAI;AACR,QAAI,aAAa;AAEjB,WAAOA,OAAM,MAAM;AACjB,oBAAc,MAAMA,IAAG;AACvB,MAAAA,KAAIA,KAAI;AAAA,IACV;AAEA,YAAQ,OAAO,KAAK;AAEpB,QAAI,SAAS,MAAM;AACjB,cAAQ,OAAO,KAAK;AAAA,IACtB;AAEA,QAAI,MAAM,gBAAgB,KAAK;AAC7B;AAAA,IACF;AAEA,UAAM,SAAS,aAAa,MAAM;AAElC,WAAO,SAAS,KAAK,MAAM,aAAa,MAAO,MAAM,IAAI;AAAA,EAC3D;AACF;AAEA,IAAO,sBAAQ;;;ARtCf,SAAS,qBAAqB,UAAU,kBAAkB;AACxD,MAAI,gBAAgB;AACpB,QAAM,eAAe,oBAAY,IAAI,GAAG;AAExC,SAAO,CAAAK,OAAK;AACV,UAAM,SAASA,GAAE;AACjB,UAAM,QAAQA,GAAE,mBAAmBA,GAAE,QAAQ;AAC7C,UAAM,gBAAgB,SAAS;AAC/B,UAAM,OAAO,aAAa,aAAa;AACvC,UAAM,UAAU,UAAU;AAE1B,oBAAgB;AAEhB,UAAM,OAAO;AAAA,MACX;AAAA,MACA;AAAA,MACA,UAAU,QAAS,SAAS,QAAS;AAAA,MACrC,OAAO;AAAA,MACP,MAAM,OAAO,OAAO;AAAA,MACpB,WAAW,QAAQ,SAAS,WAAW,QAAQ,UAAU,OAAO;AAAA,MAChE,OAAOA;AAAA,IACT;AAEA,SAAK,mBAAmB,aAAa,QAAQ,IAAI;AAEjD,aAAS,IAAI;AAAA,EACf;AACF;AAEA,IAAM,wBAAwB,OAAO,mBAAmB;AAExD,IAAO,cAAQ,yBAAyB,SAAU0E,SAAQ;AACxD,SAAO,IAAI,QAAQ,SAAS,mBAAmBJ,UAAS,QAAQ;AAC9D,QAAI,cAAcI,QAAO;AACzB,UAAM,iBAAiB,qBAAa,KAAKA,QAAO,OAAO,EAAE,UAAU;AACnE,UAAM,eAAeA,QAAO;AAC5B,QAAI;AACJ,aAAS,OAAO;AACd,UAAIA,QAAO,aAAa;AACtB,QAAAA,QAAO,YAAY,YAAY,UAAU;AAAA,MAC3C;AAEA,UAAIA,QAAO,QAAQ;AACjB,QAAAA,QAAO,OAAO,oBAAoB,SAAS,UAAU;AAAA,MACvD;AAAA,IACF;AAEA,QAAI,cAAM,WAAW,WAAW,GAAG;AACjC,UAAI,gBAAS,wBAAwB,gBAAS,+BAA+B;AAC3E,uBAAe,eAAe,KAAK;AAAA,MACrC,OAAO;AACL,uBAAe,eAAe,wBAAwB,KAAK;AAAA,MAC7D;AAAA,IACF;AAEA,QAAII,WAAU,IAAI,eAAe;AAGjC,QAAIJ,QAAO,MAAM;AACf,YAAM,WAAWA,QAAO,KAAK,YAAY;AACzC,YAAM,WAAWA,QAAO,KAAK,WAAW,SAAS,mBAAmBA,QAAO,KAAK,QAAQ,CAAC,IAAI;AAC7F,qBAAe,IAAI,iBAAiB,WAAW,KAAK,WAAW,MAAM,QAAQ,CAAC;AAAA,IAChF;AAEA,UAAM,WAAW,cAAcA,QAAO,SAASA,QAAO,GAAG;AAEzD,IAAAI,SAAQ,KAAKJ,QAAO,OAAO,YAAY,GAAG,SAAS,UAAUA,QAAO,QAAQA,QAAO,gBAAgB,GAAG,IAAI;AAG1G,IAAAI,SAAQ,UAAUJ,QAAO;AAEzB,aAAS,YAAY;AACnB,UAAI,CAACI,UAAS;AACZ;AAAA,MACF;AAEA,YAAM,kBAAkB,qBAAa;AAAA,QACnC,2BAA2BA,YAAWA,SAAQ,sBAAsB;AAAA,MACtE;AACA,YAAM,eAAe,CAAC,gBAAgB,iBAAiB,UAAU,iBAAiB,SAChFA,SAAQ,eAAeA,SAAQ;AACjC,YAAM,WAAW;AAAA,QACf,MAAM;AAAA,QACN,QAAQA,SAAQ;AAAA,QAChB,YAAYA,SAAQ;AAAA,QACpB,SAAS;AAAA,QACT,QAAAJ;AAAA,QACA,SAAAI;AAAA,MACF;AAEA,aAAO,SAASU,UAAS,OAAO;AAC9B,QAAAlB,SAAQ,KAAK;AACb,aAAK;AAAA,MACP,GAAG,SAASmB,SAAQ,KAAK;AACvB,eAAO,GAAG;AACV,aAAK;AAAA,MACP,GAAG,QAAQ;AAGX,MAAAX,WAAU;AAAA,IACZ;AAEA,QAAI,eAAeA,UAAS;AAE1B,MAAAA,SAAQ,YAAY;AAAA,IACtB,OAAO;AAEL,MAAAA,SAAQ,qBAAqB,SAAS,aAAa;AACjD,YAAI,CAACA,YAAWA,SAAQ,eAAe,GAAG;AACxC;AAAA,QACF;AAMA,YAAIA,SAAQ,WAAW,KAAK,EAAEA,SAAQ,eAAeA,SAAQ,YAAY,QAAQ,OAAO,MAAM,IAAI;AAChG;AAAA,QACF;AAGA,mBAAW,SAAS;AAAA,MACtB;AAAA,IACF;AAGA,IAAAA,SAAQ,UAAU,SAAS,cAAc;AACvC,UAAI,CAACA,UAAS;AACZ;AAAA,MACF;AAEA,aAAO,IAAI,mBAAW,mBAAmB,mBAAW,cAAcJ,SAAQI,QAAO,CAAC;AAGlF,MAAAA,WAAU;AAAA,IACZ;AAGA,IAAAA,SAAQ,UAAU,SAAS,cAAc;AAGvC,aAAO,IAAI,mBAAW,iBAAiB,mBAAW,aAAaJ,SAAQI,QAAO,CAAC;AAG/E,MAAAA,WAAU;AAAA,IACZ;AAGA,IAAAA,SAAQ,YAAY,SAAS,gBAAgB;AAC3C,UAAI,sBAAsBJ,QAAO,UAAU,gBAAgBA,QAAO,UAAU,gBAAgB;AAC5F,YAAMQ,gBAAeR,QAAO,gBAAgB;AAC5C,UAAIA,QAAO,qBAAqB;AAC9B,8BAAsBA,QAAO;AAAA,MAC/B;AACA,aAAO,IAAI;AAAA,QACT;AAAA,QACAQ,cAAa,sBAAsB,mBAAW,YAAY,mBAAW;AAAA,QACrER;AAAA,QACAI;AAAA,MAAO,CAAC;AAGV,MAAAA,WAAU;AAAA,IACZ;AAKA,QAAI,gBAAS,sBAAsB;AAEjC,YAAM,aAAaJ,QAAO,mBAAmB,wBAAgB,QAAQ,MAChEA,QAAO,kBAAkB,gBAAQ,KAAKA,QAAO,cAAc;AAEhE,UAAI,WAAW;AACb,uBAAe,IAAIA,QAAO,gBAAgB,SAAS;AAAA,MACrD;AAAA,IACF;AAGA,oBAAgB,UAAa,eAAe,eAAe,IAAI;AAG/D,QAAI,sBAAsBI,UAAS;AACjC,oBAAM,QAAQ,eAAe,OAAO,GAAG,SAAS,iBAAiB,KAAK,KAAK;AACzE,QAAAA,SAAQ,iBAAiB,KAAK,GAAG;AAAA,MACnC,CAAC;AAAA,IACH;AAGA,QAAI,CAAC,cAAM,YAAYJ,QAAO,eAAe,GAAG;AAC9C,MAAAI,SAAQ,kBAAkB,CAAC,CAACJ,QAAO;AAAA,IACrC;AAGA,QAAI,gBAAgB,iBAAiB,QAAQ;AAC3C,MAAAI,SAAQ,eAAeJ,QAAO;AAAA,IAChC;AAGA,QAAI,OAAOA,QAAO,uBAAuB,YAAY;AACnD,MAAAI,SAAQ,iBAAiB,YAAY,qBAAqBJ,QAAO,oBAAoB,IAAI,CAAC;AAAA,IAC5F;AAGA,QAAI,OAAOA,QAAO,qBAAqB,cAAcI,SAAQ,QAAQ;AACnE,MAAAA,SAAQ,OAAO,iBAAiB,YAAY,qBAAqBJ,QAAO,gBAAgB,CAAC;AAAA,IAC3F;AAEA,QAAIA,QAAO,eAAeA,QAAO,QAAQ;AAGvC,mBAAa,YAAU;AACrB,YAAI,CAACI,UAAS;AACZ;AAAA,QACF;AACA,eAAO,CAAC,UAAU,OAAO,OAAO,IAAI,sBAAc,MAAMJ,SAAQI,QAAO,IAAI,MAAM;AACjF,QAAAA,SAAQ,MAAM;AACd,QAAAA,WAAU;AAAA,MACZ;AAEA,MAAAJ,QAAO,eAAeA,QAAO,YAAY,UAAU,UAAU;AAC7D,UAAIA,QAAO,QAAQ;AACjB,QAAAA,QAAO,OAAO,UAAU,WAAW,IAAIA,QAAO,OAAO,iBAAiB,SAAS,UAAU;AAAA,MAC3F;AAAA,IACF;AAEA,UAAM,WAAW,cAAc,QAAQ;AAEvC,QAAI,YAAY,gBAAS,UAAU,QAAQ,QAAQ,MAAM,IAAI;AAC3D,aAAO,IAAI,mBAAW,0BAA0B,WAAW,KAAK,mBAAW,iBAAiBA,OAAM,CAAC;AACnG;AAAA,IACF;AAIA,IAAAI,SAAQ,KAAK,eAAe,IAAI;AAAA,EAClC,CAAC;AACH;;;ADvPA,IAAM,gBAAgB;AAAA,EACpB,MAAM;AAAA,EACN,KAAK;AACP;AAEA,cAAM,QAAQ,eAAe,CAAC,IAAI,UAAU;AAC1C,MAAG,IAAI;AACL,QAAI;AACF,aAAO,eAAe,IAAI,QAAQ,EAAC,MAAK,CAAC;AAAA,IAC3C,SAAS9E,IAAP;AAAA,IAEF;AACA,WAAO,eAAe,IAAI,eAAe,EAAC,MAAK,CAAC;AAAA,EAClD;AACF,CAAC;AAED,IAAO,mBAAQ;AAAA,EACb,YAAY,CAAC,aAAa;AACxB,eAAW,cAAM,QAAQ,QAAQ,IAAI,WAAW,CAAC,QAAQ;AAEzD,UAAM,EAAC,OAAM,IAAI;AACjB,QAAI;AACJ,QAAI;AAEJ,aAASL,KAAI,GAAGA,KAAI,QAAQA,MAAK;AAC/B,sBAAgB,SAASA,EAAC;AAC1B,UAAI,UAAU,cAAM,SAAS,aAAa,IAAI,cAAc,cAAc,YAAY,CAAC,IAAI,eAAgB;AACzG;AAAA,MACF;AAAA,IACF;AAEA,QAAI,CAAC,SAAS;AACZ,UAAI,YAAY,OAAO;AACrB,cAAM,IAAI;AAAA,UACR,WAAW;AAAA,UACX;AAAA,QACF;AAAA,MACF;AAEA,YAAM,IAAI;AAAA,QACR,cAAM,WAAW,eAAe,aAAa,IAC3C,YAAY,iDACZ,oBAAoB;AAAA,MACxB;AAAA,IACF;AAEA,QAAI,CAAC,cAAM,WAAW,OAAO,GAAG;AAC9B,YAAM,IAAI,UAAU,2BAA2B;AAAA,IACjD;AAEA,WAAO;AAAA,EACT;AAAA,EACA,UAAU;AACZ;;;Af1CA,SAAS,6BAA6B+E,SAAQ;AAC5C,MAAIA,QAAO,aAAa;AACtB,IAAAA,QAAO,YAAY,iBAAiB;AAAA,EACtC;AAEA,MAAIA,QAAO,UAAUA,QAAO,OAAO,SAAS;AAC1C,UAAM,IAAI,sBAAc,MAAMA,OAAM;AAAA,EACtC;AACF;AASe,SAAR,gBAAiCA,SAAQ;AAC9C,+BAA6BA,OAAM;AAEnC,EAAAA,QAAO,UAAU,qBAAa,KAAKA,QAAO,OAAO;AAGjD,EAAAA,QAAO,OAAO,cAAc;AAAA,IAC1BA;AAAA,IACAA,QAAO;AAAA,EACT;AAEA,MAAI,CAAC,QAAQ,OAAO,OAAO,EAAE,QAAQA,QAAO,MAAM,MAAM,IAAI;AAC1D,IAAAA,QAAO,QAAQ,eAAe,qCAAqC,KAAK;AAAA,EAC1E;AAEA,QAAM,UAAU,iBAAS,WAAWA,QAAO,WAAW,iBAAS,OAAO;AAEtE,SAAO,QAAQA,OAAM,EAAE,KAAK,SAAS,oBAAoB,UAAU;AACjE,iCAA6BA,OAAM;AAGnC,aAAS,OAAO,cAAc;AAAA,MAC5BA;AAAA,MACAA,QAAO;AAAA,MACP;AAAA,IACF;AAEA,aAAS,UAAU,qBAAa,KAAK,SAAS,OAAO;AAErD,WAAO;AAAA,EACT,GAAG,SAAS,mBAAmB,QAAQ;AACrC,QAAI,CAAC,SAAS,MAAM,GAAG;AACrB,mCAA6BA,OAAM;AAGnC,UAAI,UAAU,OAAO,UAAU;AAC7B,eAAO,SAAS,OAAO,cAAc;AAAA,UACnCA;AAAA,UACAA,QAAO;AAAA,UACP,OAAO;AAAA,QACT;AACA,eAAO,SAAS,UAAU,qBAAa,KAAK,OAAO,SAAS,OAAO;AAAA,MACrE;AAAA,IACF;AAEA,WAAO,QAAQ,OAAO,MAAM;AAAA,EAC9B,CAAC;AACH;;;AyBhFA;AAAA;AAAA;AAAA9E;AAAAC;AAKA,IAAM,kBAAkB,CAAC,UAAU,iBAAiB,uBAAe,MAAM,OAAO,IAAI;AAWrE,SAAR,YAA6B,SAAS,SAAS;AAEpD,YAAU,WAAW,CAAC;AACtB,QAAM6E,UAAS,CAAC;AAEhB,WAAS,eAAe,QAAQ,QAAQ,UAAU;AAChD,QAAI,cAAM,cAAc,MAAM,KAAK,cAAM,cAAc,MAAM,GAAG;AAC9D,aAAO,cAAM,MAAM,KAAK,EAAC,SAAQ,GAAG,QAAQ,MAAM;AAAA,IACpD,WAAW,cAAM,cAAc,MAAM,GAAG;AACtC,aAAO,cAAM,MAAM,CAAC,GAAG,MAAM;AAAA,IAC/B,WAAW,cAAM,QAAQ,MAAM,GAAG;AAChC,aAAO,OAAO,MAAM;AAAA,IACtB;AACA,WAAO;AAAA,EACT;AAGA,WAAS,oBAAoBpE,IAAG,GAAG,UAAU;AAC3C,QAAI,CAAC,cAAM,YAAY,CAAC,GAAG;AACzB,aAAO,eAAeA,IAAG,GAAG,QAAQ;AAAA,IACtC,WAAW,CAAC,cAAM,YAAYA,EAAC,GAAG;AAChC,aAAO,eAAe,QAAWA,IAAG,QAAQ;AAAA,IAC9C;AAAA,EACF;AAGA,WAAS,iBAAiBA,IAAG,GAAG;AAC9B,QAAI,CAAC,cAAM,YAAY,CAAC,GAAG;AACzB,aAAO,eAAe,QAAW,CAAC;AAAA,IACpC;AAAA,EACF;AAGA,WAAS,iBAAiBA,IAAG,GAAG;AAC9B,QAAI,CAAC,cAAM,YAAY,CAAC,GAAG;AACzB,aAAO,eAAe,QAAW,CAAC;AAAA,IACpC,WAAW,CAAC,cAAM,YAAYA,EAAC,GAAG;AAChC,aAAO,eAAe,QAAWA,EAAC;AAAA,IACpC;AAAA,EACF;AAGA,WAAS,gBAAgBA,IAAG,GAAG,MAAM;AACnC,QAAI,QAAQ,SAAS;AACnB,aAAO,eAAeA,IAAG,CAAC;AAAA,IAC5B,WAAW,QAAQ,SAAS;AAC1B,aAAO,eAAe,QAAWA,EAAC;AAAA,IACpC;AAAA,EACF;AAEA,QAAM,WAAW;AAAA,IACf,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,IACT,kBAAkB;AAAA,IAClB,mBAAmB;AAAA,IACnB,kBAAkB;AAAA,IAClB,SAAS;AAAA,IACT,gBAAgB;AAAA,IAChB,iBAAiB;AAAA,IACjB,SAAS;AAAA,IACT,cAAc;AAAA,IACd,gBAAgB;AAAA,IAChB,gBAAgB;AAAA,IAChB,kBAAkB;AAAA,IAClB,oBAAoB;AAAA,IACpB,YAAY;AAAA,IACZ,kBAAkB;AAAA,IAClB,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,WAAW;AAAA,IACX,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,kBAAkB;AAAA,IAClB,gBAAgB;AAAA,IAChB,SAAS,CAACA,IAAG,MAAM,oBAAoB,gBAAgBA,EAAC,GAAG,gBAAgB,CAAC,GAAG,IAAI;AAAA,EACrF;AAEA,gBAAM,QAAQ,OAAO,KAAK,OAAO,OAAO,CAAC,GAAG,SAAS,OAAO,CAAC,GAAG,SAAS,mBAAmB,MAAM;AAChG,UAAMoF,SAAQ,SAAS,IAAI,KAAK;AAChC,UAAM,cAAcA,OAAM,QAAQ,IAAI,GAAG,QAAQ,IAAI,GAAG,IAAI;AAC5D,IAAC,cAAM,YAAY,WAAW,KAAKA,WAAU,oBAAqBhB,QAAO,IAAI,IAAI;AAAA,EACnF,CAAC;AAED,SAAOA;AACT;;;ACxGA;AAAA;AAAA;AAAA9E;AAAAC;;;ACAA;AAAA;AAAA;AAAAD;AAAAC;AAAO,IAAM,UAAU;;;ADKvB,IAAM,aAAa,CAAC;AAGpB,CAAC,UAAU,WAAW,UAAU,YAAY,UAAU,QAAQ,EAAE,QAAQ,CAAC,MAAMF,OAAM;AACnF,aAAW,IAAI,IAAI,SAAS,UAAU,OAAO;AAC3C,WAAO,OAAO,UAAU,QAAQ,OAAOA,KAAI,IAAI,OAAO,OAAO;AAAA,EAC/D;AACF,CAAC;AAED,IAAM,qBAAqB,CAAC;AAW5B,WAAW,eAAe,SAAS,aAAa,WAAWgG,UAAS,SAAS;AAC3E,WAAS,cAAc,KAAK,MAAM;AAChC,WAAO,aAAa,UAAU,4BAA6B,MAAM,MAAO,QAAQ,UAAU,OAAO,UAAU;AAAA,EAC7G;AAGA,SAAO,CAAC,OAAO,KAAK,SAAS;AAC3B,QAAI,cAAc,OAAO;AACvB,YAAM,IAAI;AAAA,QACR,cAAc,KAAK,uBAAuBA,WAAU,SAASA,WAAU,GAAG;AAAA,QAC1E,mBAAW;AAAA,MACb;AAAA,IACF;AAEA,QAAIA,YAAW,CAAC,mBAAmB,GAAG,GAAG;AACvC,yBAAmB,GAAG,IAAI;AAE1B,cAAQ;AAAA,QACN;AAAA,UACE;AAAA,UACA,iCAAiCA,WAAU;AAAA,QAC7C;AAAA,MACF;AAAA,IACF;AAEA,WAAO,YAAY,UAAU,OAAO,KAAK,IAAI,IAAI;AAAA,EACnD;AACF;AAYA,SAAS,cAAc,SAAS,QAAQ,cAAc;AACpD,MAAI,OAAO,YAAY,UAAU;AAC/B,UAAM,IAAI,mBAAW,6BAA6B,mBAAW,oBAAoB;AAAA,EACnF;AACA,QAAM,OAAO,OAAO,KAAK,OAAO;AAChC,MAAIhG,KAAI,KAAK;AACb,SAAOA,OAAM,GAAG;AACd,UAAM,MAAM,KAAKA,EAAC;AAClB,UAAM,YAAY,OAAO,GAAG;AAC5B,QAAI,WAAW;AACb,YAAM,QAAQ,QAAQ,GAAG;AACzB,YAAM,SAAS,UAAU,UAAa,UAAU,OAAO,KAAK,OAAO;AACnE,UAAI,WAAW,MAAM;AACnB,cAAM,IAAI,mBAAW,YAAY,MAAM,cAAc,QAAQ,mBAAW,oBAAoB;AAAA,MAC9F;AACA;AAAA,IACF;AACA,QAAI,iBAAiB,MAAM;AACzB,YAAM,IAAI,mBAAW,oBAAoB,KAAK,mBAAW,cAAc;AAAA,IACzE;AAAA,EACF;AACF;AAEA,IAAO,oBAAQ;AAAA,EACb;AAAA,EACA;AACF;;;AjC/EA,IAAMiG,cAAa,kBAAU;AAS7B,IAAM,QAAN,MAAY;AAAA,EACV,YAAY,gBAAgB;AAC1B,SAAK,WAAW;AAChB,SAAK,eAAe;AAAA,MAClB,SAAS,IAAI,2BAAmB;AAAA,MAChC,UAAU,IAAI,2BAAmB;AAAA,IACnC;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,QAAQ,aAAalB,SAAQ;AAG3B,QAAI,OAAO,gBAAgB,UAAU;AACnC,MAAAA,UAASA,WAAU,CAAC;AACpB,MAAAA,QAAO,MAAM;AAAA,IACf,OAAO;AACL,MAAAA,UAAS,eAAe,CAAC;AAAA,IAC3B;AAEA,IAAAA,UAAS,YAAY,KAAK,UAAUA,OAAM;AAE1C,UAAM,EAAC,cAAAQ,eAAc,kBAAkB,QAAO,IAAIR;AAElD,QAAIQ,kBAAiB,QAAW;AAC9B,wBAAU,cAAcA,eAAc;AAAA,QACpC,mBAAmBU,YAAW,aAAaA,YAAW,OAAO;AAAA,QAC7D,mBAAmBA,YAAW,aAAaA,YAAW,OAAO;AAAA,QAC7D,qBAAqBA,YAAW,aAAaA,YAAW,OAAO;AAAA,MACjE,GAAG,KAAK;AAAA,IACV;AAEA,QAAI,oBAAoB,MAAM;AAC5B,UAAI,cAAM,WAAW,gBAAgB,GAAG;AACtC,QAAAlB,QAAO,mBAAmB;AAAA,UACxB,WAAW;AAAA,QACb;AAAA,MACF,OAAO;AACL,0BAAU,cAAc,kBAAkB;AAAA,UACxC,QAAQkB,YAAW;AAAA,UACnB,WAAWA,YAAW;AAAA,QACxB,GAAG,IAAI;AAAA,MACT;AAAA,IACF;AAGA,IAAAlB,QAAO,UAAUA,QAAO,UAAU,KAAK,SAAS,UAAU,OAAO,YAAY;AAE7E,QAAI;AAGJ,qBAAiB,WAAW,cAAM;AAAA,MAChC,QAAQ;AAAA,MACR,QAAQA,QAAO,MAAM;AAAA,IACvB;AAEA,sBAAkB,cAAM;AAAA,MACtB,CAAC,UAAU,OAAO,QAAQ,QAAQ,OAAO,SAAS,QAAQ;AAAA,MAC1D,CAAC,WAAW;AACV,eAAO,QAAQ,MAAM;AAAA,MACvB;AAAA,IACF;AAEA,IAAAA,QAAO,UAAU,qBAAa,OAAO,gBAAgB,OAAO;AAG5D,UAAM,0BAA0B,CAAC;AACjC,QAAI,iCAAiC;AACrC,SAAK,aAAa,QAAQ,QAAQ,SAAS,2BAA2B,aAAa;AACjF,UAAI,OAAO,YAAY,YAAY,cAAc,YAAY,QAAQA,OAAM,MAAM,OAAO;AACtF;AAAA,MACF;AAEA,uCAAiC,kCAAkC,YAAY;AAE/E,8BAAwB,QAAQ,YAAY,WAAW,YAAY,QAAQ;AAAA,IAC7E,CAAC;AAED,UAAM,2BAA2B,CAAC;AAClC,SAAK,aAAa,SAAS,QAAQ,SAAS,yBAAyB,aAAa;AAChF,+BAAyB,KAAK,YAAY,WAAW,YAAY,QAAQ;AAAA,IAC3E,CAAC;AAED,QAAI;AACJ,QAAI/E,KAAI;AACR,QAAI;AAEJ,QAAI,CAAC,gCAAgC;AACnC,YAAM,QAAQ,CAAC,gBAAgB,KAAK,IAAI,GAAG,MAAS;AACpD,YAAM,QAAQ,MAAM,OAAO,uBAAuB;AAClD,YAAM,KAAK,MAAM,OAAO,wBAAwB;AAChD,YAAM,MAAM;AAEZ,gBAAU,QAAQ,QAAQ+E,OAAM;AAEhC,aAAO/E,KAAI,KAAK;AACd,kBAAU,QAAQ,KAAK,MAAMA,IAAG,GAAG,MAAMA,IAAG,CAAC;AAAA,MAC/C;AAEA,aAAO;AAAA,IACT;AAEA,UAAM,wBAAwB;AAE9B,QAAI,YAAY+E;AAEhB,IAAA/E,KAAI;AAEJ,WAAOA,KAAI,KAAK;AACd,YAAM,cAAc,wBAAwBA,IAAG;AAC/C,YAAM,aAAa,wBAAwBA,IAAG;AAC9C,UAAI;AACF,oBAAY,YAAY,SAAS;AAAA,MACnC,SAAS,OAAP;AACA,mBAAW,KAAK,MAAM,KAAK;AAC3B;AAAA,MACF;AAAA,IACF;AAEA,QAAI;AACF,gBAAU,gBAAgB,KAAK,MAAM,SAAS;AAAA,IAChD,SAAS,OAAP;AACA,aAAO,QAAQ,OAAO,KAAK;AAAA,IAC7B;AAEA,IAAAA,KAAI;AACJ,UAAM,yBAAyB;AAE/B,WAAOA,KAAI,KAAK;AACd,gBAAU,QAAQ,KAAK,yBAAyBA,IAAG,GAAG,yBAAyBA,IAAG,CAAC;AAAA,IACrF;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO+E,SAAQ;AACb,IAAAA,UAAS,YAAY,KAAK,UAAUA,OAAM;AAC1C,UAAM,WAAW,cAAcA,QAAO,SAASA,QAAO,GAAG;AACzD,WAAO,SAAS,UAAUA,QAAO,QAAQA,QAAO,gBAAgB;AAAA,EAClE;AACF;AAGA,cAAM,QAAQ,CAAC,UAAU,OAAO,QAAQ,SAAS,GAAG,SAASmB,qBAAoB,QAAQ;AAEvF,QAAM,UAAU,MAAM,IAAI,SAAS,KAAKnB,SAAQ;AAC9C,WAAO,KAAK,QAAQ,YAAYA,WAAU,CAAC,GAAG;AAAA,MAC5C;AAAA,MACA;AAAA,MACA,OAAOA,WAAU,CAAC,GAAG;AAAA,IACvB,CAAC,CAAC;AAAA,EACJ;AACF,CAAC;AAED,cAAM,QAAQ,CAAC,QAAQ,OAAO,OAAO,GAAG,SAASoB,uBAAsB,QAAQ;AAG7E,WAAS,mBAAmB,QAAQ;AAClC,WAAO,SAAS,WAAW,KAAK,MAAMpB,SAAQ;AAC5C,aAAO,KAAK,QAAQ,YAAYA,WAAU,CAAC,GAAG;AAAA,QAC5C;AAAA,QACA,SAAS,SAAS;AAAA,UAChB,gBAAgB;AAAA,QAClB,IAAI,CAAC;AAAA,QACL;AAAA,QACA;AAAA,MACF,CAAC,CAAC;AAAA,IACJ;AAAA,EACF;AAEA,QAAM,UAAU,MAAM,IAAI,mBAAmB;AAE7C,QAAM,UAAU,SAAS,MAAM,IAAI,mBAAmB,IAAI;AAC5D,CAAC;AAED,IAAO,gBAAQ;;;AmC1Mf;AAAA;AAAA;AAAA9E;AAAAC;AAWA,IAAM,cAAN,MAAkB;AAAA,EAChB,YAAY,UAAU;AACpB,QAAI,OAAO,aAAa,YAAY;AAClC,YAAM,IAAI,UAAU,8BAA8B;AAAA,IACpD;AAEA,QAAI;AAEJ,SAAK,UAAU,IAAI,QAAQ,SAAS,gBAAgByE,UAAS;AAC3D,uBAAiBA;AAAA,IACnB,CAAC;AAED,UAAM,QAAQ;AAGd,SAAK,QAAQ,KAAK,YAAU;AAC1B,UAAI,CAAC,MAAM;AAAY;AAEvB,UAAI3E,KAAI,MAAM,WAAW;AAEzB,aAAOA,OAAM,GAAG;AACd,cAAM,WAAWA,EAAC,EAAE,MAAM;AAAA,MAC5B;AACA,YAAM,aAAa;AAAA,IACrB,CAAC;AAGD,SAAK,QAAQ,OAAO,iBAAe;AACjC,UAAI6F;AAEJ,YAAM,UAAU,IAAI,QAAQ,CAAAlB,aAAW;AACrC,cAAM,UAAUA,QAAO;AACvB,QAAAkB,YAAWlB;AAAA,MACb,CAAC,EAAE,KAAK,WAAW;AAEnB,cAAQ,SAAS,SAAS,SAAS;AACjC,cAAM,YAAYkB,SAAQ;AAAA,MAC5B;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,SAAS,OAAO,SAASd,SAAQI,UAAS;AACjD,UAAI,MAAM,QAAQ;AAEhB;AAAA,MACF;AAEA,YAAM,SAAS,IAAI,sBAAc,SAASJ,SAAQI,QAAO;AACzD,qBAAe,MAAM,MAAM;AAAA,IAC7B,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKA,mBAAmB;AACjB,QAAI,KAAK,QAAQ;AACf,YAAM,KAAK;AAAA,IACb;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAMA,UAAU,UAAU;AAClB,QAAI,KAAK,QAAQ;AACf,eAAS,KAAK,MAAM;AACpB;AAAA,IACF;AAEA,QAAI,KAAK,YAAY;AACnB,WAAK,WAAW,KAAK,QAAQ;AAAA,IAC/B,OAAO;AACL,WAAK,aAAa,CAAC,QAAQ;AAAA,IAC7B;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAMA,YAAY,UAAU;AACpB,QAAI,CAAC,KAAK,YAAY;AACpB;AAAA,IACF;AACA,UAAM,QAAQ,KAAK,WAAW,QAAQ,QAAQ;AAC9C,QAAI,UAAU,IAAI;AAChB,WAAK,WAAW,OAAO,OAAO,CAAC;AAAA,IACjC;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,OAAO,SAAS;AACd,QAAI;AACJ,UAAM,QAAQ,IAAI,YAAY,SAAS,SAAS5E,IAAG;AACjD,eAASA;AAAA,IACX,CAAC;AACD,WAAO;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;AAEA,IAAO,sBAAQ;;;ACxHf;AAAA;AAAA;AAAAN;AAAAC;AAuBe,SAAR,OAAwB,UAAU;AACvC,SAAO,SAAS,KAAK,KAAK;AACxB,WAAO,SAAS,MAAM,MAAM,GAAG;AAAA,EACjC;AACF;;;AC3BA;AAAA;AAAA;AAAAD;AAAAC;AAWe,SAAR,aAA8B,SAAS;AAC5C,SAAO,cAAM,SAAS,OAAO,KAAM,QAAQ,iBAAiB;AAC9D;;;ACbA;AAAA;AAAA;AAAAD;AAAAC;AAAA,IAAM,iBAAiB;AAAA,EACrB,UAAU;AAAA,EACV,oBAAoB;AAAA,EACpB,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,IAAI;AAAA,EACJ,SAAS;AAAA,EACT,UAAU;AAAA,EACV,6BAA6B;AAAA,EAC7B,WAAW;AAAA,EACX,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,QAAQ;AAAA,EACR,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,OAAO;AAAA,EACP,UAAU;AAAA,EACV,aAAa;AAAA,EACb,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,UAAU;AAAA,EACV,kBAAkB;AAAA,EAClB,eAAe;AAAA,EACf,6BAA6B;AAAA,EAC7B,gBAAgB;AAAA,EAChB,UAAU;AAAA,EACV,MAAM;AAAA,EACN,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,iBAAiB;AAAA,EACjB,YAAY;AAAA,EACZ,sBAAsB;AAAA,EACtB,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,WAAW;AAAA,EACX,oBAAoB;AAAA,EACpB,qBAAqB;AAAA,EACrB,QAAQ;AAAA,EACR,kBAAkB;AAAA,EAClB,UAAU;AAAA,EACV,iBAAiB;AAAA,EACjB,sBAAsB;AAAA,EACtB,iBAAiB;AAAA,EACjB,6BAA6B;AAAA,EAC7B,4BAA4B;AAAA,EAC5B,qBAAqB;AAAA,EACrB,gBAAgB;AAAA,EAChB,YAAY;AAAA,EACZ,oBAAoB;AAAA,EACpB,gBAAgB;AAAA,EAChB,yBAAyB;AAAA,EACzB,uBAAuB;AAAA,EACvB,qBAAqB;AAAA,EACrB,cAAc;AAAA,EACd,aAAa;AAAA,EACb,+BAA+B;AACjC;AAEA,OAAO,QAAQ,cAAc,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AACvD,iBAAe,KAAK,IAAI;AAC1B,CAAC;AAED,IAAO,yBAAQ;;;AzC5Cf,SAAS,eAAe,eAAe;AACrC,QAAM,UAAU,IAAI,cAAM,aAAa;AACvC,QAAM,WAAW,KAAK,cAAM,UAAU,SAAS,OAAO;AAGtD,gBAAM,OAAO,UAAU,cAAM,WAAW,SAAS,EAAC,YAAY,KAAI,CAAC;AAGnE,gBAAM,OAAO,UAAU,SAAS,MAAM,EAAC,YAAY,KAAI,CAAC;AAGxD,WAAS,SAAS,SAAS,OAAO,gBAAgB;AAChD,WAAO,eAAe,YAAY,eAAe,cAAc,CAAC;AAAA,EAClE;AAEA,SAAO;AACT;AAGA,IAAM,QAAQ,eAAe,gBAAQ;AAGrC,MAAM,QAAQ;AAGd,MAAM,gBAAgB;AACtB,MAAM,cAAc;AACpB,MAAM,WAAW;AACjB,MAAM,UAAU;AAChB,MAAM,aAAa;AAGnB,MAAM,aAAa;AAGnB,MAAM,SAAS,MAAM;AAGrB,MAAM,MAAM,SAAS,IAAI,UAAU;AACjC,SAAO,QAAQ,IAAI,QAAQ;AAC7B;AAEA,MAAM,SAAS;AAGf,MAAM,eAAe;AAGrB,MAAM,cAAc;AAEpB,MAAM,eAAe;AAErB,MAAM,aAAa,WAAS,uBAAe,cAAM,WAAW,KAAK,IAAI,IAAI,SAAS,KAAK,IAAI,KAAK;AAEhG,MAAM,iBAAiB;AAEvB,MAAM,UAAU;AAGhB,IAAO,gBAAQ;;;ADhFf,IAAM;AAAA,EACJ,OAAAkG;AAAA,EACA,YAAAC;AAAA,EACA,eAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,SAAAC;AAAA,EACA,KAAAtD;AAAA,EACA;AAAA,EACA,cAAAuD;AAAA,EACA,QAAAC;AAAA,EACA,YAAAC;AAAA,EACA,cAAAC;AAAA,EACA,gBAAAC;AAAA,EACA;AAAA,EACA,aAAAC;AACF,IAAI;;;ADhBJ,uBAAqB;;;A4CLrB;AAAA;AAAA;AAAA9G;AAAAC;AAMO,IAAM,WAAN,cAAuB,MAAM;AAAA,EAOlC,YAAYiF,UAA4B,UAAqB,SAAiB;AAC5E,UAAM,OAAO;AAEb,SAAK,OAAO;AACZ,SAAK,MAAM,SAAS;AACpB,SAAK,SAAS,SAAS;AACvB,SAAK,aAAa,SAAS;AAC3B,SAAK,OAAO,SAAS;AACrB,SAAK,UAAUA;AAAA,EACjB;AACF;;;ACvBA;AAAA;AAAA;AAAAlF;AAAAC;AAGO,IAAM,cAAN,cAA0B,MAAM;AAAA,EAErC,YAAY,SAAiB;AAC3B,UAAM,OAAO;AACb,SAAK,OAAO;AAAA,EACd;AAAA,EAEA,IAAW,cAAuB;AAChC,WAAO;AAAA,EACT;AACF;AAbA;AAuBO,IAAM,oBAAN,MAAiD;AAAA,EAStD,YACE,UAKA;AAdF;AACA;AACA;AACA,uBAAS,iBAAT;AACA,uBAAS,UAAT;AACA;AACA;AASE,uBAAK,aAAc;AACnB,uBAAK,aAAc;AACnB,uBAAK,cAAe;AACpB,uBAAK,iBAAkB,CAAC;AACxB,uBAAK,UAAW,IAAI,QAAW,CAACyE,UAAS,WAAW;AAClD,yBAAK,UAAWA;AAChB,yBAAK,SAAU;AAEf,YAAM,YAAY,CAAC,UAAoC;AA/C7D;AAgDQ,YAAI,mBAAK,gBAAe,mBAAK,gBAAe,mBAAK,eAAc;AAC7D;AAAA,QACF;AACA,2BAAK,aAAc;AACnB,iCAAK,cAAL,8BAAgB;AAAA,MAClB;AAEA,YAAM,WAAW,CAAC,WAAuB;AAvD/C;AAwDQ,YAAI,mBAAK,gBAAe,mBAAK,gBAAe,mBAAK,eAAc;AAC7D;AAAA,QACF;AACA,2BAAK,aAAc;AACnB,iCAAK,aAAL,8BAAe;AAAA,MACjB;AAEA,YAAM,WAAW,CAAC,kBAAoC;AACpD,YAAI,mBAAK,gBAAe,mBAAK,gBAAe,mBAAK,eAAc;AAC7D;AAAA,QACF;AACA,2BAAK,iBAAgB,KAAK,aAAa;AAAA,MACzC;AAEA,aAAO,eAAe,UAAU,cAAc;AAAA,QAC5C,KAAK,MAAe,mBAAK;AAAA,MAC3B,CAAC;AAED,aAAO,eAAe,UAAU,cAAc;AAAA,QAC5C,KAAK,MAAe,mBAAK;AAAA,MAC3B,CAAC;AAED,aAAO,eAAe,UAAU,eAAe;AAAA,QAC7C,KAAK,MAAe,mBAAK;AAAA,MAC3B,CAAC;AAED,aAAO,SAAS,WAAW,UAAU,QAAoB;AAAA,IAC3D,CAAC;AAAA,EACH;AAAA,EAEC,KAAK,OAAO,WAAW,IAAI;AAClB,WAAO;AAAA,EACd;AAAA,EAEI,KACL,aACA,YAC8B;AAC9B,WAAO,mBAAK,UAAS,KAAK,aAAa,UAAU;AAAA,EACnD;AAAA,EAEO,MACL,YACsB;AACtB,WAAO,mBAAK,UAAS,MAAM,UAAU;AAAA,EACvC;AAAA,EAEO,QAAQ,WAA6C;AAC1D,WAAO,mBAAK,UAAS,QAAQ,SAAS;AAAA,EACxC;AAAA,EAEO,SAAe;AA3GxB;AA4GI,QAAI,mBAAK,gBAAe,mBAAK,gBAAe,mBAAK,eAAc;AAC7D;AAAA,IACF;AACA,uBAAK,cAAe;AACpB,QAAI,mBAAK,iBAAgB,QAAQ;AAC/B,UAAI;AACF,mBAAW,iBAAiB,mBAAK,kBAAiB;AAChD,wBAAc;AAAA,QAChB;AAAA,MACF,SAAS,OAAP;AACA,gBAAQ,KAAK,+BAA+B,KAAK;AACjD;AAAA,MACF;AAAA,IACF;AACA,uBAAK,iBAAgB,SAAS;AAC9B,6BAAK,aAAL,8BAAe,IAAI,YAAY,iBAAiB;AAAA,EAClD;AAAA,EAEA,IAAW,cAAuB;AAChC,WAAO,mBAAK;AAAA,EACd;AACF;AAzGE;AACA;AACA;AACS;AACA;AACT;AACA;;;A7ChBF,IAAM,YAAY,CAAI,UAAuE;AAC3F,SAAO,UAAU,UAAa,UAAU;AAC1C;AAEA,IAAMtD,YAAW,CAAC,UAAgC;AAChD,SAAO,OAAO,UAAU;AAC1B;AAEA,IAAM,oBAAoB,CAAC,UAAgC;AACzD,SAAOA,UAAS,KAAK,KAAK,UAAU;AACtC;AAEA,IAAM2F,UAAS,CAAC,UAA8B;AAC5C,SACE,OAAO,UAAU,YACjB,OAAO,MAAM,SAAS,YACtB,OAAO,MAAM,WAAW,cACxB,OAAO,MAAM,gBAAgB,cAC7B,OAAO,MAAM,gBAAgB,cAC7B,OAAO,MAAM,YAAY,SAAS,YAClC,gBAAgB,KAAK,MAAM,YAAY,IAAI,KAC3C,gBAAgB,KAAK,MAAM,OAAO,WAAW,CAAC;AAElD;AAEA,IAAM3B,cAAa,CAAC,UAAkC;AACpD,SAAO,iBAAiB,iBAAA4B;AAC1B;AAEA,IAAM,YAAY,CAAC,WAA4B;AAC7C,SAAO,UAAU,OAAO,SAAS;AACnC;AAEA,IAAM,SAAS,CAAC,QAAwB;AACtC,MAAI;AACF,WAAO,KAAK,GAAG;AAAA,EACjB,SAAS,KAAP;AAEA,WAAOxG,QAAO,KAAK,GAAG,EAAE,SAAS,QAAQ;AAAA,EAC3C;AACF;AAEA,IAAM,iBAAiB,CAAC,WAAwC;AAC9D,QAAM,KAAe,CAAC;AAEtB,QAAMyG,UAAS,CAAC,KAAa,UAAe;AAC1C,OAAG,KAAK,GAAG,mBAAmB,GAAG,KAAK,mBAAmB,OAAO,KAAK,CAAC,GAAG;AAAA,EAC3E;AAEA,QAAMC,WAAU,CAAC,KAAa,UAAe;AAC3C,QAAI,UAAU,KAAK,GAAG;AACpB,UAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,cAAM,QAAQ,CAAAjE,OAAK;AACjB,UAAAiE,SAAQ,KAAKjE,EAAC;AAAA,QAChB,CAAC;AAAA,MACH,WAAW,OAAO,UAAU,UAAU;AACpC,eAAO,QAAQ,KAAK,EAAE,QAAQ,CAAC,CAAC,GAAGA,EAAC,MAAM;AACxC,UAAAiE,SAAQ,GAAG,OAAO,MAAMjE,EAAC;AAAA,QAC3B,CAAC;AAAA,MACH,OAAO;AACL,QAAAgE,QAAO,KAAK,KAAK;AAAA,MACnB;AAAA,IACF;AAAA,EACF;AAEA,SAAO,QAAQ,MAAM,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAC/C,IAAAC,SAAQ,KAAK,KAAK;AAAA,EACpB,CAAC;AAED,MAAI,GAAG,SAAS,GAAG;AACjB,WAAO,IAAI,GAAG,KAAK,GAAG;AAAA,EACxB;AAEA,SAAO;AACT;AAEA,IAAM,SAAS,CAACpC,SAAuB,YAAuC;AAC5E,QAAM,UAAUA,QAAO,eAAe;AAEtC,QAAM,OAAO,QAAQ,IAClB,QAAQ,iBAAiBA,QAAO,OAAO,EACvC,QAAQ,YAAY,CAAC,WAAmB,UAAkB;AACzD,QAAI,QAAQ,MAAM,eAAe,KAAK,GAAG;AACvC,aAAO,QAAQ,OAAO,QAAQ,KAAK,KAAK,CAAC,CAAC;AAAA,IAC5C;AACA,WAAO;AAAA,EACT,CAAC;AAEH,QAAM,MAAM,GAAGA,QAAO,OAAO;AAC7B,MAAI,QAAQ,OAAO;AACjB,WAAO,GAAG,MAAM,eAAe,QAAQ,KAAK;AAAA,EAC9C;AACA,SAAO;AACT;AAEA,IAAM,cAAc,CAAC,YAAqD;AACxE,MAAI,QAAQ,UAAU;AACpB,UAAM,WAAW,IAAI,iBAAAkC,QAAS;AAE9B,UAAME,WAAU,CAAC,KAAa,UAAe;AAC3C,UAAI9F,UAAS,KAAK,KAAK2F,QAAO,KAAK,GAAG;AACpC,iBAAS,OAAO,KAAK,KAAK;AAAA,MAC5B,OAAO;AACL,iBAAS,OAAO,KAAK,KAAK,UAAU,KAAK,CAAC;AAAA,MAC5C;AAAA,IACF;AAEA,WAAO,QAAQ,QAAQ,QAAQ,EAC5B,OAAO,CAAC,CAAC,GAAG,KAAK,MAAM,UAAU,KAAK,CAAC,EACvC,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AACzB,UAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,cAAM,QAAQ,CAAA9D,OAAKiE,SAAQ,KAAKjE,EAAC,CAAC;AAAA,MACpC,OAAO;AACL,QAAAiE,SAAQ,KAAK,KAAK;AAAA,MACpB;AAAA,IACF,CAAC;AAEH,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAIA,IAAM,UAAU,OAAU,SAA4B,aAAuD;AAC3G,MAAI,OAAO,aAAa,YAAY;AAClC,WAAQ,SAAyB,OAAO;AAAA,EAC1C;AACA,SAAO;AACT;AAEA,IAAM,aAAa,OAAOpC,SAAuB,SAA4B,aAAyD;AACpI,QAAM,QAAQ,MAAM,QAAQ,SAASA,QAAO,KAAK;AACjD,QAAM,WAAW,MAAM,QAAQ,SAASA,QAAO,QAAQ;AACvD,QAAM,WAAW,MAAM,QAAQ,SAASA,QAAO,QAAQ;AACvD,QAAM,oBAAoB,MAAM,QAAQ,SAASA,QAAO,OAAO;AAC/D,QAAM,cAAc,OAAO,UAAU,eAAe,cAAc,UAAU,WAAW,KAAK,CAAC;AAE7F,QAAM,UAAU,OAAO,QAAQ;AAAA,IAC7B,QAAQ;AAAA,IACR,GAAG;AAAA,IACH,GAAG,QAAQ;AAAA,IACX,GAAG;AAAA,EACL,CAAC,EACA,OAAO,CAAC,CAAC,GAAG,KAAK,MAAM,UAAU,KAAK,CAAC,EACvC,OAAO,CAACqC,UAAS,CAAC,KAAK,KAAK,OAAO;AAAA,IAClC,GAAGA;AAAA,IACH,CAAC,GAAG,GAAG,OAAO,KAAK;AAAA,EACrB,IAAI,CAAC,CAA2B;AAEhC,MAAI,kBAAkB,KAAK,GAAG;AAC5B,YAAQ,eAAe,IAAI,UAAU;AAAA,EACvC;AAEA,MAAI,kBAAkB,QAAQ,KAAK,kBAAkB,QAAQ,GAAG;AAC9D,UAAM,cAAc,OAAO,GAAG,YAAY,UAAU;AACpD,YAAQ,eAAe,IAAI,SAAS;AAAA,EACtC;AAEA,MAAI,QAAQ,MAAM;AAChB,QAAI,QAAQ,WAAW;AACrB,cAAQ,cAAc,IAAI,QAAQ;AAAA,IACpC,WAAWJ,QAAO,QAAQ,IAAI,GAAG;AAC/B,cAAQ,cAAc,IAAI,QAAQ,KAAK,QAAQ;AAAA,IACjD,WAAW3F,UAAS,QAAQ,IAAI,GAAG;AACjC,cAAQ,cAAc,IAAI;AAAA,IAC5B,WAAW,CAACgE,YAAW,QAAQ,IAAI,GAAG;AACpC,cAAQ,cAAc,IAAI;AAAA,IAC5B;AAAA,EACF;AAEA,SAAO;AACT;AAEA,IAAM,iBAAiB,CAAC,YAAoC;AAC1D,MAAI,QAAQ,MAAM;AAChB,WAAO,QAAQ;AAAA,EACjB;AACA,SAAO;AACT;AAEA,IAAM,cAAc,OAClBN,SACA,SACA,KACA,MACA,UACA,SACA,aAC8B;AAC9B,QAAM,SAAS,cAAM,YAAY,OAAO;AAExC,QAAM,gBAAoC;AAAA,IACxC;AAAA,IACA;AAAA,IACA,MAAM,QAAQ;AAAA,IACd,QAAQ,QAAQ;AAAA,IAChB,iBAAiBA,QAAO;AAAA,IACxB,aAAa,OAAO;AAAA,EACtB;AAEA,WAAS,MAAM,OAAO,OAAO,6BAA6B,CAAC;AAE3D,MAAI;AACF,WAAO,MAAM,cAAM,QAAQ,aAAa;AAAA,EAC1C,SAAS,OAAP;AACA,UAAM,aAAa;AACnB,QAAI,WAAW,UAAU;AACvB,aAAO,WAAW;AAAA,IACpB;AACA,UAAM;AAAA,EACR;AACF;AAEA,IAAM,oBAAoB,CAAC,UAA8B,mBAAgD;AACvG,MAAI,gBAAgB;AAClB,UAAM,UAAU,SAAS,QAAQ,cAAc;AAC/C,QAAI1D,UAAS,OAAO,GAAG;AACrB,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AAEA,IAAM,kBAAkB,CAAC,aAAsC;AAC7D,MAAI,SAAS,WAAW,KAAK;AAC3B,WAAO,SAAS;AAAA,EAClB;AACA,SAAO;AACT;AAEA,IAAM,kBAAkB,CAAC,SAA4B,WAA4B;AAC/E,QAAM,SAAiC;AAAA,IACrC,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,GAAG,QAAQ;AAAA,EACb;AAEA,QAAM,QAAQ,OAAO,OAAO,MAAM;AAClC,MAAI,OAAO;AACT,UAAM,IAAI,SAAS,SAAS,QAAQ,KAAK;AAAA,EAC3C;AAEA,MAAI,CAAC,OAAO,IAAI;AACd,UAAM,IAAI,SAAS,SAAS,QAAQ,eAAe;AAAA,EACrD;AACF;AASO,IAAM,UAAU,CAAI0D,SAAuB,YAAqD;AACrG,SAAO,IAAI,kBAAkB,OAAOJ,UAAS,QAAQ,aAAa;AAChE,QAAI;AACF,YAAM,MAAM,OAAOI,SAAQ,OAAO;AAClC,YAAM,WAAW,YAAY,OAAO;AACpC,YAAM,OAAO,eAAe,OAAO;AACnC,YAAM,UAAU,MAAM,WAAWA,SAAQ,SAAS,QAAQ;AAE1D,UAAI,CAAC,SAAS,aAAa;AACzB,cAAM,WAAW,MAAM,YAAeA,SAAQ,SAAS,KAAK,MAAM,UAAU,SAAS,QAAQ;AAC7F,cAAM,eAAe,gBAAgB,QAAQ;AAC7C,cAAM,iBAAiB,kBAAkB,UAAU,QAAQ,cAAc;AAEzE,cAAM,SAAoB;AAAA,UACxB;AAAA,UACA,IAAI,UAAU,SAAS,MAAM;AAAA,UAC7B,QAAQ,SAAS;AAAA,UACjB,YAAY,SAAS;AAAA,UACrB,MAAM,kBAAkB;AAAA,QAC1B;AAEA,wBAAgB,SAAS,MAAM;AAE/B,QAAAJ,SAAQ,OAAO,IAAI;AAAA,MACrB;AAAA,IACF,SAAS,OAAP;AACA,aAAO,KAAK;AAAA,IACd;AAAA,EACF,CAAC;AACH;;;AFtSO,IAAM,mBAAN,cAA+B,gBAAgB;AAAA,EAEpD,YAAYI,SAAuB;AACjC,UAAMA,OAAM;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQgB,QAAW,SAAkD;AAC3E,WAAO,QAAU,KAAK,QAAQ,OAAO;AAAA,EACvC;AACF;;;AgDxBA;AAAA;AAAA;AAAA9E;AAAAC;AAUO,IAAM,YAAN,MAAgB;AAAA,EAErB,YAA4B,aAA8B;AAA9B;AAAA,EAA+B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOpD,WACL,aACuC;AACvC,WAAO,KAAK,YAAY,QAAQ;AAAA,MAC9B,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,MAAM;AAAA,MACN,WAAW;AAAA,MACX,QAAQ;AAAA,QACN,KAAK;AAAA,MACP;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,MACL,aACwB;AACxB,WAAO,KAAK,YAAY,QAAQ;AAAA,MAC9B,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,MAAM;AAAA,MACN,WAAW;AAAA,MACX,QAAQ;AAAA,QACN,KAAK;AAAA,MACP;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMO,SAAiC;AACtC,WAAO,KAAK,YAAY,QAAQ;AAAA,MAC9B,QAAQ;AAAA,MACR,KAAK;AAAA,IACP,CAAC;AAAA,EACH;AAEF;;;AjDpDO,IAAM,WAAN,MAAe;AAAA,EAMpB,YAAY6E,SAAiC,cAAsC,kBAAkB;AACnG,SAAK,UAAU,IAAI,YAAY;AAAA,MAC7B,MAAMA,SAAQ,QAAQ;AAAA,MACtB,SAASA,SAAQ,WAAW;AAAA,MAC5B,kBAAkBA,SAAQ,oBAAoB;AAAA,MAC9C,aAAaA,SAAQ,eAAe;AAAA,MACpC,OAAOA,SAAQ;AAAA,MACf,UAAUA,SAAQ;AAAA,MAClB,UAAUA,SAAQ;AAAA,MAClB,SAASA,SAAQ;AAAA,MACjB,aAAaA,SAAQ;AAAA,IACvB,CAAC;AAED,SAAK,KAAK,IAAI,UAAU,KAAK,OAAO;AAAA,EACtC;AACF;;;AkDhCA;AAAA;AAAA;AAAA9E;AAAAC;;;ACAA;AAAA;AAAA;AAAAD;AAAAC;AAAO,SAAS,WAAW,OAAe;AACxC,SAAO,MAAM,MAAM,gBAAgB,EAAE,OAAO,OAAO;AACrD;AAEO,SAAS,WAAW,OAAe;AACxC,SAAO,MAAM,MAAM,UAAU,EAAE,OAAO,OAAO;AAC/C;AAEO,SAAS,QAAQ,OAAe;AACrC,SAAO,MAAM,KAAK,EAAE,WAAW;AACjC;AAGO,SAAS,WAAc,SAAqB,QAA0C;AAC3F,SAAO,IAAI,kBAAkB,CAACyE,UAAS,QAAQ,aAAa;AAC1D,YACG,KAAK,CAAC,SAAY;AACjB,MAAAA,SAAQ,IAAI;AAAA,IACd,CAAC,EACA,MAAM,CAAC,QAAe;AACrB,aAAO,GAAG;AAAA,IACZ,CAAC;AACH,aAAS,MAAM;AACb,aAAO;AAAA,IACT,CAAC;AAAA,EACH,CAAC;AACH;;;AC1BA;AAAA;AAAA;AAAA1E;AAAAC;;;ACAA;AAAA;AAAA;AAAAD;AAAAC;;;ACAA;AAAA;AAAA;AAAAD;AAAAC;;;ACAA;AAAA;AAAA;AAAAD;AAAAC;AAMO,IAAM,aAAN,MAAiB;AAAA,EACtB,YAA4B,aAA8B;AAA9B;AAAA,EAA+B;AAAA;AAAA;AAAA;AAAA;AAAA,EAMpD,cAAsD;AAC3D,WAAO,KAAK,YAAY,QAAQ;AAAA,MAC9B,QAAQ;AAAA,MACR,KAAK;AAAA,IACP,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,kBAAkB,OAAuE;AAC9F,WAAO,KAAK,YAAY,QAAQ;AAAA,MAC9B,QAAQ;AAAA,MACR,KAAK;AAAA,MACL;AAAA,IACF,CAAC;AAAA,EACH;AACF;;;AD1BO,IAAM,WAAN,MAAe;AAAA,EAKpB,YAAY6E,SAAiC,cAAsC,kBAAkB;AACnG,SAAK,UAAU,IAAI,YAAY;AAAA,MAC7B,MAAMA,SAAQ,QAAQ;AAAA,MACtB,SAASA,SAAQ,WAAW;AAAA,MAC5B,kBAAkBA,SAAQ,oBAAoB;AAAA,MAC9C,aAAaA,SAAQ,eAAe;AAAA,MACpC,OAAOA,SAAQ;AAAA,MACf,UAAUA,SAAQ;AAAA,MAClB,UAAUA,SAAQ;AAAA,MAClB,SAASA,SAAQ;AAAA,MACjB,aAAaA,SAAQ;AAAA,IACvB,CAAC;AAED,SAAK,MAAM,IAAI,WAAW,KAAK,OAAO;AAAA,EACxC;AACF;;;AE1BA;AAAA;AAAA;AAAA9E;AAAAC;;;ACAA;AAAA;AAAA;AAAAD;AAAAC;;;ACAA;AAAA;AAAA;AAAAD;AAAAC;AAWO,IAAM,YAAuB,OAChC,QACC,MAAM;AACL,QAAM,WAAW,KAAgB,KAAK,KAAc,QAAQ,GAAG,UAAU,SAAS,WAAW;AAC7F,QAAM,KAAK;AACX,SAAO;AAAA,IACL,MAAM,CAAC;AAAA,IACP,MAAM,iBAAkB;AACtB,WAAK,OAAQ,MAAM,GAAG,SAAS,UAAU,EAAE,QAAQ,MAAM,CAAC,KAAM,CAAC;AAAA,IACnE;AAAA,IACA,MAAM,iBAAkB;AACtB,YAAM,GAAG,WAAW,UAAU,KAAK,IAAI;AAAA,IACzC;AAAA,EACF;AACF,GAAG;;;ACzBP;AAAA;AAAA;AAAAD;AAAAC;AAAA,kBAAiB;AAOjB,IAAM,SAAS,OACX;AAAA;AAAA;AAAA;AAAA,EAIA,KAAgC,aAAa,mBAAmB;AAAA,IAC9D,MAAM,KAAgB,KAAK,KAAc,QAAQ,GAAG,UAAU,YAAY;AAAA,IAC1E,MAAM;AAAA,IACN,UAAU;AAAA,EACZ,CAAC;AAAA;AAEE,IAAM,aAAa,CAAC,CAAC,aAAS,YAAA8D,SAAK,MAAM,QAAI,YAAAA,SAAK;AAElD,IAAM,aAAa,CAAC,UAAU;AACrC,WAAW,UAAU,CAAC,UAAU;AAC9B,aAAW,KAAK,KAAK;AACvB;;;APbO,IAAM,QAAN,cAAmB,aAAa;AAAA,EAmBrC,YAAY,SAAsD;AAChE,UAAM;AAfR;AAAA,SAAiB,SAAS,WAAW,MAAM,EAAE,WAAW,OAAO,CAAC;AAEhE,SAAS,YAA8B;AACvC,SAAQ,oBAA2D;AACnE,SAAQ,oBAA0D;AAClE,SAAQ,UAA2B;AACnC,SAAQ,MAAqB;AAU3B,SAAK,WAAW,QAAQ;AACxB,SAAK,YAAY,QAAQ,aAAa;AAItC,UAAM,cAAc,KAAK,SAAS,QAAQ,eAAe,MAAM;AAC/D,SAAK,UAAU,IAAI,SAAS,EAAE,MAAM,YAAY,CAAC;AAAA,EACnD;AAAA,EAfA,aAAa,OAAO,SAAqE;AACvF,UAAM,OAAO,IAAI,MAAK,OAAO;AAC7B,UAAM,KAAK,KAAK;AAChB,WAAO;AAAA,EACT;AAAA,EAaA,IAAI,QAAuB;AACzB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,MAAc,OAAsB;AAClC,QAAI,CAAC,KAAK;AAAW;AACrB,QAAI;AACF,YAAM,KAAK,UAAU,KAAK;AAC1B,YAAM,YAAY,KAAK,UAAU,KAAK,MAAM,IAAI,KAAK,QAAQ,GAAG;AAChE,UAAI,OAAO,cAAc,YAAY,KAAK,QAAQ,WAAW;AAC3D,aAAK,OAAO,MAAM,EAAE,UAAU,GAAG,2BAA2B;AAC5D,aAAK,MAAM;AACX,aAAK,qBAAqB;AAAA,MAC5B;AAAA,IACF,SAAS,OAAP;AACA,WAAK,OAAO,MAAM,EAAE,MAAM,GAAG,yBAAyB;AAAA,IACxD;AAAA,EACF;AAAA,EAEA,MAAc,OAAsB;AAClC,QAAI,CAAC,KAAK;AAAW;AACrB,QAAI;AACF,UAAI,KAAK,KAAK;AACZ,YAAI,KAAK,UAAU,KAAK,MAAM,IAAI,KAAK,QAAQ,GAAG,QAAQ,KAAK;AAAK;AACpE,aAAK,UAAU,KAAK,MAAM,IAAI,EAAE,GAAG,KAAK,UAAU,KAAK,MAAM,GAAG,CAAC,KAAK,QAAQ,GAAG,EAAE,KAAK,KAAK,IAAI,EAAE;AAAA,MACrG,OAAO;AACL,YAAI,OAAO,KAAK,UAAU,KAAK,MAAM,IAAI,KAAK,QAAQ,MAAM;AAAa;AACzE,eAAO,KAAK,UAAU,KAAK,MAAM,EAAE,KAAK,QAAQ;AAAA,MAClD;AACA,YAAM,KAAK,UAAU,KAAK;AAC1B,WAAK,OAAO,MAAM,6BAA6B;AAAA,IACjD,SAAS,OAAP;AACA,WAAK,OAAO,MAAM,EAAE,MAAM,GAAG,wBAAwB;AAAA,IACvD;AAAA,EACF;AAAA,EAEA,MAAM,QAAuB;AAC3B,QAAI,KAAK,KAAK;AACZ,WAAK,MAAM;AACX,YAAM,KAAK,KAAK;AAAA,IAClB;AACA,QAAI,KAAK,mBAAmB;AAC1B,mBAAa,KAAK,iBAAiB;AACnC,WAAK,oBAAoB;AAAA,IAC3B;AACA,QAAI,KAAK,mBAAmB;AAC1B,oBAAc,KAAK,iBAAiB;AACpC,WAAK,oBAAoB;AAAA,IAC3B;AAAA,EACF;AAAA,EAEA,MAAM,eAAgC;AACpC,QAAI;AACF,YAAM,KAAK,MAAM;AACjB,YAAM,cAAc,MAAM,KAAK,QAAQ,IAAI,YAAY;AACvD,WAAK,OAAO,MAAM,EAAE,YAAY,GAAG,+BAA+B;AAClE,YAAM,UAAU,IAAI,IAAI,MAAK,WAAW;AACxC,cAAQ,aAAa,OAAO,QAAQ,YAAY,KAAK,IAAI;AACzD,WAAK,qBAAqB,YAAY,KAAK,IAAI;AAC/C,aAAO,QAAQ,SAAS;AAAA,IAC1B,SAAS,OAAP;AACA,WAAK,OAAO,MAAM,EAAE,MAAM,GAAG,6BAA6B;AAC1D,YAAM;AAAA,IACR;AAAA,EACF;AAAA,EAEA,MAAM,qBAAqB,MAAc;AACvC,SAAK,oBAAoB,YAAY,YAAY;AAC/C,UAAI;AACF,cAAM,WAAW,MAAM,KAAK,QAAQ,IAAI,kBAAkB,EAAE,KAAK,CAAC;AAClE,aAAK,OAAO,MAAM,EAAE,SAAS,GAAG,mBAAmB;AACnD,aAAK,MAAM,SAAS,KAAK;AACzB,cAAM,KAAK,KAAK;AAChB,aAAK,qBAAqB;AAC1B,cAAM,KAAK,WAAW,KAAK,GAAG;AAC9B,sBAAc,KAAK,iBAAiB;AACpC,aAAK,oBAAoB;AAAA,MAC3B,SAAS,OAAP;AACA,YAAI,iBAAiB,YAAY,CAAC,KAAK,KAAK,GAAG,EAAE,QAAQ,MAAM,MAAM,MAAM,IAAI;AAC7E,eAAK,OAAO,MAAM,EAAE,MAAM,GAAG,iCAAiC;AAAA,QAChE,OAAO;AAEL,eAAK,OAAO,MAAM,EAAE,MAAM,GAAG,wBAAwB;AAAA,QACvD;AAAA,MACF;AAAA,IACF,GAAG,MAAK,iBAAiB;AAAA,EAC3B;AAAA,EAEQ,uBAAuB;AAC7B,QAAI,KAAK,mBAAmB;AAC1B,mBAAa,KAAK,iBAAiB;AACnC,WAAK,oBAAoB;AAAA,IAC3B;AACA,QAAI,CAAC,KAAK,KAAK;AACb,aAAO;AAAA,IACT;AAEA,UAAM,WAAW,KAAK,IAAI,IAAI,MAAO,KAAK,KAAK,KAAK;AACpD,UAAM,eAAe,KAAK,IAAI,GAAG,WAAW,MAAO,KAAK,IAAI,IAAI,MAAK,oBAAoB;AACzF,SAAK,oBAAoB,WAAW,YAAY;AAC9C,WAAK,OAAO,MAAM,EAAE,SAAS,GAAG,eAAe;AAAA,IAEjD,GAAG,YAAY;AAAA,EACjB;AACF;AAtIO,IAAM,OAAN;AAAM,KACK,cAAc;AADnB,KAEK,oBAAoB;AAAA;AAFzB,KAGK,uBAAuB,MAAO,KAAK,KAAK,KAAK;;;AQb/D;AAAA;AAAA;AAAA/D;AAAAC;AAYO,IAAM,qBAAkC;AAAA,EAC7C,QAAQ;AAAA,IACN,UAAU;AAAA,EACZ;AAAA,EACA,MAAM;AAAA,IACJ,OAAO;AAAA,EACT;AAAA,EACA,wBAAwB;AAAA,IACtB,SAAS;AAAA,EACX;AACF;;;ACtBA;AAAA;AAAA;AAAAD;AAAAC;;;ACAA;;;AAAAD;AAAAC;AAMA,IAAM,OACJ,OAAO,gBAAgB,YACvB,eACA,OAAO,YAAY,QAAQ,aACvB,cACA;AAEN,IAAM,SAAS,oBAAI,IAAG;AAMtB,IAAM,UACJ,OAAO,oBAAY,YAAY,CAAC,CAAC,kBAAU,kBAAU,CAAA;AAIvD,IAAMmH,eAAc,CAClB,KACA,MACA,MACA,OACE;AACF,SAAO,QAAQ,gBAAgB,aAC3B,QAAQ,YAAY,KAAK,MAAM,MAAM,EAAE,IACvC,QAAQ,MAAM,IAAI,SAAS,SAAS,KAAK;AAC/C;AAEA,IAAI,KAAK,WAAW;AACpB,IAAI,KAAK,WAAW;AAGpB,IAAI,OAAO,OAAO,aAAa;AAE7B,OAAK,MAAM,YAAW;IAAjB;AACH;AACA,sCAAqC,CAAA;AACrC;AACA,qCAAmB;;IACnB,iBAAiB,GAAW,IAAwB;AAClD,WAAK,SAAS,KAAK,EAAE;IACvB;;AAGF,OAAK,MAAM,gBAAe;IACxB,cAAA;AAGA,oCAAS,IAAI,GAAE;AAFb,qBAAc;IAChB;IAEA,MAAM,QAAW;AACf,UAAI,KAAK,OAAO;AAAS;AAEzB,WAAK,OAAO,SAAS;AAErB,WAAK,OAAO,UAAU;AAEtB,iBAAW,MAAM,KAAK,OAAO,UAAU;AACrC,WAAG,MAAM;;AAEX,WAAK,OAAO,UAAU,MAAM;IAC9B;;AAEF,MAAI,yBACF,QAAQ,KAAK,gCAAgC;AAC/C,QAAM,iBAAiB,MAAK;AAC1B,QAAI,CAAC;AAAwB;AAC7B,6BAAyB;AACzB,IAAAA,aACE,oaAOA,uBACA,WACA,cAAc;EAElB;;AAIF,IAAM,aAAa,CAAC,SAAiB,CAAC,OAAO,IAAI,IAAI;AAErD,IAAM,OAAO,OAAO,MAAM;AAI1B,IAAM,WAAW,CAACxG,OAChBA,MAAKA,OAAM,KAAK,MAAMA,EAAC,KAAKA,KAAI,KAAK,SAASA,EAAC;AAcjD,IAAM,eAAe,CAAC,QACpB,CAAC,SAAS,GAAG,IACT,OACA,OAAO,KAAK,IAAI,GAAG,CAAC,IACpB,aACA,OAAO,KAAK,IAAI,GAAG,EAAE,IACrB,cACA,OAAO,KAAK,IAAI,GAAG,EAAE,IACrB,cACA,OAAO,OAAO,mBACd,YACA;AAGN,IAAM,YAAN,cAAwB,MAAa;EACnC,YAAY,MAAY;AACtB,UAAM,IAAI;AACV,SAAK,KAAK,CAAC;EACb;;AAjIF;AAqIA,IAAM,SAAN,MAAW;EAaT,YACE,KACA,SAAyC;AAd3C;AACA;AAgBE,QAAI,CAAC,qBAAM,gBAAe;AACxB,YAAM,IAAI,UAAU,yCAAyC;;AAG/D,SAAK,OAAO,IAAI,QAAQ,GAAG;AAC3B,SAAK,SAAS;EAChB;EAnBA,OAAO,OAAO,KAAW;AACvB,UAAM,UAAU,aAAa,GAAG;AAChC,QAAI,CAAC;AAAS,aAAO,CAAA;AACrB,yBAAM,eAAgB;AACtB,UAAMP,KAAI,IAAI,OAAM,KAAK,OAAO;AAChC,yBAAM,eAAgB;AACtB,WAAOA;EACT;EAaA,KAAKO,IAAQ;AACX,SAAK,KAAK,KAAK,QAAQ,IAAIA;EAC7B;EACA,MAAG;AACD,WAAO,KAAK,KAAK,EAAE,KAAK,MAAM;EAChC;;AA9BF,IAAM,QAAN;AAIS;;AAAP,aAJI,OAIG,eAAyB;AAzIlC;AAmxBM,IAAO,YAAP,MAAe;EAkMnB,YACE,SAAwD;AAwJ1D;AAmGA;AAgFA,uBAAC;AAkBD,uBAAC;AAkBD;AA6XA;AA2FA;AA8IA;AA4MA;AAKA;AAr2CS;;;;AACA;AACA;AACA;AACA;AAKT;;;;AAKA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAKA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAGA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAqVA;uCAAyC,MAAK;IAAE;AAChD,mCACE,MAAK;IAAE;AACT,oCAMY,MAAK;IAAE;AAGnB;iCAAsC,MAAM;AAyD5C,wCAA0C,QAAK;IAAE;AACjD,qCAIY,CAAC,IAAI,IAAI,QAAO;IAAE;AAC9B,qCAKqB,CACnB,IACA,IACA,MACA,oBACE;AACF,UAAI,QAAQ,iBAAiB;AAC3B,cAAM,IAAI,UACR,kEAAkE;;AAGtE,aAAO;IACT;AAvUE,UAAM,EACJ,MAAM,GACN,KACA,gBAAgB,GAChB,cACA,gBACA,gBACA,YACA,SACA,cACA,gBACA,aACA,UAAU,GACV,eAAe,GACf,iBACA,aACA,0BACA,oBACA,4BACA,wBACA,iBAAgB,IACd;AAEJ,QAAI,QAAQ,KAAK,CAAC,SAAS,GAAG,GAAG;AAC/B,YAAM,IAAI,UAAU,0CAA0C;;AAGhE,UAAM,YAAY,MAAM,aAAa,GAAG,IAAI;AAC5C,QAAI,CAAC,WAAW;AACd,YAAM,IAAI,MAAM,wBAAwB,GAAG;;AAG7C,uBAAK,MAAO;AACZ,uBAAK,UAAW;AAChB,SAAK,eAAe,gBAAgB,mBAAK;AACzC,SAAK,kBAAkB;AACvB,QAAI,KAAK,iBAAiB;AACxB,UAAI,CAAC,mBAAK,aAAY,CAAC,KAAK,cAAc;AACxC,cAAM,IAAI,UACR,oEAAoE;;AAGxE,UAAI,OAAO,KAAK,oBAAoB,YAAY;AAC9C,cAAM,IAAI,UAAU,qCAAqC;;;AAI7D,QACE,gBAAgB,UAChB,OAAO,gBAAgB,YACvB;AACA,YAAM,IAAI,UACR,6CAA6C;;AAGjD,uBAAK,cAAe;AACpB,uBAAK,iBAAkB,CAAC,CAAC;AAEzB,uBAAK,SAAU,oBAAI,IAAG;AACtB,uBAAK,UAAW,IAAI,MAAM,GAAG,EAAE,KAAK,MAAS;AAC7C,uBAAK,UAAW,IAAI,MAAM,GAAG,EAAE,KAAK,MAAS;AAC7C,uBAAK,OAAQ,IAAI,UAAU,GAAG;AAC9B,uBAAK,OAAQ,IAAI,UAAU,GAAG;AAC9B,uBAAK,OAAQ;AACb,uBAAK,OAAQ;AACb,uBAAK,OAAQ,MAAM,OAAO,GAAG;AAC7B,uBAAK,OAAQ;AACb,uBAAK,iBAAkB;AAEvB,QAAI,OAAO,YAAY,YAAY;AACjC,yBAAK,UAAW;;AAElB,QAAI,OAAO,iBAAiB,YAAY;AACtC,yBAAK,eAAgB;AACrB,yBAAK,WAAY,CAAA;WACZ;AACL,yBAAK,eAAgB;AACrB,yBAAK,WAAY;;AAEnB,uBAAK,aAAc,CAAC,CAAC,mBAAK;AAC1B,uBAAK,kBAAmB,CAAC,CAAC,mBAAK;AAE/B,SAAK,iBAAiB,CAAC,CAAC;AACxB,SAAK,cAAc,CAAC,CAAC;AACrB,SAAK,2BAA2B,CAAC,CAAC;AAClC,SAAK,6BAA6B,CAAC,CAAC;AACpC,SAAK,yBAAyB,CAAC,CAAC;AAChC,SAAK,mBAAmB,CAAC,CAAC;AAG1B,QAAI,KAAK,iBAAiB,GAAG;AAC3B,UAAI,mBAAK,cAAa,GAAG;AACvB,YAAI,CAAC,SAAS,mBAAK,SAAQ,GAAG;AAC5B,gBAAM,IAAI,UACR,iDAAiD;;;AAIvD,UAAI,CAAC,SAAS,KAAK,YAAY,GAAG;AAChC,cAAM,IAAI,UACR,sDAAsD;;AAG1D,4BAAK,oDAAL;;AAGF,SAAK,aAAa,CAAC,CAAC;AACpB,SAAK,qBAAqB,CAAC,CAAC;AAC5B,SAAK,iBAAiB,CAAC,CAAC;AACxB,SAAK,iBAAiB,CAAC,CAAC;AACxB,SAAK,gBACH,SAAS,aAAa,KAAK,kBAAkB,IACzC,gBACA;AACN,SAAK,eAAe,CAAC,CAAC;AACtB,SAAK,MAAM,OAAO;AAClB,QAAI,KAAK,KAAK;AACZ,UAAI,CAAC,SAAS,KAAK,GAAG,GAAG;AACvB,cAAM,IAAI,UACR,6CAA6C;;AAGjD,4BAAK,kDAAL;;AAIF,QAAI,mBAAK,UAAS,KAAK,KAAK,QAAQ,KAAK,mBAAK,cAAa,GAAG;AAC5D,YAAM,IAAI,UACR,kDAAkD;;AAGtD,QAAI,CAAC,KAAK,gBAAgB,CAAC,mBAAK,SAAQ,CAAC,mBAAK,WAAU;AACtD,YAAM,OAAO;AACb,UAAI,WAAW,IAAI,GAAG;AACpB,eAAO,IAAI,IAAI;AACf,cAAM,MACJ;AAEF,QAAAwG,aAAY,KAAK,yBAAyB,MAAM,SAAQ;;;EAG9D;;;;;;;;;;EA5OA,OAAO,sBAIL9G,IAAqB;AACrB,WAAO;;MAEL,QAAQ,aAAAA,IAAE;MACV,MAAM,aAAAA,IAAE;MACR,OAAO,aAAAA,IAAE;MACT,QAAQ,aAAAA,IAAE;MACV,SAAS,aAAAA,IAAE;MACX,SAAS,aAAAA,IAAE;MACX,MAAM,aAAAA,IAAE;MACR,MAAM,aAAAA,IAAE;MACR,IAAI,OAAI;AACN,eAAO,aAAAA,IAAE;MACX;MACA,IAAI,OAAI;AACN,eAAO,aAAAA,IAAE;MACX;MACA,MAAM,aAAAA,IAAE;;MAER,mBAAmB,CAACkE,OAAQ;AAh5BlC;AAg5BqC,oCAAAlE,IAAE,0CAAF,SAAqBkE;;MACpD,iBAAiB,CACf,GACA,OACA,SACA,YACoB;AAt5B5B;AAu5BQ,oCAAAlE,IAAE,sCAAF,SACE,GACA,OACA,SACA;;MAEJ,YAAY,CAAC,UAAqB;AA75BxC;AA85BQ,oCAAAA,IAAE,4BAAF,SAAc;;MAChB,SAAS,CAAC,YAAmC;AA/5BnD;AAg6BQ,oCAAAA,IAAE,sBAAF,SAAW;;MACb,UAAU,CAAC,YAAmC;AAj6BpD;AAk6BQ,oCAAAA,IAAE,wBAAF,SAAY;;MACd,SAAS,CAAC,UAA2B;AAn6B3C;AAo6BQ,iCAAAA,IAAE,UAAF,SAAW;;;EAEjB;;;;;EAOA,IAAI,MAAG;AACL,WAAO,mBAAK;EACd;;;;EAIA,IAAI,UAAO;AACT,WAAO,mBAAK;EACd;;;;EAIA,IAAI,iBAAc;AAChB,WAAO,mBAAK;EACd;;;;EAIA,IAAI,OAAI;AACN,WAAO,mBAAK;EACd;;;;EAIA,IAAI,cAAW;AACb,WAAO,mBAAK;EACd;;;;EAIA,IAAI,UAAO;AACT,WAAO,mBAAK;EACd;;;;EAIA,IAAI,eAAY;AACd,WAAO,mBAAK;EACd;;;;EAuJA,gBAAgB,KAAM;AACpB,WAAO,mBAAK,SAAQ,IAAI,GAAG,IAAI,WAAW;EAC5C;;;;;EAoOA,CAAC,UAAO;AACN,eAAWP,MAAK,sBAAK,sBAAL,YAAiB;AAC/B,UACE,mBAAK,UAASA,EAAC,MAAM,UACrB,mBAAK,UAASA,EAAC,MAAM,UACrB,CAAC,sBAAK,0CAAL,WAAwB,mBAAK,UAASA,EAAC,IACxC;AACA,cAAM,CAAC,mBAAK,UAASA,EAAC,GAAG,mBAAK,UAASA,EAAC,CAAC;;;EAG/C;;;;;;;EAQA,CAAC,WAAQ;AACP,eAAWA,MAAK,sBAAK,wBAAL,YAAkB;AAChC,UACE,mBAAK,UAASA,EAAC,MAAM,UACrB,mBAAK,UAASA,EAAC,MAAM,UACrB,CAAC,sBAAK,0CAAL,WAAwB,mBAAK,UAASA,EAAC,IACxC;AACA,cAAM,CAAC,mBAAK,UAASA,EAAC,GAAG,mBAAK,UAASA,EAAC,CAAC;;;EAG/C;;;;;EAMA,CAAC,OAAI;AACH,eAAWA,MAAK,sBAAK,sBAAL,YAAiB;AAC/B,YAAM,IAAI,mBAAK,UAASA,EAAC;AACzB,UACE,MAAM,UACN,CAAC,sBAAK,0CAAL,WAAwB,mBAAK,UAASA,EAAC,IACxC;AACA,cAAM;;;EAGZ;;;;;;;EAQA,CAAC,QAAK;AACJ,eAAWA,MAAK,sBAAK,wBAAL,YAAkB;AAChC,YAAM,IAAI,mBAAK,UAASA,EAAC;AACzB,UACE,MAAM,UACN,CAAC,sBAAK,0CAAL,WAAwB,mBAAK,UAASA,EAAC,IACxC;AACA,cAAM;;;EAGZ;;;;;EAMA,CAAC,SAAM;AACL,eAAWA,MAAK,sBAAK,sBAAL,YAAiB;AAC/B,YAAMkD,KAAI,mBAAK,UAASlD,EAAC;AACzB,UACEkD,OAAM,UACN,CAAC,sBAAK,0CAAL,WAAwB,mBAAK,UAASlD,EAAC,IACxC;AACA,cAAM,mBAAK,UAASA,EAAC;;;EAG3B;;;;;;;EAQA,CAAC,UAAO;AACN,eAAWA,MAAK,sBAAK,wBAAL,YAAkB;AAChC,YAAMkD,KAAI,mBAAK,UAASlD,EAAC;AACzB,UACEkD,OAAM,UACN,CAAC,sBAAK,0CAAL,WAAwB,mBAAK,UAASlD,EAAC,IACxC;AACA,cAAM,mBAAK,UAASA,EAAC;;;EAG3B;;;;;EAMA,CAAC,OAAO,QAAQ,IAAC;AACf,WAAO,KAAK,QAAO;EACrB;;;;;EAMA,KACE,IACA,aAA4C,CAAA,GAAE;AAE9C,eAAWA,MAAK,sBAAK,sBAAL,YAAiB;AAC/B,YAAMkD,KAAI,mBAAK,UAASlD,EAAC;AACzB,YAAM,QAAQ,sBAAK,0CAAL,WAAwBkD,MAClCA,GAAE,uBACFA;AACJ,UAAI,UAAU;AAAW;AACzB,UAAI,GAAG,OAAO,mBAAK,UAASlD,EAAC,GAAQ,IAAI,GAAG;AAC1C,eAAO,KAAK,IAAI,mBAAK,UAASA,EAAC,GAAQ,UAAU;;;EAGvD;;;;;;;EAQA,QACE,IACA,QAAa,MAAI;AAEjB,eAAWA,MAAK,sBAAK,sBAAL,YAAiB;AAC/B,YAAMkD,KAAI,mBAAK,UAASlD,EAAC;AACzB,YAAM,QAAQ,sBAAK,0CAAL,WAAwBkD,MAClCA,GAAE,uBACFA;AACJ,UAAI,UAAU;AAAW;AACzB,SAAG,KAAK,OAAO,OAAO,mBAAK,UAASlD,EAAC,GAAQ,IAAI;;EAErD;;;;;EAMA,SACE,IACA,QAAa,MAAI;AAEjB,eAAWA,MAAK,sBAAK,wBAAL,YAAkB;AAChC,YAAMkD,KAAI,mBAAK,UAASlD,EAAC;AACzB,YAAM,QAAQ,sBAAK,0CAAL,WAAwBkD,MAClCA,GAAE,uBACFA;AACJ,UAAI,UAAU;AAAW;AACzB,SAAG,KAAK,OAAO,OAAO,mBAAK,UAASlD,EAAC,GAAQ,IAAI;;EAErD;;;;;EAMA,aAAU;AACR,QAAI,UAAU;AACd,eAAWA,MAAK,sBAAK,wBAAL,WAAe,EAAE,YAAY,KAAI,IAAK;AACpD,UAAI,mBAAK,UAAL,WAAcA,KAAI;AACpB,aAAK,OAAO,mBAAK,UAASA,EAAC,CAAM;AACjC,kBAAU;;;AAGd,WAAO;EACT;;;;;EAMA,OAAI;AACF,UAAM,MAAgC,CAAA;AACtC,eAAWA,MAAK,sBAAK,sBAAL,WAAc,EAAE,YAAY,KAAI,IAAK;AACnD,YAAM,MAAM,mBAAK,UAASA,EAAC;AAC3B,YAAMkD,KAAI,mBAAK,UAASlD,EAAC;AACzB,YAAM,QAAuB,sBAAK,0CAAL,WAAwBkD,MACjDA,GAAE,uBACFA;AACJ,UAAI,UAAU,UAAa,QAAQ;AAAW;AAC9C,YAAM,QAA2B,EAAE,MAAK;AACxC,UAAI,mBAAK,UAAS,mBAAK,UAAS;AAC9B,cAAM,MAAM,mBAAK,OAAMlD,EAAC;AAGxB,cAAM,MAAM,KAAK,IAAG,IAAK,mBAAK,SAAQA,EAAC;AACvC,cAAM,QAAQ,KAAK,MAAM,KAAK,IAAG,IAAK,GAAG;;AAE3C,UAAI,mBAAK,SAAQ;AACf,cAAM,OAAO,mBAAK,QAAOA,EAAC;;AAE5B,UAAI,QAAQ,CAAC,KAAK,KAAK,CAAC;;AAE1B,WAAO;EACT;;;;;;EAOA,KAAK,KAA6B;AAChC,SAAK,MAAK;AACV,eAAW,CAAC,KAAK,KAAK,KAAK,KAAK;AAC9B,UAAI,MAAM,OAAO;AAOf,cAAM,MAAM,KAAK,IAAG,IAAK,MAAM;AAC/B,cAAM,QAAQ,KAAK,IAAG,IAAK;;AAE7B,WAAK,IAAI,KAAK,MAAM,OAAO,KAAK;;EAEpC;;;;;;;EAQA,IACE,GACAkD,IACA,aAA4C,CAAA,GAAE;AA/jDlD;AAikDI,QAAIA,OAAM,QAAW;AACnB,WAAK,OAAO,CAAC;AACb,aAAO;;AAET,UAAM,EACJ,MAAM,KAAK,KACX,OACA,iBAAiB,KAAK,gBACtB,kBAAkB,KAAK,iBACvB,OAAM,IACJ;AACJ,QAAI,EAAE,cAAc,KAAK,YAAW,IAAK;AAEzC,UAAM,OAAO,mBAAK,cAAL,WACX,GACAA,IACA,WAAW,QAAQ,GACnB;AAIF,QAAI,KAAK,gBAAgB,OAAO,KAAK,cAAc;AACjD,UAAI,QAAQ;AACV,eAAO,MAAM;AACb,eAAO,uBAAuB;;AAGhC,WAAK,OAAO,CAAC;AACb,aAAO;;AAET,QAAI,QAAQ,mBAAK,WAAU,IAAI,SAAY,mBAAK,SAAQ,IAAI,CAAC;AAC7D,QAAI,UAAU,QAAW;AAEvB,cACE,mBAAK,WAAU,IACX,mBAAK,SACL,mBAAK,OAAM,WAAW,IACtB,mBAAK,OAAM,IAAG,IACd,mBAAK,WAAU,mBAAK,QACpB,sBAAK,kBAAL,WAAY,SACZ,mBAAK;AAEX,yBAAK,UAAS,KAAK,IAAI;AACvB,yBAAK,UAAS,KAAK,IAAIA;AACvB,yBAAK,SAAQ,IAAI,GAAG,KAAK;AACzB,yBAAK,OAAM,mBAAK,MAAK,IAAI;AACzB,yBAAK,OAAM,KAAK,IAAI,mBAAK;AACzB,yBAAK,OAAQ;AACb,6BAAK,OAAL;AACA,yBAAK,cAAL,WAAkB,OAAO,MAAM;AAC/B,UAAI;AAAQ,eAAO,MAAM;AACzB,oBAAc;WACT;AAEL,4BAAK,4BAAL,WAAiB;AACjB,YAAM,SAAS,mBAAK,UAAS,KAAK;AAClC,UAAIA,OAAM,QAAQ;AAChB,YAAI,mBAAK,oBAAmB,sBAAK,0CAAL,WAAwB,SAAS;AAC3D,iBAAO,kBAAkB,MAAM,IAAI,MAAM,UAAU,CAAC;mBAC3C,CAAC,gBAAgB;AAC1B,cAAI,mBAAK,cAAa;AACpB,qCAAK,cAAL,8BAAgB,QAAa,GAAG;;AAElC,cAAI,mBAAK,mBAAkB;AACzB,+BAAK,YAAW,KAAK,CAAC,QAAa,GAAG,KAAK,CAAC;;;AAGhD,2BAAK,iBAAL,WAAqB;AACrB,2BAAK,cAAL,WAAkB,OAAO,MAAM;AAC/B,2BAAK,UAAS,KAAK,IAAIA;AACvB,YAAI,QAAQ;AACV,iBAAO,MAAM;AACb,gBAAM,WACJ,UAAU,sBAAK,0CAAL,WAAwB,UAC9B,OAAO,uBACP;AACN,cAAI,aAAa;AAAW,mBAAO,WAAW;;iBAEvC,QAAQ;AACjB,eAAO,MAAM;;;AAGjB,QAAI,QAAQ,KAAK,CAAC,mBAAK,QAAO;AAC5B,4BAAK,kDAAL;;AAEF,QAAI,mBAAK,QAAO;AACd,UAAI,CAAC,aAAa;AAChB,2BAAK,aAAL,WAAiB,OAAO,KAAK;;AAE/B,UAAI;AAAQ,2BAAK,YAAL,WAAgB,QAAQ;;AAEtC,QAAI,CAAC,kBAAkB,mBAAK,qBAAoB,mBAAK,YAAW;AAC9D,YAAM,KAAK,mBAAK;AAChB,UAAI;AACJ,aAAQ,OAAO,IAAI,MAAK,GAAK;AAC3B,iCAAK,mBAAL,8BAAqB,GAAG;;;AAG5B,WAAO;EACT;;;;;EAMA,MAAG;AA1qDL;AA2qDI,QAAI;AACF,aAAO,mBAAK,QAAO;AACjB,cAAM,MAAM,mBAAK,UAAS,mBAAK,MAAK;AACpC,8BAAK,kBAAL,WAAY;AACZ,YAAI,sBAAK,0CAAL,WAAwB,MAAM;AAChC,cAAI,IAAI,sBAAsB;AAC5B,mBAAO,IAAI;;mBAEJ,QAAQ,QAAW;AAC5B,iBAAO;;;;AAIX,UAAI,mBAAK,qBAAoB,mBAAK,YAAW;AAC3C,cAAM,KAAK,mBAAK;AAChB,YAAI;AACJ,eAAQ,OAAO,IAAI,MAAK,GAAK;AAC3B,mCAAK,mBAAL,8BAAqB,GAAG;;;;EAIhC;;;;;;;;;EA0CA,IAAI,GAAM,aAA4C,CAAA,GAAE;AACtD,UAAM,EAAE,iBAAiB,KAAK,gBAAgB,OAAM,IAClD;AACF,UAAM,QAAQ,mBAAK,SAAQ,IAAI,CAAC;AAChC,QAAI,UAAU,QAAW;AACvB,YAAMA,KAAI,mBAAK,UAAS,KAAK;AAC7B,UACE,sBAAK,0CAAL,WAAwBA,OACxBA,GAAE,yBAAyB,QAC3B;AACA,eAAO;;AAET,UAAI,CAAC,mBAAK,UAAL,WAAc,QAAQ;AACzB,YAAI,gBAAgB;AAClB,6BAAK,gBAAL,WAAoB;;AAEtB,YAAI,QAAQ;AACV,iBAAO,MAAM;AACb,6BAAK,YAAL,WAAgB,QAAQ;;AAE1B,eAAO;iBACE,QAAQ;AACjB,eAAO,MAAM;AACb,2BAAK,YAAL,WAAgB,QAAQ;;eAEjB,QAAQ;AACjB,aAAO,MAAM;;AAEf,WAAO;EACT;;;;;;;;EASA,KAAK,GAAM,cAA8C,CAAA,GAAE;AACzD,UAAM,EAAE,aAAa,KAAK,WAAU,IAAK;AACzC,UAAM,QAAQ,mBAAK,SAAQ,IAAI,CAAC;AAChC,QACE,UAAU,WACT,cAAc,CAAC,mBAAK,UAAL,WAAc,SAC9B;AACA,YAAMA,KAAI,mBAAK,UAAS,KAAK;AAE7B,aAAO,sBAAK,0CAAL,WAAwBA,MAAKA,GAAE,uBAAuBA;;EAEjE;EAiMA,MAAM,MACJ,GACA,eAAgD,CAAA,GAAE;AAElD,UAAM;;MAEJ,aAAa,KAAK;MAClB,iBAAiB,KAAK;MACtB,qBAAqB,KAAK;;MAE1B,MAAM,KAAK;MACX,iBAAiB,KAAK;MACtB,OAAO;MACP,kBAAkB,KAAK;MACvB,cAAc,KAAK;;MAEnB,2BAA2B,KAAK;MAChC,6BAA6B,KAAK;MAClC,mBAAmB,KAAK;MACxB,yBAAyB,KAAK;MAC9B;MACA,eAAe;MACf;MACA;IAAM,IACJ;AAEJ,QAAI,CAAC,mBAAK,kBAAiB;AACzB,UAAI;AAAQ,eAAO,QAAQ;AAC3B,aAAO,KAAK,IAAI,GAAG;QACjB;QACA;QACA;QACA;OACD;;AAGH,UAAM,UAAU;MACd;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;;AAGF,QAAI,QAAQ,mBAAK,SAAQ,IAAI,CAAC;AAC9B,QAAI,UAAU,QAAW;AACvB,UAAI;AAAQ,eAAO,QAAQ;AAC3B,YAAMuB,KAAI,sBAAK,sCAAL,WAAsB,GAAG,OAAO,SAAS;AACnD,aAAQA,GAAE,aAAaA;WAClB;AAEL,YAAMvB,KAAI,mBAAK,UAAS,KAAK;AAC7B,UAAI,sBAAK,0CAAL,WAAwBA,KAAI;AAC9B,cAAM,QACJ,cAAcA,GAAE,yBAAyB;AAC3C,YAAI,QAAQ;AACV,iBAAO,QAAQ;AACf,cAAI;AAAO,mBAAO,gBAAgB;;AAEpC,eAAO,QAAQA,GAAE,uBAAwBA,GAAE,aAAaA;;AAK1D,YAAM,UAAU,mBAAK,UAAL,WAAc;AAC9B,UAAI,CAAC,gBAAgB,CAAC,SAAS;AAC7B,YAAI;AAAQ,iBAAO,QAAQ;AAC3B,8BAAK,4BAAL,WAAiB;AACjB,YAAI,gBAAgB;AAClB,6BAAK,gBAAL,WAAoB;;AAEtB,YAAI;AAAQ,6BAAK,YAAL,WAAgB,QAAQ;AACpC,eAAOA;;AAKT,YAAMuB,KAAI,sBAAK,sCAAL,WAAsB,GAAG,OAAO,SAAS;AACnD,YAAM,WAAWA,GAAE,yBAAyB;AAC5C,YAAM,WAAW,YAAY;AAC7B,UAAI,QAAQ;AACV,eAAO,QAAQ,UAAU,UAAU;AACnC,YAAI,YAAY;AAAS,iBAAO,gBAAgB;;AAElD,aAAO,WAAWA,GAAE,uBAAwBA,GAAE,aAAaA;;EAE/D;;;;;;;EAQA,IAAI,GAAM,aAA4C,CAAA,GAAE;AACtD,UAAM,EACJ,aAAa,KAAK,YAClB,iBAAiB,KAAK,gBACtB,qBAAqB,KAAK,oBAC1B,OAAM,IACJ;AACJ,UAAM,QAAQ,mBAAK,SAAQ,IAAI,CAAC;AAChC,QAAI,UAAU,QAAW;AACvB,YAAM,QAAQ,mBAAK,UAAS,KAAK;AACjC,YAAM,WAAW,sBAAK,0CAAL,WAAwB;AACzC,UAAI;AAAQ,2BAAK,YAAL,WAAgB,QAAQ;AACpC,UAAI,mBAAK,UAAL,WAAc,QAAQ;AACxB,YAAI;AAAQ,iBAAO,MAAM;AAEzB,YAAI,CAAC,UAAU;AACb,cAAI,CAAC,oBAAoB;AACvB,iBAAK,OAAO,CAAC;;AAEf,cAAI,UAAU;AAAY,mBAAO,gBAAgB;AACjD,iBAAO,aAAa,QAAQ;eACvB;AACL,cACE,UACA,cACA,MAAM,yBAAyB,QAC/B;AACA,mBAAO,gBAAgB;;AAEzB,iBAAO,aAAa,MAAM,uBAAuB;;aAE9C;AACL,YAAI;AAAQ,iBAAO,MAAM;AAMzB,YAAI,UAAU;AACZ,iBAAO,MAAM;;AAEf,8BAAK,4BAAL,WAAiB;AACjB,YAAI,gBAAgB;AAClB,6BAAK,gBAAL,WAAoB;;AAEtB,eAAO;;eAEA,QAAQ;AACjB,aAAO,MAAM;;EAEjB;;;;;EAkCA,OAAO,GAAI;AAvpEb;AAwpEI,QAAI,UAAU;AACd,QAAI,mBAAK,WAAU,GAAG;AACpB,YAAM,QAAQ,mBAAK,SAAQ,IAAI,CAAC;AAChC,UAAI,UAAU,QAAW;AACvB,kBAAU;AACV,YAAI,mBAAK,WAAU,GAAG;AACpB,eAAK,MAAK;eACL;AACL,6BAAK,iBAAL,WAAqB;AACrB,gBAAMvB,KAAI,mBAAK,UAAS,KAAK;AAC7B,cAAI,sBAAK,0CAAL,WAAwBA,KAAI;AAC9B,YAAAA,GAAE,kBAAkB,MAAM,IAAI,MAAM,SAAS,CAAC;qBACrC,mBAAK,gBAAe,mBAAK,mBAAkB;AACpD,gBAAI,mBAAK,cAAa;AACpB,uCAAK,cAAL,8BAAgBA,IAAQ,GAAG;;AAE7B,gBAAI,mBAAK,mBAAkB;AACzB,iCAAK,YAAW,KAAK,CAACA,IAAQ,GAAG,QAAQ,CAAC;;;AAG9C,6BAAK,SAAQ,OAAO,CAAC;AACrB,6BAAK,UAAS,KAAK,IAAI;AACvB,6BAAK,UAAS,KAAK,IAAI;AACvB,cAAI,UAAU,mBAAK,QAAO;AACxB,+BAAK,OAAQ,mBAAK,OAAM,KAAK;qBACpB,UAAU,mBAAK,QAAO;AAC/B,+BAAK,OAAQ,mBAAK,OAAM,KAAK;iBACxB;AACL,+BAAK,OAAM,mBAAK,OAAM,KAAK,CAAC,IAAI,mBAAK,OAAM,KAAK;AAChD,+BAAK,OAAM,mBAAK,OAAM,KAAK,CAAC,IAAI,mBAAK,OAAM,KAAK;;AAElD,iCAAK,OAAL;AACA,6BAAK,OAAM,KAAK,KAAK;;;;AAI3B,QAAI,mBAAK,qBAAoB,mBAAK,YAAW,QAAQ;AACnD,YAAM,KAAK,mBAAK;AAChB,UAAI;AACJ,aAAQ,OAAO,IAAI,MAAK,GAAK;AAC3B,iCAAK,mBAAL,8BAAqB,GAAG;;;AAG5B,WAAO;EACT;;;;EAKA,QAAK;AAzsEP;AA0sEI,eAAW,SAAS,sBAAK,wBAAL,WAAe,EAAE,YAAY,KAAI,IAAK;AACxD,YAAMA,KAAI,mBAAK,UAAS,KAAK;AAC7B,UAAI,sBAAK,0CAAL,WAAwBA,KAAI;AAC9B,QAAAA,GAAE,kBAAkB,MAAM,IAAI,MAAM,SAAS,CAAC;aACzC;AACL,cAAM,IAAI,mBAAK,UAAS,KAAK;AAC7B,YAAI,mBAAK,cAAa;AACpB,mCAAK,cAAL,8BAAgBA,IAAQ,GAAQ;;AAElC,YAAI,mBAAK,mBAAkB;AACzB,6BAAK,YAAW,KAAK,CAACA,IAAQ,GAAQ,QAAQ,CAAC;;;;AAKrD,uBAAK,SAAQ,MAAK;AAClB,uBAAK,UAAS,KAAK,MAAS;AAC5B,uBAAK,UAAS,KAAK,MAAS;AAC5B,QAAI,mBAAK,UAAS,mBAAK,UAAS;AAC9B,yBAAK,OAAM,KAAK,CAAC;AACjB,yBAAK,SAAQ,KAAK,CAAC;;AAErB,QAAI,mBAAK,SAAQ;AACf,yBAAK,QAAO,KAAK,CAAC;;AAEpB,uBAAK,OAAQ;AACb,uBAAK,OAAQ;AACb,uBAAK,OAAM,SAAS;AACpB,uBAAK,iBAAkB;AACvB,uBAAK,OAAQ;AACb,QAAI,mBAAK,qBAAoB,mBAAK,YAAW;AAC3C,YAAM,KAAK,mBAAK;AAChB,UAAI;AACJ,aAAQ,OAAO,IAAI,MAAK,GAAK;AAC3B,iCAAK,mBAAL,8BAAqB,GAAG;;;EAG9B;;AA59CI,IAAO,WAAP;AAIK;AACA;AACA;AACA;AACA;AAkET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAgQA;2BAAsB,WAAA;AACpB,QAAM,OAAO,IAAI,UAAU,mBAAK,KAAI;AACpC,QAAM,SAAS,IAAI,UAAU,mBAAK,KAAI;AACtC,qBAAK,OAAQ;AACb,qBAAK,SAAU;AAEf,qBAAK,aAAc,CAAC,OAAO,KAAK,QAAQ,KAAK,IAAG,MAAM;AACpD,WAAO,KAAK,IAAI,QAAQ,IAAI,QAAQ;AACpC,SAAK,KAAK,IAAI;AACd,QAAI,QAAQ,KAAK,KAAK,cAAc;AAClC,YAAMmB,KAAI,WAAW,MAAK;AACxB,YAAI,mBAAK,UAAL,WAAc,QAAQ;AACxB,eAAK,OAAO,mBAAK,UAAS,KAAK,CAAM;;MAEzC,GAAG,MAAM,CAAC;AAGV,UAAIA,GAAE,OAAO;AACX,QAAAA,GAAE,MAAK;;;EAIb;AAEA,qBAAK,gBAAiB,WAAQ;AAC5B,WAAO,KAAK,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,IAAG,IAAK;EACnD;AAEA,qBAAK,YAAa,CAAC,QAAQ,UAAS;AAClC,QAAI,KAAK,KAAK,GAAG;AACf,YAAM,MAAM,KAAK,KAAK;AACtB,YAAM,QAAQ,OAAO,KAAK;AAC1B,aAAO,MAAM;AACb,aAAO,QAAQ;AACf,aAAO,MAAM,aAAa,OAAM;AAChC,YAAM,MAAM,OAAO,MAAM;AACzB,aAAO,eAAe,MAAM;;EAEhC;AAIA,MAAI,YAAY;AAChB,QAAM,SAAS,MAAK;AAClB,UAAMxD,KAAI,KAAK,IAAG;AAClB,QAAI,KAAK,gBAAgB,GAAG;AAC1B,kBAAYA;AACZ,YAAMwD,KAAI,WACR,MAAO,YAAY,GACnB,KAAK,aAAa;AAIpB,UAAIA,GAAE,OAAO;AACX,QAAAA,GAAE,MAAK;;;AAIX,WAAOxD;EACT;AAEA,OAAK,kBAAkB,SAAM;AAC3B,UAAM,QAAQ,mBAAK,SAAQ,IAAI,GAAG;AAClC,QAAI,UAAU,QAAW;AACvB,aAAO;;AAET,UAAM,MAAM,KAAK,KAAK;AACtB,UAAM,QAAQ,OAAO,KAAK;AAC1B,QAAI,QAAQ,KAAK,UAAU,GAAG;AAC5B,aAAO;;AAET,UAAM,OAAO,aAAa,OAAM,KAAM;AACtC,WAAO,MAAM;EACf;AAEA,qBAAK,UAAW,WAAQ;AACtB,WACE,KAAK,KAAK,MAAM,KAChB,OAAO,KAAK,MAAM,MACjB,aAAa,OAAM,KAAM,OAAO,KAAK,IAAI,KAAK,KAAK;EAExD;AACF;AAGA;AACA;AAEA;AASA;AAEA;4BAAuB,WAAA;AACrB,QAAM,QAAQ,IAAI,UAAU,mBAAK,KAAI;AACrC,qBAAK,iBAAkB;AACvB,qBAAK,QAAS;AACd,qBAAK,iBAAkB,WAAQ;AAC7B,uBAAK,iBAAL,mBAAK,mBAAmB,MAAM,KAAK;AACnC,UAAM,KAAK,IAAI;EACjB;AACA,qBAAK,cAAe,CAAC,GAAGqC,IAAG,MAAM,oBAAmB;AAGlD,QAAI,sBAAK,0CAAL,WAAwBA,KAAI;AAC9B,aAAO;;AAET,QAAI,CAAC,SAAS,IAAI,GAAG;AACnB,UAAI,iBAAiB;AACnB,YAAI,OAAO,oBAAoB,YAAY;AACzC,gBAAM,IAAI,UAAU,oCAAoC;;AAE1D,eAAO,gBAAgBA,IAAG,CAAC;AAC3B,YAAI,CAAC,SAAS,IAAI,GAAG;AACnB,gBAAM,IAAI,UACR,0DAA0D;;aAGzD;AACL,cAAM,IAAI,UACR,2HAEwB;;;AAI9B,WAAO;EACT;AACA,qBAAK,cAAe,CAClB,OACA,MACA,WACE;AACF,UAAM,KAAK,IAAI;AACf,QAAI,mBAAK,WAAU;AACjB,YAAM,UAAU,mBAAK,YAAW,MAAM,KAAK;AAC3C,aAAO,mBAAK,mBAAkB,SAAS;AACrC,8BAAK,kBAAL,WAAY;;;AAGhB,uBAAK,iBAAL,mBAAK,mBAAmB,MAAM,KAAK;AACnC,QAAI,QAAQ;AACV,aAAO,YAAY;AACnB,aAAO,sBAAsB,mBAAK;;EAEtC;AACF;AAEA;AACA;AAKA;AAmBC;aAAQ,WAAC,EAAE,aAAa,KAAK,WAAU,IAAK,CAAA,GAAE;AAC7C,MAAI,mBAAK,QAAO;AACd,aAASlD,KAAI,mBAAK,QAAO,QAAQ;AAC/B,UAAI,CAAC,sBAAK,gCAAL,WAAmBA,KAAI;AAC1B;;AAEF,UAAI,cAAc,CAAC,mBAAK,UAAL,WAAcA,KAAI;AACnC,cAAMA;;AAER,UAAIA,OAAM,mBAAK,QAAO;AACpB;aACK;AACL,QAAAA,KAAI,mBAAK,OAAMA,EAAC;;;;AAIxB;AAEC;cAAS,WAAC,EAAE,aAAa,KAAK,WAAU,IAAK,CAAA,GAAE;AAC9C,MAAI,mBAAK,QAAO;AACd,aAASA,KAAI,mBAAK,QAAO,QAAQ;AAC/B,UAAI,CAAC,sBAAK,gCAAL,WAAmBA,KAAI;AAC1B;;AAEF,UAAI,cAAc,CAAC,mBAAK,UAAL,WAAcA,KAAI;AACnC,cAAMA;;AAER,UAAIA,OAAM,mBAAK,QAAO;AACpB;aACK;AACL,QAAAA,KAAI,mBAAK,OAAMA,EAAC;;;;AAIxB;AAEA;kBAAa,SAAC,OAAY;AACxB,SACE,UAAU,UACV,mBAAK,SAAQ,IAAI,mBAAK,UAAS,KAAK,CAAM,MAAM;AAEpD;AAwXA;WAAM,SAAC,MAAa;AAlsDtB;AAmsDI,QAAM,OAAO,mBAAK;AAClB,QAAM,IAAI,mBAAK,UAAS,IAAI;AAC5B,QAAMkD,KAAI,mBAAK,UAAS,IAAI;AAC5B,MAAI,mBAAK,oBAAmB,sBAAK,0CAAL,WAAwBA,KAAI;AACtD,IAAAA,GAAE,kBAAkB,MAAM,IAAI,MAAM,SAAS,CAAC;aACrC,mBAAK,gBAAe,mBAAK,mBAAkB;AACpD,QAAI,mBAAK,cAAa;AACpB,+BAAK,cAAL,8BAAgBA,IAAG,GAAG;;AAExB,QAAI,mBAAK,mBAAkB;AACzB,yBAAK,YAAW,KAAK,CAACA,IAAG,GAAG,OAAO,CAAC;;;AAGxC,qBAAK,iBAAL,WAAqB;AAErB,MAAI,MAAM;AACR,uBAAK,UAAS,IAAI,IAAI;AACtB,uBAAK,UAAS,IAAI,IAAI;AACtB,uBAAK,OAAM,KAAK,IAAI;;AAEtB,MAAI,mBAAK,WAAU,GAAG;AACpB,uBAAK,OAAQ,mBAAK,OAAQ;AAC1B,uBAAK,OAAM,SAAS;SACf;AACL,uBAAK,OAAQ,mBAAK,OAAM,IAAI;;AAE9B,qBAAK,SAAQ,OAAO,CAAC;AACrB,yBAAK,OAAL;AACA,SAAO;AACT;AA6DA;qBAAgB,SACd,GACA,OACA,SACA,SAAY;AAEZ,QAAMA,KAAI,UAAU,SAAY,SAAY,mBAAK,UAAS,KAAK;AAC/D,MAAI,sBAAK,0CAAL,WAAwBA,KAAI;AAC9B,WAAOA;;AAGT,QAAM,KAAK,IAAI,GAAE;AACjB,QAAM,EAAE,OAAM,IAAK;AAEnB,UAAQ,iBAAiB,SAAS,MAAM,GAAG,MAAM,OAAO,MAAM,GAAG;IAC/D,QAAQ,GAAG;GACZ;AAED,QAAM,YAAY;IAChB,QAAQ,GAAG;IACX;IACA;;AAGF,QAAM,KAAK,CACTA,IACA,cAAc,UACU;AACxB,UAAM,EAAE,QAAO,IAAK,GAAG;AACvB,UAAM,cAAc,QAAQ,oBAAoBA,OAAM;AACtD,QAAI,QAAQ,QAAQ;AAClB,UAAI,WAAW,CAAC,aAAa;AAC3B,gBAAQ,OAAO,eAAe;AAC9B,gBAAQ,OAAO,aAAa,GAAG,OAAO;AACtC,YAAI;AAAa,kBAAQ,OAAO,oBAAoB;aAC/C;AACL,gBAAQ,OAAO,gBAAgB;;;AAGnC,QAAI,WAAW,CAAC,eAAe,CAAC,aAAa;AAC3C,aAAO,UAAU,GAAG,OAAO,MAAM;;AAGnC,UAAMoE,MAAK7C;AACX,QAAI,mBAAK,UAAS,KAAc,MAAMA,IAAG;AACvC,UAAIvB,OAAM,QAAW;AACnB,YAAIoE,IAAG,sBAAsB;AAC3B,6BAAK,UAAS,KAAc,IAAIA,IAAG;eAC9B;AACL,eAAK,OAAO,CAAC;;aAEV;AACL,YAAI,QAAQ;AAAQ,kBAAQ,OAAO,eAAe;AAClD,aAAK,IAAI,GAAGpE,IAAG,UAAU,OAAO;;;AAGpC,WAAOA;EACT;AAEA,QAAM,KAAK,CAAC,OAAW;AACrB,QAAI,QAAQ,QAAQ;AAClB,cAAQ,OAAO,gBAAgB;AAC/B,cAAQ,OAAO,aAAa;;AAE9B,WAAO,UAAU,EAAE;EACrB;AAEA,QAAM,YAAY,CAAC,OAA0B;AAC3C,UAAM,EAAE,QAAO,IAAK,GAAG;AACvB,UAAM,oBACJ,WAAW,QAAQ;AACrB,UAAM,aACJ,qBAAqB,QAAQ;AAC/B,UAAM,WAAW,cAAc,QAAQ;AACvC,UAAMoE,MAAK7C;AACX,QAAI,mBAAK,UAAS,KAAc,MAAMA,IAAG;AAGvC,YAAM,MAAM,CAAC,YAAY6C,IAAG,yBAAyB;AACrD,UAAI,KAAK;AACP,aAAK,OAAO,CAAC;iBACJ,CAAC,mBAAmB;AAK7B,2BAAK,UAAS,KAAc,IAAIA,IAAG;;;AAGvC,QAAI,YAAY;AACd,UAAI,QAAQ,UAAUA,IAAG,yBAAyB,QAAW;AAC3D,gBAAQ,OAAO,gBAAgB;;AAEjC,aAAOA,IAAG;eACDA,IAAG,eAAeA,KAAI;AAC/B,YAAM;;EAEV;AAEA,QAAM,QAAQ,CACZ,KACA,QACE;AAn4DR;AAo4DM,UAAM,OAAM,wBAAK,kBAAL,8BAAoB,GAAGpE,IAAG;AACtC,QAAI,OAAO,eAAe,SAAS;AACjC,UAAI,KAAK,CAAAA,OAAK,IAAIA,EAAC,GAAG,GAAG;;AAK3B,OAAG,OAAO,iBAAiB,SAAS,MAAK;AACvC,UACE,CAAC,QAAQ,oBACT,QAAQ,wBACR;AACA,YAAG;AAEH,YAAI,QAAQ,wBAAwB;AAClC,gBAAM,CAAAA,OAAK,GAAGA,IAAG,IAAI;;;IAG3B,CAAC;EACH;AAEA,MAAI,QAAQ;AAAQ,YAAQ,OAAO,kBAAkB;AACrD,QAAMuB,KAAI,IAAI,QAAQ,KAAK,EAAE,KAAK,IAAI,EAAE;AACxC,QAAM,KAAK,OAAO,OAAOA,IAAG;IAC1B,mBAAmB;IACnB,sBAAsBvB;IACtB,YAAY;GACb;AAED,MAAI,UAAU,QAAW;AAEvB,SAAK,IAAI,GAAG,IAAI,EAAE,GAAG,UAAU,SAAS,QAAQ,OAAS,CAAE;AAC3D,YAAQ,mBAAK,SAAQ,IAAI,CAAC;SACrB;AACL,uBAAK,UAAS,KAAK,IAAI;;AAEzB,SAAO;AACT;AAEA;uBAAkB,SAACuB,IAAM;AACvB,MAAI,CAAC,mBAAK;AAAiB,WAAO;AAClC,QAAM,IAAIA;AACV,SACE,CAAC,CAAC,KACF,aAAa,WACb,EAAE,eAAe,sBAAsB,KACvC,EAAE,6BAA6B;AAEnC;AAmMA;aAAQ,SAACA,IAAU5D,IAAQ;AACzB,qBAAK,OAAMA,EAAC,IAAI4D;AAChB,qBAAK,OAAMA,EAAC,IAAI5D;AAClB;AAEA;gBAAW,SAAC,OAAY;AAStB,MAAI,UAAU,mBAAK,QAAO;AACxB,QAAI,UAAU,mBAAK,QAAO;AACxB,yBAAK,OAAQ,mBAAK,OAAM,KAAK;WACxB;AACL,4BAAK,sBAAL,WACE,mBAAK,OAAM,KAAK,GAChB,mBAAK,OAAM,KAAK;;AAGpB,0BAAK,sBAAL,WAAc,mBAAK,QAAO;AAC1B,uBAAK,OAAQ;;AAEjB;;;ADhpEF,yBAAuB;AACvB,2BAAyB;AAQlB,IAAM,kBAAN,MAAsB;AAAA,EAsB3B,cAAc;AArBd,SAAiB,SAAS,WAAW,MAAM,EAAE,WAAW,kBAAkB,CAAC;AAE3E,SAAQ,UAAU;AAAA,MAChB,SAAS,IAAI,OAAO;AAAA;AAAA,MACpB,kCAAkC;AAAA,QAChC,SAAS;AAAA,QACT,cAAc;AAAA,UACZ,OAAO;AAAA,UACP,OAAO;AAAA,UACP,KAAK;AAAA,QACP;AAAA,QACA,SAAS;AAAA,UACP,OAAO;AAAA,UACP,KAAK;AAAA,QACP;AAAA,QACA,SAAS;AAAA,UACP,KAAK;AAAA,QACP;AAAA,MACF;AAAA,IACF;AAGE,SAAK,QAAQ,IAAI,SAAuC;AAAA,MACtD,SAAS,KAAK,QAAQ;AAAA,MACtB,iBAAiB,qBAAA0G;AAAA,IACnB,CAAC;AAAA,EACH;AAAA,EAEA,IAAI,KAAkC;AACpC,WAAO,KAAK,MAAM,IAAI,KAAK,KAAK,GAAG,CAAC;AAAA,EACtC;AAAA,EAEA,IAAI,KAAyB,OAAmC;AAC9D,eAAW,SAAS,KAAK,mBAAmB,KAAK,KAAK,GAAG;AACvD,WAAK,OAAO,MAAM,EAAE,MAAM,GAAG,qBAAqB;AAClD,WAAK,MAAM,IAAI,KAAK,KAAK,MAAM,GAAG,GAAG,MAAM,KAAK;AAAA,IAClD;AACA,SAAK,OAAO,MAAM,EAAE,MAAM,KAAK,MAAM,eAAe,GAAG,YAAY;AAAA,EACrE;AAAA,EAEA,IAAI,KAA2D;AAC7D,WAAO,KAAK,MAAM,IAAI,KAAK,KAAK,GAAG,CAAC;AAAA,EACtC;AAAA,EAEQ,KAAK,KAAiC;AAC5C,eAAO,mBAAAC,SAAW,GAAG;AAAA,EACvB;AAAA,EAEQ,mBACN,KACA,OAC4D;AAC5D,UAAM,OAAO,CAAC,EAAE,KAAK,MAAM,CAAC;AAC5B,QAAI,KAAK,QAAQ,iCAAiC,SAAS;AACzD,YAAM,UAAU,MAAM,QACnB,IAAI,CAAC,WAAW;AACf,eAAO,KAAK,oCAAoC,OAAO,IAAI,EAAE,IAAI,CAAC,aAAa;AAC7E,iBAAO;AAAA,YACL,QAAQ,OAAO,KAAK,MAAM,GAAG,QAAQ;AAAA,YACrC,QAAQ,OAAO,KAAK,MAAM,QAAQ;AAAA,YAClC,aAAa,OAAO;AAAA,UACtB;AAAA,QACF,CAAC;AAAA,MACH,CAAC,EACA,KAAK,EACL,OAAO,CAAC,SAAuE,UAAU;AACxF,gBAAQ,MAAM,MAAM,IAAI,QAAQ,MAAM,MAAM,KAAK,CAAC;AAClD,gBAAQ,MAAM,MAAM,EAAE,KAAK,EAAE,QAAQ,MAAM,QAAQ,aAAa,MAAM,YAAY,CAAC;AACnF,eAAO;AAAA,MACT,GAAG,CAAC,CAAC;AACP,iBAAW,UAAU,SAAS;AAC5B,cAAM,WAAW;AAAA,UACf,GAAG;AAAA,UACH,MAAM,IAAI,KAAK,MAAM,GAAG,IAAI,QAAQ,IAAI,SAAS,IAAI,KAAK,MAAM,IAAI,QAAQ;AAAA,UAC5E,UAAU,IAAI,WAAW,OAAO;AAAA,QAClC;AACA,cAAM,aAAa;AAAA,UACjB,GAAG;AAAA,UACH,SAAS,QAAQ,MAAM,EAAE,IAAI,CAAC,WAAW;AACvC,mBAAO;AAAA,cACL,OAAO,OAAO;AAAA,cACd,MAAM,OAAO;AAAA,YACf;AAAA,UACF,CAAC;AAAA,QACH;AACA,aAAK,KAAK;AAAA,UACR,KAAK;AAAA,UACL,OAAO;AAAA,QACT,CAAC;AAAA,MACH;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EAEQ,oCAAoC,YAA8B;AACxE,UAAM,YAAsB,CAAC;AAC7B,UAAM,SAAS,KAAK,QAAQ;AAE5B,UAAM,QAAQ,WAAW,UAAU;AACnC,QAAI,QAAQ;AACZ,QAAI,SAAS;AAEb,WAAO,QAAQ,MAAM,SAAS,KAAK,QAAQ,OAAO,QAAQ,KAAK;AAC7D,gBAAU,MAAM,KAAK,EAAE;AACvB,gBAAU,KAAK,MAAM;AACrB;AAAA,IACF;AAEA,UAAM,QAAQ,MAAM,MAAM,GAAG,OAAO,QAAQ,KAAK,EAAE,IAAI,UAAU,EAAE,KAAK;AACxE,YAAQ;AACR,aAAS;AACT,WAAO,QAAQ,MAAM,UAAU,QAAQ,OAAO,QAAQ,KAAK;AACzD,gBAAU,MAAM,KAAK,EAAE;AACvB,gBAAU,KAAK,MAAM;AACrB;AAAA,IACF;AAEA,UAAM,aAAa,MAChB,MAAM,GAAG,OAAO,aAAa,KAAK,EAClC,IAAI,UAAU,EACd,KAAK,EACL,MAAM,GAAG,OAAO,aAAa,KAAK,EAClC,KAAK,EAAE;AACV,aAAS;AACT,WAAO,SAAS,WAAW,UAAU,SAAS,OAAO,aAAa,KAAK;AACrE,gBAAU,KAAK,MAAM;AACrB;AAAA,IACF;AAGA,WAAO,UAAU,OAAO,CAACtE,IAAGlD,IAAG,QAAQ,IAAI,QAAQkD,EAAC,MAAMlD,EAAC,EAAE,KAAK,CAACW,IAAG,MAAMA,KAAI,CAAC;AAAA,EACnF;AACF;;;AE/IA;AAAA;AAAA;AAAAV;AAAAC;AACA,wBAAsB;AAOtB,IAAM,SAAS,WAAW,MAAM,EAAE,WAAW,cAAc,CAAC;AAE5D,IAAM,uBAA2E,CAAC,YAAY;AAC5F,SAAO,CAAC,UAAU;AAChB,UAAM,SAAS,QAAQ,KAAK,MAAM,QAAQ,QAAQ;AAClD,UAAM,cAAc,WAAW,MAAM;AACrC,UAAM,aAAa,WAAW,KAAK;AACnC,aAAS,QAAQ,KAAK,IAAI,GAAG,WAAW,SAAS,YAAY,MAAM,GAAG,QAAQ,WAAW,QAAQ,SAAS;AACxG,cAAI,kBAAA2D,SAAU,WAAW,MAAM,KAAK,GAAG,YAAY,MAAM,GAAG,MAAM,SAAS,KAAK,CAAC,GAAG;AAClF,eAAO,MAAM,EAAE,OAAO,QAAQ,aAAa,MAAM,GAAG,wBAAwB;AAC5E,eAAO,MAAM,MAAM,GAAG,KAAK;AAAA,MAC7B;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACF;AAEA,IAAM,YAA+B,CAAC,UAAU;AAC9C,SAAO,QAAQ,KAAK,IAAI,OAAO;AACjC;AAEA,IAAM,cAAc,CAACqB,YAA8B;AACjD,SAAO,OAAO,aAAiC;AAC7C,aAAS,WACP,MAAM,QAAQ;AAAA,MACZ,SAAS,QAAQ,IAAI,OAAO,WAAW;AACrC,eAAO,OAAO,MAAMA,QAAO,OAAO,IAAI;AACtC,eAAO;AAAA,MACT,CAAC;AAAA,IACH,GACA,OAAO,OAAO;AAChB,WAAO;AAAA,EACT;AACF;AAEA,eAAsB,YACpBC,UACA,UAC6B;AAC7B,SAAO,IAAI,QAAQ,CAACR,aAAYA,SAAQ,QAAQ,CAAC,EAC9C,KAAK,YAAY,qBAAqBQ,QAAO,CAAC,CAAC,EAC/C,KAAK,YAAY,SAAS,CAAC;AAChC;;;AxEpBO,IAAM,cAAN,cAAyB,aAA8B;AAAA,EAWpD,cAAc;AACpB,UAAM;AAXR,SAAiB,SAAS,WAAW,MAAM,EAAE,WAAW,aAAa,CAAC;AACtE,SAAQ,SAAsB;AAC9B,SAAQ,SAAsB;AAG9B,SAAQ,YAA8B;AACtC,SAAQ,kBAAmC,IAAI,gBAAgB;AAE/D;AAAA,SAAQ,qBAA4D;AAKlE,SAAK,qBAAqB,YAAY,YAAY;AAChD,UAAI,KAAK,WAAW,gBAAgB;AAClC,aAAK,OAAO,MAAM,sBAAsB;AACxC,cAAM,KAAK,YAAY;AAAA,MACzB;AAAA,IACF,GAAG,YAAW,kBAAkB;AAAA,EAClC;AAAA,EAEA,aAAa,OAAO,SAA2D;AAC7E,UAAM,QAAQ,IAAI,YAAW;AAC7B,UAAM,YAAY,SAAS;AAC3B,UAAM,MAAM,YAAY;AACxB,WAAO;AAAA,EACT;AAAA,EAEA,MAAc,cAAc;AAC1B,eAAW,QAAQ,CAAChB,YAAYA,QAAO,QAAQ,KAAK,OAAO,KAAK,KAAM;AACtE,QAAI,KAAK,OAAO,OAAO,aAAa,KAAK,MAAM,UAAU;AACvD,WAAK,OAAO,MAAM,KAAK,OAAO,EAAE,UAAU,KAAK,OAAO,OAAO,UAAU,WAAW,KAAK,UAAU,CAAC;AAClG,WAAK,KAAK,GAAG,WAAW,KAAK,cAAc,KAAK,IAAI,CAAC;AAAA,IACvD;AACA,SAAK,MAAM,IAAI,SAAS,EAAE,MAAM,KAAK,OAAO,OAAO,UAAU,OAAO,KAAK,KAAK,MAAM,CAAC;AAAA,EACvF;AAAA,EAEA,MAAc,gBAAgB;AAC5B,SAAK,MAAM,IAAI,SAAS,EAAE,MAAM,KAAK,OAAO,OAAO,UAAU,OAAO,KAAK,KAAK,MAAM,CAAC;AACrF,UAAM,KAAK,YAAY;AAAA,EACzB;AAAA,EAEQ,aAAa,QAAqB;AACxC,QAAI,KAAK,UAAU,QAAQ;AACzB,WAAK,SAAS;AACd,YAAM,QAAoB,EAAE,OAAO,iBAAiB,OAAO;AAC3D,WAAK,OAAO,MAAM,EAAE,MAAM,GAAG,gBAAgB;AAC7C,YAAM,KAAK,iBAAiB,KAAK;AAAA,IACnC;AAAA,EACF;AAAA,EAEQ,QACN,KACAgB,UAC6B;AAC7B,SAAK,OAAO,MAAM,EAAE,KAAK,IAAI,MAAM,SAAAA,SAAQ,GAAG,aAAa;AAC3D,UAAM,UAAU,IAAI,KAAK,KAAK,IAAI,IAAIA,QAAO;AAC7C,WAAO;AAAA,MACL,QACG,KAAK,CAAC,aAAuB;AAC5B,aAAK,OAAO,MAAM,EAAE,KAAK,IAAI,MAAM,SAAS,GAAG,cAAc;AAC7D,aAAK,aAAa,OAAO;AACzB,eAAO;AAAA,MACT,CAAC,EACA,MAAM,CAAC,UAAU;AAChB,YAAI,CAAC,CAAC,MAAM,aAAa;AACvB,eAAK,OAAO,MAAM,EAAE,KAAK,IAAI,MAAM,MAAM,GAAG,sBAAsB;AAAA,QACpE,WAAW,MAAM,SAAS,cAAc,CAAC,KAAK,KAAK,GAAG,EAAE,QAAQ,MAAM,MAAM,MAAM,IAAI;AACpF,eAAK,OAAO,MAAM,EAAE,KAAK,IAAI,MAAM,MAAM,GAAG,kBAAkB;AAC9D,eAAK,aAAa,cAAc;AAAA,QAClC,WAAW,MAAM,SAAS,YAAY;AACpC,eAAK,OAAO,MAAM,EAAE,KAAK,IAAI,MAAM,MAAM,GAAG,WAAW;AACvD,eAAK,aAAa,cAAc;AAAA,QAClC,OAAO;AACL,eAAK,OAAO,MAAM,EAAE,KAAK,IAAI,MAAM,MAAM,GAAG,uCAAuC;AACnF,eAAK,aAAa,cAAc;AAAA,QAClC;AACA,cAAM;AAAA,MACR,CAAC;AAAA,MACH,MAAM;AACJ,gBAAQ,OAAO;AAAA,MACjB;AAAA,IACF;AAAA,EACF;AAAA,EAEA,MAAc,cAA6B;AACzC,WAAO,KAAK,QAAQ,KAAK,IAAI,GAAG,QAAQ,CAAC,CAAC,EAAE,MAAM,MAAM;AAAA,IAAC,CAAC;AAAA,EAC5D;AAAA,EAEQ,eAAeA,UAAgE;AAErF,UAAM,WAAW;AACjB,UAAM,SAASA,SAAQ,KAAK,MAAM,GAAGA,SAAQ,QAAQ;AACrD,UAAM,cAAc,WAAW,MAAM;AACrC,UAAM,SAASA,SAAQ,KAAK,MAAMA,SAAQ,QAAQ;AAClD,UAAM,cAAc,WAAW,MAAM;AACrC,WAAO;AAAA,MACL,QAAQ,YAAY,MAAM,KAAK,IAAI,YAAY,SAAS,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE;AAAA,MAC7E,QAAQ,YAAY,MAAM,GAAG,QAAQ,EAAE,KAAK,EAAE;AAAA,IAChD;AAAA,EACF;AAAA,EAEA,MAAa,WAAW,SAAsD;AAC5E,QAAI,QAAQ,QAAQ;AAGlB,iBAAW,QAAQ,CAAChB,YAAWA,QAAO,eAAeA,QAAO,YAAY,EAAE,QAAQ,QAAQ,OAAO,CAAC,CAAC;AAAA,IACrG;AACA,QAAI,QAAQ,QAAQ;AAClB,YAAM,KAAK,aAAa,QAAQ,MAAM;AAAA,IACxC;AACA,SAAK,OAAO,MAAM,EAAE,QAAQ,GAAG,aAAa;AAC5C,WAAO,KAAK,WAAW;AAAA,EACzB;AAAA,EAEA,MAAa,aAAaY,SAAgD;AACxE,UAAM,mBAAe,iBAAA0C,SAAU,KAAK,QAAQ1C,OAAM;AAClD,QAAI,KAAC,mBAAAlB,SAAU,KAAK,QAAQ,YAAY,GAAG;AACzC,WAAK,SAAS;AACd,YAAM,KAAK,YAAY;AACvB,YAAM,QAAoB,EAAE,OAAO,iBAAiB,QAAQ,KAAK,OAAO;AACxE,WAAK,OAAO,MAAM,EAAE,MAAM,GAAG,gBAAgB;AAC7C,YAAM,KAAK,iBAAiB,KAAK;AAAA,IACnC;AACA,UAAM,KAAK,YAAY;AACvB,WAAO,KAAK,WAAW;AAAA,EACzB;AAAA,EAEO,YAAyB;AAC9B,WAAO,KAAK;AAAA,EACd;AAAA,EAEO,YAAyB;AAC9B,WAAO,KAAK;AAAA,EACd;AAAA,EAEO,YAA8C;AACnD,WAAO;AAAA,MACL,KAAK,YAAY,EAAE,KAAK,MAAM;AAC5B,YAAI,KAAK,WAAW,gBAAgB;AAClC,iBAAO,KAAK,KAAK,aAAa;AAAA,QAChC;AACA,eAAO;AAAA,MACT,CAAC;AAAA,MACD,MAAM;AACJ,YAAI,KAAK,WAAW,gBAAgB;AAClC,eAAK,KAAK,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEO,eAAesB,UAAmE;AACvF,QAAI,KAAK,WAAW,kBAAkB;AACpC,YAAM,IAAI,MAAM,0BAA0B;AAAA,IAC5C;AACA,QAAI,KAAK,gBAAgB,IAAIA,QAAO,GAAG;AACrC,WAAK,OAAO,MAAM,EAAE,SAAAA,SAAQ,GAAG,sBAAsB;AACrD,aAAO,IAAI,kBAAkB,CAACR,aAAY;AACxC,QAAAA,SAAQ,KAAK,gBAAgB,IAAIQ,QAAO,CAAC;AAAA,MAC3C,CAAC;AAAA,IACH;AACA,UAAM,WAAW,KAAK,eAAeA,QAAO;AAC5C,QAAI,QAAQ,SAAS,MAAM,GAAG;AAC5B,WAAK,OAAO,MAAM,8DAA8D;AAChF,aAAO,IAAI,kBAAkB,CAACR,aAAY;AACxC,QAAAA,SAAQ;AAAA,UACN,IAAI,WAAW,WAAK;AAAA,UACpB,SAAS,CAAC;AAAA,QACZ,CAAC;AAAA,MACH,CAAC;AAAA,IACH;AACA,UAAM,UAAU,KAAK,QAAQ,KAAK,IAAI,GAAG,YAAY;AAAA,MACnD,UAAUQ,SAAQ;AAAA,MAClB;AAAA,IACF,CAAC;AACD,WAAO;AAAA,MACL,QACG,KAAK,CAAC,aAAa;AAClB,eAAO,YAAYA,UAAS,QAAQ;AAAA,MACtC,CAAC,EACA,KAAK,CAAC,aAAa;AAClB,aAAK,gBAAgB,IAAIA,UAAS,QAAQ;AAC1C,eAAO;AAAA,MACT,CAAC;AAAA,MACH,MAAM;AACJ,gBAAQ,OAAO;AAAA,MACjB;AAAA,IACF;AAAA,EACF;AAAA,EAEO,UAAUA,UAAsD;AACrE,QAAI,KAAK,WAAW,kBAAkB;AACpC,YAAM,IAAI,MAAM,0BAA0B;AAAA,IAC5C;AACA,WAAO,KAAK,QAAQ,KAAK,IAAI,GAAG,OAAOA,QAAO;AAAA,EAChD;AACF;AAtMO,IAAM,aAAN;AAAM,WAQK,qBAAqB,MAAO;;;AyEtC9C;AAAA;AAAA;AAAAlF;AAAAC;AA+DO,IAAM,kBAAyC,CAAC,iBAAiB,eAAe","sourcesContent":["const global = globalThis;\nexport { global };\n","export const __dirname = \"/\";\n","export const __filename = \"/index.js\";\n","function unimplemented(name) {\r\n throw new Error('Node.js process ' + name + ' is not supported by JSPM core outside of Node.js');\r\n}\r\n\r\nvar queue = [];\r\nvar draining = false;\r\nvar currentQueue;\r\nvar queueIndex = -1;\r\n\r\nfunction cleanUpNextTick() {\r\n if (!draining || !currentQueue)\r\n return;\r\n draining = false;\r\n if (currentQueue.length) {\r\n queue = currentQueue.concat(queue);\r\n }\r\n else {\r\n queueIndex = -1;\r\n }\r\n if (queue.length)\r\n drainQueue();\r\n}\r\n\r\nfunction drainQueue() {\r\n if (draining)\r\n return;\r\n var timeout = setTimeout(cleanUpNextTick, 0);\r\n draining = true;\r\n\r\n var len = queue.length;\r\n while(len) {\r\n currentQueue = queue;\r\n queue = [];\r\n while (++queueIndex < len) {\r\n if (currentQueue)\r\n currentQueue[queueIndex].run();\r\n }\r\n queueIndex = -1;\r\n len = queue.length;\r\n }\r\n currentQueue = null;\r\n draining = false;\r\n clearTimeout(timeout);\r\n}\r\n\r\nfunction nextTick (fun) {\r\n var args = new Array(arguments.length - 1);\r\n if (arguments.length > 1) {\r\n for (var i = 1; i < arguments.length; i++)\r\n args[i - 1] = arguments[i];\r\n }\r\n queue.push(new Item(fun, args));\r\n if (queue.length === 1 && !draining)\r\n setTimeout(drainQueue, 0);\r\n}\r\n// v8 likes predictible objects\r\nfunction Item(fun, array) {\r\n this.fun = fun;\r\n this.array = array;\r\n}\r\nItem.prototype.run = function () {\r\n this.fun.apply(null, this.array);\r\n};\r\n\r\nvar title = 'browser';\r\nvar arch = 'x64';\r\nvar platform = 'browser';\r\nvar env = {\r\n PATH: '/usr/bin',\r\n LANG: navigator.language + '.UTF-8',\r\n PWD: '/',\r\n HOME: '/home',\r\n TMP: '/tmp',\r\n};\r\nvar argv = ['/usr/bin/node'];\r\nvar execArgv = [];\r\nvar version = 'v16.8.0';\r\nvar versions = {};\r\n\r\nvar emitWarning = function(message, type) {\r\n console.warn((type ? (type + ': ') : '') + message);\r\n};\r\n\r\nvar binding = function(name) { unimplemented('binding'); };\r\n\r\nvar umask = function(mask) { return 0; };\r\n\r\nvar cwd = function() { return '/'; };\r\nvar chdir = function(dir) {};\r\n\r\nvar release = {\r\n name: 'node',\r\n sourceUrl: '',\r\n headersUrl: '',\r\n libUrl: '',\r\n};\r\n\r\nfunction noop() {}\r\n\r\nvar _rawDebug = noop;\r\nvar moduleLoadList = [];\r\nfunction _linkedBinding(name) { unimplemented('_linkedBinding'); }\r\nvar domain = {};\r\nvar _exiting = false;\r\nvar config = {};\r\nfunction dlopen(name) { unimplemented('dlopen'); }\r\nfunction _getActiveRequests() { return []; }\r\nfunction _getActiveHandles() { return []; }\r\nvar reallyExit = noop;\r\nvar _kill = noop;\r\nvar cpuUsage = function() { return {}; };\r\nvar resourceUsage = cpuUsage;\r\nvar memoryUsage = cpuUsage;\r\nvar kill = noop;\r\nvar exit = noop;\r\nvar openStdin = noop;\r\nvar allowedNodeEnvironmentFlags = {};\r\nfunction assert(condition, message) {\r\n if (!condition) throw new Error(message || 'assertion error');\r\n}\r\nvar features = {\r\n inspector: false,\r\n debug: false,\r\n uv: false,\r\n ipv6: false,\r\n tls_alpn: false,\r\n tls_sni: false,\r\n tls_ocsp: false,\r\n tls: false,\r\n cached_builtins: true,\r\n};\r\nvar _fatalExceptions = noop;\r\nvar setUncaughtExceptionCaptureCallback = noop;\r\nfunction hasUncaughtExceptionCaptureCallback() { return false; }var _tickCallback = noop;\r\nvar _debugProcess = noop;\r\nvar _debugEnd = noop;\r\nvar _startProfilerIdleNotifier = noop;\r\nvar _stopProfilerIdleNotifier = noop;\r\nvar stdout = undefined;\r\nvar stderr = undefined;\r\nvar stdin = undefined;\r\nvar abort = noop;\r\nvar pid = 2;\r\nvar ppid = 1;\r\nvar execPath = '/bin/usr/node';\r\nvar debugPort = 9229;\r\nvar argv0 = 'node';\r\nvar _preload_modules = [];\r\nvar setSourceMapsEnabled = noop;\r\n\r\nvar _performance = {\r\n now: typeof performance !== 'undefined' ? performance.now.bind(performance) : undefined,\r\n timing: typeof performance !== 'undefined' ? performance.timing : undefined,\r\n};\r\nif (_performance.now === undefined) {\r\n var nowOffset = Date.now();\r\n\r\n if (_performance.timing && _performance.timing.navigationStart) {\r\n nowOffset = _performance.timing.navigationStart;\r\n }\r\n _performance.now = () => Date.now() - nowOffset;\r\n}\r\n\r\nfunction uptime() {\r\n return _performance.now() / 1000;\r\n}\r\n\r\nvar nanoPerSec = 1000000000;\r\nfunction hrtime(previousTimestamp) {\r\n var baseNow = Math.floor((Date.now() - _performance.now()) * 1e-3);\r\n var clocktime = _performance.now() * 1e-3;\r\n var seconds = Math.floor(clocktime) + baseNow;\r\n var nanoseconds = Math.floor((clocktime % 1) * 1e9);\r\n if (previousTimestamp) {\r\n seconds = seconds - previousTimestamp[0];\r\n nanoseconds = nanoseconds - previousTimestamp[1];\r\n if (nanoseconds < 0) {\r\n seconds--;\r\n nanoseconds += nanoPerSec;\r\n }\r\n }\r\n return [seconds, nanoseconds];\r\n}hrtime.bigint = function(time) {\r\n var diff = hrtime(time);\r\n if (typeof BigInt === 'undefined') {\r\n return diff[0] * nanoPerSec + diff[1];\r\n }\r\n return BigInt(diff[0] * nanoPerSec) + BigInt(diff[1]);\r\n};\r\n\r\nvar _maxListeners = 10;\r\nvar _events = {};\r\nvar _eventsCount = 0;\r\nfunction on () { return process }var addListener = on;\r\nvar once = on;\r\nvar off = on;\r\nvar removeListener = on;\r\nvar removeAllListeners = on;\r\nvar emit = noop;\r\nvar prependListener = on;\r\nvar prependOnceListener = on;\r\nfunction listeners (name) { return []; }\r\nvar process = {\r\n version,\r\n versions,\r\n arch,\r\n platform,\r\n release,\r\n _rawDebug,\r\n moduleLoadList,\r\n binding,\r\n _linkedBinding,\r\n _events,\r\n _eventsCount,\r\n _maxListeners,\r\n on,\r\n addListener,\r\n once,\r\n off,\r\n removeListener,\r\n removeAllListeners,\r\n emit,\r\n prependListener,\r\n prependOnceListener,\r\n listeners,\r\n domain,\r\n _exiting,\r\n config,\r\n dlopen,\r\n uptime,\r\n _getActiveRequests,\r\n _getActiveHandles,\r\n reallyExit,\r\n _kill,\r\n cpuUsage,\r\n resourceUsage,\r\n memoryUsage,\r\n kill,\r\n exit,\r\n openStdin,\r\n allowedNodeEnvironmentFlags,\r\n assert,\r\n features,\r\n _fatalExceptions,\r\n setUncaughtExceptionCaptureCallback,\r\n hasUncaughtExceptionCaptureCallback,\r\n emitWarning,\r\n nextTick,\r\n _tickCallback,\r\n _debugProcess,\r\n _debugEnd,\r\n _startProfilerIdleNotifier,\r\n _stopProfilerIdleNotifier,\r\n stdout,\r\n stdin,\r\n stderr,\r\n abort,\r\n umask,\r\n chdir,\r\n cwd,\r\n env,\r\n title,\r\n argv,\r\n execArgv,\r\n pid,\r\n ppid,\r\n execPath,\r\n debugPort,\r\n hrtime,\r\n argv0,\r\n _preload_modules,\r\n setSourceMapsEnabled,\r\n};\n\nexport { _debugEnd, _debugProcess, _events, _eventsCount, _exiting, _fatalExceptions, _getActiveHandles, _getActiveRequests, _kill, _linkedBinding, _maxListeners, _preload_modules, _rawDebug, _startProfilerIdleNotifier, _stopProfilerIdleNotifier, _tickCallback, abort, addListener, allowedNodeEnvironmentFlags, arch, argv, argv0, assert, binding, chdir, config, cpuUsage, cwd, debugPort, process as default, dlopen, domain, emit, emitWarning, env, execArgv, execPath, exit, features, hasUncaughtExceptionCaptureCallback, hrtime, kill, listeners, memoryUsage, moduleLoadList, nextTick, off, on, once, openStdin, pid, platform, ppid, prependListener, prependOnceListener, reallyExit, release, removeAllListeners, removeListener, resourceUsage, setSourceMapsEnabled, setUncaughtExceptionCaptureCallback, stderr, stdin, stdout, title, umask, uptime, version, versions };\n","export * as process from \"process\";\n","var exports$3 = {},\n _dewExec$2 = false;\nfunction dew$2() {\n if (_dewExec$2) return exports$3;\n _dewExec$2 = true;\n exports$3.byteLength = byteLength;\n exports$3.toByteArray = toByteArray;\n exports$3.fromByteArray = fromByteArray;\n var lookup = [];\n var revLookup = [];\n var Arr = typeof Uint8Array !== \"undefined\" ? Uint8Array : Array;\n var code = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n\n for (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i];\n revLookup[code.charCodeAt(i)] = i;\n } // Support decoding URL-safe base64 strings, as Node.js does.\n // See: https://en.wikipedia.org/wiki/Base64#URL_applications\n\n\n revLookup[\"-\".charCodeAt(0)] = 62;\n revLookup[\"_\".charCodeAt(0)] = 63;\n\n function getLens(b64) {\n var len = b64.length;\n\n if (len % 4 > 0) {\n throw new Error(\"Invalid string. Length must be a multiple of 4\");\n } // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n\n\n var validLen = b64.indexOf(\"=\");\n if (validLen === -1) validLen = len;\n var placeHoldersLen = validLen === len ? 0 : 4 - validLen % 4;\n return [validLen, placeHoldersLen];\n } // base64 is 4/3 + up to two characters of the original data\n\n\n function byteLength(b64) {\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n }\n\n function _byteLength(b64, validLen, placeHoldersLen) {\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n }\n\n function toByteArray(b64) {\n var tmp;\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));\n var curByte = 0; // if there are placeholders, only get up to the last complete 4 chars\n\n var len = placeHoldersLen > 0 ? validLen - 4 : validLen;\n var i;\n\n for (i = 0; i < len; i += 4) {\n tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)];\n arr[curByte++] = tmp >> 16 & 255;\n arr[curByte++] = tmp >> 8 & 255;\n arr[curByte++] = tmp & 255;\n }\n\n if (placeHoldersLen === 2) {\n tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4;\n arr[curByte++] = tmp & 255;\n }\n\n if (placeHoldersLen === 1) {\n tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2;\n arr[curByte++] = tmp >> 8 & 255;\n arr[curByte++] = tmp & 255;\n }\n\n return arr;\n }\n\n function tripletToBase64(num) {\n return lookup[num >> 18 & 63] + lookup[num >> 12 & 63] + lookup[num >> 6 & 63] + lookup[num & 63];\n }\n\n function encodeChunk(uint8, start, end) {\n var tmp;\n var output = [];\n\n for (var i = start; i < end; i += 3) {\n tmp = (uint8[i] << 16 & 16711680) + (uint8[i + 1] << 8 & 65280) + (uint8[i + 2] & 255);\n output.push(tripletToBase64(tmp));\n }\n\n return output.join(\"\");\n }\n\n function fromByteArray(uint8) {\n var tmp;\n var len = uint8.length;\n var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes\n\n var parts = [];\n var maxChunkLength = 16383; // must be multiple of 3\n // go through the array every three bytes, we'll deal with trailing stuff later\n\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, i + maxChunkLength > len2 ? len2 : i + maxChunkLength));\n } // pad the end with zeros, but make sure to not forget the extra bytes\n\n\n if (extraBytes === 1) {\n tmp = uint8[len - 1];\n parts.push(lookup[tmp >> 2] + lookup[tmp << 4 & 63] + \"==\");\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1];\n parts.push(lookup[tmp >> 10] + lookup[tmp >> 4 & 63] + lookup[tmp << 2 & 63] + \"=\");\n }\n\n return parts.join(\"\");\n }\n\n return exports$3;\n}\n\nvar exports$2 = {},\n _dewExec$1 = false;\nfunction dew$1() {\n if (_dewExec$1) return exports$2;\n _dewExec$1 = true;\n\n /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\n exports$2.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = -7;\n var i = isLE ? nBytes - 1 : 0;\n var d = isLE ? -1 : 1;\n var s = buffer[offset + i];\n i += d;\n e = s & (1 << -nBits) - 1;\n s >>= -nBits;\n nBits += eLen;\n\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : (s ? -1 : 1) * Infinity;\n } else {\n m = m + Math.pow(2, mLen);\n e = e - eBias;\n }\n\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen);\n };\n\n exports$2.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0;\n var i = isLE ? 0 : nBytes - 1;\n var d = isLE ? 1 : -1;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n value = Math.abs(value);\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0;\n e = eMax;\n } else {\n e = Math.floor(Math.log(value) / Math.LN2);\n\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * Math.pow(2, 1 - eBias);\n }\n\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n e = 0;\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 255, i += d, m /= 256, mLen -= 8) {}\n\n e = e << mLen | m;\n eLen += mLen;\n\n for (; eLen > 0; buffer[offset + i] = e & 255, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128;\n };\n\n return exports$2;\n}\n\nvar exports$1 = {},\n _dewExec = false;\nfunction dew() {\n if (_dewExec) return exports$1;\n _dewExec = true;\n\n const base64 = dew$2();\n\n const ieee754 = dew$1();\n\n const customInspectSymbol = typeof Symbol === \"function\" && typeof Symbol[\"for\"] === \"function\" ? Symbol[\"for\"](\"nodejs.util.inspect.custom\") // eslint-disable-line dot-notation\n : null;\n exports$1.Buffer = Buffer;\n exports$1.SlowBuffer = SlowBuffer;\n exports$1.INSPECT_MAX_BYTES = 50;\n const K_MAX_LENGTH = 2147483647;\n exports$1.kMaxLength = K_MAX_LENGTH;\n /**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\n\n Buffer.TYPED_ARRAY_SUPPORT = typedArraySupport();\n\n if (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== \"undefined\" && typeof console.error === \"function\") {\n console.error(\"This browser lacks typed array (Uint8Array) support which is required by \" + \"`buffer` v5.x. Use `buffer` v4.x if you require old browser support.\");\n }\n\n function typedArraySupport() {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1);\n const proto = {\n foo: function () {\n return 42;\n }\n };\n Object.setPrototypeOf(proto, Uint8Array.prototype);\n Object.setPrototypeOf(arr, proto);\n return arr.foo() === 42;\n } catch (e) {\n return false;\n }\n }\n\n Object.defineProperty(Buffer.prototype, \"parent\", {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined;\n return this.buffer;\n }\n });\n Object.defineProperty(Buffer.prototype, \"offset\", {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined;\n return this.byteOffset;\n }\n });\n\n function createBuffer(length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError(\"The value \\\"\" + length + \"\\\" is invalid for option \\\"size\\\"\");\n } // Return an augmented `Uint8Array` instance\n\n\n const buf = new Uint8Array(length);\n Object.setPrototypeOf(buf, Buffer.prototype);\n return buf;\n }\n /**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\n\n function Buffer(arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === \"number\") {\n if (typeof encodingOrOffset === \"string\") {\n throw new TypeError(\"The \\\"string\\\" argument must be of type string. Received type number\");\n }\n\n return allocUnsafe(arg);\n }\n\n return from(arg, encodingOrOffset, length);\n }\n\n Buffer.poolSize = 8192; // not used by this implementation\n\n function from(value, encodingOrOffset, length) {\n if (typeof value === \"string\") {\n return fromString(value, encodingOrOffset);\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value);\n }\n\n if (value == null) {\n throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, \" + \"or Array-like Object. Received type \" + typeof value);\n }\n\n if (isInstance(value, ArrayBuffer) || value && isInstance(value.buffer, ArrayBuffer)) {\n return fromArrayBuffer(value, encodingOrOffset, length);\n }\n\n if (typeof SharedArrayBuffer !== \"undefined\" && (isInstance(value, SharedArrayBuffer) || value && isInstance(value.buffer, SharedArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length);\n }\n\n if (typeof value === \"number\") {\n throw new TypeError(\"The \\\"value\\\" argument must not be of type number. Received type number\");\n }\n\n const valueOf = value.valueOf && value.valueOf();\n\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length);\n }\n\n const b = fromObject(value);\n if (b) return b;\n\n if (typeof Symbol !== \"undefined\" && Symbol.toPrimitive != null && typeof value[Symbol.toPrimitive] === \"function\") {\n return Buffer.from(value[Symbol.toPrimitive](\"string\"), encodingOrOffset, length);\n }\n\n throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, \" + \"or Array-like Object. Received type \" + typeof value);\n }\n /**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\n\n\n Buffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length);\n }; // Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n // https://github.com/feross/buffer/pull/148\n\n\n Object.setPrototypeOf(Buffer.prototype, Uint8Array.prototype);\n Object.setPrototypeOf(Buffer, Uint8Array);\n\n function assertSize(size) {\n if (typeof size !== \"number\") {\n throw new TypeError(\"\\\"size\\\" argument must be of type number\");\n } else if (size < 0) {\n throw new RangeError(\"The value \\\"\" + size + \"\\\" is invalid for option \\\"size\\\"\");\n }\n }\n\n function alloc(size, fill, encoding) {\n assertSize(size);\n\n if (size <= 0) {\n return createBuffer(size);\n }\n\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === \"string\" ? createBuffer(size).fill(fill, encoding) : createBuffer(size).fill(fill);\n }\n\n return createBuffer(size);\n }\n /**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\n\n\n Buffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding);\n };\n\n function allocUnsafe(size) {\n assertSize(size);\n return createBuffer(size < 0 ? 0 : checked(size) | 0);\n }\n /**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\n\n\n Buffer.allocUnsafe = function (size) {\n return allocUnsafe(size);\n };\n /**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\n\n\n Buffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size);\n };\n\n function fromString(string, encoding) {\n if (typeof encoding !== \"string\" || encoding === \"\") {\n encoding = \"utf8\";\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError(\"Unknown encoding: \" + encoding);\n }\n\n const length = byteLength(string, encoding) | 0;\n let buf = createBuffer(length);\n const actual = buf.write(string, encoding);\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual);\n }\n\n return buf;\n }\n\n function fromArrayLike(array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0;\n const buf = createBuffer(length);\n\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255;\n }\n\n return buf;\n }\n\n function fromArrayView(arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView);\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength);\n }\n\n return fromArrayLike(arrayView);\n }\n\n function fromArrayBuffer(array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError(\"\\\"offset\\\" is outside of buffer bounds\");\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError(\"\\\"length\\\" is outside of buffer bounds\");\n }\n\n let buf;\n\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array);\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset);\n } else {\n buf = new Uint8Array(array, byteOffset, length);\n } // Return an augmented `Uint8Array` instance\n\n\n Object.setPrototypeOf(buf, Buffer.prototype);\n return buf;\n }\n\n function fromObject(obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0;\n const buf = createBuffer(len);\n\n if (buf.length === 0) {\n return buf;\n }\n\n obj.copy(buf, 0, 0, len);\n return buf;\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== \"number\" || numberIsNaN(obj.length)) {\n return createBuffer(0);\n }\n\n return fromArrayLike(obj);\n }\n\n if (obj.type === \"Buffer\" && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data);\n }\n }\n\n function checked(length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError(\"Attempt to allocate Buffer larger than maximum \" + \"size: 0x\" + K_MAX_LENGTH.toString(16) + \" bytes\");\n }\n\n return length | 0;\n }\n\n function SlowBuffer(length) {\n if (+length != length) {\n // eslint-disable-line eqeqeq\n length = 0;\n }\n\n return Buffer.alloc(+length);\n }\n\n Buffer.isBuffer = function isBuffer(b) {\n return b != null && b._isBuffer === true && b !== Buffer.prototype; // so Buffer.isBuffer(Buffer.prototype) will be false\n };\n\n Buffer.compare = function compare(a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength);\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength);\n\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\"The \\\"buf1\\\", \\\"buf2\\\" arguments must be one of type Buffer or Uint8Array\");\n }\n\n if (a === b) return 0;\n let x = a.length;\n let y = b.length;\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n\n if (x < y) return -1;\n if (y < x) return 1;\n return 0;\n };\n\n Buffer.isEncoding = function isEncoding(encoding) {\n switch (String(encoding).toLowerCase()) {\n case \"hex\":\n case \"utf8\":\n case \"utf-8\":\n case \"ascii\":\n case \"latin1\":\n case \"binary\":\n case \"base64\":\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return true;\n\n default:\n return false;\n }\n };\n\n Buffer.concat = function concat(list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError(\"\\\"list\\\" argument must be an Array of Buffers\");\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0);\n }\n\n let i;\n\n if (length === undefined) {\n length = 0;\n\n for (i = 0; i < list.length; ++i) {\n length += list[i].length;\n }\n }\n\n const buffer = Buffer.allocUnsafe(length);\n let pos = 0;\n\n for (i = 0; i < list.length; ++i) {\n let buf = list[i];\n\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf);\n buf.copy(buffer, pos);\n } else {\n Uint8Array.prototype.set.call(buffer, buf, pos);\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError(\"\\\"list\\\" argument must be an Array of Buffers\");\n } else {\n buf.copy(buffer, pos);\n }\n\n pos += buf.length;\n }\n\n return buffer;\n };\n\n function byteLength(string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length;\n }\n\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength;\n }\n\n if (typeof string !== \"string\") {\n throw new TypeError(\"The \\\"string\\\" argument must be one of type string, Buffer, or ArrayBuffer. \" + \"Received type \" + typeof string);\n }\n\n const len = string.length;\n const mustMatch = arguments.length > 2 && arguments[2] === true;\n if (!mustMatch && len === 0) return 0; // Use a for loop to avoid recursion\n\n let loweredCase = false;\n\n for (;;) {\n switch (encoding) {\n case \"ascii\":\n case \"latin1\":\n case \"binary\":\n return len;\n\n case \"utf8\":\n case \"utf-8\":\n return utf8ToBytes(string).length;\n\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return len * 2;\n\n case \"hex\":\n return len >>> 1;\n\n case \"base64\":\n return base64ToBytes(string).length;\n\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length; // assume utf8\n }\n\n encoding = (\"\" + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n }\n\n Buffer.byteLength = byteLength;\n\n function slowToString(encoding, start, end) {\n let loweredCase = false; // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n\n if (start === undefined || start < 0) {\n start = 0;\n } // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n\n\n if (start > this.length) {\n return \"\";\n }\n\n if (end === undefined || end > this.length) {\n end = this.length;\n }\n\n if (end <= 0) {\n return \"\";\n } // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n\n\n end >>>= 0;\n start >>>= 0;\n\n if (end <= start) {\n return \"\";\n }\n\n if (!encoding) encoding = \"utf8\";\n\n while (true) {\n switch (encoding) {\n case \"hex\":\n return hexSlice(this, start, end);\n\n case \"utf8\":\n case \"utf-8\":\n return utf8Slice(this, start, end);\n\n case \"ascii\":\n return asciiSlice(this, start, end);\n\n case \"latin1\":\n case \"binary\":\n return latin1Slice(this, start, end);\n\n case \"base64\":\n return base64Slice(this, start, end);\n\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return utf16leSlice(this, start, end);\n\n default:\n if (loweredCase) throw new TypeError(\"Unknown encoding: \" + encoding);\n encoding = (encoding + \"\").toLowerCase();\n loweredCase = true;\n }\n }\n } // This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n // to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n // reliably in a browserify context because there could be multiple different\n // copies of the 'buffer' package in use. This method works even for Buffer\n // instances that were created from another copy of the `buffer` package.\n // See: https://github.com/feross/buffer/issues/154\n\n\n Buffer.prototype._isBuffer = true;\n\n function swap(b, n, m) {\n const i = b[n];\n b[n] = b[m];\n b[m] = i;\n }\n\n Buffer.prototype.swap16 = function swap16() {\n const len = this.length;\n\n if (len % 2 !== 0) {\n throw new RangeError(\"Buffer size must be a multiple of 16-bits\");\n }\n\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1);\n }\n\n return this;\n };\n\n Buffer.prototype.swap32 = function swap32() {\n const len = this.length;\n\n if (len % 4 !== 0) {\n throw new RangeError(\"Buffer size must be a multiple of 32-bits\");\n }\n\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3);\n swap(this, i + 1, i + 2);\n }\n\n return this;\n };\n\n Buffer.prototype.swap64 = function swap64() {\n const len = this.length;\n\n if (len % 8 !== 0) {\n throw new RangeError(\"Buffer size must be a multiple of 64-bits\");\n }\n\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7);\n swap(this, i + 1, i + 6);\n swap(this, i + 2, i + 5);\n swap(this, i + 3, i + 4);\n }\n\n return this;\n };\n\n Buffer.prototype.toString = function toString() {\n const length = this.length;\n if (length === 0) return \"\";\n if (arguments.length === 0) return utf8Slice(this, 0, length);\n return slowToString.apply(this, arguments);\n };\n\n Buffer.prototype.toLocaleString = Buffer.prototype.toString;\n\n Buffer.prototype.equals = function equals(b) {\n if (!Buffer.isBuffer(b)) throw new TypeError(\"Argument must be a Buffer\");\n if (this === b) return true;\n return Buffer.compare(this, b) === 0;\n };\n\n Buffer.prototype.inspect = function inspect() {\n let str = \"\";\n const max = exports$1.INSPECT_MAX_BYTES;\n str = this.toString(\"hex\", 0, max).replace(/(.{2})/g, \"$1 \").trim();\n if (this.length > max) str += \" ... \";\n return \"<Buffer \" + str + \">\";\n };\n\n if (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect;\n }\n\n Buffer.prototype.compare = function compare(target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength);\n }\n\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\"The \\\"target\\\" argument must be one of type Buffer or Uint8Array. \" + \"Received type \" + typeof target);\n }\n\n if (start === undefined) {\n start = 0;\n }\n\n if (end === undefined) {\n end = target ? target.length : 0;\n }\n\n if (thisStart === undefined) {\n thisStart = 0;\n }\n\n if (thisEnd === undefined) {\n thisEnd = this.length;\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError(\"out of range index\");\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0;\n }\n\n if (thisStart >= thisEnd) {\n return -1;\n }\n\n if (start >= end) {\n return 1;\n }\n\n start >>>= 0;\n end >>>= 0;\n thisStart >>>= 0;\n thisEnd >>>= 0;\n if (this === target) return 0;\n let x = thisEnd - thisStart;\n let y = end - start;\n const len = Math.min(x, y);\n const thisCopy = this.slice(thisStart, thisEnd);\n const targetCopy = target.slice(start, end);\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i];\n y = targetCopy[i];\n break;\n }\n }\n\n if (x < y) return -1;\n if (y < x) return 1;\n return 0;\n }; // Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n // OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n //\n // Arguments:\n // - buffer - a Buffer to search\n // - val - a string, Buffer, or number\n // - byteOffset - an index into `buffer`; will be clamped to an int32\n // - encoding - an optional encoding, relevant is val is a string\n // - dir - true for indexOf, false for lastIndexOf\n\n\n function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1; // Normalize byteOffset\n\n if (typeof byteOffset === \"string\") {\n encoding = byteOffset;\n byteOffset = 0;\n } else if (byteOffset > 2147483647) {\n byteOffset = 2147483647;\n } else if (byteOffset < -2147483648) {\n byteOffset = -2147483648;\n }\n\n byteOffset = +byteOffset; // Coerce to Number.\n\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : buffer.length - 1;\n } // Normalize byteOffset: negative offsets start from the end of the buffer\n\n\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset;\n\n if (byteOffset >= buffer.length) {\n if (dir) return -1;else byteOffset = buffer.length - 1;\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0;else return -1;\n } // Normalize val\n\n\n if (typeof val === \"string\") {\n val = Buffer.from(val, encoding);\n } // Finally, search either indexOf (if dir is true) or lastIndexOf\n\n\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1;\n }\n\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir);\n } else if (typeof val === \"number\") {\n val = val & 255; // Search for a byte value [0-255]\n\n if (typeof Uint8Array.prototype.indexOf === \"function\") {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset);\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset);\n }\n }\n\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir);\n }\n\n throw new TypeError(\"val must be string, number or Buffer\");\n }\n\n function arrayIndexOf(arr, val, byteOffset, encoding, dir) {\n let indexSize = 1;\n let arrLength = arr.length;\n let valLength = val.length;\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase();\n\n if (encoding === \"ucs2\" || encoding === \"ucs-2\" || encoding === \"utf16le\" || encoding === \"utf-16le\") {\n if (arr.length < 2 || val.length < 2) {\n return -1;\n }\n\n indexSize = 2;\n arrLength /= 2;\n valLength /= 2;\n byteOffset /= 2;\n }\n }\n\n function read(buf, i) {\n if (indexSize === 1) {\n return buf[i];\n } else {\n return buf.readUInt16BE(i * indexSize);\n }\n }\n\n let i;\n\n if (dir) {\n let foundIndex = -1;\n\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i;\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize;\n } else {\n if (foundIndex !== -1) i -= i - foundIndex;\n foundIndex = -1;\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;\n\n for (i = byteOffset; i >= 0; i--) {\n let found = true;\n\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false;\n break;\n }\n }\n\n if (found) return i;\n }\n }\n\n return -1;\n }\n\n Buffer.prototype.includes = function includes(val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1;\n };\n\n Buffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true);\n };\n\n Buffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false);\n };\n\n function hexWrite(buf, string, offset, length) {\n offset = Number(offset) || 0;\n const remaining = buf.length - offset;\n\n if (!length) {\n length = remaining;\n } else {\n length = Number(length);\n\n if (length > remaining) {\n length = remaining;\n }\n }\n\n const strLen = string.length;\n\n if (length > strLen / 2) {\n length = strLen / 2;\n }\n\n let i;\n\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16);\n if (numberIsNaN(parsed)) return i;\n buf[offset + i] = parsed;\n }\n\n return i;\n }\n\n function utf8Write(buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length);\n }\n\n function asciiWrite(buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length);\n }\n\n function base64Write(buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length);\n }\n\n function ucs2Write(buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length);\n }\n\n Buffer.prototype.write = function write(string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = \"utf8\";\n length = this.length;\n offset = 0; // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === \"string\") {\n encoding = offset;\n length = this.length;\n offset = 0; // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0;\n\n if (isFinite(length)) {\n length = length >>> 0;\n if (encoding === undefined) encoding = \"utf8\";\n } else {\n encoding = length;\n length = undefined;\n }\n } else {\n throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");\n }\n\n const remaining = this.length - offset;\n if (length === undefined || length > remaining) length = remaining;\n\n if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) {\n throw new RangeError(\"Attempt to write outside buffer bounds\");\n }\n\n if (!encoding) encoding = \"utf8\";\n let loweredCase = false;\n\n for (;;) {\n switch (encoding) {\n case \"hex\":\n return hexWrite(this, string, offset, length);\n\n case \"utf8\":\n case \"utf-8\":\n return utf8Write(this, string, offset, length);\n\n case \"ascii\":\n case \"latin1\":\n case \"binary\":\n return asciiWrite(this, string, offset, length);\n\n case \"base64\":\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length);\n\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return ucs2Write(this, string, offset, length);\n\n default:\n if (loweredCase) throw new TypeError(\"Unknown encoding: \" + encoding);\n encoding = (\"\" + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n };\n\n Buffer.prototype.toJSON = function toJSON() {\n return {\n type: \"Buffer\",\n data: Array.prototype.slice.call(this._arr || this, 0)\n };\n };\n\n function base64Slice(buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf);\n } else {\n return base64.fromByteArray(buf.slice(start, end));\n }\n }\n\n function utf8Slice(buf, start, end) {\n end = Math.min(buf.length, end);\n const res = [];\n let i = start;\n\n while (i < end) {\n const firstByte = buf[i];\n let codePoint = null;\n let bytesPerSequence = firstByte > 239 ? 4 : firstByte > 223 ? 3 : firstByte > 191 ? 2 : 1;\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint;\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 128) {\n codePoint = firstByte;\n }\n\n break;\n\n case 2:\n secondByte = buf[i + 1];\n\n if ((secondByte & 192) === 128) {\n tempCodePoint = (firstByte & 31) << 6 | secondByte & 63;\n\n if (tempCodePoint > 127) {\n codePoint = tempCodePoint;\n }\n }\n\n break;\n\n case 3:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n\n if ((secondByte & 192) === 128 && (thirdByte & 192) === 128) {\n tempCodePoint = (firstByte & 15) << 12 | (secondByte & 63) << 6 | thirdByte & 63;\n\n if (tempCodePoint > 2047 && (tempCodePoint < 55296 || tempCodePoint > 57343)) {\n codePoint = tempCodePoint;\n }\n }\n\n break;\n\n case 4:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n fourthByte = buf[i + 3];\n\n if ((secondByte & 192) === 128 && (thirdByte & 192) === 128 && (fourthByte & 192) === 128) {\n tempCodePoint = (firstByte & 15) << 18 | (secondByte & 63) << 12 | (thirdByte & 63) << 6 | fourthByte & 63;\n\n if (tempCodePoint > 65535 && tempCodePoint < 1114112) {\n codePoint = tempCodePoint;\n }\n }\n\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 65533;\n bytesPerSequence = 1;\n } else if (codePoint > 65535) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 65536;\n res.push(codePoint >>> 10 & 1023 | 55296);\n codePoint = 56320 | codePoint & 1023;\n }\n\n res.push(codePoint);\n i += bytesPerSequence;\n }\n\n return decodeCodePointsArray(res);\n } // Based on http://stackoverflow.com/a/22747272/680742, the browser with\n // the lowest limit is Chrome, with 0x10000 args.\n // We go 1 magnitude less, for safety\n\n\n const MAX_ARGUMENTS_LENGTH = 4096;\n\n function decodeCodePointsArray(codePoints) {\n const len = codePoints.length;\n\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints); // avoid extra slice()\n } // Decode in chunks to avoid \"call stack size exceeded\".\n\n\n let res = \"\";\n let i = 0;\n\n while (i < len) {\n res += String.fromCharCode.apply(String, codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH));\n }\n\n return res;\n }\n\n function asciiSlice(buf, start, end) {\n let ret = \"\";\n end = Math.min(buf.length, end);\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 127);\n }\n\n return ret;\n }\n\n function latin1Slice(buf, start, end) {\n let ret = \"\";\n end = Math.min(buf.length, end);\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i]);\n }\n\n return ret;\n }\n\n function hexSlice(buf, start, end) {\n const len = buf.length;\n if (!start || start < 0) start = 0;\n if (!end || end < 0 || end > len) end = len;\n let out = \"\";\n\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]];\n }\n\n return out;\n }\n\n function utf16leSlice(buf, start, end) {\n const bytes = buf.slice(start, end);\n let res = \"\"; // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256);\n }\n\n return res;\n }\n\n Buffer.prototype.slice = function slice(start, end) {\n const len = this.length;\n start = ~~start;\n end = end === undefined ? len : ~~end;\n\n if (start < 0) {\n start += len;\n if (start < 0) start = 0;\n } else if (start > len) {\n start = len;\n }\n\n if (end < 0) {\n end += len;\n if (end < 0) end = 0;\n } else if (end > len) {\n end = len;\n }\n\n if (end < start) end = start;\n const newBuf = this.subarray(start, end); // Return an augmented `Uint8Array` instance\n\n Object.setPrototypeOf(newBuf, Buffer.prototype);\n return newBuf;\n };\n /*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\n\n\n function checkOffset(offset, ext, length) {\n if (offset % 1 !== 0 || offset < 0) throw new RangeError(\"offset is not uint\");\n if (offset + ext > length) throw new RangeError(\"Trying to access beyond buffer length\");\n }\n\n Buffer.prototype.readUintLE = Buffer.prototype.readUIntLE = function readUIntLE(offset, byteLength, noAssert) {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n let val = this[offset];\n let mul = 1;\n let i = 0;\n\n while (++i < byteLength && (mul *= 256)) {\n val += this[offset + i] * mul;\n }\n\n return val;\n };\n\n Buffer.prototype.readUintBE = Buffer.prototype.readUIntBE = function readUIntBE(offset, byteLength, noAssert) {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length);\n }\n\n let val = this[offset + --byteLength];\n let mul = 1;\n\n while (byteLength > 0 && (mul *= 256)) {\n val += this[offset + --byteLength] * mul;\n }\n\n return val;\n };\n\n Buffer.prototype.readUint8 = Buffer.prototype.readUInt8 = function readUInt8(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 1, this.length);\n return this[offset];\n };\n\n Buffer.prototype.readUint16LE = Buffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 2, this.length);\n return this[offset] | this[offset + 1] << 8;\n };\n\n Buffer.prototype.readUint16BE = Buffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 2, this.length);\n return this[offset] << 8 | this[offset + 1];\n };\n\n Buffer.prototype.readUint32LE = Buffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 16777216;\n };\n\n Buffer.prototype.readUint32BE = Buffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return this[offset] * 16777216 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]);\n };\n\n Buffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, \"offset\");\n const first = this[offset];\n const last = this[offset + 7];\n\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8);\n }\n\n const lo = first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24;\n const hi = this[++offset] + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + last * 2 ** 24;\n return BigInt(lo) + (BigInt(hi) << BigInt(32));\n });\n Buffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, \"offset\");\n const first = this[offset];\n const last = this[offset + 7];\n\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8);\n }\n\n const hi = first * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + this[++offset];\n const lo = this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last;\n return (BigInt(hi) << BigInt(32)) + BigInt(lo);\n });\n\n Buffer.prototype.readIntLE = function readIntLE(offset, byteLength, noAssert) {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n let val = this[offset];\n let mul = 1;\n let i = 0;\n\n while (++i < byteLength && (mul *= 256)) {\n val += this[offset + i] * mul;\n }\n\n mul *= 128;\n if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n return val;\n };\n\n Buffer.prototype.readIntBE = function readIntBE(offset, byteLength, noAssert) {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n let i = byteLength;\n let mul = 1;\n let val = this[offset + --i];\n\n while (i > 0 && (mul *= 256)) {\n val += this[offset + --i] * mul;\n }\n\n mul *= 128;\n if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n return val;\n };\n\n Buffer.prototype.readInt8 = function readInt8(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 1, this.length);\n if (!(this[offset] & 128)) return this[offset];\n return (255 - this[offset] + 1) * -1;\n };\n\n Buffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 2, this.length);\n const val = this[offset] | this[offset + 1] << 8;\n return val & 32768 ? val | 4294901760 : val;\n };\n\n Buffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 2, this.length);\n const val = this[offset + 1] | this[offset] << 8;\n return val & 32768 ? val | 4294901760 : val;\n };\n\n Buffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24;\n };\n\n Buffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3];\n };\n\n Buffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, \"offset\");\n const first = this[offset];\n const last = this[offset + 7];\n\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8);\n }\n\n const val = this[offset + 4] + this[offset + 5] * 2 ** 8 + this[offset + 6] * 2 ** 16 + (last << 24); // Overflow\n\n return (BigInt(val) << BigInt(32)) + BigInt(first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24);\n });\n Buffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, \"offset\");\n const first = this[offset];\n const last = this[offset + 7];\n\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8);\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + this[++offset];\n return (BigInt(val) << BigInt(32)) + BigInt(this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last);\n });\n\n Buffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return ieee754.read(this, offset, true, 23, 4);\n };\n\n Buffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return ieee754.read(this, offset, false, 23, 4);\n };\n\n Buffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 8, this.length);\n return ieee754.read(this, offset, true, 52, 8);\n };\n\n Buffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 8, this.length);\n return ieee754.read(this, offset, false, 52, 8);\n };\n\n function checkInt(buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError(\"\\\"buffer\\\" argument must be a Buffer instance\");\n if (value > max || value < min) throw new RangeError(\"\\\"value\\\" argument is out of bounds\");\n if (offset + ext > buf.length) throw new RangeError(\"Index out of range\");\n }\n\n Buffer.prototype.writeUintLE = Buffer.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n checkInt(this, value, offset, byteLength, maxBytes, 0);\n }\n\n let mul = 1;\n let i = 0;\n this[offset] = value & 255;\n\n while (++i < byteLength && (mul *= 256)) {\n this[offset + i] = value / mul & 255;\n }\n\n return offset + byteLength;\n };\n\n Buffer.prototype.writeUintBE = Buffer.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n checkInt(this, value, offset, byteLength, maxBytes, 0);\n }\n\n let i = byteLength - 1;\n let mul = 1;\n this[offset + i] = value & 255;\n\n while (--i >= 0 && (mul *= 256)) {\n this[offset + i] = value / mul & 255;\n }\n\n return offset + byteLength;\n };\n\n Buffer.prototype.writeUint8 = Buffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 1, 255, 0);\n this[offset] = value & 255;\n return offset + 1;\n };\n\n Buffer.prototype.writeUint16LE = Buffer.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 2, 65535, 0);\n this[offset] = value & 255;\n this[offset + 1] = value >>> 8;\n return offset + 2;\n };\n\n Buffer.prototype.writeUint16BE = Buffer.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 2, 65535, 0);\n this[offset] = value >>> 8;\n this[offset + 1] = value & 255;\n return offset + 2;\n };\n\n Buffer.prototype.writeUint32LE = Buffer.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 4, 4294967295, 0);\n this[offset + 3] = value >>> 24;\n this[offset + 2] = value >>> 16;\n this[offset + 1] = value >>> 8;\n this[offset] = value & 255;\n return offset + 4;\n };\n\n Buffer.prototype.writeUint32BE = Buffer.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 4, 4294967295, 0);\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 255;\n return offset + 4;\n };\n\n function wrtBigUInt64LE(buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7);\n let lo = Number(value & BigInt(4294967295));\n buf[offset++] = lo;\n lo = lo >> 8;\n buf[offset++] = lo;\n lo = lo >> 8;\n buf[offset++] = lo;\n lo = lo >> 8;\n buf[offset++] = lo;\n let hi = Number(value >> BigInt(32) & BigInt(4294967295));\n buf[offset++] = hi;\n hi = hi >> 8;\n buf[offset++] = hi;\n hi = hi >> 8;\n buf[offset++] = hi;\n hi = hi >> 8;\n buf[offset++] = hi;\n return offset;\n }\n\n function wrtBigUInt64BE(buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7);\n let lo = Number(value & BigInt(4294967295));\n buf[offset + 7] = lo;\n lo = lo >> 8;\n buf[offset + 6] = lo;\n lo = lo >> 8;\n buf[offset + 5] = lo;\n lo = lo >> 8;\n buf[offset + 4] = lo;\n let hi = Number(value >> BigInt(32) & BigInt(4294967295));\n buf[offset + 3] = hi;\n hi = hi >> 8;\n buf[offset + 2] = hi;\n hi = hi >> 8;\n buf[offset + 1] = hi;\n hi = hi >> 8;\n buf[offset] = hi;\n return offset + 8;\n }\n\n Buffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE(value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt(\"0xffffffffffffffff\"));\n });\n Buffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE(value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt(\"0xffffffffffffffff\"));\n });\n\n Buffer.prototype.writeIntLE = function writeIntLE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset >>> 0;\n\n if (!noAssert) {\n const limit = Math.pow(2, 8 * byteLength - 1);\n checkInt(this, value, offset, byteLength, limit - 1, -limit);\n }\n\n let i = 0;\n let mul = 1;\n let sub = 0;\n this[offset] = value & 255;\n\n while (++i < byteLength && (mul *= 256)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1;\n }\n\n this[offset + i] = (value / mul >> 0) - sub & 255;\n }\n\n return offset + byteLength;\n };\n\n Buffer.prototype.writeIntBE = function writeIntBE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset >>> 0;\n\n if (!noAssert) {\n const limit = Math.pow(2, 8 * byteLength - 1);\n checkInt(this, value, offset, byteLength, limit - 1, -limit);\n }\n\n let i = byteLength - 1;\n let mul = 1;\n let sub = 0;\n this[offset + i] = value & 255;\n\n while (--i >= 0 && (mul *= 256)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1;\n }\n\n this[offset + i] = (value / mul >> 0) - sub & 255;\n }\n\n return offset + byteLength;\n };\n\n Buffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 1, 127, -128);\n if (value < 0) value = 255 + value + 1;\n this[offset] = value & 255;\n return offset + 1;\n };\n\n Buffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 2, 32767, -32768);\n this[offset] = value & 255;\n this[offset + 1] = value >>> 8;\n return offset + 2;\n };\n\n Buffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 2, 32767, -32768);\n this[offset] = value >>> 8;\n this[offset + 1] = value & 255;\n return offset + 2;\n };\n\n Buffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 4, 2147483647, -2147483648);\n this[offset] = value & 255;\n this[offset + 1] = value >>> 8;\n this[offset + 2] = value >>> 16;\n this[offset + 3] = value >>> 24;\n return offset + 4;\n };\n\n Buffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 4, 2147483647, -2147483648);\n if (value < 0) value = 4294967295 + value + 1;\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 255;\n return offset + 4;\n };\n\n Buffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE(value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt(\"0x8000000000000000\"), BigInt(\"0x7fffffffffffffff\"));\n });\n Buffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE(value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt(\"0x8000000000000000\"), BigInt(\"0x7fffffffffffffff\"));\n });\n\n function checkIEEE754(buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError(\"Index out of range\");\n if (offset < 0) throw new RangeError(\"Index out of range\");\n }\n\n function writeFloat(buf, value, offset, littleEndian, noAssert) {\n value = +value;\n offset = offset >>> 0;\n\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4);\n }\n\n ieee754.write(buf, value, offset, littleEndian, 23, 4);\n return offset + 4;\n }\n\n Buffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert);\n };\n\n Buffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert);\n };\n\n function writeDouble(buf, value, offset, littleEndian, noAssert) {\n value = +value;\n offset = offset >>> 0;\n\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8);\n }\n\n ieee754.write(buf, value, offset, littleEndian, 52, 8);\n return offset + 8;\n }\n\n Buffer.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert);\n };\n\n Buffer.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert);\n }; // copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\n\n\n Buffer.prototype.copy = function copy(target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError(\"argument should be a Buffer\");\n if (!start) start = 0;\n if (!end && end !== 0) end = this.length;\n if (targetStart >= target.length) targetStart = target.length;\n if (!targetStart) targetStart = 0;\n if (end > 0 && end < start) end = start; // Copy 0 bytes; we're done\n\n if (end === start) return 0;\n if (target.length === 0 || this.length === 0) return 0; // Fatal error conditions\n\n if (targetStart < 0) {\n throw new RangeError(\"targetStart out of bounds\");\n }\n\n if (start < 0 || start >= this.length) throw new RangeError(\"Index out of range\");\n if (end < 0) throw new RangeError(\"sourceEnd out of bounds\"); // Are we oob?\n\n if (end > this.length) end = this.length;\n\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start;\n }\n\n const len = end - start;\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === \"function\") {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end);\n } else {\n Uint8Array.prototype.set.call(target, this.subarray(start, end), targetStart);\n }\n\n return len;\n }; // Usage:\n // buffer.fill(number[, offset[, end]])\n // buffer.fill(buffer[, offset[, end]])\n // buffer.fill(string[, offset[, end]][, encoding])\n\n\n Buffer.prototype.fill = function fill(val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === \"string\") {\n if (typeof start === \"string\") {\n encoding = start;\n start = 0;\n end = this.length;\n } else if (typeof end === \"string\") {\n encoding = end;\n end = this.length;\n }\n\n if (encoding !== undefined && typeof encoding !== \"string\") {\n throw new TypeError(\"encoding must be a string\");\n }\n\n if (typeof encoding === \"string\" && !Buffer.isEncoding(encoding)) {\n throw new TypeError(\"Unknown encoding: \" + encoding);\n }\n\n if (val.length === 1) {\n const code = val.charCodeAt(0);\n\n if (encoding === \"utf8\" && code < 128 || encoding === \"latin1\") {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code;\n }\n }\n } else if (typeof val === \"number\") {\n val = val & 255;\n } else if (typeof val === \"boolean\") {\n val = Number(val);\n } // Invalid ranges are not set to a default, so can range check early.\n\n\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError(\"Out of range index\");\n }\n\n if (end <= start) {\n return this;\n }\n\n start = start >>> 0;\n end = end === undefined ? this.length : end >>> 0;\n if (!val) val = 0;\n let i;\n\n if (typeof val === \"number\") {\n for (i = start; i < end; ++i) {\n this[i] = val;\n }\n } else {\n const bytes = Buffer.isBuffer(val) ? val : Buffer.from(val, encoding);\n const len = bytes.length;\n\n if (len === 0) {\n throw new TypeError(\"The value \\\"\" + val + \"\\\" is invalid for argument \\\"value\\\"\");\n }\n\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len];\n }\n }\n\n return this;\n }; // CUSTOM ERRORS\n // =============\n // Simplified versions from Node, changed for Buffer-only usage\n\n\n const errors = {};\n\n function E(sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor() {\n super();\n Object.defineProperty(this, \"message\", {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n }); // Add the error code to the name to include it in the stack trace.\n\n this.name = `${this.name} [${sym}]`; // Access the stack to generate the error message including the error code\n // from the name.\n\n this.stack; // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n\n delete this.name;\n }\n\n get code() {\n return sym;\n }\n\n set code(value) {\n Object.defineProperty(this, \"code\", {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n });\n }\n\n toString() {\n return `${this.name} [${sym}]: ${this.message}`;\n }\n\n };\n }\n\n E(\"ERR_BUFFER_OUT_OF_BOUNDS\", function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`;\n }\n\n return \"Attempt to access memory outside buffer bounds\";\n }, RangeError);\n E(\"ERR_INVALID_ARG_TYPE\", function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`;\n }, TypeError);\n E(\"ERR_OUT_OF_RANGE\", function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`;\n let received = input;\n\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input));\n } else if (typeof input === \"bigint\") {\n received = String(input);\n\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received);\n }\n\n received += \"n\";\n }\n\n msg += ` It must be ${range}. Received ${received}`;\n return msg;\n }, RangeError);\n\n function addNumericalSeparator(val) {\n let res = \"\";\n let i = val.length;\n const start = val[0] === \"-\" ? 1 : 0;\n\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`;\n }\n\n return `${val.slice(0, i)}${res}`;\n } // CHECK FUNCTIONS\n // ===============\n\n\n function checkBounds(buf, offset, byteLength) {\n validateNumber(offset, \"offset\");\n\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1));\n }\n }\n\n function checkIntBI(value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === \"bigint\" ? \"n\" : \"\";\n let range;\n\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`;\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` + `${(byteLength + 1) * 8 - 1}${n}`;\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`;\n }\n\n throw new errors.ERR_OUT_OF_RANGE(\"value\", range, value);\n }\n\n checkBounds(buf, offset, byteLength);\n }\n\n function validateNumber(value, name) {\n if (typeof value !== \"number\") {\n throw new errors.ERR_INVALID_ARG_TYPE(name, \"number\", value);\n }\n }\n\n function boundsError(value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type);\n throw new errors.ERR_OUT_OF_RANGE(type || \"offset\", \"an integer\", value);\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS();\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || \"offset\", `>= ${type ? 1 : 0} and <= ${length}`, value);\n } // HELPER FUNCTIONS\n // ================\n\n\n const INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;\n\n function base64clean(str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split(\"=\")[0]; // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n\n str = str.trim().replace(INVALID_BASE64_RE, \"\"); // Node converts strings with length < 2 to ''\n\n if (str.length < 2) return \"\"; // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n\n while (str.length % 4 !== 0) {\n str = str + \"=\";\n }\n\n return str;\n }\n\n function utf8ToBytes(string, units) {\n units = units || Infinity;\n let codePoint;\n const length = string.length;\n let leadSurrogate = null;\n const bytes = [];\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i); // is surrogate component\n\n if (codePoint > 55295 && codePoint < 57344) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 56319) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(239, 191, 189);\n continue;\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(239, 191, 189);\n continue;\n } // valid lead\n\n\n leadSurrogate = codePoint;\n continue;\n } // 2 leads in a row\n\n\n if (codePoint < 56320) {\n if ((units -= 3) > -1) bytes.push(239, 191, 189);\n leadSurrogate = codePoint;\n continue;\n } // valid surrogate pair\n\n\n codePoint = (leadSurrogate - 55296 << 10 | codePoint - 56320) + 65536;\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(239, 191, 189);\n }\n\n leadSurrogate = null; // encode utf8\n\n if (codePoint < 128) {\n if ((units -= 1) < 0) break;\n bytes.push(codePoint);\n } else if (codePoint < 2048) {\n if ((units -= 2) < 0) break;\n bytes.push(codePoint >> 6 | 192, codePoint & 63 | 128);\n } else if (codePoint < 65536) {\n if ((units -= 3) < 0) break;\n bytes.push(codePoint >> 12 | 224, codePoint >> 6 & 63 | 128, codePoint & 63 | 128);\n } else if (codePoint < 1114112) {\n if ((units -= 4) < 0) break;\n bytes.push(codePoint >> 18 | 240, codePoint >> 12 & 63 | 128, codePoint >> 6 & 63 | 128, codePoint & 63 | 128);\n } else {\n throw new Error(\"Invalid code point\");\n }\n }\n\n return bytes;\n }\n\n function asciiToBytes(str) {\n const byteArray = [];\n\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 255);\n }\n\n return byteArray;\n }\n\n function utf16leToBytes(str, units) {\n let c, hi, lo;\n const byteArray = [];\n\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break;\n c = str.charCodeAt(i);\n hi = c >> 8;\n lo = c % 256;\n byteArray.push(lo);\n byteArray.push(hi);\n }\n\n return byteArray;\n }\n\n function base64ToBytes(str) {\n return base64.toByteArray(base64clean(str));\n }\n\n function blitBuffer(src, dst, offset, length) {\n let i;\n\n for (i = 0; i < length; ++i) {\n if (i + offset >= dst.length || i >= src.length) break;\n dst[i + offset] = src[i];\n }\n\n return i;\n } // ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n // the `instanceof` check but they should be treated as of that type.\n // See: https://github.com/feross/buffer/issues/166\n\n\n function isInstance(obj, type) {\n return obj instanceof type || obj != null && obj.constructor != null && obj.constructor.name != null && obj.constructor.name === type.name;\n }\n\n function numberIsNaN(obj) {\n // For IE11 support\n return obj !== obj; // eslint-disable-line no-self-compare\n } // Create lookup table for `toString('hex')`\n // See: https://github.com/feross/buffer/issues/219\n\n\n const hexSliceLookupTable = function () {\n const alphabet = \"0123456789abcdef\";\n const table = new Array(256);\n\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16;\n\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j];\n }\n }\n\n return table;\n }(); // Return not function with Error if BigInt not supported\n\n\n function defineBigIntMethod(fn) {\n return typeof BigInt === \"undefined\" ? BufferBigIntNotDefined : fn;\n }\n\n function BufferBigIntNotDefined() {\n throw new Error(\"BigInt not supported\");\n }\n\n return exports$1;\n}\n\nconst exports = dew();\nexports['Buffer']; exports['SlowBuffer']; exports['INSPECT_MAX_BYTES']; exports['kMaxLength'];\n\nvar Buffer = exports.Buffer;\r\nvar INSPECT_MAX_BYTES = exports.INSPECT_MAX_BYTES;\r\nvar kMaxLength = exports.kMaxLength;\n\nexport { Buffer, INSPECT_MAX_BYTES, exports as default, kMaxLength };\n","export { Buffer } from \"buffer\";\n","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n","'use strict';\n\nvar keysShim;\nif (!Object.keys) {\n\t// modified from https://github.com/es-shims/es5-shim\n\tvar has = Object.prototype.hasOwnProperty;\n\tvar toStr = Object.prototype.toString;\n\tvar isArgs = require('./isArguments'); // eslint-disable-line global-require\n\tvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\tvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\n\tvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\n\tvar dontEnums = [\n\t\t'toString',\n\t\t'toLocaleString',\n\t\t'valueOf',\n\t\t'hasOwnProperty',\n\t\t'isPrototypeOf',\n\t\t'propertyIsEnumerable',\n\t\t'constructor'\n\t];\n\tvar equalsConstructorPrototype = function (o) {\n\t\tvar ctor = o.constructor;\n\t\treturn ctor && ctor.prototype === o;\n\t};\n\tvar excludedKeys = {\n\t\t$applicationCache: true,\n\t\t$console: true,\n\t\t$external: true,\n\t\t$frame: true,\n\t\t$frameElement: true,\n\t\t$frames: true,\n\t\t$innerHeight: true,\n\t\t$innerWidth: true,\n\t\t$onmozfullscreenchange: true,\n\t\t$onmozfullscreenerror: true,\n\t\t$outerHeight: true,\n\t\t$outerWidth: true,\n\t\t$pageXOffset: true,\n\t\t$pageYOffset: true,\n\t\t$parent: true,\n\t\t$scrollLeft: true,\n\t\t$scrollTop: true,\n\t\t$scrollX: true,\n\t\t$scrollY: true,\n\t\t$self: true,\n\t\t$webkitIndexedDB: true,\n\t\t$webkitStorageInfo: true,\n\t\t$window: true\n\t};\n\tvar hasAutomationEqualityBug = (function () {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined') { return false; }\n\t\tfor (var k in window) {\n\t\t\ttry {\n\t\t\t\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tequalsConstructorPrototype(window[k]);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}());\n\tvar equalsConstructorPrototypeIfNotBuggy = function (o) {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t}\n\t\ttry {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\tkeysShim = function keys(object) {\n\t\tvar isObject = object !== null && typeof object === 'object';\n\t\tvar isFunction = toStr.call(object) === '[object Function]';\n\t\tvar isArguments = isArgs(object);\n\t\tvar isString = isObject && toStr.call(object) === '[object String]';\n\t\tvar theKeys = [];\n\n\t\tif (!isObject && !isFunction && !isArguments) {\n\t\t\tthrow new TypeError('Object.keys called on a non-object');\n\t\t}\n\n\t\tvar skipProto = hasProtoEnumBug && isFunction;\n\t\tif (isString && object.length > 0 && !has.call(object, 0)) {\n\t\t\tfor (var i = 0; i < object.length; ++i) {\n\t\t\t\ttheKeys.push(String(i));\n\t\t\t}\n\t\t}\n\n\t\tif (isArguments && object.length > 0) {\n\t\t\tfor (var j = 0; j < object.length; ++j) {\n\t\t\t\ttheKeys.push(String(j));\n\t\t\t}\n\t\t} else {\n\t\t\tfor (var name in object) {\n\t\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\t\ttheKeys.push(String(name));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (hasDontEnumBug) {\n\t\t\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n\n\t\t\tfor (var k = 0; k < dontEnums.length; ++k) {\n\t\t\t\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\n\t\t\t\t\ttheKeys.push(dontEnums[k]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn theKeys;\n\t};\n}\nmodule.exports = keysShim;\n","'use strict';\n\nvar slice = Array.prototype.slice;\nvar isArgs = require('./isArguments');\n\nvar origKeys = Object.keys;\nvar keysShim = origKeys ? function keys(o) { return origKeys(o); } : require('./implementation');\n\nvar originalKeys = Object.keys;\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\tvar args = Object.keys(arguments);\n\t\t\treturn args && args.length === arguments.length;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tObject.keys = function keys(object) { // eslint-disable-line func-name-matching\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t}\n\t\t\t\treturn originalKeys(object);\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\nvar test = {\n\tfoo: {}\n};\n\nvar $Object = Object;\n\nmodule.exports = function hasProto() {\n\treturn { __proto__: test }.foo === test.foo && !({ __proto__: null } instanceof $Object);\n};\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slice.call(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n } else {\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n }\n };\n\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar bind = require('function-bind');\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\nvar hasProto = require('has-proto')();\n\nvar getProto = Object.getPrototypeOf || (\n\thasProto\n\t\t? function (x) { return x.__proto__; } // eslint-disable-line no-proto\n\t\t: null\n);\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\tif ($defineProperty) {\n\t\ttry {\n\t\t\t$defineProperty({}, 'a', { value: 1 });\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\t// IE 8 has a broken defineProperty\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn false;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!hasPropertyDescriptors()) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar keys = require('object-keys');\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\n\nvar toStr = Object.prototype.toString;\nvar concat = Array.prototype.concat;\nvar origDefineProperty = Object.defineProperty;\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar hasPropertyDescriptors = require('has-property-descriptors')();\n\nvar supportsDescriptors = origDefineProperty && hasPropertyDescriptors;\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object) {\n\t\tif (predicate === true) {\n\t\t\tif (object[name] === value) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else if (!isFunction(predicate) || !predicate()) {\n\t\t\treturn;\n\t\t}\n\t}\n\tif (supportsDescriptors) {\n\t\torigDefineProperty(object, name, {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tvalue: value,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\tobject[name] = value; // eslint-disable-line no-param-reassign\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\nvar $max = GetIntrinsic('%Math.max%');\n\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = null;\n\t}\n}\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = $reflectApply(bind, $call, arguments);\n\tif ($gOPD && $defineProperty) {\n\t\tvar desc = $gOPD(func, 'length');\n\t\tif (desc.configurable) {\n\t\t\t// original length, plus the receiver, minus any additional arguments (after the receiver)\n\t\t\t$defineProperty(\n\t\t\t\tfunc,\n\t\t\t\t'length',\n\t\t\t\t{ value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) }\n\t\t\t);\n\t\t}\n\t}\n\treturn func;\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\n// modified from https://github.com/es-shims/es6-shim\nvar objectKeys = require('object-keys');\nvar hasSymbols = require('has-symbols/shams')();\nvar callBound = require('call-bind/callBound');\nvar toObject = Object;\nvar $push = callBound('Array.prototype.push');\nvar $propIsEnumerable = callBound('Object.prototype.propertyIsEnumerable');\nvar originalGetSymbols = hasSymbols ? Object.getOwnPropertySymbols : null;\n\n// eslint-disable-next-line no-unused-vars\nmodule.exports = function assign(target, source1) {\n\tif (target == null) { throw new TypeError('target must be an object'); }\n\tvar to = toObject(target); // step 1\n\tif (arguments.length === 1) {\n\t\treturn to; // step 2\n\t}\n\tfor (var s = 1; s < arguments.length; ++s) {\n\t\tvar from = toObject(arguments[s]); // step 3.a.i\n\n\t\t// step 3.a.ii:\n\t\tvar keys = objectKeys(from);\n\t\tvar getSymbols = hasSymbols && (Object.getOwnPropertySymbols || originalGetSymbols);\n\t\tif (getSymbols) {\n\t\t\tvar syms = getSymbols(from);\n\t\t\tfor (var j = 0; j < syms.length; ++j) {\n\t\t\t\tvar key = syms[j];\n\t\t\t\tif ($propIsEnumerable(from, key)) {\n\t\t\t\t\t$push(keys, key);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// step 3.a.iii:\n\t\tfor (var i = 0; i < keys.length; ++i) {\n\t\t\tvar nextKey = keys[i];\n\t\t\tif ($propIsEnumerable(from, nextKey)) { // step 3.a.iii.2\n\t\t\t\tvar propValue = from[nextKey]; // step 3.a.iii.2.a\n\t\t\t\tto[nextKey] = propValue; // step 3.a.iii.2.b\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to; // step 4\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nvar lacksProperEnumerationOrder = function () {\n\tif (!Object.assign) {\n\t\treturn false;\n\t}\n\t/*\n\t * v8, specifically in node 4.x, has a bug with incorrect property enumeration order\n\t * note: this does not detect the bug unless there's 20 characters\n\t */\n\tvar str = 'abcdefghijklmnopqrst';\n\tvar letters = str.split('');\n\tvar map = {};\n\tfor (var i = 0; i < letters.length; ++i) {\n\t\tmap[letters[i]] = letters[i];\n\t}\n\tvar obj = Object.assign({}, map);\n\tvar actual = '';\n\tfor (var k in obj) {\n\t\tactual += k;\n\t}\n\treturn str !== actual;\n};\n\nvar assignHasPendingExceptions = function () {\n\tif (!Object.assign || !Object.preventExtensions) {\n\t\treturn false;\n\t}\n\t/*\n\t * Firefox 37 still has \"pending exception\" logic in its Object.assign implementation,\n\t * which is 72% slower than our shim, and Firefox 40's native implementation.\n\t */\n\tvar thrower = Object.preventExtensions({ 1: 2 });\n\ttry {\n\t\tObject.assign(thrower, 'xy');\n\t} catch (e) {\n\t\treturn thrower[1] === 'y';\n\t}\n\treturn false;\n};\n\nmodule.exports = function getPolyfill() {\n\tif (!Object.assign) {\n\t\treturn implementation;\n\t}\n\tif (lacksProperEnumerationOrder()) {\n\t\treturn implementation;\n\t}\n\tif (assignHasPendingExceptions()) {\n\t\treturn implementation;\n\t}\n\treturn Object.assign;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar getPolyfill = require('./polyfill');\n\nmodule.exports = function shimAssign() {\n\tvar polyfill = getPolyfill();\n\tdefine(\n\t\tObject,\n\t\t{ assign: polyfill },\n\t\t{ assign: function () { return Object.assign !== polyfill; } }\n\t);\n\treturn polyfill;\n};\n","'use strict';\n\nvar defineProperties = require('define-properties');\nvar callBind = require('call-bind');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = callBind.apply(getPolyfill());\n// eslint-disable-next-line no-unused-vars\nvar bound = function assign(target, source1) {\n\treturn polyfill(Object, arguments);\n};\n\ndefineProperties(bound, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = bound;\n","'use strict';\n\nvar functionsHaveNames = function functionsHaveNames() {\n\treturn typeof function f() {}.name === 'string';\n};\n\nvar gOPD = Object.getOwnPropertyDescriptor;\nif (gOPD) {\n\ttry {\n\t\tgOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\tgOPD = null;\n\t}\n}\n\nfunctionsHaveNames.functionsHaveConfigurableNames = function functionsHaveConfigurableNames() {\n\tif (!functionsHaveNames() || !gOPD) {\n\t\treturn false;\n\t}\n\tvar desc = gOPD(function () {}, 'name');\n\treturn !!desc && !!desc.configurable;\n};\n\nvar $bind = Function.prototype.bind;\n\nfunctionsHaveNames.boundFunctionsHaveNames = function boundFunctionsHaveNames() {\n\treturn functionsHaveNames() && typeof $bind === 'function' && function f() {}.bind().name !== '';\n};\n\nmodule.exports = functionsHaveNames;\n","'use strict';\n\nvar functionsHaveConfigurableNames = require('functions-have-names').functionsHaveConfigurableNames();\n\nvar $Object = Object;\nvar $TypeError = TypeError;\n\nmodule.exports = function flags() {\n\tif (this != null && this !== $Object(this)) {\n\t\tthrow new $TypeError('RegExp.prototype.flags getter called on non-object');\n\t}\n\tvar result = '';\n\tif (this.hasIndices) {\n\t\tresult += 'd';\n\t}\n\tif (this.global) {\n\t\tresult += 'g';\n\t}\n\tif (this.ignoreCase) {\n\t\tresult += 'i';\n\t}\n\tif (this.multiline) {\n\t\tresult += 'm';\n\t}\n\tif (this.dotAll) {\n\t\tresult += 's';\n\t}\n\tif (this.unicode) {\n\t\tresult += 'u';\n\t}\n\tif (this.unicodeSets) {\n\t\tresult += 'v';\n\t}\n\tif (this.sticky) {\n\t\tresult += 'y';\n\t}\n\treturn result;\n};\n\nif (functionsHaveConfigurableNames && Object.defineProperty) {\n\tObject.defineProperty(module.exports, 'name', { value: 'get flags' });\n}\n","'use strict';\n\nvar implementation = require('./implementation');\n\nvar supportsDescriptors = require('define-properties').supportsDescriptors;\nvar $gOPD = Object.getOwnPropertyDescriptor;\n\nmodule.exports = function getPolyfill() {\n\tif (supportsDescriptors && (/a/mig).flags === 'gim') {\n\t\tvar descriptor = $gOPD(RegExp.prototype, 'flags');\n\t\tif (\n\t\t\tdescriptor\n\t\t\t&& typeof descriptor.get === 'function'\n\t\t\t&& typeof RegExp.prototype.dotAll === 'boolean'\n\t\t\t&& typeof RegExp.prototype.hasIndices === 'boolean'\n\t\t) {\n\t\t\t/* eslint getter-return: 0 */\n\t\t\tvar calls = '';\n\t\t\tvar o = {};\n\t\t\tObject.defineProperty(o, 'hasIndices', {\n\t\t\t\tget: function () {\n\t\t\t\t\tcalls += 'd';\n\t\t\t\t}\n\t\t\t});\n\t\t\tObject.defineProperty(o, 'sticky', {\n\t\t\t\tget: function () {\n\t\t\t\t\tcalls += 'y';\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (calls === 'dy') {\n\t\t\t\treturn descriptor.get;\n\t\t\t}\n\t\t}\n\t}\n\treturn implementation;\n};\n","'use strict';\n\nvar supportsDescriptors = require('define-properties').supportsDescriptors;\nvar getPolyfill = require('./polyfill');\nvar gOPD = Object.getOwnPropertyDescriptor;\nvar defineProperty = Object.defineProperty;\nvar TypeErr = TypeError;\nvar getProto = Object.getPrototypeOf;\nvar regex = /a/;\n\nmodule.exports = function shimFlags() {\n\tif (!supportsDescriptors || !getProto) {\n\t\tthrow new TypeErr('RegExp.prototype.flags requires a true ES5 environment that supports property descriptors');\n\t}\n\tvar polyfill = getPolyfill();\n\tvar proto = getProto(regex);\n\tvar descriptor = gOPD(proto, 'flags');\n\tif (!descriptor || descriptor.get !== polyfill) {\n\t\tdefineProperty(proto, 'flags', {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tget: polyfill\n\t\t});\n\t}\n\treturn polyfill;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar callBind = require('call-bind');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar flagsBound = callBind(getPolyfill());\n\ndefine(flagsBound, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = flagsBound;\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","'use strict';\n\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\n\nvar isStandardArguments = function isArguments(value) {\n\tif (hasToStringTag && value && typeof value === 'object' && Symbol.toStringTag in value) {\n\t\treturn false;\n\t}\n\treturn $toString(value) === '[object Arguments]';\n};\n\nvar isLegacyArguments = function isArguments(value) {\n\tif (isStandardArguments(value)) {\n\t\treturn true;\n\t}\n\treturn value !== null &&\n\t\ttypeof value === 'object' &&\n\t\ttypeof value.length === 'number' &&\n\t\tvalue.length >= 0 &&\n\t\t$toString(value) !== '[object Array]' &&\n\t\t$toString(value.callee) === '[object Function]';\n};\n\nvar supportsStandardArguments = (function () {\n\treturn isStandardArguments(arguments);\n}());\n\nisStandardArguments.isLegacyArguments = isLegacyArguments; // for tests\n\nmodule.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;\n","var hasMap = typeof Map === 'function' && Map.prototype;\nvar mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;\nvar mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;\nvar mapForEach = hasMap && Map.prototype.forEach;\nvar hasSet = typeof Set === 'function' && Set.prototype;\nvar setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;\nvar setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;\nvar setForEach = hasSet && Set.prototype.forEach;\nvar hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype;\nvar weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;\nvar hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype;\nvar weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;\nvar hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype;\nvar weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;\nvar booleanValueOf = Boolean.prototype.valueOf;\nvar objectToString = Object.prototype.toString;\nvar functionToString = Function.prototype.toString;\nvar $match = String.prototype.match;\nvar $slice = String.prototype.slice;\nvar $replace = String.prototype.replace;\nvar $toUpperCase = String.prototype.toUpperCase;\nvar $toLowerCase = String.prototype.toLowerCase;\nvar $test = RegExp.prototype.test;\nvar $concat = Array.prototype.concat;\nvar $join = Array.prototype.join;\nvar $arrSlice = Array.prototype.slice;\nvar $floor = Math.floor;\nvar bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;\nvar gOPS = Object.getOwnPropertySymbols;\nvar symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null;\nvar hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object';\n// ie, `has-tostringtag/shams\nvar toStringTag = typeof Symbol === 'function' && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? 'object' : 'symbol')\n ? Symbol.toStringTag\n : null;\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\nvar gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || (\n [].__proto__ === Array.prototype // eslint-disable-line no-proto\n ? function (O) {\n return O.__proto__; // eslint-disable-line no-proto\n }\n : null\n);\n\nfunction addNumericSeparator(num, str) {\n if (\n num === Infinity\n || num === -Infinity\n || num !== num\n || (num && num > -1000 && num < 1000)\n || $test.call(/e/, str)\n ) {\n return str;\n }\n var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;\n if (typeof num === 'number') {\n var int = num < 0 ? -$floor(-num) : $floor(num); // trunc(num)\n if (int !== num) {\n var intStr = String(int);\n var dec = $slice.call(str, intStr.length + 1);\n return $replace.call(intStr, sepRegex, '$&_') + '.' + $replace.call($replace.call(dec, /([0-9]{3})/g, '$&_'), /_$/, '');\n }\n }\n return $replace.call(str, sepRegex, '$&_');\n}\n\nvar utilInspect = require('./util.inspect');\nvar inspectCustom = utilInspect.custom;\nvar inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null;\n\nmodule.exports = function inspect_(obj, options, depth, seen) {\n var opts = options || {};\n\n if (has(opts, 'quoteStyle') && (opts.quoteStyle !== 'single' && opts.quoteStyle !== 'double')) {\n throw new TypeError('option \"quoteStyle\" must be \"single\" or \"double\"');\n }\n if (\n has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number'\n ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity\n : opts.maxStringLength !== null\n )\n ) {\n throw new TypeError('option \"maxStringLength\", if provided, must be a positive integer, Infinity, or `null`');\n }\n var customInspect = has(opts, 'customInspect') ? opts.customInspect : true;\n if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') {\n throw new TypeError('option \"customInspect\", if provided, must be `true`, `false`, or `\\'symbol\\'`');\n }\n\n if (\n has(opts, 'indent')\n && opts.indent !== null\n && opts.indent !== '\\t'\n && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)\n ) {\n throw new TypeError('option \"indent\" must be \"\\\\t\", an integer > 0, or `null`');\n }\n if (has(opts, 'numericSeparator') && typeof opts.numericSeparator !== 'boolean') {\n throw new TypeError('option \"numericSeparator\", if provided, must be `true` or `false`');\n }\n var numericSeparator = opts.numericSeparator;\n\n if (typeof obj === 'undefined') {\n return 'undefined';\n }\n if (obj === null) {\n return 'null';\n }\n if (typeof obj === 'boolean') {\n return obj ? 'true' : 'false';\n }\n\n if (typeof obj === 'string') {\n return inspectString(obj, opts);\n }\n if (typeof obj === 'number') {\n if (obj === 0) {\n return Infinity / obj > 0 ? '0' : '-0';\n }\n var str = String(obj);\n return numericSeparator ? addNumericSeparator(obj, str) : str;\n }\n if (typeof obj === 'bigint') {\n var bigIntStr = String(obj) + 'n';\n return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;\n }\n\n var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth;\n if (typeof depth === 'undefined') { depth = 0; }\n if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') {\n return isArray(obj) ? '[Array]' : '[Object]';\n }\n\n var indent = getIndent(opts, depth);\n\n if (typeof seen === 'undefined') {\n seen = [];\n } else if (indexOf(seen, obj) >= 0) {\n return '[Circular]';\n }\n\n function inspect(value, from, noIndent) {\n if (from) {\n seen = $arrSlice.call(seen);\n seen.push(from);\n }\n if (noIndent) {\n var newOpts = {\n depth: opts.depth\n };\n if (has(opts, 'quoteStyle')) {\n newOpts.quoteStyle = opts.quoteStyle;\n }\n return inspect_(value, newOpts, depth + 1, seen);\n }\n return inspect_(value, opts, depth + 1, seen);\n }\n\n if (typeof obj === 'function' && !isRegExp(obj)) { // in older engines, regexes are callable\n var name = nameOf(obj);\n var keys = arrObjKeys(obj, inspect);\n return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + $join.call(keys, ', ') + ' }' : '');\n }\n if (isSymbol(obj)) {\n var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\\(.*\\))_[^)]*$/, '$1') : symToString.call(obj);\n return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString;\n }\n if (isElement(obj)) {\n var s = '<' + $toLowerCase.call(String(obj.nodeName));\n var attrs = obj.attributes || [];\n for (var i = 0; i < attrs.length; i++) {\n s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts);\n }\n s += '>';\n if (obj.childNodes && obj.childNodes.length) { s += '...'; }\n s += '</' + $toLowerCase.call(String(obj.nodeName)) + '>';\n return s;\n }\n if (isArray(obj)) {\n if (obj.length === 0) { return '[]'; }\n var xs = arrObjKeys(obj, inspect);\n if (indent && !singleLineValues(xs)) {\n return '[' + indentedJoin(xs, indent) + ']';\n }\n return '[ ' + $join.call(xs, ', ') + ' ]';\n }\n if (isError(obj)) {\n var parts = arrObjKeys(obj, inspect);\n if (!('cause' in Error.prototype) && 'cause' in obj && !isEnumerable.call(obj, 'cause')) {\n return '{ [' + String(obj) + '] ' + $join.call($concat.call('[cause]: ' + inspect(obj.cause), parts), ', ') + ' }';\n }\n if (parts.length === 0) { return '[' + String(obj) + ']'; }\n return '{ [' + String(obj) + '] ' + $join.call(parts, ', ') + ' }';\n }\n if (typeof obj === 'object' && customInspect) {\n if (inspectSymbol && typeof obj[inspectSymbol] === 'function' && utilInspect) {\n return utilInspect(obj, { depth: maxDepth - depth });\n } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') {\n return obj.inspect();\n }\n }\n if (isMap(obj)) {\n var mapParts = [];\n if (mapForEach) {\n mapForEach.call(obj, function (value, key) {\n mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));\n });\n }\n return collectionOf('Map', mapSize.call(obj), mapParts, indent);\n }\n if (isSet(obj)) {\n var setParts = [];\n if (setForEach) {\n setForEach.call(obj, function (value) {\n setParts.push(inspect(value, obj));\n });\n }\n return collectionOf('Set', setSize.call(obj), setParts, indent);\n }\n if (isWeakMap(obj)) {\n return weakCollectionOf('WeakMap');\n }\n if (isWeakSet(obj)) {\n return weakCollectionOf('WeakSet');\n }\n if (isWeakRef(obj)) {\n return weakCollectionOf('WeakRef');\n }\n if (isNumber(obj)) {\n return markBoxed(inspect(Number(obj)));\n }\n if (isBigInt(obj)) {\n return markBoxed(inspect(bigIntValueOf.call(obj)));\n }\n if (isBoolean(obj)) {\n return markBoxed(booleanValueOf.call(obj));\n }\n if (isString(obj)) {\n return markBoxed(inspect(String(obj)));\n }\n if (!isDate(obj) && !isRegExp(obj)) {\n var ys = arrObjKeys(obj, inspect);\n var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;\n var protoTag = obj instanceof Object ? '' : 'null prototype';\n var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? 'Object' : '';\n var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : '';\n var tag = constructorTag + (stringTag || protoTag ? '[' + $join.call($concat.call([], stringTag || [], protoTag || []), ': ') + '] ' : '');\n if (ys.length === 0) { return tag + '{}'; }\n if (indent) {\n return tag + '{' + indentedJoin(ys, indent) + '}';\n }\n return tag + '{ ' + $join.call(ys, ', ') + ' }';\n }\n return String(obj);\n};\n\nfunction wrapQuotes(s, defaultStyle, opts) {\n var quoteChar = (opts.quoteStyle || defaultStyle) === 'double' ? '\"' : \"'\";\n return quoteChar + s + quoteChar;\n}\n\nfunction quote(s) {\n return $replace.call(String(s), /\"/g, '&quot;');\n}\n\nfunction isArray(obj) { return toStr(obj) === '[object Array]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isDate(obj) { return toStr(obj) === '[object Date]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isRegExp(obj) { return toStr(obj) === '[object RegExp]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isError(obj) { return toStr(obj) === '[object Error]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isString(obj) { return toStr(obj) === '[object String]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isNumber(obj) { return toStr(obj) === '[object Number]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isBoolean(obj) { return toStr(obj) === '[object Boolean]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\n\n// Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives\nfunction isSymbol(obj) {\n if (hasShammedSymbols) {\n return obj && typeof obj === 'object' && obj instanceof Symbol;\n }\n if (typeof obj === 'symbol') {\n return true;\n }\n if (!obj || typeof obj !== 'object' || !symToString) {\n return false;\n }\n try {\n symToString.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isBigInt(obj) {\n if (!obj || typeof obj !== 'object' || !bigIntValueOf) {\n return false;\n }\n try {\n bigIntValueOf.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nvar hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; };\nfunction has(obj, key) {\n return hasOwn.call(obj, key);\n}\n\nfunction toStr(obj) {\n return objectToString.call(obj);\n}\n\nfunction nameOf(f) {\n if (f.name) { return f.name; }\n var m = $match.call(functionToString.call(f), /^function\\s*([\\w$]+)/);\n if (m) { return m[1]; }\n return null;\n}\n\nfunction indexOf(xs, x) {\n if (xs.indexOf) { return xs.indexOf(x); }\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) { return i; }\n }\n return -1;\n}\n\nfunction isMap(x) {\n if (!mapSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n mapSize.call(x);\n try {\n setSize.call(x);\n } catch (s) {\n return true;\n }\n return x instanceof Map; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakMap(x) {\n if (!weakMapHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakMapHas.call(x, weakMapHas);\n try {\n weakSetHas.call(x, weakSetHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakMap; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakRef(x) {\n if (!weakRefDeref || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakRefDeref.call(x);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isSet(x) {\n if (!setSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n setSize.call(x);\n try {\n mapSize.call(x);\n } catch (m) {\n return true;\n }\n return x instanceof Set; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakSet(x) {\n if (!weakSetHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakSetHas.call(x, weakSetHas);\n try {\n weakMapHas.call(x, weakMapHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakSet; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isElement(x) {\n if (!x || typeof x !== 'object') { return false; }\n if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {\n return true;\n }\n return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function';\n}\n\nfunction inspectString(str, opts) {\n if (str.length > opts.maxStringLength) {\n var remaining = str.length - opts.maxStringLength;\n var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : '');\n return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;\n }\n // eslint-disable-next-line no-control-regex\n var s = $replace.call($replace.call(str, /(['\\\\])/g, '\\\\$1'), /[\\x00-\\x1f]/g, lowbyte);\n return wrapQuotes(s, 'single', opts);\n}\n\nfunction lowbyte(c) {\n var n = c.charCodeAt(0);\n var x = {\n 8: 'b',\n 9: 't',\n 10: 'n',\n 12: 'f',\n 13: 'r'\n }[n];\n if (x) { return '\\\\' + x; }\n return '\\\\x' + (n < 0x10 ? '0' : '') + $toUpperCase.call(n.toString(16));\n}\n\nfunction markBoxed(str) {\n return 'Object(' + str + ')';\n}\n\nfunction weakCollectionOf(type) {\n return type + ' { ? }';\n}\n\nfunction collectionOf(type, size, entries, indent) {\n var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ', ');\n return type + ' (' + size + ') {' + joinedEntries + '}';\n}\n\nfunction singleLineValues(xs) {\n for (var i = 0; i < xs.length; i++) {\n if (indexOf(xs[i], '\\n') >= 0) {\n return false;\n }\n }\n return true;\n}\n\nfunction getIndent(opts, depth) {\n var baseIndent;\n if (opts.indent === '\\t') {\n baseIndent = '\\t';\n } else if (typeof opts.indent === 'number' && opts.indent > 0) {\n baseIndent = $join.call(Array(opts.indent + 1), ' ');\n } else {\n return null;\n }\n return {\n base: baseIndent,\n prev: $join.call(Array(depth + 1), baseIndent)\n };\n}\n\nfunction indentedJoin(xs, indent) {\n if (xs.length === 0) { return ''; }\n var lineJoiner = '\\n' + indent.prev + indent.base;\n return lineJoiner + $join.call(xs, ',' + lineJoiner) + '\\n' + indent.prev;\n}\n\nfunction arrObjKeys(obj, inspect) {\n var isArr = isArray(obj);\n var xs = [];\n if (isArr) {\n xs.length = obj.length;\n for (var i = 0; i < obj.length; i++) {\n xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';\n }\n }\n var syms = typeof gOPS === 'function' ? gOPS(obj) : [];\n var symMap;\n if (hasShammedSymbols) {\n symMap = {};\n for (var k = 0; k < syms.length; k++) {\n symMap['$' + syms[k]] = syms[k];\n }\n }\n\n for (var key in obj) { // eslint-disable-line no-restricted-syntax\n if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) {\n // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section\n continue; // eslint-disable-line no-restricted-syntax, no-continue\n } else if ($test.call(/[^\\w$]/, key)) {\n xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));\n } else {\n xs.push(key + ': ' + inspect(obj[key], obj));\n }\n }\n if (typeof gOPS === 'function') {\n for (var j = 0; j < syms.length; j++) {\n if (isEnumerable.call(obj, syms[j])) {\n xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj));\n }\n }\n }\n return xs;\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bind/callBound');\nvar inspect = require('object-inspect');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\nvar $WeakMap = GetIntrinsic('%WeakMap%', true);\nvar $Map = GetIntrinsic('%Map%', true);\n\nvar $weakMapGet = callBound('WeakMap.prototype.get', true);\nvar $weakMapSet = callBound('WeakMap.prototype.set', true);\nvar $weakMapHas = callBound('WeakMap.prototype.has', true);\nvar $mapGet = callBound('Map.prototype.get', true);\nvar $mapSet = callBound('Map.prototype.set', true);\nvar $mapHas = callBound('Map.prototype.has', true);\n\n/*\n * This function traverses the list returning the node corresponding to the\n * given key.\n *\n * That node is also moved to the head of the list, so that if it's accessed\n * again we don't need to traverse the whole list. By doing so, all the recently\n * used nodes can be accessed relatively quickly.\n */\nvar listGetNode = function (list, key) { // eslint-disable-line consistent-return\n\tfor (var prev = list, curr; (curr = prev.next) !== null; prev = curr) {\n\t\tif (curr.key === key) {\n\t\t\tprev.next = curr.next;\n\t\t\tcurr.next = list.next;\n\t\t\tlist.next = curr; // eslint-disable-line no-param-reassign\n\t\t\treturn curr;\n\t\t}\n\t}\n};\n\nvar listGet = function (objects, key) {\n\tvar node = listGetNode(objects, key);\n\treturn node && node.value;\n};\nvar listSet = function (objects, key, value) {\n\tvar node = listGetNode(objects, key);\n\tif (node) {\n\t\tnode.value = value;\n\t} else {\n\t\t// Prepend the new node to the beginning of the list\n\t\tobjects.next = { // eslint-disable-line no-param-reassign\n\t\t\tkey: key,\n\t\t\tnext: objects.next,\n\t\t\tvalue: value\n\t\t};\n\t}\n};\nvar listHas = function (objects, key) {\n\treturn !!listGetNode(objects, key);\n};\n\nmodule.exports = function getSideChannel() {\n\tvar $wm;\n\tvar $m;\n\tvar $o;\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\tget: function (key) { // eslint-disable-line consistent-return\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapGet($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapGet($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listGet($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\thas: function (key) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapHas($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapHas($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listHas($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif (!$wm) {\n\t\t\t\t\t$wm = new $WeakMap();\n\t\t\t\t}\n\t\t\t\t$weakMapSet($wm, key, value);\n\t\t\t} else if ($Map) {\n\t\t\t\tif (!$m) {\n\t\t\t\t\t$m = new $Map();\n\t\t\t\t}\n\t\t\t\t$mapSet($m, key, value);\n\t\t\t} else {\n\t\t\t\tif (!$o) {\n\t\t\t\t\t/*\n\t\t\t\t\t * Initialize the linked list as an empty node, so that we don't have\n\t\t\t\t\t * to special-case handling of the first node: we can always refer to\n\t\t\t\t\t * it as (previous node).next, instead of something like (list).head\n\t\t\t\t\t */\n\t\t\t\t\t$o = { key: {}, next: null };\n\t\t\t\t}\n\t\t\t\tlistSet($o, key, value);\n\t\t\t}\n\t\t}\n\t};\n\treturn channel;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar has = require('has');\nvar channel = require('side-channel')();\n\nvar $TypeError = GetIntrinsic('%TypeError%');\n\nvar SLOT = {\n\tassert: function (O, slot) {\n\t\tif (!O || (typeof O !== 'object' && typeof O !== 'function')) {\n\t\t\tthrow new $TypeError('`O` is not an object');\n\t\t}\n\t\tif (typeof slot !== 'string') {\n\t\t\tthrow new $TypeError('`slot` must be a string');\n\t\t}\n\t\tchannel.assert(O);\n\t\tif (!SLOT.has(O, slot)) {\n\t\t\tthrow new $TypeError('`' + slot + '` is not present on `O`');\n\t\t}\n\t},\n\tget: function (O, slot) {\n\t\tif (!O || (typeof O !== 'object' && typeof O !== 'function')) {\n\t\t\tthrow new $TypeError('`O` is not an object');\n\t\t}\n\t\tif (typeof slot !== 'string') {\n\t\t\tthrow new $TypeError('`slot` must be a string');\n\t\t}\n\t\tvar slots = channel.get(O);\n\t\treturn slots && slots['$' + slot];\n\t},\n\thas: function (O, slot) {\n\t\tif (!O || (typeof O !== 'object' && typeof O !== 'function')) {\n\t\t\tthrow new $TypeError('`O` is not an object');\n\t\t}\n\t\tif (typeof slot !== 'string') {\n\t\t\tthrow new $TypeError('`slot` must be a string');\n\t\t}\n\t\tvar slots = channel.get(O);\n\t\treturn !!slots && has(slots, '$' + slot);\n\t},\n\tset: function (O, slot, V) {\n\t\tif (!O || (typeof O !== 'object' && typeof O !== 'function')) {\n\t\t\tthrow new $TypeError('`O` is not an object');\n\t\t}\n\t\tif (typeof slot !== 'string') {\n\t\t\tthrow new $TypeError('`slot` must be a string');\n\t\t}\n\t\tvar slots = channel.get(O);\n\t\tif (!slots) {\n\t\t\tslots = {};\n\t\t\tchannel.set(O, slots);\n\t\t}\n\t\tslots['$' + slot] = V;\n\t}\n};\n\nif (Object.freeze) {\n\tObject.freeze(SLOT);\n}\n\nmodule.exports = SLOT;\n","'use strict';\n\nvar SLOT = require('internal-slot');\n\nvar $SyntaxError = SyntaxError;\nvar $StopIteration = typeof StopIteration === 'object' ? StopIteration : null;\n\nmodule.exports = function getStopIterationIterator(origIterator) {\n\tif (!$StopIteration) {\n\t\tthrow new $SyntaxError('this environment lacks StopIteration');\n\t}\n\n\tSLOT.set(origIterator, '[[Done]]', false);\n\n\tvar siIterator = {\n\t\tnext: function next() {\n\t\t\tvar iterator = SLOT.get(this, '[[Iterator]]');\n\t\t\tvar done = SLOT.get(iterator, '[[Done]]');\n\t\t\ttry {\n\t\t\t\treturn {\n\t\t\t\t\tdone: done,\n\t\t\t\t\tvalue: done ? void undefined : iterator.next()\n\t\t\t\t};\n\t\t\t} catch (e) {\n\t\t\t\tSLOT.set(iterator, '[[Done]]', true);\n\t\t\t\tif (e !== $StopIteration) {\n\t\t\t\t\tthrow e;\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tdone: true,\n\t\t\t\t\tvalue: void undefined\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t};\n\n\tSLOT.set(siIterator, '[[Iterator]]', origIterator);\n\n\treturn siIterator;\n};\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","'use strict';\n\nvar strValue = String.prototype.valueOf;\nvar tryStringObject = function tryStringObject(value) {\n\ttry {\n\t\tstrValue.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar strClass = '[object String]';\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nmodule.exports = function isString(value) {\n\tif (typeof value === 'string') {\n\t\treturn true;\n\t}\n\tif (typeof value !== 'object') {\n\t\treturn false;\n\t}\n\treturn hasToStringTag ? tryStringObject(value) : toStr.call(value) === strClass;\n};\n","'use strict';\n\nvar $Map = typeof Map === 'function' && Map.prototype ? Map : null;\nvar $Set = typeof Set === 'function' && Set.prototype ? Set : null;\n\nvar exported;\n\nif (!$Map) {\n\t// eslint-disable-next-line no-unused-vars\n\texported = function isMap(x) {\n\t\t// `Map` is not present in this environment.\n\t\treturn false;\n\t};\n}\n\nvar $mapHas = $Map ? Map.prototype.has : null;\nvar $setHas = $Set ? Set.prototype.has : null;\nif (!exported && !$mapHas) {\n\t// eslint-disable-next-line no-unused-vars\n\texported = function isMap(x) {\n\t\t// `Map` does not have a `has` method\n\t\treturn false;\n\t};\n}\n\nmodule.exports = exported || function isMap(x) {\n\tif (!x || typeof x !== 'object') {\n\t\treturn false;\n\t}\n\ttry {\n\t\t$mapHas.call(x);\n\t\tif ($setHas) {\n\t\t\ttry {\n\t\t\t\t$setHas.call(x);\n\t\t\t} catch (e) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn x instanceof $Map; // core-js workaround, pre-v2.5.0\n\t} catch (e) {}\n\treturn false;\n};\n","'use strict';\n\nvar $Map = typeof Map === 'function' && Map.prototype ? Map : null;\nvar $Set = typeof Set === 'function' && Set.prototype ? Set : null;\n\nvar exported;\n\nif (!$Set) {\n\t// eslint-disable-next-line no-unused-vars\n\texported = function isSet(x) {\n\t\t// `Set` is not present in this environment.\n\t\treturn false;\n\t};\n}\n\nvar $mapHas = $Map ? Map.prototype.has : null;\nvar $setHas = $Set ? Set.prototype.has : null;\nif (!exported && !$setHas) {\n\t// eslint-disable-next-line no-unused-vars\n\texported = function isSet(x) {\n\t\t// `Set` does not have a `has` method\n\t\treturn false;\n\t};\n}\n\nmodule.exports = exported || function isSet(x) {\n\tif (!x || typeof x !== 'object') {\n\t\treturn false;\n\t}\n\ttry {\n\t\t$setHas.call(x);\n\t\tif ($mapHas) {\n\t\t\ttry {\n\t\t\t\t$mapHas.call(x);\n\t\t\t} catch (e) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn x instanceof $Set; // core-js workaround, pre-v2.5.0\n\t} catch (e) {}\n\treturn false;\n};\n","'use strict';\n\n/* eslint global-require: 0 */\n// the code is structured this way so that bundlers can\n// alias out `has-symbols` to `() => true` or `() => false` if your target\n// environments' Symbol capabilities are known, and then use\n// dead code elimination on the rest of this module.\n//\n// Similarly, `isarray` can be aliased to `Array.isArray` if\n// available in all target environments.\n\nvar isArguments = require('is-arguments');\nvar getStopIterationIterator = require('stop-iteration-iterator');\n\nif (require('has-symbols')() || require('has-symbols/shams')()) {\n\tvar $iterator = Symbol.iterator;\n\t// Symbol is available natively or shammed\n\t// natively:\n\t// - Chrome >= 38\n\t// - Edge 12-14?, Edge >= 15 for sure\n\t// - FF >= 36\n\t// - Safari >= 9\n\t// - node >= 0.12\n\tmodule.exports = function getIterator(iterable) {\n\t\t// alternatively, `iterable[$iterator]?.()`\n\t\tif (iterable != null && typeof iterable[$iterator] !== 'undefined') {\n\t\t\treturn iterable[$iterator]();\n\t\t}\n\t\tif (isArguments(iterable)) {\n\t\t\t// arguments objects lack Symbol.iterator\n\t\t\t// - node 0.12\n\t\t\treturn Array.prototype[$iterator].call(iterable);\n\t\t}\n\t};\n} else {\n\t// Symbol is not available, native or shammed\n\tvar isArray = require('isarray');\n\tvar isString = require('is-string');\n\tvar GetIntrinsic = require('get-intrinsic');\n\tvar $Map = GetIntrinsic('%Map%', true);\n\tvar $Set = GetIntrinsic('%Set%', true);\n\tvar callBound = require('call-bind/callBound');\n\tvar $arrayPush = callBound('Array.prototype.push');\n\tvar $charCodeAt = callBound('String.prototype.charCodeAt');\n\tvar $stringSlice = callBound('String.prototype.slice');\n\n\tvar advanceStringIndex = function advanceStringIndex(S, index) {\n\t\tvar length = S.length;\n\t\tif ((index + 1) >= length) {\n\t\t\treturn index + 1;\n\t\t}\n\n\t\tvar first = $charCodeAt(S, index);\n\t\tif (first < 0xD800 || first > 0xDBFF) {\n\t\t\treturn index + 1;\n\t\t}\n\n\t\tvar second = $charCodeAt(S, index + 1);\n\t\tif (second < 0xDC00 || second > 0xDFFF) {\n\t\t\treturn index + 1;\n\t\t}\n\n\t\treturn index + 2;\n\t};\n\n\tvar getArrayIterator = function getArrayIterator(arraylike) {\n\t\tvar i = 0;\n\t\treturn {\n\t\t\tnext: function next() {\n\t\t\t\tvar done = i >= arraylike.length;\n\t\t\t\tvar value;\n\t\t\t\tif (!done) {\n\t\t\t\t\tvalue = arraylike[i];\n\t\t\t\t\ti += 1;\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tdone: done,\n\t\t\t\t\tvalue: value\n\t\t\t\t};\n\t\t\t}\n\t\t};\n\t};\n\n\tvar getNonCollectionIterator = function getNonCollectionIterator(iterable, noPrimordialCollections) {\n\t\tif (isArray(iterable) || isArguments(iterable)) {\n\t\t\treturn getArrayIterator(iterable);\n\t\t}\n\t\tif (isString(iterable)) {\n\t\t\tvar i = 0;\n\t\t\treturn {\n\t\t\t\tnext: function next() {\n\t\t\t\t\tvar nextIndex = advanceStringIndex(iterable, i);\n\t\t\t\t\tvar value = $stringSlice(iterable, i, nextIndex);\n\t\t\t\t\ti = nextIndex;\n\t\t\t\t\treturn {\n\t\t\t\t\t\tdone: nextIndex > iterable.length,\n\t\t\t\t\t\tvalue: value\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\n\t\t// es6-shim and es-shims' es-map use a string \"_es6-shim iterator_\" property on different iterables, such as MapIterator.\n\t\tif (noPrimordialCollections && typeof iterable['_es6-shim iterator_'] !== 'undefined') {\n\t\t\treturn iterable['_es6-shim iterator_']();\n\t\t}\n\t};\n\n\tif (!$Map && !$Set) {\n\t\t// the only language iterables are Array, String, arguments\n\t\t// - Safari <= 6.0\n\t\t// - Chrome < 38\n\t\t// - node < 0.12\n\t\t// - FF < 13\n\t\t// - IE < 11\n\t\t// - Edge < 11\n\n\t\tmodule.exports = function getIterator(iterable) {\n\t\t\tif (iterable != null) {\n\t\t\t\treturn getNonCollectionIterator(iterable, true);\n\t\t\t}\n\t\t};\n\t} else {\n\t\t// either Map or Set are available, but Symbol is not\n\t\t// - es6-shim on an ES5 browser\n\t\t// - Safari 6.2 (maybe 6.1?)\n\t\t// - FF v[13, 36)\n\t\t// - IE 11\n\t\t// - Edge 11\n\t\t// - Safari v[6, 9)\n\n\t\tvar isMap = require('is-map');\n\t\tvar isSet = require('is-set');\n\n\t\t// Firefox >= 27, IE 11, Safari 6.2 - 9, Edge 11, es6-shim in older envs, all have forEach\n\t\tvar $mapForEach = callBound('Map.prototype.forEach', true);\n\t\tvar $setForEach = callBound('Set.prototype.forEach', true);\n\t\tif (typeof process === 'undefined' || !process.versions || !process.versions.node) { // \"if is not node\"\n\n\t\t\t// Firefox 17 - 26 has `.iterator()`, whose iterator `.next()` either\n\t\t\t// returns a value, or throws a StopIteration object. These browsers\n\t\t\t// do not have any other mechanism for iteration.\n\t\t\tvar $mapIterator = callBound('Map.prototype.iterator', true);\n\t\t\tvar $setIterator = callBound('Set.prototype.iterator', true);\n\t\t}\n\t\t// Firefox 27-35, and some older es6-shim versions, use a string \"@@iterator\" property\n\t\t// this returns a proper iterator object, so we should use it instead of forEach.\n\t\t// newer es6-shim versions use a string \"_es6-shim iterator_\" property.\n\t\tvar $mapAtAtIterator = callBound('Map.prototype.@@iterator', true) || callBound('Map.prototype._es6-shim iterator_', true);\n\t\tvar $setAtAtIterator = callBound('Set.prototype.@@iterator', true) || callBound('Set.prototype._es6-shim iterator_', true);\n\n\t\tvar getCollectionIterator = function getCollectionIterator(iterable) {\n\t\t\tif (isMap(iterable)) {\n\t\t\t\tif ($mapIterator) {\n\t\t\t\t\treturn getStopIterationIterator($mapIterator(iterable));\n\t\t\t\t}\n\t\t\t\tif ($mapAtAtIterator) {\n\t\t\t\t\treturn $mapAtAtIterator(iterable);\n\t\t\t\t}\n\t\t\t\tif ($mapForEach) {\n\t\t\t\t\tvar entries = [];\n\t\t\t\t\t$mapForEach(iterable, function (v, k) {\n\t\t\t\t\t\t$arrayPush(entries, [k, v]);\n\t\t\t\t\t});\n\t\t\t\t\treturn getArrayIterator(entries);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (isSet(iterable)) {\n\t\t\t\tif ($setIterator) {\n\t\t\t\t\treturn getStopIterationIterator($setIterator(iterable));\n\t\t\t\t}\n\t\t\t\tif ($setAtAtIterator) {\n\t\t\t\t\treturn $setAtAtIterator(iterable);\n\t\t\t\t}\n\t\t\t\tif ($setForEach) {\n\t\t\t\t\tvar values = [];\n\t\t\t\t\t$setForEach(iterable, function (v) {\n\t\t\t\t\t\t$arrayPush(values, v);\n\t\t\t\t\t});\n\t\t\t\t\treturn getArrayIterator(values);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tmodule.exports = function getIterator(iterable) {\n\t\t\treturn getCollectionIterator(iterable) || getNonCollectionIterator(iterable);\n\t\t};\n\t}\n}\n","'use strict';\n\nvar numberIsNaN = function (value) {\n\treturn value !== value;\n};\n\nmodule.exports = function is(a, b) {\n\tif (a === 0 && b === 0) {\n\t\treturn 1 / a === 1 / b;\n\t}\n\tif (a === b) {\n\t\treturn true;\n\t}\n\tif (numberIsNaN(a) && numberIsNaN(b)) {\n\t\treturn true;\n\t}\n\treturn false;\n};\n\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\treturn typeof Object.is === 'function' ? Object.is : implementation;\n};\n","'use strict';\n\nvar getPolyfill = require('./polyfill');\nvar define = require('define-properties');\n\nmodule.exports = function shimObjectIs() {\n\tvar polyfill = getPolyfill();\n\tdefine(Object, { is: polyfill }, {\n\t\tis: function testObjectIs() {\n\t\t\treturn Object.is !== polyfill;\n\t\t}\n\t});\n\treturn polyfill;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar callBind = require('call-bind');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = callBind(getPolyfill(), Object);\n\ndefine(polyfill, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = polyfill;\n","'use strict';\n\nvar fnToStr = Function.prototype.toString;\nvar reflectApply = typeof Reflect === 'object' && Reflect !== null && Reflect.apply;\nvar badArrayLike;\nvar isCallableMarker;\nif (typeof reflectApply === 'function' && typeof Object.defineProperty === 'function') {\n\ttry {\n\t\tbadArrayLike = Object.defineProperty({}, 'length', {\n\t\t\tget: function () {\n\t\t\t\tthrow isCallableMarker;\n\t\t\t}\n\t\t});\n\t\tisCallableMarker = {};\n\t\t// eslint-disable-next-line no-throw-literal\n\t\treflectApply(function () { throw 42; }, null, badArrayLike);\n\t} catch (_) {\n\t\tif (_ !== isCallableMarker) {\n\t\t\treflectApply = null;\n\t\t}\n\t}\n} else {\n\treflectApply = null;\n}\n\nvar constructorRegex = /^\\s*class\\b/;\nvar isES6ClassFn = function isES6ClassFunction(value) {\n\ttry {\n\t\tvar fnStr = fnToStr.call(value);\n\t\treturn constructorRegex.test(fnStr);\n\t} catch (e) {\n\t\treturn false; // not a function\n\t}\n};\n\nvar tryFunctionObject = function tryFunctionToStr(value) {\n\ttry {\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tfnToStr.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar objectClass = '[object Object]';\nvar fnClass = '[object Function]';\nvar genClass = '[object GeneratorFunction]';\nvar ddaClass = '[object HTMLAllCollection]'; // IE 11\nvar ddaClass2 = '[object HTML document.all class]';\nvar ddaClass3 = '[object HTMLCollection]'; // IE 9-10\nvar hasToStringTag = typeof Symbol === 'function' && !!Symbol.toStringTag; // better: use `has-tostringtag`\n\nvar isIE68 = !(0 in [,]); // eslint-disable-line no-sparse-arrays, comma-spacing\n\nvar isDDA = function isDocumentDotAll() { return false; };\nif (typeof document === 'object') {\n\t// Firefox 3 canonicalizes DDA to undefined when it's not accessed directly\n\tvar all = document.all;\n\tif (toStr.call(all) === toStr.call(document.all)) {\n\t\tisDDA = function isDocumentDotAll(value) {\n\t\t\t/* globals document: false */\n\t\t\t// in IE 6-8, typeof document.all is \"object\" and it's truthy\n\t\t\tif ((isIE68 || !value) && (typeof value === 'undefined' || typeof value === 'object')) {\n\t\t\t\ttry {\n\t\t\t\t\tvar str = toStr.call(value);\n\t\t\t\t\treturn (\n\t\t\t\t\t\tstr === ddaClass\n\t\t\t\t\t\t|| str === ddaClass2\n\t\t\t\t\t\t|| str === ddaClass3 // opera 12.16\n\t\t\t\t\t\t|| str === objectClass // IE 6-8\n\t\t\t\t\t) && value('') == null; // eslint-disable-line eqeqeq\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\t}\n}\n\nmodule.exports = reflectApply\n\t? function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\ttry {\n\t\t\treflectApply(value, null, badArrayLike);\n\t\t} catch (e) {\n\t\t\tif (e !== isCallableMarker) { return false; }\n\t\t}\n\t\treturn !isES6ClassFn(value) && tryFunctionObject(value);\n\t}\n\t: function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\tif (hasToStringTag) { return tryFunctionObject(value); }\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tvar strClass = toStr.call(value);\n\t\tif (strClass !== fnClass && strClass !== genClass && !(/^\\[object HTML/).test(strClass)) { return false; }\n\t\treturn tryFunctionObject(value);\n\t};\n","'use strict';\n\nvar isCallable = require('is-callable');\n\nvar toStr = Object.prototype.toString;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar forEachArray = function forEachArray(array, iterator, receiver) {\n for (var i = 0, len = array.length; i < len; i++) {\n if (hasOwnProperty.call(array, i)) {\n if (receiver == null) {\n iterator(array[i], i, array);\n } else {\n iterator.call(receiver, array[i], i, array);\n }\n }\n }\n};\n\nvar forEachString = function forEachString(string, iterator, receiver) {\n for (var i = 0, len = string.length; i < len; i++) {\n // no such thing as a sparse string.\n if (receiver == null) {\n iterator(string.charAt(i), i, string);\n } else {\n iterator.call(receiver, string.charAt(i), i, string);\n }\n }\n};\n\nvar forEachObject = function forEachObject(object, iterator, receiver) {\n for (var k in object) {\n if (hasOwnProperty.call(object, k)) {\n if (receiver == null) {\n iterator(object[k], k, object);\n } else {\n iterator.call(receiver, object[k], k, object);\n }\n }\n }\n};\n\nvar forEach = function forEach(list, iterator, thisArg) {\n if (!isCallable(iterator)) {\n throw new TypeError('iterator must be a function');\n }\n\n var receiver;\n if (arguments.length >= 3) {\n receiver = thisArg;\n }\n\n if (toStr.call(list) === '[object Array]') {\n forEachArray(list, iterator, receiver);\n } else if (typeof list === 'string') {\n forEachString(list, iterator, receiver);\n } else {\n forEachObject(list, iterator, receiver);\n }\n};\n\nmodule.exports = forEach;\n","'use strict';\n\nvar possibleNames = [\n\t'BigInt64Array',\n\t'BigUint64Array',\n\t'Float32Array',\n\t'Float64Array',\n\t'Int16Array',\n\t'Int32Array',\n\t'Int8Array',\n\t'Uint16Array',\n\t'Uint32Array',\n\t'Uint8Array',\n\t'Uint8ClampedArray'\n];\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\n\nmodule.exports = function availableTypedArrays() {\n\tvar out = [];\n\tfor (var i = 0; i < possibleNames.length; i++) {\n\t\tif (typeof g[possibleNames[i]] === 'function') {\n\t\t\tout[out.length] = possibleNames[i];\n\t\t}\n\t}\n\treturn out;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\nvar forEach = require('for-each');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar gOPD = require('gopd');\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\nvar typedArrays = availableTypedArrays();\n\nvar $indexOf = callBound('Array.prototype.indexOf', true) || function indexOf(array, value) {\n\tfor (var i = 0; i < array.length; i += 1) {\n\t\tif (array[i] === value) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n};\nvar $slice = callBound('String.prototype.slice');\nvar toStrTags = {};\nvar getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\nif (hasToStringTag && gOPD && getPrototypeOf) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new g[typedArray]();\n\t\tif (Symbol.toStringTag in arr) {\n\t\t\tvar proto = getPrototypeOf(arr);\n\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\tif (!descriptor) {\n\t\t\t\tvar superProto = getPrototypeOf(proto);\n\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t}\n\t\t\ttoStrTags[typedArray] = descriptor.get;\n\t\t}\n\t});\n}\n\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n\tvar anyTrue = false;\n\tforEach(toStrTags, function (getter, typedArray) {\n\t\tif (!anyTrue) {\n\t\t\ttry {\n\t\t\t\tanyTrue = getter.call(value) === typedArray;\n\t\t\t} catch (e) { /**/ }\n\t\t}\n\t});\n\treturn anyTrue;\n};\n\nmodule.exports = function isTypedArray(value) {\n\tif (!value || typeof value !== 'object') { return false; }\n\tif (!hasToStringTag || !(Symbol.toStringTag in value)) {\n\t\tvar tag = $slice($toString(value), 8, -1);\n\t\treturn $indexOf(typedArrays, tag) > -1;\n\t}\n\tif (!gOPD) { return false; }\n\treturn tryTypedArrays(value);\n};\n","'use strict';\n\nvar callBind = require('call-bind');\nvar callBound = require('call-bind/callBound');\nvar GetIntrinsic = require('get-intrinsic');\nvar isTypedArray = require('is-typed-array');\n\nvar $ArrayBuffer = GetIntrinsic('ArrayBuffer', true);\nvar $Float32Array = GetIntrinsic('Float32Array', true);\nvar $byteLength = callBound('ArrayBuffer.prototype.byteLength', true);\n\n// in node 0.10, ArrayBuffers have no prototype methods, but have an own slot-checking `slice` method\nvar abSlice = $ArrayBuffer && !$byteLength && new $ArrayBuffer().slice;\nvar $abSlice = abSlice && callBind(abSlice);\n\nmodule.exports = $byteLength || $abSlice\n\t? function isArrayBuffer(obj) {\n\t\tif (!obj || typeof obj !== 'object') {\n\t\t\treturn false;\n\t\t}\n\t\ttry {\n\t\t\tif ($byteLength) {\n\t\t\t\t$byteLength(obj);\n\t\t\t} else {\n\t\t\t\t$abSlice(obj, 0);\n\t\t\t}\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t}\n\t: $Float32Array\n\t\t// in node 0.8, ArrayBuffers have no prototype or own methods\n\t\t? function IsArrayBuffer(obj) {\n\t\t\ttry {\n\t\t\t\treturn (new $Float32Array(obj)).buffer === obj && !isTypedArray(obj);\n\t\t\t} catch (e) {\n\t\t\t\treturn typeof obj === 'object' && e.name === 'RangeError';\n\t\t\t}\n\t\t}\n\t\t: function isArrayBuffer(obj) { // eslint-disable-line no-unused-vars\n\t\t\treturn false;\n\t\t};\n","'use strict';\n\nvar getDay = Date.prototype.getDay;\nvar tryDateObject = function tryDateGetDayCall(value) {\n\ttry {\n\t\tgetDay.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n\nvar toStr = Object.prototype.toString;\nvar dateClass = '[object Date]';\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nmodule.exports = function isDateObject(value) {\n\tif (typeof value !== 'object' || value === null) {\n\t\treturn false;\n\t}\n\treturn hasToStringTag ? tryDateObject(value) : toStr.call(value) === dateClass;\n};\n","'use strict';\n\nvar callBound = require('call-bind/callBound');\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar has;\nvar $exec;\nvar isRegexMarker;\nvar badStringifier;\n\nif (hasToStringTag) {\n\thas = callBound('Object.prototype.hasOwnProperty');\n\t$exec = callBound('RegExp.prototype.exec');\n\tisRegexMarker = {};\n\n\tvar throwRegexMarker = function () {\n\t\tthrow isRegexMarker;\n\t};\n\tbadStringifier = {\n\t\ttoString: throwRegexMarker,\n\t\tvalueOf: throwRegexMarker\n\t};\n\n\tif (typeof Symbol.toPrimitive === 'symbol') {\n\t\tbadStringifier[Symbol.toPrimitive] = throwRegexMarker;\n\t}\n}\n\nvar $toString = callBound('Object.prototype.toString');\nvar gOPD = Object.getOwnPropertyDescriptor;\nvar regexClass = '[object RegExp]';\n\nmodule.exports = hasToStringTag\n\t// eslint-disable-next-line consistent-return\n\t? function isRegex(value) {\n\t\tif (!value || typeof value !== 'object') {\n\t\t\treturn false;\n\t\t}\n\n\t\tvar descriptor = gOPD(value, 'lastIndex');\n\t\tvar hasLastIndexDataProperty = descriptor && has(descriptor, 'value');\n\t\tif (!hasLastIndexDataProperty) {\n\t\t\treturn false;\n\t\t}\n\n\t\ttry {\n\t\t\t$exec(value, badStringifier);\n\t\t} catch (e) {\n\t\t\treturn e === isRegexMarker;\n\t\t}\n\t}\n\t: function isRegex(value) {\n\t\t// In older browsers, typeof regex incorrectly returns 'function'\n\t\tif (!value || (typeof value !== 'object' && typeof value !== 'function')) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn $toString(value) === regexClass;\n\t};\n","'use strict';\n\nvar callBound = require('call-bind/callBound');\n\nvar $byteLength = callBound('SharedArrayBuffer.prototype.byteLength', true);\n\nmodule.exports = $byteLength\n\t? function isSharedArrayBuffer(obj) {\n\t\tif (!obj || typeof obj !== 'object') {\n\t\t\treturn false;\n\t\t}\n\t\ttry {\n\t\t\t$byteLength(obj);\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t}\n\t: function isSharedArrayBuffer(obj) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t};\n","'use strict';\n\nvar numToStr = Number.prototype.toString;\nvar tryNumberObject = function tryNumberObject(value) {\n\ttry {\n\t\tnumToStr.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar numClass = '[object Number]';\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nmodule.exports = function isNumberObject(value) {\n\tif (typeof value === 'number') {\n\t\treturn true;\n\t}\n\tif (typeof value !== 'object') {\n\t\treturn false;\n\t}\n\treturn hasToStringTag ? tryNumberObject(value) : toStr.call(value) === numClass;\n};\n","'use strict';\n\nvar callBound = require('call-bind/callBound');\nvar $boolToStr = callBound('Boolean.prototype.toString');\nvar $toString = callBound('Object.prototype.toString');\n\nvar tryBooleanObject = function booleanBrandCheck(value) {\n\ttry {\n\t\t$boolToStr(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar boolClass = '[object Boolean]';\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nmodule.exports = function isBoolean(value) {\n\tif (typeof value === 'boolean') {\n\t\treturn true;\n\t}\n\tif (value === null || typeof value !== 'object') {\n\t\treturn false;\n\t}\n\treturn hasToStringTag && Symbol.toStringTag in value ? tryBooleanObject(value) : $toString(value) === boolClass;\n};\n","'use strict';\n\nvar toStr = Object.prototype.toString;\nvar hasSymbols = require('has-symbols')();\n\nif (hasSymbols) {\n\tvar symToStr = Symbol.prototype.toString;\n\tvar symStringRegex = /^Symbol\\(.*\\)$/;\n\tvar isSymbolObject = function isRealSymbolObject(value) {\n\t\tif (typeof value.valueOf() !== 'symbol') {\n\t\t\treturn false;\n\t\t}\n\t\treturn symStringRegex.test(symToStr.call(value));\n\t};\n\n\tmodule.exports = function isSymbol(value) {\n\t\tif (typeof value === 'symbol') {\n\t\t\treturn true;\n\t\t}\n\t\tif (toStr.call(value) !== '[object Symbol]') {\n\t\t\treturn false;\n\t\t}\n\t\ttry {\n\t\t\treturn isSymbolObject(value);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n} else {\n\n\tmodule.exports = function isSymbol(value) {\n\t\t// this environment does not support Symbols.\n\t\treturn false && value;\n\t};\n}\n","'use strict';\n\nvar $BigInt = typeof BigInt !== 'undefined' && BigInt;\n\nmodule.exports = function hasNativeBigInts() {\n\treturn typeof $BigInt === 'function'\n\t\t&& typeof BigInt === 'function'\n\t\t&& typeof $BigInt(42) === 'bigint' // eslint-disable-line no-magic-numbers\n\t\t&& typeof BigInt(42) === 'bigint'; // eslint-disable-line no-magic-numbers\n};\n","'use strict';\n\nvar hasBigInts = require('has-bigints')();\n\nif (hasBigInts) {\n\tvar bigIntValueOf = BigInt.prototype.valueOf;\n\tvar tryBigInt = function tryBigIntObject(value) {\n\t\ttry {\n\t\t\tbigIntValueOf.call(value);\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t}\n\t\treturn false;\n\t};\n\n\tmodule.exports = function isBigInt(value) {\n\t\tif (\n\t\t\tvalue === null\n\t\t\t|| typeof value === 'undefined'\n\t\t\t|| typeof value === 'boolean'\n\t\t\t|| typeof value === 'string'\n\t\t\t|| typeof value === 'number'\n\t\t\t|| typeof value === 'symbol'\n\t\t\t|| typeof value === 'function'\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t\tif (typeof value === 'bigint') {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn tryBigInt(value);\n\t};\n} else {\n\tmodule.exports = function isBigInt(value) {\n\t\treturn false && value;\n\t};\n}\n","'use strict';\n\nvar isString = require('is-string');\nvar isNumber = require('is-number-object');\nvar isBoolean = require('is-boolean-object');\nvar isSymbol = require('is-symbol');\nvar isBigInt = require('is-bigint');\n\n// eslint-disable-next-line consistent-return\nmodule.exports = function whichBoxedPrimitive(value) {\n\t// eslint-disable-next-line eqeqeq\n\tif (value == null || (typeof value !== 'object' && typeof value !== 'function')) {\n\t\treturn null;\n\t}\n\tif (isString(value)) {\n\t\treturn 'String';\n\t}\n\tif (isNumber(value)) {\n\t\treturn 'Number';\n\t}\n\tif (isBoolean(value)) {\n\t\treturn 'Boolean';\n\t}\n\tif (isSymbol(value)) {\n\t\treturn 'Symbol';\n\t}\n\tif (isBigInt(value)) {\n\t\treturn 'BigInt';\n\t}\n};\n","'use strict';\n\nvar $WeakMap = typeof WeakMap === 'function' && WeakMap.prototype ? WeakMap : null;\nvar $WeakSet = typeof WeakSet === 'function' && WeakSet.prototype ? WeakSet : null;\n\nvar exported;\n\nif (!$WeakMap) {\n\t// eslint-disable-next-line no-unused-vars\n\texported = function isWeakMap(x) {\n\t\t// `WeakMap` is not present in this environment.\n\t\treturn false;\n\t};\n}\n\nvar $mapHas = $WeakMap ? $WeakMap.prototype.has : null;\nvar $setHas = $WeakSet ? $WeakSet.prototype.has : null;\nif (!exported && !$mapHas) {\n\t// eslint-disable-next-line no-unused-vars\n\texported = function isWeakMap(x) {\n\t\t// `WeakMap` does not have a `has` method\n\t\treturn false;\n\t};\n}\n\nmodule.exports = exported || function isWeakMap(x) {\n\tif (!x || typeof x !== 'object') {\n\t\treturn false;\n\t}\n\ttry {\n\t\t$mapHas.call(x, $mapHas);\n\t\tif ($setHas) {\n\t\t\ttry {\n\t\t\t\t$setHas.call(x, $setHas);\n\t\t\t} catch (e) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn x instanceof $WeakMap; // core-js workaround, pre-v3\n\t} catch (e) {}\n\treturn false;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bind/callBound');\n\nvar $WeakSet = GetIntrinsic('%WeakSet%', true);\n\nvar $setHas = callBound('WeakSet.prototype.has', true);\n\nif ($setHas) {\n\tvar $mapHas = callBound('WeakMap.prototype.has', true);\n\n\tmodule.exports = function isWeakSet(x) {\n\t\tif (!x || typeof x !== 'object') {\n\t\t\treturn false;\n\t\t}\n\t\ttry {\n\t\t\t$setHas(x, $setHas);\n\t\t\tif ($mapHas) {\n\t\t\t\ttry {\n\t\t\t\t\t$mapHas(x, $mapHas);\n\t\t\t\t} catch (e) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn x instanceof $WeakSet; // core-js workaround, pre-v3\n\t\t} catch (e) {}\n\t\treturn false;\n\t};\n} else {\n\t// eslint-disable-next-line no-unused-vars\n\tmodule.exports = function isWeakSet(x) {\n\t\t// `WeakSet` does not exist, or does not have a `has` method\n\t\treturn false;\n\t};\n}\n","'use strict';\n\nvar isMap = require('is-map');\nvar isSet = require('is-set');\nvar isWeakMap = require('is-weakmap');\nvar isWeakSet = require('is-weakset');\n\nmodule.exports = function whichCollection(value) {\n\tif (value && typeof value === 'object') {\n\t\tif (isMap(value)) {\n\t\t\treturn 'Map';\n\t\t}\n\t\tif (isSet(value)) {\n\t\t\treturn 'Set';\n\t\t}\n\t\tif (isWeakMap(value)) {\n\t\t\treturn 'WeakMap';\n\t\t}\n\t\tif (isWeakSet(value)) {\n\t\t\treturn 'WeakSet';\n\t\t}\n\t}\n\treturn false;\n};\n","'use strict';\n\nvar forEach = require('for-each');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBound = require('call-bind/callBound');\nvar gOPD = require('gopd');\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\nvar typedArrays = availableTypedArrays();\n\nvar $slice = callBound('String.prototype.slice');\nvar toStrTags = {};\nvar getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\nif (hasToStringTag && gOPD && getPrototypeOf) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tif (typeof g[typedArray] === 'function') {\n\t\t\tvar arr = new g[typedArray]();\n\t\t\tif (Symbol.toStringTag in arr) {\n\t\t\t\tvar proto = getPrototypeOf(arr);\n\t\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\t\tif (!descriptor) {\n\t\t\t\t\tvar superProto = getPrototypeOf(proto);\n\t\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t\t}\n\t\t\t\ttoStrTags[typedArray] = descriptor.get;\n\t\t\t}\n\t\t}\n\t});\n}\n\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n\tvar foundName = false;\n\tforEach(toStrTags, function (getter, typedArray) {\n\t\tif (!foundName) {\n\t\t\ttry {\n\t\t\t\tvar name = getter.call(value);\n\t\t\t\tif (name === typedArray) {\n\t\t\t\t\tfoundName = name;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\t\t}\n\t});\n\treturn foundName;\n};\n\nvar isTypedArray = require('is-typed-array');\n\nmodule.exports = function whichTypedArray(value) {\n\tif (!isTypedArray(value)) { return false; }\n\tif (!hasToStringTag || !(Symbol.toStringTag in value)) { return $slice($toString(value), 8, -1); }\n\treturn tryTypedArrays(value);\n};\n","'use strict';\n\nvar callBound = require('call-bind/callBound');\nvar $byteLength = callBound('ArrayBuffer.prototype.byteLength', true);\n\nvar isArrayBuffer = require('is-array-buffer');\n\nmodule.exports = function byteLength(ab) {\n\tif (!isArrayBuffer(ab)) {\n\t\treturn NaN;\n\t}\n\treturn $byteLength ? $byteLength(ab) : ab.byteLength;\n}; // in node < 0.11, byteLength is an own nonconfigurable property\n","'use strict';\n\nvar assign = require('object.assign');\nvar callBound = require('call-bind/callBound');\nvar flags = require('regexp.prototype.flags');\nvar GetIntrinsic = require('get-intrinsic');\nvar getIterator = require('es-get-iterator');\nvar getSideChannel = require('side-channel');\nvar is = require('object-is');\nvar isArguments = require('is-arguments');\nvar isArray = require('isarray');\nvar isArrayBuffer = require('is-array-buffer');\nvar isDate = require('is-date-object');\nvar isRegex = require('is-regex');\nvar isSharedArrayBuffer = require('is-shared-array-buffer');\nvar objectKeys = require('object-keys');\nvar whichBoxedPrimitive = require('which-boxed-primitive');\nvar whichCollection = require('which-collection');\nvar whichTypedArray = require('which-typed-array');\nvar byteLength = require('array-buffer-byte-length');\n\nvar sabByteLength = callBound('SharedArrayBuffer.prototype.byteLength', true);\n\nvar $getTime = callBound('Date.prototype.getTime');\nvar gPO = Object.getPrototypeOf;\nvar $objToString = callBound('Object.prototype.toString');\n\nvar $Set = GetIntrinsic('%Set%', true);\nvar $mapHas = callBound('Map.prototype.has', true);\nvar $mapGet = callBound('Map.prototype.get', true);\nvar $mapSize = callBound('Map.prototype.size', true);\nvar $setAdd = callBound('Set.prototype.add', true);\nvar $setDelete = callBound('Set.prototype.delete', true);\nvar $setHas = callBound('Set.prototype.has', true);\nvar $setSize = callBound('Set.prototype.size', true);\n\n// taken from https://github.com/browserify/commonjs-assert/blob/bba838e9ba9e28edf3127ce6974624208502f6bc/internal/util/comparisons.js#L401-L414\nfunction setHasEqualElement(set, val1, opts, channel) {\n var i = getIterator(set);\n var result;\n while ((result = i.next()) && !result.done) {\n if (internalDeepEqual(val1, result.value, opts, channel)) { // eslint-disable-line no-use-before-define\n // Remove the matching element to make sure we do not check that again.\n $setDelete(set, result.value);\n return true;\n }\n }\n\n return false;\n}\n\n// taken from https://github.com/browserify/commonjs-assert/blob/bba838e9ba9e28edf3127ce6974624208502f6bc/internal/util/comparisons.js#L416-L439\nfunction findLooseMatchingPrimitives(prim) {\n if (typeof prim === 'undefined') {\n return null;\n }\n if (typeof prim === 'object') { // Only pass in null as object!\n return void 0;\n }\n if (typeof prim === 'symbol') {\n return false;\n }\n if (typeof prim === 'string' || typeof prim === 'number') {\n // Loose equal entries exist only if the string is possible to convert to a regular number and not NaN.\n return +prim === +prim; // eslint-disable-line no-implicit-coercion\n }\n return true;\n}\n\n// taken from https://github.com/browserify/commonjs-assert/blob/bba838e9ba9e28edf3127ce6974624208502f6bc/internal/util/comparisons.js#L449-L460\nfunction mapMightHaveLoosePrim(a, b, prim, item, opts, channel) {\n var altValue = findLooseMatchingPrimitives(prim);\n if (altValue != null) {\n return altValue;\n }\n var curB = $mapGet(b, altValue);\n var looseOpts = assign({}, opts, { strict: false });\n if (\n (typeof curB === 'undefined' && !$mapHas(b, altValue))\n // eslint-disable-next-line no-use-before-define\n || !internalDeepEqual(item, curB, looseOpts, channel)\n ) {\n return false;\n }\n // eslint-disable-next-line no-use-before-define\n return !$mapHas(a, altValue) && internalDeepEqual(item, curB, looseOpts, channel);\n}\n\n// taken from https://github.com/browserify/commonjs-assert/blob/bba838e9ba9e28edf3127ce6974624208502f6bc/internal/util/comparisons.js#L441-L447\nfunction setMightHaveLoosePrim(a, b, prim) {\n var altValue = findLooseMatchingPrimitives(prim);\n if (altValue != null) {\n return altValue;\n }\n\n return $setHas(b, altValue) && !$setHas(a, altValue);\n}\n\n// taken from https://github.com/browserify/commonjs-assert/blob/bba838e9ba9e28edf3127ce6974624208502f6bc/internal/util/comparisons.js#L518-L533\nfunction mapHasEqualEntry(set, map, key1, item1, opts, channel) {\n var i = getIterator(set);\n var result;\n var key2;\n while ((result = i.next()) && !result.done) {\n key2 = result.value;\n if (\n // eslint-disable-next-line no-use-before-define\n internalDeepEqual(key1, key2, opts, channel)\n // eslint-disable-next-line no-use-before-define\n && internalDeepEqual(item1, $mapGet(map, key2), opts, channel)\n ) {\n $setDelete(set, key2);\n return true;\n }\n }\n\n return false;\n}\n\nfunction internalDeepEqual(actual, expected, options, channel) {\n var opts = options || {};\n\n // 7.1. All identical values are equivalent, as determined by ===.\n if (opts.strict ? is(actual, expected) : actual === expected) {\n return true;\n }\n\n var actualBoxed = whichBoxedPrimitive(actual);\n var expectedBoxed = whichBoxedPrimitive(expected);\n if (actualBoxed !== expectedBoxed) {\n return false;\n }\n\n // 7.3. Other pairs that do not both pass typeof value == 'object', equivalence is determined by ==.\n if (!actual || !expected || (typeof actual !== 'object' && typeof expected !== 'object')) {\n return opts.strict ? is(actual, expected) : actual == expected; // eslint-disable-line eqeqeq\n }\n\n /*\n * 7.4. For all other Object pairs, including Array objects, equivalence is\n * determined by having the same number of owned properties (as verified\n * with Object.prototype.hasOwnProperty.call), the same set of keys\n * (although not necessarily the same order), equivalent values for every\n * corresponding key, and an identical 'prototype' property. Note: this\n * accounts for both named and indexed properties on Arrays.\n */\n // see https://github.com/nodejs/node/commit/d3aafd02efd3a403d646a3044adcf14e63a88d32 for memos/channel inspiration\n\n var hasActual = channel.has(actual);\n var hasExpected = channel.has(expected);\n var sentinel;\n if (hasActual && hasExpected) {\n if (channel.get(actual) === channel.get(expected)) {\n return true;\n }\n } else {\n sentinel = {};\n }\n if (!hasActual) { channel.set(actual, sentinel); }\n if (!hasExpected) { channel.set(expected, sentinel); }\n\n // eslint-disable-next-line no-use-before-define\n return objEquiv(actual, expected, opts, channel);\n}\n\nfunction isBuffer(x) {\n if (!x || typeof x !== 'object' || typeof x.length !== 'number') {\n return false;\n }\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n if (x.length > 0 && typeof x[0] !== 'number') {\n return false;\n }\n\n return !!(x.constructor && x.constructor.isBuffer && x.constructor.isBuffer(x));\n}\n\nfunction setEquiv(a, b, opts, channel) {\n if ($setSize(a) !== $setSize(b)) {\n return false;\n }\n var iA = getIterator(a);\n var iB = getIterator(b);\n var resultA;\n var resultB;\n var set;\n while ((resultA = iA.next()) && !resultA.done) {\n if (resultA.value && typeof resultA.value === 'object') {\n if (!set) { set = new $Set(); }\n $setAdd(set, resultA.value);\n } else if (!$setHas(b, resultA.value)) {\n if (opts.strict) { return false; }\n if (!setMightHaveLoosePrim(a, b, resultA.value)) {\n return false;\n }\n if (!set) { set = new $Set(); }\n $setAdd(set, resultA.value);\n }\n }\n if (set) {\n while ((resultB = iB.next()) && !resultB.done) {\n // We have to check if a primitive value is already matching and only if it's not, go hunting for it.\n if (resultB.value && typeof resultB.value === 'object') {\n if (!setHasEqualElement(set, resultB.value, opts.strict, channel)) {\n return false;\n }\n } else if (\n !opts.strict\n && !$setHas(a, resultB.value)\n && !setHasEqualElement(set, resultB.value, opts.strict, channel)\n ) {\n return false;\n }\n }\n return $setSize(set) === 0;\n }\n return true;\n}\n\nfunction mapEquiv(a, b, opts, channel) {\n if ($mapSize(a) !== $mapSize(b)) {\n return false;\n }\n var iA = getIterator(a);\n var iB = getIterator(b);\n var resultA;\n var resultB;\n var set;\n var key;\n var item1;\n var item2;\n while ((resultA = iA.next()) && !resultA.done) {\n key = resultA.value[0];\n item1 = resultA.value[1];\n if (key && typeof key === 'object') {\n if (!set) { set = new $Set(); }\n $setAdd(set, key);\n } else {\n item2 = $mapGet(b, key);\n if ((typeof item2 === 'undefined' && !$mapHas(b, key)) || !internalDeepEqual(item1, item2, opts, channel)) {\n if (opts.strict) {\n return false;\n }\n if (!mapMightHaveLoosePrim(a, b, key, item1, opts, channel)) {\n return false;\n }\n if (!set) { set = new $Set(); }\n $setAdd(set, key);\n }\n }\n }\n\n if (set) {\n while ((resultB = iB.next()) && !resultB.done) {\n key = resultB.value[0];\n item2 = resultB.value[1];\n if (key && typeof key === 'object') {\n if (!mapHasEqualEntry(set, a, key, item2, opts, channel)) {\n return false;\n }\n } else if (\n !opts.strict\n && (!a.has(key) || !internalDeepEqual($mapGet(a, key), item2, opts, channel))\n && !mapHasEqualEntry(set, a, key, item2, assign({}, opts, { strict: false }), channel)\n ) {\n return false;\n }\n }\n return $setSize(set) === 0;\n }\n return true;\n}\n\nfunction objEquiv(a, b, opts, channel) {\n /* eslint max-statements: [2, 100], max-lines-per-function: [2, 120], max-depth: [2, 5], max-lines: [2, 400] */\n var i, key;\n\n if (typeof a !== typeof b) { return false; }\n if (a == null || b == null) { return false; }\n\n if ($objToString(a) !== $objToString(b)) { return false; }\n\n if (isArguments(a) !== isArguments(b)) { return false; }\n\n var aIsArray = isArray(a);\n var bIsArray = isArray(b);\n if (aIsArray !== bIsArray) { return false; }\n\n // TODO: replace when a cross-realm brand check is available\n var aIsError = a instanceof Error;\n var bIsError = b instanceof Error;\n if (aIsError !== bIsError) { return false; }\n if (aIsError || bIsError) {\n if (a.name !== b.name || a.message !== b.message) { return false; }\n }\n\n var aIsRegex = isRegex(a);\n var bIsRegex = isRegex(b);\n if (aIsRegex !== bIsRegex) { return false; }\n if ((aIsRegex || bIsRegex) && (a.source !== b.source || flags(a) !== flags(b))) {\n return false;\n }\n\n var aIsDate = isDate(a);\n var bIsDate = isDate(b);\n if (aIsDate !== bIsDate) { return false; }\n if (aIsDate || bIsDate) { // && would work too, because both are true or both false here\n if ($getTime(a) !== $getTime(b)) { return false; }\n }\n if (opts.strict && gPO && gPO(a) !== gPO(b)) { return false; }\n\n var aWhich = whichTypedArray(a);\n var bWhich = whichTypedArray(b);\n if ((aWhich || bWhich) && aWhich !== bWhich) {\n return false;\n }\n\n var aIsBuffer = isBuffer(a);\n var bIsBuffer = isBuffer(b);\n if (aIsBuffer !== bIsBuffer) { return false; }\n if (aIsBuffer || bIsBuffer) { // && would work too, because both are true or both false here\n if (a.length !== b.length) { return false; }\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) { return false; }\n }\n return true;\n }\n\n var aIsArrayBuffer = isArrayBuffer(a);\n var bIsArrayBuffer = isArrayBuffer(b);\n if (aIsArrayBuffer !== bIsArrayBuffer) { return false; }\n if (aIsArrayBuffer || bIsArrayBuffer) { // && would work too, because both are true or both false here\n if (byteLength(a) !== byteLength(b)) { return false; }\n return typeof Uint8Array === 'function' && internalDeepEqual(new Uint8Array(a), new Uint8Array(b), opts, channel);\n }\n\n var aIsSAB = isSharedArrayBuffer(a);\n var bIsSAB = isSharedArrayBuffer(b);\n if (aIsSAB !== bIsSAB) { return false; }\n if (aIsSAB || bIsSAB) { // && would work too, because both are true or both false here\n if (sabByteLength(a) !== sabByteLength(b)) { return false; }\n return typeof Uint8Array === 'function' && internalDeepEqual(new Uint8Array(a), new Uint8Array(b), opts, channel);\n }\n\n if (typeof a !== typeof b) { return false; }\n\n var ka = objectKeys(a);\n var kb = objectKeys(b);\n // having the same number of owned properties (keys incorporates hasOwnProperty)\n if (ka.length !== kb.length) { return false; }\n\n // the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n // ~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i]) { return false; } // eslint-disable-line eqeqeq\n }\n\n // equivalent values for every corresponding key, and ~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!internalDeepEqual(a[key], b[key], opts, channel)) { return false; }\n }\n\n var aCollection = whichCollection(a);\n var bCollection = whichCollection(b);\n if (aCollection !== bCollection) {\n return false;\n }\n if (aCollection === 'Set' || bCollection === 'Set') { // aCollection === bCollection\n return setEquiv(a, b, opts, channel);\n }\n if (aCollection === 'Map') { // aCollection === bCollection\n return mapEquiv(a, b, opts, channel);\n }\n\n return true;\n}\n\nmodule.exports = function deepEqual(a, b, opts) {\n return internalDeepEqual(a, b, opts, getSideChannel());\n};\n","'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction getMergeFunction(key, options) {\n\tif (!options.customMerge) {\n\t\treturn deepmerge\n\t}\n\tvar customMerge = options.customMerge(key);\n\treturn typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n\treturn Object.getOwnPropertySymbols\n\t\t? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n\t\t\treturn Object.propertyIsEnumerable.call(target, symbol)\n\t\t})\n\t\t: []\n}\n\nfunction getKeys(target) {\n\treturn Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction propertyIsOnObject(object, property) {\n\ttry {\n\t\treturn property in object\n\t} catch(_) {\n\t\treturn false\n\t}\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target, key) {\n\treturn propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n\t\t&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n\t\t\t&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tgetKeys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tgetKeys(source).forEach(function(key) {\n\t\tif (propertyIsUnsafe(target, key)) {\n\t\t\treturn\n\t\t}\n\n\t\tif (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n\t\t\tdestination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\t// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n\t// implementations can use it. The caller may not replace it.\n\toptions.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n","/* eslint-env browser */\nmodule.exports = typeof self == 'object' ? self.FormData : window.FormData;\n","'use strict'\nfunction tryStringify (o) {\n try { return JSON.stringify(o) } catch(e) { return '\"[Circular]\"' }\n}\n\nmodule.exports = format\n\nfunction format(f, args, opts) {\n var ss = (opts && opts.stringify) || tryStringify\n var offset = 1\n if (typeof f === 'object' && f !== null) {\n var len = args.length + offset\n if (len === 1) return f\n var objects = new Array(len)\n objects[0] = ss(f)\n for (var index = 1; index < len; index++) {\n objects[index] = ss(args[index])\n }\n return objects.join(' ')\n }\n if (typeof f !== 'string') {\n return f\n }\n var argLen = args.length\n if (argLen === 0) return f\n var str = ''\n var a = 1 - offset\n var lastPos = -1\n var flen = (f && f.length) || 0\n for (var i = 0; i < flen;) {\n if (f.charCodeAt(i) === 37 && i + 1 < flen) {\n lastPos = lastPos > -1 ? lastPos : 0\n switch (f.charCodeAt(i + 1)) {\n case 100: // 'd'\n case 102: // 'f'\n if (a >= argLen)\n break\n if (args[a] == null) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += Number(args[a])\n lastPos = i + 2\n i++\n break\n case 105: // 'i'\n if (a >= argLen)\n break\n if (args[a] == null) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += Math.floor(Number(args[a]))\n lastPos = i + 2\n i++\n break\n case 79: // 'O'\n case 111: // 'o'\n case 106: // 'j'\n if (a >= argLen)\n break\n if (args[a] === undefined) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n var type = typeof args[a]\n if (type === 'string') {\n str += '\\'' + args[a] + '\\''\n lastPos = i + 2\n i++\n break\n }\n if (type === 'function') {\n str += args[a].name || '<anonymous>'\n lastPos = i + 2\n i++\n break\n }\n str += ss(args[a])\n lastPos = i + 2\n i++\n break\n case 115: // 's'\n if (a >= argLen)\n break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += String(args[a])\n lastPos = i + 2\n i++\n break\n case 37: // '%'\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += '%'\n lastPos = i + 2\n i++\n a--\n break\n }\n ++a\n }\n ++i\n }\n if (lastPos === -1)\n return f\n else if (lastPos < flen) {\n str += f.slice(lastPos)\n }\n\n return str\n}\n","'use strict'\n\nconst format = require('quick-format-unescaped')\n\nmodule.exports = pino\n\nconst _console = pfGlobalThisOrFallback().console || {}\nconst stdSerializers = {\n mapHttpRequest: mock,\n mapHttpResponse: mock,\n wrapRequestSerializer: passthrough,\n wrapResponseSerializer: passthrough,\n wrapErrorSerializer: passthrough,\n req: mock,\n res: mock,\n err: asErrValue,\n errWithCause: asErrValue\n}\n\nfunction shouldSerialize (serialize, serializers) {\n if (Array.isArray(serialize)) {\n const hasToFilter = serialize.filter(function (k) {\n return k !== '!stdSerializers.err'\n })\n return hasToFilter\n } else if (serialize === true) {\n return Object.keys(serializers)\n }\n\n return false\n}\n\nfunction pino (opts) {\n opts = opts || {}\n opts.browser = opts.browser || {}\n\n const transmit = opts.browser.transmit\n if (transmit && typeof transmit.send !== 'function') { throw Error('pino: transmit option must have a send function') }\n\n const proto = opts.browser.write || _console\n if (opts.browser.write) opts.browser.asObject = true\n const serializers = opts.serializers || {}\n const serialize = shouldSerialize(opts.browser.serialize, serializers)\n let stdErrSerialize = opts.browser.serialize\n\n if (\n Array.isArray(opts.browser.serialize) &&\n opts.browser.serialize.indexOf('!stdSerializers.err') > -1\n ) stdErrSerialize = false\n\n const customLevels = Object.keys(opts.customLevels || {})\n const levels = ['error', 'fatal', 'warn', 'info', 'debug', 'trace'].concat(customLevels)\n\n if (typeof proto === 'function') {\n levels.forEach(function (level) {\n proto[level] = proto\n })\n }\n if (opts.enabled === false || opts.browser.disabled) opts.level = 'silent'\n const level = opts.level || 'info'\n const logger = Object.create(proto)\n if (!logger.log) logger.log = noop\n\n Object.defineProperty(logger, 'levelVal', {\n get: getLevelVal\n })\n Object.defineProperty(logger, 'level', {\n get: getLevel,\n set: setLevel\n })\n\n const setOpts = {\n transmit,\n serialize,\n asObject: opts.browser.asObject,\n levels,\n timestamp: getTimeFunction(opts)\n }\n logger.levels = getLevels(opts)\n logger.level = level\n\n logger.setMaxListeners = logger.getMaxListeners =\n logger.emit = logger.addListener = logger.on =\n logger.prependListener = logger.once =\n logger.prependOnceListener = logger.removeListener =\n logger.removeAllListeners = logger.listeners =\n logger.listenerCount = logger.eventNames =\n logger.write = logger.flush = noop\n logger.serializers = serializers\n logger._serialize = serialize\n logger._stdErrSerialize = stdErrSerialize\n logger.child = child\n\n if (transmit) logger._logEvent = createLogEventShape()\n\n function getLevelVal () {\n return this.level === 'silent'\n ? Infinity\n : this.levels.values[this.level]\n }\n\n function getLevel () {\n return this._level\n }\n function setLevel (level) {\n if (level !== 'silent' && !this.levels.values[level]) {\n throw Error('unknown level ' + level)\n }\n this._level = level\n\n set(setOpts, logger, 'error', 'log') // <-- must stay first\n set(setOpts, logger, 'fatal', 'error')\n set(setOpts, logger, 'warn', 'error')\n set(setOpts, logger, 'info', 'log')\n set(setOpts, logger, 'debug', 'log')\n set(setOpts, logger, 'trace', 'log')\n\n customLevels.forEach(function (level) {\n set(setOpts, logger, level, 'log')\n })\n }\n\n function child (bindings, childOptions) {\n if (!bindings) {\n throw new Error('missing bindings for child Pino')\n }\n childOptions = childOptions || {}\n if (serialize && bindings.serializers) {\n childOptions.serializers = bindings.serializers\n }\n const childOptionsSerializers = childOptions.serializers\n if (serialize && childOptionsSerializers) {\n var childSerializers = Object.assign({}, serializers, childOptionsSerializers)\n var childSerialize = opts.browser.serialize === true\n ? Object.keys(childSerializers)\n : serialize\n delete bindings.serializers\n applySerializers([bindings], childSerialize, childSerializers, this._stdErrSerialize)\n }\n function Child (parent) {\n this._childLevel = (parent._childLevel | 0) + 1\n this.error = bind(parent, bindings, 'error')\n this.fatal = bind(parent, bindings, 'fatal')\n this.warn = bind(parent, bindings, 'warn')\n this.info = bind(parent, bindings, 'info')\n this.debug = bind(parent, bindings, 'debug')\n this.trace = bind(parent, bindings, 'trace')\n if (childSerializers) {\n this.serializers = childSerializers\n this._serialize = childSerialize\n }\n if (transmit) {\n this._logEvent = createLogEventShape(\n [].concat(parent._logEvent.bindings, bindings)\n )\n }\n }\n Child.prototype = this\n return new Child(this)\n }\n return logger\n}\n\nfunction getLevels (opts) {\n const customLevels = opts.customLevels || {}\n\n const values = Object.assign({}, pino.levels.values, customLevels)\n const labels = Object.assign({}, pino.levels.labels, invertObject(customLevels))\n\n return {\n values,\n labels\n }\n}\n\nfunction invertObject (obj) {\n const inverted = {}\n Object.keys(obj).forEach(function (key) {\n inverted[obj[key]] = key\n })\n return inverted\n}\n\npino.levels = {\n values: {\n fatal: 60,\n error: 50,\n warn: 40,\n info: 30,\n debug: 20,\n trace: 10\n },\n labels: {\n 10: 'trace',\n 20: 'debug',\n 30: 'info',\n 40: 'warn',\n 50: 'error',\n 60: 'fatal'\n }\n}\n\npino.stdSerializers = stdSerializers\npino.stdTimeFunctions = Object.assign({}, { nullTime, epochTime, unixTime, isoTime })\n\nfunction set (opts, logger, level, fallback) {\n const proto = Object.getPrototypeOf(logger)\n logger[level] = logger.levelVal > logger.levels.values[level]\n ? noop\n : (proto[level] ? proto[level] : (_console[level] || _console[fallback] || noop))\n\n wrap(opts, logger, level)\n}\n\nfunction wrap (opts, logger, level) {\n if (!opts.transmit && logger[level] === noop) return\n\n logger[level] = (function (write) {\n return function LOG () {\n const ts = opts.timestamp()\n const args = new Array(arguments.length)\n const proto = (Object.getPrototypeOf && Object.getPrototypeOf(this) === _console) ? _console : this\n for (var i = 0; i < args.length; i++) args[i] = arguments[i]\n\n if (opts.serialize && !opts.asObject) {\n applySerializers(args, this._serialize, this.serializers, this._stdErrSerialize)\n }\n if (opts.asObject) write.call(proto, asObject(this, level, args, ts))\n else write.apply(proto, args)\n\n if (opts.transmit) {\n const transmitLevel = opts.transmit.level || logger.level\n const transmitValue = logger.levels.values[transmitLevel]\n const methodValue = logger.levels.values[level]\n if (methodValue < transmitValue) return\n transmit(this, {\n ts,\n methodLevel: level,\n methodValue,\n transmitLevel,\n transmitValue: logger.levels.values[opts.transmit.level || logger.level],\n send: opts.transmit.send,\n val: logger.levelVal\n }, args)\n }\n }\n })(logger[level])\n}\n\nfunction asObject (logger, level, args, ts) {\n if (logger._serialize) applySerializers(args, logger._serialize, logger.serializers, logger._stdErrSerialize)\n const argsCloned = args.slice()\n let msg = argsCloned[0]\n const o = {}\n if (ts) {\n o.time = ts\n }\n o.level = logger.levels.values[level]\n let lvl = (logger._childLevel | 0) + 1\n if (lvl < 1) lvl = 1\n // deliberate, catching objects, arrays\n if (msg !== null && typeof msg === 'object') {\n while (lvl-- && typeof argsCloned[0] === 'object') {\n Object.assign(o, argsCloned.shift())\n }\n msg = argsCloned.length ? format(argsCloned.shift(), argsCloned) : undefined\n } else if (typeof msg === 'string') msg = format(argsCloned.shift(), argsCloned)\n if (msg !== undefined) o.msg = msg\n return o\n}\n\nfunction applySerializers (args, serialize, serializers, stdErrSerialize) {\n for (const i in args) {\n if (stdErrSerialize && args[i] instanceof Error) {\n args[i] = pino.stdSerializers.err(args[i])\n } else if (typeof args[i] === 'object' && !Array.isArray(args[i])) {\n for (const k in args[i]) {\n if (serialize && serialize.indexOf(k) > -1 && k in serializers) {\n args[i][k] = serializers[k](args[i][k])\n }\n }\n }\n }\n}\n\nfunction bind (parent, bindings, level) {\n return function () {\n const args = new Array(1 + arguments.length)\n args[0] = bindings\n for (var i = 1; i < args.length; i++) {\n args[i] = arguments[i - 1]\n }\n return parent[level].apply(this, args)\n }\n}\n\nfunction transmit (logger, opts, args) {\n const send = opts.send\n const ts = opts.ts\n const methodLevel = opts.methodLevel\n const methodValue = opts.methodValue\n const val = opts.val\n const bindings = logger._logEvent.bindings\n\n applySerializers(\n args,\n logger._serialize || Object.keys(logger.serializers),\n logger.serializers,\n logger._stdErrSerialize === undefined ? true : logger._stdErrSerialize\n )\n logger._logEvent.ts = ts\n logger._logEvent.messages = args.filter(function (arg) {\n // bindings can only be objects, so reference equality check via indexOf is fine\n return bindings.indexOf(arg) === -1\n })\n\n logger._logEvent.level.label = methodLevel\n logger._logEvent.level.value = methodValue\n\n send(methodLevel, logger._logEvent, val)\n\n logger._logEvent = createLogEventShape(bindings)\n}\n\nfunction createLogEventShape (bindings) {\n return {\n ts: 0,\n messages: [],\n bindings: bindings || [],\n level: { label: '', value: 0 }\n }\n}\n\nfunction asErrValue (err) {\n const obj = {\n type: err.constructor.name,\n msg: err.message,\n stack: err.stack\n }\n for (const key in err) {\n if (obj[key] === undefined) {\n obj[key] = err[key]\n }\n }\n return obj\n}\n\nfunction getTimeFunction (opts) {\n if (typeof opts.timestamp === 'function') {\n return opts.timestamp\n }\n if (opts.timestamp === false) {\n return nullTime\n }\n return epochTime\n}\n\nfunction mock () { return {} }\nfunction passthrough (a) { return a }\nfunction noop () {}\n\nfunction nullTime () { return false }\nfunction epochTime () { return Date.now() }\nfunction unixTime () { return Math.round(Date.now() / 1000.0) }\nfunction isoTime () { return new Date(Date.now()).toISOString() } // using Date.now() for testability\n\n/* eslint-disable */\n/* istanbul ignore next */\nfunction pfGlobalThisOrFallback () {\n function defd (o) { return typeof o !== 'undefined' && o }\n try {\n if (typeof globalThis !== 'undefined') return globalThis\n Object.defineProperty(Object.prototype, 'globalThis', {\n get: function () {\n delete Object.prototype.globalThis\n return (this.globalThis = this)\n },\n configurable: true\n })\n return globalThis\n } catch (e) {\n return defd(self) || defd(window) || defd(this) || {}\n }\n}\n/* eslint-enable */\n","!function(e){var t;\"object\"==typeof exports?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(\"undefined\"!=typeof window?t=window:\"undefined\"!=typeof global?t=global:\"undefined\"!=typeof self&&(t=self),t.objectHash=e())}(function(){return function r(o,i,u){function s(n,e){if(!i[n]){if(!o[n]){var t=\"function\"==typeof require&&require;if(!e&&t)return t(n,!0);if(a)return a(n,!0);throw new Error(\"Cannot find module '\"+n+\"'\")}e=i[n]={exports:{}};o[n][0].call(e.exports,function(e){var t=o[n][1][e];return s(t||e)},e,e.exports,r,o,i,u)}return i[n].exports}for(var a=\"function\"==typeof require&&require,e=0;e<u.length;e++)s(u[e]);return s}({1:[function(w,b,m){!function(e,n,s,c,d,h,p,g,y){\"use strict\";var r=w(\"crypto\");function t(e,t){t=u(e,t);var n;return void 0===(n=\"passthrough\"!==t.algorithm?r.createHash(t.algorithm):new l).write&&(n.write=n.update,n.end=n.update),f(t,n).dispatch(e),n.update||n.end(\"\"),n.digest?n.digest(\"buffer\"===t.encoding?void 0:t.encoding):(e=n.read(),\"buffer\"!==t.encoding?e.toString(t.encoding):e)}(m=b.exports=t).sha1=function(e){return t(e)},m.keys=function(e){return t(e,{excludeValues:!0,algorithm:\"sha1\",encoding:\"hex\"})},m.MD5=function(e){return t(e,{algorithm:\"md5\",encoding:\"hex\"})},m.keysMD5=function(e){return t(e,{algorithm:\"md5\",encoding:\"hex\",excludeValues:!0})};var o=r.getHashes?r.getHashes().slice():[\"sha1\",\"md5\"],i=(o.push(\"passthrough\"),[\"buffer\",\"hex\",\"binary\",\"base64\"]);function u(e,t){var n={};if(n.algorithm=(t=t||{}).algorithm||\"sha1\",n.encoding=t.encoding||\"hex\",n.excludeValues=!!t.excludeValues,n.algorithm=n.algorithm.toLowerCase(),n.encoding=n.encoding.toLowerCase(),n.ignoreUnknown=!0===t.ignoreUnknown,n.respectType=!1!==t.respectType,n.respectFunctionNames=!1!==t.respectFunctionNames,n.respectFunctionProperties=!1!==t.respectFunctionProperties,n.unorderedArrays=!0===t.unorderedArrays,n.unorderedSets=!1!==t.unorderedSets,n.unorderedObjects=!1!==t.unorderedObjects,n.replacer=t.replacer||void 0,n.excludeKeys=t.excludeKeys||void 0,void 0===e)throw new Error(\"Object argument required.\");for(var r=0;r<o.length;++r)o[r].toLowerCase()===n.algorithm.toLowerCase()&&(n.algorithm=o[r]);if(-1===o.indexOf(n.algorithm))throw new Error('Algorithm \"'+n.algorithm+'\" not supported. supported values: '+o.join(\", \"));if(-1===i.indexOf(n.encoding)&&\"passthrough\"!==n.algorithm)throw new Error('Encoding \"'+n.encoding+'\" not supported. supported values: '+i.join(\", \"));return n}function a(e){if(\"function\"==typeof e)return null!=/^function\\s+\\w*\\s*\\(\\s*\\)\\s*{\\s+\\[native code\\]\\s+}$/i.exec(Function.prototype.toString.call(e))}function f(o,t,i){i=i||[];function u(e){return t.update?t.update(e,\"utf8\"):t.write(e,\"utf8\")}return{dispatch:function(e){return this[\"_\"+(null===(e=o.replacer?o.replacer(e):e)?\"null\":typeof e)](e)},_object:function(t){var n,e=Object.prototype.toString.call(t),r=/\\[object (.*)\\]/i.exec(e);r=(r=r?r[1]:\"unknown:[\"+e+\"]\").toLowerCase();if(0<=(e=i.indexOf(t)))return this.dispatch(\"[CIRCULAR:\"+e+\"]\");if(i.push(t),void 0!==s&&s.isBuffer&&s.isBuffer(t))return u(\"buffer:\"),u(t);if(\"object\"===r||\"function\"===r||\"asyncfunction\"===r)return e=Object.keys(t),o.unorderedObjects&&(e=e.sort()),!1===o.respectType||a(t)||e.splice(0,0,\"prototype\",\"__proto__\",\"constructor\"),o.excludeKeys&&(e=e.filter(function(e){return!o.excludeKeys(e)})),u(\"object:\"+e.length+\":\"),n=this,e.forEach(function(e){n.dispatch(e),u(\":\"),o.excludeValues||n.dispatch(t[e]),u(\",\")});if(!this[\"_\"+r]){if(o.ignoreUnknown)return u(\"[\"+r+\"]\");throw new Error('Unknown object type \"'+r+'\"')}this[\"_\"+r](t)},_array:function(e,t){t=void 0!==t?t:!1!==o.unorderedArrays;var n=this;if(u(\"array:\"+e.length+\":\"),!t||e.length<=1)return e.forEach(function(e){return n.dispatch(e)});var r=[],t=e.map(function(e){var t=new l,n=i.slice();return f(o,t,n).dispatch(e),r=r.concat(n.slice(i.length)),t.read().toString()});return i=i.concat(r),t.sort(),this._array(t,!1)},_date:function(e){return u(\"date:\"+e.toJSON())},_symbol:function(e){return u(\"symbol:\"+e.toString())},_error:function(e){return u(\"error:\"+e.toString())},_boolean:function(e){return u(\"bool:\"+e.toString())},_string:function(e){u(\"string:\"+e.length+\":\"),u(e.toString())},_function:function(e){u(\"fn:\"),a(e)?this.dispatch(\"[native]\"):this.dispatch(e.toString()),!1!==o.respectFunctionNames&&this.dispatch(\"function-name:\"+String(e.name)),o.respectFunctionProperties&&this._object(e)},_number:function(e){return u(\"number:\"+e.toString())},_xml:function(e){return u(\"xml:\"+e.toString())},_null:function(){return u(\"Null\")},_undefined:function(){return u(\"Undefined\")},_regexp:function(e){return u(\"regex:\"+e.toString())},_uint8array:function(e){return u(\"uint8array:\"),this.dispatch(Array.prototype.slice.call(e))},_uint8clampedarray:function(e){return u(\"uint8clampedarray:\"),this.dispatch(Array.prototype.slice.call(e))},_int8array:function(e){return u(\"int8array:\"),this.dispatch(Array.prototype.slice.call(e))},_uint16array:function(e){return u(\"uint16array:\"),this.dispatch(Array.prototype.slice.call(e))},_int16array:function(e){return u(\"int16array:\"),this.dispatch(Array.prototype.slice.call(e))},_uint32array:function(e){return u(\"uint32array:\"),this.dispatch(Array.prototype.slice.call(e))},_int32array:function(e){return u(\"int32array:\"),this.dispatch(Array.prototype.slice.call(e))},_float32array:function(e){return u(\"float32array:\"),this.dispatch(Array.prototype.slice.call(e))},_float64array:function(e){return u(\"float64array:\"),this.dispatch(Array.prototype.slice.call(e))},_arraybuffer:function(e){return u(\"arraybuffer:\"),this.dispatch(new Uint8Array(e))},_url:function(e){return u(\"url:\"+e.toString())},_map:function(e){u(\"map:\");e=Array.from(e);return this._array(e,!1!==o.unorderedSets)},_set:function(e){u(\"set:\");e=Array.from(e);return this._array(e,!1!==o.unorderedSets)},_file:function(e){return u(\"file:\"),this.dispatch([e.name,e.size,e.type,e.lastModfied])},_blob:function(){if(o.ignoreUnknown)return u(\"[blob]\");throw Error('Hashing Blob objects is currently not supported\\n(see https://github.com/puleos/object-hash/issues/26)\\nUse \"options.replacer\" or \"options.ignoreUnknown\"\\n')},_domwindow:function(){return u(\"domwindow\")},_bigint:function(e){return u(\"bigint:\"+e.toString())},_process:function(){return u(\"process\")},_timer:function(){return u(\"timer\")},_pipe:function(){return u(\"pipe\")},_tcp:function(){return u(\"tcp\")},_udp:function(){return u(\"udp\")},_tty:function(){return u(\"tty\")},_statwatcher:function(){return u(\"statwatcher\")},_securecontext:function(){return u(\"securecontext\")},_connection:function(){return u(\"connection\")},_zlib:function(){return u(\"zlib\")},_context:function(){return u(\"context\")},_nodescript:function(){return u(\"nodescript\")},_httpparser:function(){return u(\"httpparser\")},_dataview:function(){return u(\"dataview\")},_signal:function(){return u(\"signal\")},_fsevent:function(){return u(\"fsevent\")},_tlswrap:function(){return u(\"tlswrap\")}}}function l(){return{buf:\"\",write:function(e){this.buf+=e},end:function(e){this.buf+=e},read:function(){return this.buf}}}m.writeToStream=function(e,t,n){return void 0===n&&(n=t,t={}),f(t=u(e,t),n).dispatch(e)}}.call(this,w(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},w(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/fake_9a5aa49d.js\",\"/\")},{buffer:3,crypto:5,lYpoI2:11}],2:[function(e,t,f){!function(e,t,n,r,o,i,u,s,a){!function(e){\"use strict\";var a=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,t=\"+\".charCodeAt(0),n=\"/\".charCodeAt(0),r=\"0\".charCodeAt(0),o=\"a\".charCodeAt(0),i=\"A\".charCodeAt(0),u=\"-\".charCodeAt(0),s=\"_\".charCodeAt(0);function f(e){e=e.charCodeAt(0);return e===t||e===u?62:e===n||e===s?63:e<r?-1:e<r+10?e-r+26+26:e<i+26?e-i:e<o+26?e-o+26:void 0}e.toByteArray=function(e){var t,n;if(0<e.length%4)throw new Error(\"Invalid string. Length must be a multiple of 4\");var r=e.length,r=\"=\"===e.charAt(r-2)?2:\"=\"===e.charAt(r-1)?1:0,o=new a(3*e.length/4-r),i=0<r?e.length-4:e.length,u=0;function s(e){o[u++]=e}for(t=0;t<i;t+=4,0)s((16711680&(n=f(e.charAt(t))<<18|f(e.charAt(t+1))<<12|f(e.charAt(t+2))<<6|f(e.charAt(t+3))))>>16),s((65280&n)>>8),s(255&n);return 2==r?s(255&(n=f(e.charAt(t))<<2|f(e.charAt(t+1))>>4)):1==r&&(s((n=f(e.charAt(t))<<10|f(e.charAt(t+1))<<4|f(e.charAt(t+2))>>2)>>8&255),s(255&n)),o},e.fromByteArray=function(e){var t,n,r,o,i=e.length%3,u=\"\";function s(e){return\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\".charAt(e)}for(t=0,r=e.length-i;t<r;t+=3)n=(e[t]<<16)+(e[t+1]<<8)+e[t+2],u+=s((o=n)>>18&63)+s(o>>12&63)+s(o>>6&63)+s(63&o);switch(i){case 1:u=(u+=s((n=e[e.length-1])>>2))+s(n<<4&63)+\"==\";break;case 2:u=(u=(u+=s((n=(e[e.length-2]<<8)+e[e.length-1])>>10))+s(n>>4&63))+s(n<<2&63)+\"=\"}return u}}(void 0===f?this.base64js={}:f)}.call(this,e(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},e(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/base64-js/lib/b64.js\",\"/node_modules/gulp-browserify/node_modules/base64-js/lib\")},{buffer:3,lYpoI2:11}],3:[function(O,e,H){!function(e,n,f,r,h,p,g,y,w){var a=O(\"base64-js\"),i=O(\"ieee754\");function f(e,t,n){if(!(this instanceof f))return new f(e,t,n);var r,o,i,u,s=typeof e;if(\"base64\"===t&&\"string\"==s)for(e=(u=e).trim?u.trim():u.replace(/^\\s+|\\s+$/g,\"\");e.length%4!=0;)e+=\"=\";if(\"number\"==s)r=j(e);else if(\"string\"==s)r=f.byteLength(e,t);else{if(\"object\"!=s)throw new Error(\"First argument needs to be a number, array or string.\");r=j(e.length)}if(f._useTypedArrays?o=f._augment(new Uint8Array(r)):((o=this).length=r,o._isBuffer=!0),f._useTypedArrays&&\"number\"==typeof e.byteLength)o._set(e);else if(C(u=e)||f.isBuffer(u)||u&&\"object\"==typeof u&&\"number\"==typeof u.length)for(i=0;i<r;i++)f.isBuffer(e)?o[i]=e.readUInt8(i):o[i]=e[i];else if(\"string\"==s)o.write(e,0,t);else if(\"number\"==s&&!f._useTypedArrays&&!n)for(i=0;i<r;i++)o[i]=0;return o}function b(e,t,n,r){return f._charsWritten=c(function(e){for(var t=[],n=0;n<e.length;n++)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function m(e,t,n,r){return f._charsWritten=c(function(e){for(var t,n,r=[],o=0;o<e.length;o++)n=e.charCodeAt(o),t=n>>8,n=n%256,r.push(n),r.push(t);return r}(t),e,n,r)}function v(e,t,n){var r=\"\";n=Math.min(e.length,n);for(var o=t;o<n;o++)r+=String.fromCharCode(e[o]);return r}function o(e,t,n,r){r||(d(\"boolean\"==typeof n,\"missing or invalid endian\"),d(null!=t,\"missing offset\"),d(t+1<e.length,\"Trying to read beyond buffer length\"));var o,r=e.length;if(!(r<=t))return n?(o=e[t],t+1<r&&(o|=e[t+1]<<8)):(o=e[t]<<8,t+1<r&&(o|=e[t+1])),o}function u(e,t,n,r){r||(d(\"boolean\"==typeof n,\"missing or invalid endian\"),d(null!=t,\"missing offset\"),d(t+3<e.length,\"Trying to read beyond buffer length\"));var o,r=e.length;if(!(r<=t))return n?(t+2<r&&(o=e[t+2]<<16),t+1<r&&(o|=e[t+1]<<8),o|=e[t],t+3<r&&(o+=e[t+3]<<24>>>0)):(t+1<r&&(o=e[t+1]<<16),t+2<r&&(o|=e[t+2]<<8),t+3<r&&(o|=e[t+3]),o+=e[t]<<24>>>0),o}function _(e,t,n,r){if(r||(d(\"boolean\"==typeof n,\"missing or invalid endian\"),d(null!=t,\"missing offset\"),d(t+1<e.length,\"Trying to read beyond buffer length\")),!(e.length<=t))return r=o(e,t,n,!0),32768&r?-1*(65535-r+1):r}function E(e,t,n,r){if(r||(d(\"boolean\"==typeof n,\"missing or invalid endian\"),d(null!=t,\"missing offset\"),d(t+3<e.length,\"Trying to read beyond buffer length\")),!(e.length<=t))return r=u(e,t,n,!0),2147483648&r?-1*(4294967295-r+1):r}function I(e,t,n,r){return r||(d(\"boolean\"==typeof n,\"missing or invalid endian\"),d(t+3<e.length,\"Trying to read beyond buffer length\")),i.read(e,t,n,23,4)}function A(e,t,n,r){return r||(d(\"boolean\"==typeof n,\"missing or invalid endian\"),d(t+7<e.length,\"Trying to read beyond buffer length\")),i.read(e,t,n,52,8)}function s(e,t,n,r,o){o||(d(null!=t,\"missing value\"),d(\"boolean\"==typeof r,\"missing or invalid endian\"),d(null!=n,\"missing offset\"),d(n+1<e.length,\"trying to write beyond buffer length\"),Y(t,65535));o=e.length;if(!(o<=n))for(var i=0,u=Math.min(o-n,2);i<u;i++)e[n+i]=(t&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function l(e,t,n,r,o){o||(d(null!=t,\"missing value\"),d(\"boolean\"==typeof r,\"missing or invalid endian\"),d(null!=n,\"missing offset\"),d(n+3<e.length,\"trying to write beyond buffer length\"),Y(t,4294967295));o=e.length;if(!(o<=n))for(var i=0,u=Math.min(o-n,4);i<u;i++)e[n+i]=t>>>8*(r?i:3-i)&255}function B(e,t,n,r,o){o||(d(null!=t,\"missing value\"),d(\"boolean\"==typeof r,\"missing or invalid endian\"),d(null!=n,\"missing offset\"),d(n+1<e.length,\"Trying to write beyond buffer length\"),F(t,32767,-32768)),e.length<=n||s(e,0<=t?t:65535+t+1,n,r,o)}function L(e,t,n,r,o){o||(d(null!=t,\"missing value\"),d(\"boolean\"==typeof r,\"missing or invalid endian\"),d(null!=n,\"missing offset\"),d(n+3<e.length,\"Trying to write beyond buffer length\"),F(t,2147483647,-2147483648)),e.length<=n||l(e,0<=t?t:4294967295+t+1,n,r,o)}function U(e,t,n,r,o){o||(d(null!=t,\"missing value\"),d(\"boolean\"==typeof r,\"missing or invalid endian\"),d(null!=n,\"missing offset\"),d(n+3<e.length,\"Trying to write beyond buffer length\"),D(t,34028234663852886e22,-34028234663852886e22)),e.length<=n||i.write(e,t,n,r,23,4)}function x(e,t,n,r,o){o||(d(null!=t,\"missing value\"),d(\"boolean\"==typeof r,\"missing or invalid endian\"),d(null!=n,\"missing offset\"),d(n+7<e.length,\"Trying to write beyond buffer length\"),D(t,17976931348623157e292,-17976931348623157e292)),e.length<=n||i.write(e,t,n,r,52,8)}H.Buffer=f,H.SlowBuffer=f,H.INSPECT_MAX_BYTES=50,f.poolSize=8192,f._useTypedArrays=function(){try{var e=new ArrayBuffer(0),t=new Uint8Array(e);return t.foo=function(){return 42},42===t.foo()&&\"function\"==typeof t.subarray}catch(e){return!1}}(),f.isEncoding=function(e){switch(String(e).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"binary\":case\"base64\":case\"raw\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},f.isBuffer=function(e){return!(null==e||!e._isBuffer)},f.byteLength=function(e,t){var n;switch(e+=\"\",t||\"utf8\"){case\"hex\":n=e.length/2;break;case\"utf8\":case\"utf-8\":n=T(e).length;break;case\"ascii\":case\"binary\":case\"raw\":n=e.length;break;case\"base64\":n=M(e).length;break;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":n=2*e.length;break;default:throw new Error(\"Unknown encoding\")}return n},f.concat=function(e,t){if(d(C(e),\"Usage: Buffer.concat(list, [totalLength])\\nlist should be an Array.\"),0===e.length)return new f(0);if(1===e.length)return e[0];if(\"number\"!=typeof t)for(o=t=0;o<e.length;o++)t+=e[o].length;for(var n=new f(t),r=0,o=0;o<e.length;o++){var i=e[o];i.copy(n,r),r+=i.length}return n},f.prototype.write=function(e,t,n,r){isFinite(t)?isFinite(n)||(r=n,n=void 0):(a=r,r=t,t=n,n=a),t=Number(t)||0;var o,i,u,s,a=this.length-t;switch((!n||a<(n=Number(n)))&&(n=a),r=String(r||\"utf8\").toLowerCase()){case\"hex\":o=function(e,t,n,r){n=Number(n)||0;var o=e.length-n;(!r||o<(r=Number(r)))&&(r=o),d((o=t.length)%2==0,\"Invalid hex string\"),o/2<r&&(r=o/2);for(var i=0;i<r;i++){var u=parseInt(t.substr(2*i,2),16);d(!isNaN(u),\"Invalid hex string\"),e[n+i]=u}return f._charsWritten=2*i,i}(this,e,t,n);break;case\"utf8\":case\"utf-8\":i=this,u=t,s=n,o=f._charsWritten=c(T(e),i,u,s);break;case\"ascii\":case\"binary\":o=b(this,e,t,n);break;case\"base64\":i=this,u=t,s=n,o=f._charsWritten=c(M(e),i,u,s);break;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":o=m(this,e,t,n);break;default:throw new Error(\"Unknown encoding\")}return o},f.prototype.toString=function(e,t,n){var r,o,i,u,s=this;if(e=String(e||\"utf8\").toLowerCase(),t=Number(t)||0,(n=void 0!==n?Number(n):s.length)===t)return\"\";switch(e){case\"hex\":r=function(e,t,n){var r=e.length;(!t||t<0)&&(t=0);(!n||n<0||r<n)&&(n=r);for(var o=\"\",i=t;i<n;i++)o+=k(e[i]);return o}(s,t,n);break;case\"utf8\":case\"utf-8\":r=function(e,t,n){var r=\"\",o=\"\";n=Math.min(e.length,n);for(var i=t;i<n;i++)e[i]<=127?(r+=N(o)+String.fromCharCode(e[i]),o=\"\"):o+=\"%\"+e[i].toString(16);return r+N(o)}(s,t,n);break;case\"ascii\":case\"binary\":r=v(s,t,n);break;case\"base64\":o=s,u=n,r=0===(i=t)&&u===o.length?a.fromByteArray(o):a.fromByteArray(o.slice(i,u));break;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":r=function(e,t,n){for(var r=e.slice(t,n),o=\"\",i=0;i<r.length;i+=2)o+=String.fromCharCode(r[i]+256*r[i+1]);return o}(s,t,n);break;default:throw new Error(\"Unknown encoding\")}return r},f.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}},f.prototype.copy=function(e,t,n,r){if(t=t||0,(r=r||0===r?r:this.length)!==(n=n||0)&&0!==e.length&&0!==this.length){d(n<=r,\"sourceEnd < sourceStart\"),d(0<=t&&t<e.length,\"targetStart out of bounds\"),d(0<=n&&n<this.length,\"sourceStart out of bounds\"),d(0<=r&&r<=this.length,\"sourceEnd out of bounds\"),r>this.length&&(r=this.length);var o=(r=e.length-t<r-n?e.length-t+n:r)-n;if(o<100||!f._useTypedArrays)for(var i=0;i<o;i++)e[i+t]=this[i+n];else e._set(this.subarray(n,n+o),t)}},f.prototype.slice=function(e,t){var n=this.length;if(e=S(e,n,0),t=S(t,n,n),f._useTypedArrays)return f._augment(this.subarray(e,t));for(var r=t-e,o=new f(r,void 0,!0),i=0;i<r;i++)o[i]=this[i+e];return o},f.prototype.get=function(e){return console.log(\".get() is deprecated. Access using array indexes instead.\"),this.readUInt8(e)},f.prototype.set=function(e,t){return console.log(\".set() is deprecated. Access using array indexes instead.\"),this.writeUInt8(e,t)},f.prototype.readUInt8=function(e,t){if(t||(d(null!=e,\"missing offset\"),d(e<this.length,\"Trying to read beyond buffer length\")),!(e>=this.length))return this[e]},f.prototype.readUInt16LE=function(e,t){return o(this,e,!0,t)},f.prototype.readUInt16BE=function(e,t){return o(this,e,!1,t)},f.prototype.readUInt32LE=function(e,t){return u(this,e,!0,t)},f.prototype.readUInt32BE=function(e,t){return u(this,e,!1,t)},f.prototype.readInt8=function(e,t){if(t||(d(null!=e,\"missing offset\"),d(e<this.length,\"Trying to read beyond buffer length\")),!(e>=this.length))return 128&this[e]?-1*(255-this[e]+1):this[e]},f.prototype.readInt16LE=function(e,t){return _(this,e,!0,t)},f.prototype.readInt16BE=function(e,t){return _(this,e,!1,t)},f.prototype.readInt32LE=function(e,t){return E(this,e,!0,t)},f.prototype.readInt32BE=function(e,t){return E(this,e,!1,t)},f.prototype.readFloatLE=function(e,t){return I(this,e,!0,t)},f.prototype.readFloatBE=function(e,t){return I(this,e,!1,t)},f.prototype.readDoubleLE=function(e,t){return A(this,e,!0,t)},f.prototype.readDoubleBE=function(e,t){return A(this,e,!1,t)},f.prototype.writeUInt8=function(e,t,n){n||(d(null!=e,\"missing value\"),d(null!=t,\"missing offset\"),d(t<this.length,\"trying to write beyond buffer length\"),Y(e,255)),t>=this.length||(this[t]=e)},f.prototype.writeUInt16LE=function(e,t,n){s(this,e,t,!0,n)},f.prototype.writeUInt16BE=function(e,t,n){s(this,e,t,!1,n)},f.prototype.writeUInt32LE=function(e,t,n){l(this,e,t,!0,n)},f.prototype.writeUInt32BE=function(e,t,n){l(this,e,t,!1,n)},f.prototype.writeInt8=function(e,t,n){n||(d(null!=e,\"missing value\"),d(null!=t,\"missing offset\"),d(t<this.length,\"Trying to write beyond buffer length\"),F(e,127,-128)),t>=this.length||(0<=e?this.writeUInt8(e,t,n):this.writeUInt8(255+e+1,t,n))},f.prototype.writeInt16LE=function(e,t,n){B(this,e,t,!0,n)},f.prototype.writeInt16BE=function(e,t,n){B(this,e,t,!1,n)},f.prototype.writeInt32LE=function(e,t,n){L(this,e,t,!0,n)},f.prototype.writeInt32BE=function(e,t,n){L(this,e,t,!1,n)},f.prototype.writeFloatLE=function(e,t,n){U(this,e,t,!0,n)},f.prototype.writeFloatBE=function(e,t,n){U(this,e,t,!1,n)},f.prototype.writeDoubleLE=function(e,t,n){x(this,e,t,!0,n)},f.prototype.writeDoubleBE=function(e,t,n){x(this,e,t,!1,n)},f.prototype.fill=function(e,t,n){if(t=t||0,n=n||this.length,d(\"number\"==typeof(e=\"string\"==typeof(e=e||0)?e.charCodeAt(0):e)&&!isNaN(e),\"value is not a number\"),d(t<=n,\"end < start\"),n!==t&&0!==this.length){d(0<=t&&t<this.length,\"start out of bounds\"),d(0<=n&&n<=this.length,\"end out of bounds\");for(var r=t;r<n;r++)this[r]=e}},f.prototype.inspect=function(){for(var e=[],t=this.length,n=0;n<t;n++)if(e[n]=k(this[n]),n===H.INSPECT_MAX_BYTES){e[n+1]=\"...\";break}return\"<Buffer \"+e.join(\" \")+\">\"},f.prototype.toArrayBuffer=function(){if(\"undefined\"==typeof Uint8Array)throw new Error(\"Buffer.toArrayBuffer not supported in this browser\");if(f._useTypedArrays)return new f(this).buffer;for(var e=new Uint8Array(this.length),t=0,n=e.length;t<n;t+=1)e[t]=this[t];return e.buffer};var t=f.prototype;function S(e,t,n){return\"number\"!=typeof e?n:t<=(e=~~e)?t:0<=e||0<=(e+=t)?e:0}function j(e){return(e=~~Math.ceil(+e))<0?0:e}function C(e){return(Array.isArray||function(e){return\"[object Array]\"===Object.prototype.toString.call(e)})(e)}function k(e){return e<16?\"0\"+e.toString(16):e.toString(16)}function T(e){for(var t=[],n=0;n<e.length;n++){var r=e.charCodeAt(n);if(r<=127)t.push(e.charCodeAt(n));else for(var o=n,i=(55296<=r&&r<=57343&&n++,encodeURIComponent(e.slice(o,n+1)).substr(1).split(\"%\")),u=0;u<i.length;u++)t.push(parseInt(i[u],16))}return t}function M(e){return a.toByteArray(e)}function c(e,t,n,r){for(var o=0;o<r&&!(o+n>=t.length||o>=e.length);o++)t[o+n]=e[o];return o}function N(e){try{return decodeURIComponent(e)}catch(e){return String.fromCharCode(65533)}}function Y(e,t){d(\"number\"==typeof e,\"cannot write a non-number as a number\"),d(0<=e,\"specified a negative value for writing an unsigned value\"),d(e<=t,\"value is larger than maximum value for type\"),d(Math.floor(e)===e,\"value has a fractional component\")}function F(e,t,n){d(\"number\"==typeof e,\"cannot write a non-number as a number\"),d(e<=t,\"value larger than maximum allowed value\"),d(n<=e,\"value smaller than minimum allowed value\"),d(Math.floor(e)===e,\"value has a fractional component\")}function D(e,t,n){d(\"number\"==typeof e,\"cannot write a non-number as a number\"),d(e<=t,\"value larger than maximum allowed value\"),d(n<=e,\"value smaller than minimum allowed value\")}function d(e,t){if(!e)throw new Error(t||\"Failed assertion\")}f._augment=function(e){return e._isBuffer=!0,e._get=e.get,e._set=e.set,e.get=t.get,e.set=t.set,e.write=t.write,e.toString=t.toString,e.toLocaleString=t.toString,e.toJSON=t.toJSON,e.copy=t.copy,e.slice=t.slice,e.readUInt8=t.readUInt8,e.readUInt16LE=t.readUInt16LE,e.readUInt16BE=t.readUInt16BE,e.readUInt32LE=t.readUInt32LE,e.readUInt32BE=t.readUInt32BE,e.readInt8=t.readInt8,e.readInt16LE=t.readInt16LE,e.readInt16BE=t.readInt16BE,e.readInt32LE=t.readInt32LE,e.readInt32BE=t.readInt32BE,e.readFloatLE=t.readFloatLE,e.readFloatBE=t.readFloatBE,e.readDoubleLE=t.readDoubleLE,e.readDoubleBE=t.readDoubleBE,e.writeUInt8=t.writeUInt8,e.writeUInt16LE=t.writeUInt16LE,e.writeUInt16BE=t.writeUInt16BE,e.writeUInt32LE=t.writeUInt32LE,e.writeUInt32BE=t.writeUInt32BE,e.writeInt8=t.writeInt8,e.writeInt16LE=t.writeInt16LE,e.writeInt16BE=t.writeInt16BE,e.writeInt32LE=t.writeInt32LE,e.writeInt32BE=t.writeInt32BE,e.writeFloatLE=t.writeFloatLE,e.writeFloatBE=t.writeFloatBE,e.writeDoubleLE=t.writeDoubleLE,e.writeDoubleBE=t.writeDoubleBE,e.fill=t.fill,e.inspect=t.inspect,e.toArrayBuffer=t.toArrayBuffer,e}}.call(this,O(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},O(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/buffer/index.js\",\"/node_modules/gulp-browserify/node_modules/buffer\")},{\"base64-js\":2,buffer:3,ieee754:10,lYpoI2:11}],4:[function(c,d,e){!function(e,t,a,n,r,o,i,u,s){var a=c(\"buffer\").Buffer,f=4,l=new a(f);l.fill(0);d.exports={hash:function(e,t,n,r){for(var o=t(function(e,t){e.length%f!=0&&(n=e.length+(f-e.length%f),e=a.concat([e,l],n));for(var n,r=[],o=t?e.readInt32BE:e.readInt32LE,i=0;i<e.length;i+=f)r.push(o.call(e,i));return r}(e=a.isBuffer(e)?e:new a(e),r),8*e.length),t=r,i=new a(n),u=t?i.writeInt32BE:i.writeInt32LE,s=0;s<o.length;s++)u.call(i,o[s],4*s,!0);return i}}}.call(this,c(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},c(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/crypto-browserify/helpers.js\",\"/node_modules/gulp-browserify/node_modules/crypto-browserify\")},{buffer:3,lYpoI2:11}],5:[function(v,e,_){!function(l,c,u,d,h,p,g,y,w){var u=v(\"buffer\").Buffer,e=v(\"./sha\"),t=v(\"./sha256\"),n=v(\"./rng\"),b={sha1:e,sha256:t,md5:v(\"./md5\")},s=64,a=new u(s);function r(e,n){var r=b[e=e||\"sha1\"],o=[];return r||i(\"algorithm:\",e,\"is not yet supported\"),{update:function(e){return u.isBuffer(e)||(e=new u(e)),o.push(e),e.length,this},digest:function(e){var t=u.concat(o),t=n?function(e,t,n){u.isBuffer(t)||(t=new u(t)),u.isBuffer(n)||(n=new u(n)),t.length>s?t=e(t):t.length<s&&(t=u.concat([t,a],s));for(var r=new u(s),o=new u(s),i=0;i<s;i++)r[i]=54^t[i],o[i]=92^t[i];return n=e(u.concat([r,n])),e(u.concat([o,n]))}(r,n,t):r(t);return o=null,e?t.toString(e):t}}}function i(){var e=[].slice.call(arguments).join(\" \");throw new Error([e,\"we accept pull requests\",\"http://github.com/dominictarr/crypto-browserify\"].join(\"\\n\"))}a.fill(0),_.createHash=function(e){return r(e)},_.createHmac=r,_.randomBytes=function(e,t){if(!t||!t.call)return new u(n(e));try{t.call(this,void 0,new u(n(e)))}catch(e){t(e)}};var o,f=[\"createCredentials\",\"createCipher\",\"createCipheriv\",\"createDecipher\",\"createDecipheriv\",\"createSign\",\"createVerify\",\"createDiffieHellman\",\"pbkdf2\"],m=function(e){_[e]=function(){i(\"sorry,\",e,\"is not implemented yet\")}};for(o in f)m(f[o],o)}.call(this,v(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},v(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/crypto-browserify/index.js\",\"/node_modules/gulp-browserify/node_modules/crypto-browserify\")},{\"./md5\":6,\"./rng\":7,\"./sha\":8,\"./sha256\":9,buffer:3,lYpoI2:11}],6:[function(w,b,e){!function(e,r,o,i,u,a,f,l,y){var t=w(\"./helpers\");function n(e,t){e[t>>5]|=128<<t%32,e[14+(t+64>>>9<<4)]=t;for(var n=1732584193,r=-271733879,o=-1732584194,i=271733878,u=0;u<e.length;u+=16){var s=n,a=r,f=o,l=i,n=c(n,r,o,i,e[u+0],7,-680876936),i=c(i,n,r,o,e[u+1],12,-389564586),o=c(o,i,n,r,e[u+2],17,606105819),r=c(r,o,i,n,e[u+3],22,-1044525330);n=c(n,r,o,i,e[u+4],7,-176418897),i=c(i,n,r,o,e[u+5],12,1200080426),o=c(o,i,n,r,e[u+6],17,-1473231341),r=c(r,o,i,n,e[u+7],22,-45705983),n=c(n,r,o,i,e[u+8],7,1770035416),i=c(i,n,r,o,e[u+9],12,-1958414417),o=c(o,i,n,r,e[u+10],17,-42063),r=c(r,o,i,n,e[u+11],22,-1990404162),n=c(n,r,o,i,e[u+12],7,1804603682),i=c(i,n,r,o,e[u+13],12,-40341101),o=c(o,i,n,r,e[u+14],17,-1502002290),n=d(n,r=c(r,o,i,n,e[u+15],22,1236535329),o,i,e[u+1],5,-165796510),i=d(i,n,r,o,e[u+6],9,-1069501632),o=d(o,i,n,r,e[u+11],14,643717713),r=d(r,o,i,n,e[u+0],20,-373897302),n=d(n,r,o,i,e[u+5],5,-701558691),i=d(i,n,r,o,e[u+10],9,38016083),o=d(o,i,n,r,e[u+15],14,-660478335),r=d(r,o,i,n,e[u+4],20,-405537848),n=d(n,r,o,i,e[u+9],5,568446438),i=d(i,n,r,o,e[u+14],9,-1019803690),o=d(o,i,n,r,e[u+3],14,-187363961),r=d(r,o,i,n,e[u+8],20,1163531501),n=d(n,r,o,i,e[u+13],5,-1444681467),i=d(i,n,r,o,e[u+2],9,-51403784),o=d(o,i,n,r,e[u+7],14,1735328473),n=h(n,r=d(r,o,i,n,e[u+12],20,-1926607734),o,i,e[u+5],4,-378558),i=h(i,n,r,o,e[u+8],11,-2022574463),o=h(o,i,n,r,e[u+11],16,1839030562),r=h(r,o,i,n,e[u+14],23,-35309556),n=h(n,r,o,i,e[u+1],4,-1530992060),i=h(i,n,r,o,e[u+4],11,1272893353),o=h(o,i,n,r,e[u+7],16,-155497632),r=h(r,o,i,n,e[u+10],23,-1094730640),n=h(n,r,o,i,e[u+13],4,681279174),i=h(i,n,r,o,e[u+0],11,-358537222),o=h(o,i,n,r,e[u+3],16,-722521979),r=h(r,o,i,n,e[u+6],23,76029189),n=h(n,r,o,i,e[u+9],4,-640364487),i=h(i,n,r,o,e[u+12],11,-421815835),o=h(o,i,n,r,e[u+15],16,530742520),n=p(n,r=h(r,o,i,n,e[u+2],23,-995338651),o,i,e[u+0],6,-198630844),i=p(i,n,r,o,e[u+7],10,1126891415),o=p(o,i,n,r,e[u+14],15,-1416354905),r=p(r,o,i,n,e[u+5],21,-57434055),n=p(n,r,o,i,e[u+12],6,1700485571),i=p(i,n,r,o,e[u+3],10,-1894986606),o=p(o,i,n,r,e[u+10],15,-1051523),r=p(r,o,i,n,e[u+1],21,-2054922799),n=p(n,r,o,i,e[u+8],6,1873313359),i=p(i,n,r,o,e[u+15],10,-30611744),o=p(o,i,n,r,e[u+6],15,-1560198380),r=p(r,o,i,n,e[u+13],21,1309151649),n=p(n,r,o,i,e[u+4],6,-145523070),i=p(i,n,r,o,e[u+11],10,-1120210379),o=p(o,i,n,r,e[u+2],15,718787259),r=p(r,o,i,n,e[u+9],21,-343485551),n=g(n,s),r=g(r,a),o=g(o,f),i=g(i,l)}return Array(n,r,o,i)}function s(e,t,n,r,o,i){return g((t=g(g(t,e),g(r,i)))<<o|t>>>32-o,n)}function c(e,t,n,r,o,i,u){return s(t&n|~t&r,e,t,o,i,u)}function d(e,t,n,r,o,i,u){return s(t&r|n&~r,e,t,o,i,u)}function h(e,t,n,r,o,i,u){return s(t^n^r,e,t,o,i,u)}function p(e,t,n,r,o,i,u){return s(n^(t|~r),e,t,o,i,u)}function g(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}b.exports=function(e){return t.hash(e,n,16)}}.call(this,w(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},w(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/crypto-browserify/md5.js\",\"/node_modules/gulp-browserify/node_modules/crypto-browserify\")},{\"./helpers\":4,buffer:3,lYpoI2:11}],7:[function(e,l,t){!function(e,t,n,r,o,i,u,s,f){var a;l.exports=a||function(e){for(var t,n=new Array(e),r=0;r<e;r++)0==(3&r)&&(t=4294967296*Math.random()),n[r]=t>>>((3&r)<<3)&255;return n}}.call(this,e(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},e(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/crypto-browserify/rng.js\",\"/node_modules/gulp-browserify/node_modules/crypto-browserify\")},{buffer:3,lYpoI2:11}],8:[function(c,d,e){!function(e,t,n,r,o,s,a,f,l){var i=c(\"./helpers\");function u(l,c){l[c>>5]|=128<<24-c%32,l[15+(c+64>>9<<4)]=c;for(var e,t,n,r=Array(80),o=1732584193,i=-271733879,u=-1732584194,s=271733878,d=-1009589776,h=0;h<l.length;h+=16){for(var p=o,g=i,y=u,w=s,b=d,a=0;a<80;a++){r[a]=a<16?l[h+a]:v(r[a-3]^r[a-8]^r[a-14]^r[a-16],1);var f=m(m(v(o,5),(f=i,t=u,n=s,(e=a)<20?f&t|~f&n:!(e<40)&&e<60?f&t|f&n|t&n:f^t^n)),m(m(d,r[a]),(e=a)<20?1518500249:e<40?1859775393:e<60?-1894007588:-899497514)),d=s,s=u,u=v(i,30),i=o,o=f}o=m(o,p),i=m(i,g),u=m(u,y),s=m(s,w),d=m(d,b)}return Array(o,i,u,s,d)}function m(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}function v(e,t){return e<<t|e>>>32-t}d.exports=function(e){return i.hash(e,u,20,!0)}}.call(this,c(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},c(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha.js\",\"/node_modules/gulp-browserify/node_modules/crypto-browserify\")},{\"./helpers\":4,buffer:3,lYpoI2:11}],9:[function(c,d,e){!function(e,t,n,r,u,s,a,f,l){function b(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}function o(e,l){var c,d=new Array(1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298),t=new Array(1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225),n=new Array(64);e[l>>5]|=128<<24-l%32,e[15+(l+64>>9<<4)]=l;for(var r,o,h=0;h<e.length;h+=16){for(var i=t[0],u=t[1],s=t[2],p=t[3],a=t[4],g=t[5],y=t[6],w=t[7],f=0;f<64;f++)n[f]=f<16?e[f+h]:b(b(b((o=n[f-2],m(o,17)^m(o,19)^v(o,10)),n[f-7]),(o=n[f-15],m(o,7)^m(o,18)^v(o,3))),n[f-16]),c=b(b(b(b(w,m(o=a,6)^m(o,11)^m(o,25)),a&g^~a&y),d[f]),n[f]),r=b(m(r=i,2)^m(r,13)^m(r,22),i&u^i&s^u&s),w=y,y=g,g=a,a=b(p,c),p=s,s=u,u=i,i=b(c,r);t[0]=b(i,t[0]),t[1]=b(u,t[1]),t[2]=b(s,t[2]),t[3]=b(p,t[3]),t[4]=b(a,t[4]),t[5]=b(g,t[5]),t[6]=b(y,t[6]),t[7]=b(w,t[7])}return t}var i=c(\"./helpers\"),m=function(e,t){return e>>>t|e<<32-t},v=function(e,t){return e>>>t};d.exports=function(e){return i.hash(e,o,32,!0)}}.call(this,c(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},c(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha256.js\",\"/node_modules/gulp-browserify/node_modules/crypto-browserify\")},{\"./helpers\":4,buffer:3,lYpoI2:11}],10:[function(e,t,f){!function(e,t,n,r,o,i,u,s,a){f.read=function(e,t,n,r,o){var i,u,l=8*o-r-1,c=(1<<l)-1,d=c>>1,s=-7,a=n?o-1:0,f=n?-1:1,o=e[t+a];for(a+=f,i=o&(1<<-s)-1,o>>=-s,s+=l;0<s;i=256*i+e[t+a],a+=f,s-=8);for(u=i&(1<<-s)-1,i>>=-s,s+=r;0<s;u=256*u+e[t+a],a+=f,s-=8);if(0===i)i=1-d;else{if(i===c)return u?NaN:1/0*(o?-1:1);u+=Math.pow(2,r),i-=d}return(o?-1:1)*u*Math.pow(2,i-r)},f.write=function(e,t,l,n,r,c){var o,i,u=8*c-r-1,s=(1<<u)-1,a=s>>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:c-1,h=n?1:-1,c=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(i=isNaN(t)?1:0,o=s):(o=Math.floor(Math.log(t)/Math.LN2),t*(n=Math.pow(2,-o))<1&&(o--,n*=2),2<=(t+=1<=o+a?d/n:d*Math.pow(2,1-a))*n&&(o++,n/=2),s<=o+a?(i=0,o=s):1<=o+a?(i=(t*n-1)*Math.pow(2,r),o+=a):(i=t*Math.pow(2,a-1)*Math.pow(2,r),o=0));8<=r;e[l+f]=255&i,f+=h,i/=256,r-=8);for(o=o<<r|i,u+=r;0<u;e[l+f]=255&o,f+=h,o/=256,u-=8);e[l+f-h]|=128*c}}.call(this,e(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},e(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/ieee754/index.js\",\"/node_modules/gulp-browserify/node_modules/ieee754\")},{buffer:3,lYpoI2:11}],11:[function(e,h,t){!function(e,t,n,r,o,f,l,c,d){var i,u,s;function a(){}(e=h.exports={}).nextTick=(u=\"undefined\"!=typeof window&&window.setImmediate,s=\"undefined\"!=typeof window&&window.postMessage&&window.addEventListener,u?function(e){return window.setImmediate(e)}:s?(i=[],window.addEventListener(\"message\",function(e){var t=e.source;t!==window&&null!==t||\"process-tick\"!==e.data||(e.stopPropagation(),0<i.length&&i.shift()())},!0),function(e){i.push(e),window.postMessage(\"process-tick\",\"*\")}):function(e){setTimeout(e,0)}),e.title=\"browser\",e.browser=!0,e.env={},e.argv=[],e.on=a,e.addListener=a,e.once=a,e.off=a,e.removeListener=a,e.removeAllListeners=a,e.emit=a,e.binding=function(e){throw new Error(\"process.binding is not supported\")},e.cwd=function(){return\"/\"},e.chdir=function(e){throw new Error(\"process.chdir is not supported\")}}.call(this,e(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},e(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/process/browser.js\",\"/node_modules/gulp-browserify/node_modules/process\")},{buffer:3,lYpoI2:11}]},{},[1])(1)});","/**\n * Byte sizes are taken from ECMAScript Language Specification\n * http://www.ecma-international.org/ecma-262/5.1/\n * http://bclary.com/2004/11/07/#a-4.3.16\n */\n\nmodule.exports = {\n STRING: 2,\n BOOLEAN: 4,\n BYTES: 4,\n NUMBER: 8,\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n}\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nconst base64 = require('base64-js')\nconst ieee754 = require('ieee754')\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return '<Buffer ' + str + '>'\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n","// Copyright 2023 ChatGPT Jan 9 Version\n/* eslint-disable new-cap */ // to fix new Buffer.from\n'use strict'\nconst ECMA_SIZES = require('./byte_size')\nconst Buffer = require('buffer/').Buffer\n\n/**\n * Precisely calculate size of string in node\n * Based on https://stackoverflow.com/questions/68789144/how-much-memory-do-v8-take-to-store-a-string/68791382#68791382\n * @param {} str\n */\nfunction preciseStringSizeNode (str) {\n return 12 + 4 * Math.ceil(str.length / 4)\n}\n\n/**\n * In the browser environment, window and document are defined as global objects\n * @returns true if its a Node.js env, false if it is a browser\n */\nfunction isNodeEnvironment () {\n if (typeof window !== 'undefined' && typeof document !== 'undefined') {\n return false\n }\n return true\n}\n\n/**\n * Size in bytes for complex objects\n * @param {*} obj\n * @returns size in bytes, or -1 if JSON.stringify threw an exception\n */\nfunction objectSizeComplex (obj) {\n let totalSize = 0\n const errorIndication = -1\n try {\n // analyse the object to calculate it better\n let potentialConversion = obj\n if (obj instanceof Map) {\n // convert the map to an object\n potentialConversion = Object.fromEntries(obj)\n } else if (obj instanceof Set) {\n // convert the set to an array\n potentialConversion = Array.from(obj)\n }\n if (obj instanceof Int8Array) {\n return obj.length * ECMA_SIZES.Int8Array\n } else if (obj instanceof Uint8Array || obj instanceof Uint8ClampedArray) {\n return obj.length * ECMA_SIZES.Uint8Array\n } else if (obj instanceof Int16Array) {\n return obj.length * ECMA_SIZES.Int16Array\n } else if (obj instanceof Uint16Array) {\n return obj.length * ECMA_SIZES.Uint16Array\n } else if (obj instanceof Int32Array) {\n return obj.length * ECMA_SIZES.Int32Array\n } else if (obj instanceof Uint32Array) {\n return obj.length * ECMA_SIZES.Uint32Array\n } else if (obj instanceof Float32Array) {\n return obj.length * ECMA_SIZES.Float32Array\n } else if (obj instanceof Float64Array) {\n return obj.length * ECMA_SIZES.Float64Array\n }\n const objectToString = JSON.stringify(potentialConversion)\n const buffer = new Buffer.from(objectToString)\n totalSize = buffer.byteLength\n } catch (ex) {\n console.error('Error detected, return ' + errorIndication, ex)\n return errorIndication\n }\n return totalSize\n}\n\n/**\n * Size in bytes for primitive types\n * @param {*} obj\n * @returns size in bytes\n */\nfunction objectSizeSimple (obj) {\n const objectList = []\n const stack = [obj]\n let bytes = 0\n\n while (stack.length) {\n const value = stack.pop()\n\n if (typeof value === 'boolean') {\n bytes += ECMA_SIZES.BYTES\n } else if (typeof value === 'string') {\n if (isNodeEnvironment()) {\n bytes += preciseStringSizeNode(value)\n } else {\n bytes += value.length * ECMA_SIZES.STRING\n }\n } else if (typeof value === 'number') {\n bytes += ECMA_SIZES.NUMBER\n } else if (typeof value === 'symbol') {\n const isGlobalSymbol = Symbol.keyFor && Symbol.keyFor(obj)\n if (isGlobalSymbol) {\n bytes += Symbol.keyFor(obj).length * ECMA_SIZES.STRING\n } else {\n bytes += (obj.toString().length - 8) * ECMA_SIZES.STRING\n }\n } else if (typeof value === 'bigint') {\n bytes += Buffer.from(value.toString()).byteLength\n } else if (typeof value === 'function') {\n bytes += value.toString().length\n } else if (typeof value === 'object' && objectList.indexOf(value) === -1) {\n objectList.push(value)\n\n for (const i in value) {\n stack.push(value[i])\n }\n }\n }\n return bytes\n}\n\nmodule.exports = function (obj) {\n let totalSize = 0\n\n if (obj !== null && typeof obj === 'object') {\n totalSize = objectSizeComplex(obj)\n } else {\n totalSize = objectSizeSimple(obj)\n }\n\n return totalSize\n}\n","export { TabbyAgent, TabbyAgentOptions } from \"./TabbyAgent\";\nexport {\n Agent,\n AgentStatus,\n AgentFunction,\n AgentEvent,\n StatusChangedEvent,\n ConfigUpdatedEvent,\n CompletionRequest,\n CompletionResponse,\n LogEventRequest,\n agentEventNames,\n} from \"./Agent\";\nexport { AgentConfig } from \"./AgentConfig\";\nexport { DataStore } from \"./dataStore\";\nexport { CancelablePromise } from \"./generated\";\n","import { EventEmitter } from \"events\";\nimport { v4 as uuid } from \"uuid\";\nimport deepEqual from \"deep-equal\";\nimport deepMerge from \"deepmerge\";\nimport { TabbyApi, CancelablePromise } from \"./generated\";\nimport { cancelable, splitLines, isBlank } from \"./utils\";\nimport {\n Agent,\n AgentStatus,\n AgentEvent,\n AgentInitOptions,\n CompletionRequest,\n CompletionResponse,\n LogEventRequest,\n} from \"./Agent\";\nimport { Auth } from \"./Auth\";\nimport { AgentConfig, defaultAgentConfig } from \"./AgentConfig\";\nimport { CompletionCache } from \"./CompletionCache\";\nimport { DataStore } from \"./dataStore\";\nimport { postprocess } from \"./postprocess\";\nimport { rootLogger, allLoggers } from \"./logger\";\n\n/**\n * Different from AgentInitOptions or AgentConfig, this may contain non-serializable objects,\n * so it is not suitable for cli, but only used when imported as module by other js project.\n */\nexport type TabbyAgentOptions = {\n dataStore: DataStore;\n};\n\nexport class TabbyAgent extends EventEmitter implements Agent {\n private readonly logger = rootLogger.child({ component: \"TabbyAgent\" });\n private config: AgentConfig = defaultAgentConfig;\n private status: AgentStatus = \"notInitialized\";\n private api: TabbyApi;\n private auth: Auth;\n private dataStore: DataStore | null = null;\n private completionCache: CompletionCache = new CompletionCache();\n static readonly tryConnectInterval = 1000 * 30; // 30s\n private tryingConnectTimer: ReturnType<typeof setInterval> | null = null;\n\n private constructor() {\n super();\n\n this.tryingConnectTimer = setInterval(async () => {\n if (this.status === \"disconnected\") {\n this.logger.debug(\"Trying to connect...\");\n await this.healthCheck();\n }\n }, TabbyAgent.tryConnectInterval);\n }\n\n static async create(options?: Partial<TabbyAgentOptions>): Promise<TabbyAgent> {\n const agent = new TabbyAgent();\n agent.dataStore = options?.dataStore;\n await agent.applyConfig();\n return agent;\n }\n\n private async applyConfig() {\n allLoggers.forEach((logger) => (logger.level = this.config.logs.level));\n if (this.config.server.endpoint !== this.auth?.endpoint) {\n this.auth = await Auth.create({ endpoint: this.config.server.endpoint, dataStore: this.dataStore });\n this.auth.on(\"updated\", this.onAuthUpdated.bind(this));\n }\n this.api = new TabbyApi({ BASE: this.config.server.endpoint, TOKEN: this.auth.token });\n }\n\n private async onAuthUpdated() {\n this.api = new TabbyApi({ BASE: this.config.server.endpoint, TOKEN: this.auth.token });\n await this.healthCheck();\n }\n\n private changeStatus(status: AgentStatus) {\n if (this.status != status) {\n this.status = status;\n const event: AgentEvent = { event: \"statusChanged\", status };\n this.logger.debug({ event }, \"Status changed\");\n super.emit(\"statusChanged\", event);\n }\n }\n\n private callApi<Request, Response>(\n api: (request: Request) => CancelablePromise<Response>,\n request: Request\n ): CancelablePromise<Response> {\n this.logger.debug({ api: api.name, request }, \"API request\");\n const promise = api.call(this.api.v1, request);\n return cancelable(\n promise\n .then((response: Response) => {\n this.logger.debug({ api: api.name, response }, \"API response\");\n this.changeStatus(\"ready\");\n return response;\n })\n .catch((error) => {\n if (!!error.isCancelled) {\n this.logger.debug({ api: api.name, error }, \"API request canceled\");\n } else if (error.name === \"ApiError\" && [401, 403, 405].indexOf(error.status) !== -1) {\n this.logger.debug({ api: api.name, error }, \"API unauthorized\");\n this.changeStatus(\"unauthorized\");\n } else if (error.name === \"ApiError\") {\n this.logger.error({ api: api.name, error }, \"API error\");\n this.changeStatus(\"disconnected\");\n } else {\n this.logger.error({ api: api.name, error }, \"API request failed with unknown error\");\n this.changeStatus(\"disconnected\");\n }\n throw error;\n }),\n () => {\n promise.cancel();\n }\n );\n }\n\n private async healthCheck(): Promise<void> {\n return this.callApi(this.api.v1.health, {}).catch(() => {});\n }\n\n private createSegments(request: CompletionRequest): { prefix: string; suffix: string } {\n // max to 20 lines in prefix and max to 20 lines in suffix\n const maxLines = 20;\n const prefix = request.text.slice(0, request.position);\n const prefixLines = splitLines(prefix);\n const suffix = request.text.slice(request.position);\n const suffixLines = splitLines(suffix);\n return {\n prefix: prefixLines.slice(Math.max(prefixLines.length - maxLines, 0)).join(\"\"),\n suffix: suffixLines.slice(0, maxLines).join(\"\"),\n };\n }\n\n public async initialize(options: Partial<AgentInitOptions>): Promise<boolean> {\n if (options.client) {\n // Client info is only used in logging for now\n // `pino.Logger.setBindings` is not present in the browser\n allLoggers.forEach((logger) => logger.setBindings && logger.setBindings({ client: options.client }));\n }\n if (options.config) {\n await this.updateConfig(options.config);\n }\n this.logger.debug({ options }, \"Initialized\");\n return this.status !== \"notInitialized\";\n }\n\n public async updateConfig(config: Partial<AgentConfig>): Promise<boolean> {\n const mergedConfig = deepMerge(this.config, config);\n if (!deepEqual(this.config, mergedConfig)) {\n this.config = mergedConfig;\n await this.applyConfig();\n const event: AgentEvent = { event: \"configUpdated\", config: this.config };\n this.logger.debug({ event }, \"Config updated\");\n super.emit(\"configUpdated\", event);\n }\n await this.healthCheck();\n return this.status !== \"notInitialized\";\n }\n\n public getConfig(): AgentConfig {\n return this.config;\n }\n\n public getStatus(): AgentStatus {\n return this.status;\n }\n\n public startAuth(): CancelablePromise<string | null> {\n return cancelable(\n this.healthCheck().then(() => {\n if (this.status === \"unauthorized\") {\n return this.auth.requestToken();\n }\n return null;\n }),\n () => {\n if (this.status === \"unauthorized\") {\n this.auth.reset();\n }\n }\n );\n }\n\n public getCompletions(request: CompletionRequest): CancelablePromise<CompletionResponse> {\n if (this.status === \"notInitialized\") {\n throw new Error(\"Agent is not initialized\");\n }\n if (this.completionCache.has(request)) {\n this.logger.debug({ request }, \"Completion cache hit\");\n return new CancelablePromise((resolve) => {\n resolve(this.completionCache.get(request));\n });\n }\n const segments = this.createSegments(request);\n if (isBlank(segments.prefix)) {\n this.logger.debug(\"Segment prefix is blank, returning empty completion response\");\n return new CancelablePromise((resolve) => {\n resolve({\n id: \"agent-\" + uuid(),\n choices: [],\n });\n });\n }\n const promise = this.callApi(this.api.v1.completion, {\n language: request.language,\n segments,\n });\n return cancelable(\n promise\n .then((response) => {\n return postprocess(request, response);\n })\n .then((response) => {\n this.completionCache.set(request, response);\n return response;\n }),\n () => {\n promise.cancel();\n }\n );\n }\n\n public postEvent(request: LogEventRequest): CancelablePromise<boolean> {\n if (this.status === \"notInitialized\") {\n throw new Error(\"Agent is not initialized\");\n }\n return this.callApi(this.api.v1.event, request);\n }\n}\n","import { y } from './chunk-4bd36a8f.js';\nexport { y as default } from './chunk-4bd36a8f.js';\n\n// https://github.com/denoland/deno_std/blob/d005433c709054af87aca54f57a446b4f7966f11/node/events.ts#L501-L638\r\ny.once = function (emitter, event) {\r\n return new Promise((resolve, reject) => {\r\n function eventListener(...args) {\r\n if (errorListener !== undefined) {\r\n emitter.removeListener('error', errorListener);\r\n }\r\n resolve(args);\r\n }\r\n let errorListener;\r\n if (event !== 'error') {\r\n // deno-lint-ignore no-explicit-any\r\n errorListener = (err) => {\r\n emitter.removeListener(name, eventListener);\r\n reject(err);\r\n };\r\n\r\n emitter.once('error', errorListener);\r\n }\r\n\r\n emitter.once(event, eventListener);\r\n });\r\n};\r\ny.on = function (emitter, event) {\r\n const unconsumedEventValues = [];\r\n const unconsumedPromises = [];\r\n let error = null;\r\n let finished = false;\r\n\r\n const iterator = {\r\n async next() {\r\n const value = unconsumedEventValues.shift();\r\n if (value) {\r\n return createIterResult(value, false);\r\n }\r\n\r\n if (error) {\r\n const p = Promise.reject(error);\r\n error = null;\r\n return p;\r\n }\r\n\r\n if (finished) {\r\n return createIterResult(undefined, true);\r\n }\r\n\r\n return new Promise((resolve, reject) => unconsumedPromises.push({ resolve, reject }));\r\n },\r\n async return() {\r\n emitter.removeListener(event, eventHandler);\r\n emitter.removeListener('error', errorHandler);\r\n finished = true;\r\n\r\n for (const promise of unconsumedPromises) {\r\n promise.resolve(createIterResult(undefined, true));\r\n }\r\n\r\n return createIterResult(undefined, true);\r\n },\r\n throw(err) {\r\n error = err;\r\n emitter.removeListener(event, eventHandler);\r\n emitter.removeListener('error', errorHandler);\r\n },\r\n [Symbol.asyncIterator]() {\r\n return this;\r\n },\r\n };\r\n\r\n emitter.on(event, eventHandler);\r\n emitter.on('error', errorHandler);\r\n\r\n return iterator;\r\n\r\n function eventHandler(...args) {\r\n const promise = unconsumedPromises.shift();\r\n if (promise) {\r\n promise.resolve(createIterResult(args, false));\r\n } else {\r\n unconsumedEventValues.push(args);\r\n }\r\n }\r\n\r\n function errorHandler(err) {\r\n finished = true;\r\n const toError = unconsumedPromises.shift();\r\n if (toError) {\r\n toError.reject(err);\r\n } else {\r\n error = err;\r\n }\r\n iterator.return();\r\n }\r\n};\r\nconst {\r\n EventEmitter,\r\n defaultMaxListeners,\r\n init,\r\n listenerCount,\r\n on,\r\n once,\r\n} = y;\n\nexport { EventEmitter, defaultMaxListeners, init, listenerCount, on, once };\n","var e,t,n=\"object\"==typeof Reflect?Reflect:null,r=n&&\"function\"==typeof n.apply?n.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};t=n&&\"function\"==typeof n.ownKeys?n.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var i=Number.isNaN||function(e){return e!=e};function o(){o.init.call(this);}e=o,o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var s=10;function u(e){if(\"function\"!=typeof e)throw new TypeError('The \"listener\" argument must be of type Function. Received type '+typeof e)}function f(e){return void 0===e._maxListeners?o.defaultMaxListeners:e._maxListeners}function v(e,t,n,r){var i,o,s,v;if(u(n),void 0===(o=e._events)?(o=e._events=Object.create(null),e._eventsCount=0):(void 0!==o.newListener&&(e.emit(\"newListener\",t,n.listener?n.listener:n),o=e._events),s=o[t]),void 0===s)s=o[t]=n,++e._eventsCount;else if(\"function\"==typeof s?s=o[t]=r?[n,s]:[s,n]:r?s.unshift(n):s.push(n),(i=f(e))>0&&s.length>i&&!s.warned){s.warned=!0;var a=new Error(\"Possible EventEmitter memory leak detected. \"+s.length+\" \"+String(t)+\" listeners added. Use emitter.setMaxListeners() to increase limit\");a.name=\"MaxListenersExceededWarning\",a.emitter=e,a.type=t,a.count=s.length,v=a,console&&console.warn&&console.warn(v);}return e}function a(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function l(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=a.bind(r);return i.listener=n,r.wrapFn=i,i}function h(e,t,n){var r=e._events;if(void 0===r)return [];var i=r[t];return void 0===i?[]:\"function\"==typeof i?n?[i.listener||i]:[i]:n?function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(i):c(i,i.length)}function p(e){var t=this._events;if(void 0!==t){var n=t[e];if(\"function\"==typeof n)return 1;if(void 0!==n)return n.length}return 0}function c(e,t){for(var n=new Array(t),r=0;r<t;++r)n[r]=e[r];return n}Object.defineProperty(o,\"defaultMaxListeners\",{enumerable:!0,get:function(){return s},set:function(e){if(\"number\"!=typeof e||e<0||i(e))throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received '+e+\".\");s=e;}}),o.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0;},o.prototype.setMaxListeners=function(e){if(\"number\"!=typeof e||e<0||i(e))throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received '+e+\".\");return this._maxListeners=e,this},o.prototype.getMaxListeners=function(){return f(this)},o.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var i=\"error\"===e,o=this._events;if(void 0!==o)i=i&&void 0===o.error;else if(!i)return !1;if(i){var s;if(t.length>0&&(s=t[0]),s instanceof Error)throw s;var u=new Error(\"Unhandled error.\"+(s?\" (\"+s.message+\")\":\"\"));throw u.context=s,u}var f=o[e];if(void 0===f)return !1;if(\"function\"==typeof f)r(f,this,t);else {var v=f.length,a=c(f,v);for(n=0;n<v;++n)r(a[n],this,t);}return !0},o.prototype.addListener=function(e,t){return v(this,e,t,!1)},o.prototype.on=o.prototype.addListener,o.prototype.prependListener=function(e,t){return v(this,e,t,!0)},o.prototype.once=function(e,t){return u(t),this.on(e,l(this,e,t)),this},o.prototype.prependOnceListener=function(e,t){return u(t),this.prependListener(e,l(this,e,t)),this},o.prototype.removeListener=function(e,t){var n,r,i,o,s;if(u(t),void 0===(r=this._events))return this;if(void 0===(n=r[e]))return this;if(n===t||n.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete r[e],r.removeListener&&this.emit(\"removeListener\",e,n.listener||t));else if(\"function\"!=typeof n){for(i=-1,o=n.length-1;o>=0;o--)if(n[o]===t||n[o].listener===t){s=n[o].listener,i=o;break}if(i<0)return this;0===i?n.shift():!function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop();}(n,i),1===n.length&&(r[e]=n[0]),void 0!==r.removeListener&&this.emit(\"removeListener\",e,s||t);}return this},o.prototype.off=o.prototype.removeListener,o.prototype.removeAllListeners=function(e){var t,n,r;if(void 0===(n=this._events))return this;if(void 0===n.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==n[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete n[e]),this;if(0===arguments.length){var i,o=Object.keys(n);for(r=0;r<o.length;++r)\"removeListener\"!==(i=o[r])&&this.removeAllListeners(i);return this.removeAllListeners(\"removeListener\"),this._events=Object.create(null),this._eventsCount=0,this}if(\"function\"==typeof(t=n[e]))this.removeListener(e,t);else if(void 0!==t)for(r=t.length-1;r>=0;r--)this.removeListener(e,t[r]);return this},o.prototype.listeners=function(e){return h(this,e,!0)},o.prototype.rawListeners=function(e){return h(this,e,!1)},o.listenerCount=function(e,t){return \"function\"==typeof e.listenerCount?e.listenerCount(t):p.call(e,t)},o.prototype.listenerCount=p,o.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]};var y=e;y.EventEmitter;y.defaultMaxListeners;y.init;y.listenerCount;\n\ny.EventEmitter;\ny.defaultMaxListeners;\ny.init;\ny.listenerCount;\n\nexport { y };\n","export { default as v1 } from './v1.js';\nexport { default as v3 } from './v3.js';\nexport { default as v4 } from './v4.js';\nexport { default as v5 } from './v5.js';\nexport { default as NIL } from './nil.js';\nexport { default as version } from './version.js';\nexport { default as validate } from './validate.js';\nexport { default as stringify } from './stringify.js';\nexport { default as parse } from './parse.js';","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nexport { TabbyApi } from './TabbyApi';\n\nexport { ApiError } from './core/ApiError';\nexport { BaseHttpRequest } from './core/BaseHttpRequest';\nexport { CancelablePromise, CancelError } from './core/CancelablePromise';\nexport { OpenAPI } from './core/OpenAPI';\nexport type { OpenAPIConfig } from './core/OpenAPI';\n\nexport type { Choice } from './models/Choice';\nexport type { CompletionRequest } from './models/CompletionRequest';\nexport type { CompletionResponse } from './models/CompletionResponse';\nexport type { LogEventRequest } from './models/LogEventRequest';\nexport type { Segments } from './models/Segments';\n\nexport { V1Service } from './services/V1Service';\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { BaseHttpRequest } from './core/BaseHttpRequest';\nimport type { OpenAPIConfig } from './core/OpenAPI';\nimport { AxiosHttpRequest } from './core/AxiosHttpRequest';\n\nimport { V1Service } from './services/V1Service';\n\ntype HttpRequestConstructor = new (config: OpenAPIConfig) => BaseHttpRequest;\n\nexport class TabbyApi {\n\n public readonly v1: V1Service;\n\n public readonly request: BaseHttpRequest;\n\n constructor(config?: Partial<OpenAPIConfig>, HttpRequest: HttpRequestConstructor = AxiosHttpRequest) {\n this.request = new HttpRequest({\n BASE: config?.BASE ?? 'https://tabbyml.app.tabbyml.com/tabby',\n VERSION: config?.VERSION ?? '0.1.0',\n WITH_CREDENTIALS: config?.WITH_CREDENTIALS ?? false,\n CREDENTIALS: config?.CREDENTIALS ?? 'include',\n TOKEN: config?.TOKEN,\n USERNAME: config?.USERNAME,\n PASSWORD: config?.PASSWORD,\n HEADERS: config?.HEADERS,\n ENCODE_PATH: config?.ENCODE_PATH,\n });\n\n this.v1 = new V1Service(this.request);\n }\n}\n\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport { BaseHttpRequest } from './BaseHttpRequest';\nimport type { CancelablePromise } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\nimport { request as __request } from './request';\n\nexport class AxiosHttpRequest extends BaseHttpRequest {\n\n constructor(config: OpenAPIConfig) {\n super(config);\n }\n\n /**\n * Request method\n * @param options The request options from the service\n * @returns CancelablePromise<T>\n * @throws ApiError\n */\n public override request<T>(options: ApiRequestOptions): CancelablePromise<T> {\n return __request(this.config, options);\n }\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { CancelablePromise } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\n\nexport abstract class BaseHttpRequest {\n\n constructor(public readonly config: OpenAPIConfig) {}\n\n public abstract request<T>(options: ApiRequestOptions): CancelablePromise<T>;\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport axios from 'axios';\nimport type { AxiosError, AxiosRequestConfig, AxiosResponse } from 'axios';\nimport FormData from 'form-data';\n\nimport { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { CancelablePromise } from './CancelablePromise';\nimport type { OnCancel } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\n\nconst isDefined = <T>(value: T | null | undefined): value is Exclude<T, null | undefined> => {\n return value !== undefined && value !== null;\n};\n\nconst isString = (value: any): value is string => {\n return typeof value === 'string';\n};\n\nconst isStringWithValue = (value: any): value is string => {\n return isString(value) && value !== '';\n};\n\nconst isBlob = (value: any): value is Blob => {\n return (\n typeof value === 'object' &&\n typeof value.type === 'string' &&\n typeof value.stream === 'function' &&\n typeof value.arrayBuffer === 'function' &&\n typeof value.constructor === 'function' &&\n typeof value.constructor.name === 'string' &&\n /^(Blob|File)$/.test(value.constructor.name) &&\n /^(Blob|File)$/.test(value[Symbol.toStringTag])\n );\n};\n\nconst isFormData = (value: any): value is FormData => {\n return value instanceof FormData;\n};\n\nconst isSuccess = (status: number): boolean => {\n return status >= 200 && status < 300;\n};\n\nconst base64 = (str: string): string => {\n try {\n return btoa(str);\n } catch (err) {\n // @ts-ignore\n return Buffer.from(str).toString('base64');\n }\n};\n\nconst getQueryString = (params: Record<string, any>): string => {\n const qs: string[] = [];\n\n const append = (key: string, value: any) => {\n qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);\n };\n\n const process = (key: string, value: any) => {\n if (isDefined(value)) {\n if (Array.isArray(value)) {\n value.forEach(v => {\n process(key, v);\n });\n } else if (typeof value === 'object') {\n Object.entries(value).forEach(([k, v]) => {\n process(`${key}[${k}]`, v);\n });\n } else {\n append(key, value);\n }\n }\n };\n\n Object.entries(params).forEach(([key, value]) => {\n process(key, value);\n });\n\n if (qs.length > 0) {\n return `?${qs.join('&')}`;\n }\n\n return '';\n};\n\nconst getUrl = (config: OpenAPIConfig, options: ApiRequestOptions): string => {\n const encoder = config.ENCODE_PATH || encodeURI;\n\n const path = options.url\n .replace('{api-version}', config.VERSION)\n .replace(/{(.*?)}/g, (substring: string, group: string) => {\n if (options.path?.hasOwnProperty(group)) {\n return encoder(String(options.path[group]));\n }\n return substring;\n });\n\n const url = `${config.BASE}${path}`;\n if (options.query) {\n return `${url}${getQueryString(options.query)}`;\n }\n return url;\n};\n\nconst getFormData = (options: ApiRequestOptions): FormData | undefined => {\n if (options.formData) {\n const formData = new FormData();\n\n const process = (key: string, value: any) => {\n if (isString(value) || isBlob(value)) {\n formData.append(key, value);\n } else {\n formData.append(key, JSON.stringify(value));\n }\n };\n\n Object.entries(options.formData)\n .filter(([_, value]) => isDefined(value))\n .forEach(([key, value]) => {\n if (Array.isArray(value)) {\n value.forEach(v => process(key, v));\n } else {\n process(key, value);\n }\n });\n\n return formData;\n }\n return undefined;\n};\n\ntype Resolver<T> = (options: ApiRequestOptions) => Promise<T>;\n\nconst resolve = async <T>(options: ApiRequestOptions, resolver?: T | Resolver<T>): Promise<T | undefined> => {\n if (typeof resolver === 'function') {\n return (resolver as Resolver<T>)(options);\n }\n return resolver;\n};\n\nconst getHeaders = async (config: OpenAPIConfig, options: ApiRequestOptions, formData?: FormData): Promise<Record<string, string>> => {\n const token = await resolve(options, config.TOKEN);\n const username = await resolve(options, config.USERNAME);\n const password = await resolve(options, config.PASSWORD);\n const additionalHeaders = await resolve(options, config.HEADERS);\n const formHeaders = typeof formData?.getHeaders === 'function' && formData?.getHeaders() || {}\n\n const headers = Object.entries({\n Accept: 'application/json',\n ...additionalHeaders,\n ...options.headers,\n ...formHeaders,\n })\n .filter(([_, value]) => isDefined(value))\n .reduce((headers, [key, value]) => ({\n ...headers,\n [key]: String(value),\n }), {} as Record<string, string>);\n\n if (isStringWithValue(token)) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n if (isStringWithValue(username) && isStringWithValue(password)) {\n const credentials = base64(`${username}:${password}`);\n headers['Authorization'] = `Basic ${credentials}`;\n }\n\n if (options.body) {\n if (options.mediaType) {\n headers['Content-Type'] = options.mediaType;\n } else if (isBlob(options.body)) {\n headers['Content-Type'] = options.body.type || 'application/octet-stream';\n } else if (isString(options.body)) {\n headers['Content-Type'] = 'text/plain';\n } else if (!isFormData(options.body)) {\n headers['Content-Type'] = 'application/json';\n }\n }\n\n return headers;\n};\n\nconst getRequestBody = (options: ApiRequestOptions): any => {\n if (options.body) {\n return options.body;\n }\n return undefined;\n};\n\nconst sendRequest = async <T>(\n config: OpenAPIConfig,\n options: ApiRequestOptions,\n url: string,\n body: any,\n formData: FormData | undefined,\n headers: Record<string, string>,\n onCancel: OnCancel\n): Promise<AxiosResponse<T>> => {\n const source = axios.CancelToken.source();\n\n const requestConfig: AxiosRequestConfig = {\n url,\n headers,\n data: body ?? formData,\n method: options.method,\n withCredentials: config.WITH_CREDENTIALS,\n cancelToken: source.token,\n };\n\n onCancel(() => source.cancel('The user aborted a request.'));\n\n try {\n return await axios.request(requestConfig);\n } catch (error) {\n const axiosError = error as AxiosError<T>;\n if (axiosError.response) {\n return axiosError.response;\n }\n throw error;\n }\n};\n\nconst getResponseHeader = (response: AxiosResponse<any>, responseHeader?: string): string | undefined => {\n if (responseHeader) {\n const content = response.headers[responseHeader];\n if (isString(content)) {\n return content;\n }\n }\n return undefined;\n};\n\nconst getResponseBody = (response: AxiosResponse<any>): any => {\n if (response.status !== 204) {\n return response.data;\n }\n return undefined;\n};\n\nconst catchErrorCodes = (options: ApiRequestOptions, result: ApiResult): void => {\n const errors: Record<number, string> = {\n 400: 'Bad Request',\n 401: 'Unauthorized',\n 403: 'Forbidden',\n 404: 'Not Found',\n 500: 'Internal Server Error',\n 502: 'Bad Gateway',\n 503: 'Service Unavailable',\n ...options.errors,\n }\n\n const error = errors[result.status];\n if (error) {\n throw new ApiError(options, result, error);\n }\n\n if (!result.ok) {\n throw new ApiError(options, result, 'Generic Error');\n }\n};\n\n/**\n * Request method\n * @param config The OpenAPI configuration object\n * @param options The request options from the service\n * @returns CancelablePromise<T>\n * @throws ApiError\n */\nexport const request = <T>(config: OpenAPIConfig, options: ApiRequestOptions): CancelablePromise<T> => {\n return new CancelablePromise(async (resolve, reject, onCancel) => {\n try {\n const url = getUrl(config, options);\n const formData = getFormData(options);\n const body = getRequestBody(options);\n const headers = await getHeaders(config, options, formData);\n\n if (!onCancel.isCancelled) {\n const response = await sendRequest<T>(config, options, url, body, formData, headers, onCancel);\n const responseBody = getResponseBody(response);\n const responseHeader = getResponseHeader(response, options.responseHeader);\n\n const result: ApiResult = {\n url,\n ok: isSuccess(response.status),\n status: response.status,\n statusText: response.statusText,\n body: responseHeader ?? responseBody,\n };\n\n catchErrorCodes(options, result);\n\n resolve(result.body);\n }\n } catch (error) {\n reject(error);\n }\n });\n};\n","import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n mergeConfig\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n mergeConfig\n}\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n if (reducer(descriptor, name, obj) !== false) {\n reducedDescriptors[name] = descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n let contextHeaders;\n\n // Flatten headers\n contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n contextHeaders && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\nconst DEFAULT_CONTENT_TYPE = {\n 'Content-Type': undefined\n};\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nexport default defaults;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","import platform from './node/index.js';\n\nexport {platform as default}\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst isStandardBrowserEnv = (() => {\n let product;\n if (typeof navigator !== 'undefined' && (\n (product = navigator.product) === 'ReactNative' ||\n product === 'NativeScript' ||\n product === 'NS')\n ) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n})();\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\n const isStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n isStandardBrowserEnv,\n isStandardBrowserWebWorkerEnv,\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\nutils.freezeMethods(AxiosHeaders.prototype);\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if(fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n if((adapter = utils.isString(nameOrAdapter) ? knownAdapters[nameOrAdapter.toLowerCase()] : nameOrAdapter)) {\n break;\n }\n }\n\n if (!adapter) {\n if (adapter === false) {\n throw new AxiosError(\n `Adapter ${nameOrAdapter} is not supported by the environment`,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n throw new Error(\n utils.hasOwnProp(knownAdapters, nameOrAdapter) ?\n `Adapter '${nameOrAdapter}' is not available in the build` :\n `Unknown adapter '${nameOrAdapter}'`\n );\n }\n\n if (!utils.isFunction(adapter)) {\n throw new TypeError('adapter is not a function');\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n const responseType = config.responseType;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData)) {\n if (platform.isStandardBrowserEnv || platform.isStandardBrowserWebWorkerEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n } else {\n requestHeaders.setContentType('multipart/form-data;', false); // mobile/desktop app frameworks\n }\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (platform.isStandardBrowserEnv) {\n // Add xsrf header\n const xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath))\n && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n const cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n// Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })();\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? thing.toJSON() : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","export const VERSION = \"1.4.0\";","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\n\nexport class ApiError extends Error {\n public readonly url: string;\n public readonly status: number;\n public readonly statusText: string;\n public readonly body: any;\n public readonly request: ApiRequestOptions;\n\n constructor(request: ApiRequestOptions, response: ApiResult, message: string) {\n super(message);\n\n this.name = 'ApiError';\n this.url = response.url;\n this.status = response.status;\n this.statusText = response.statusText;\n this.body = response.body;\n this.request = request;\n }\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nexport class CancelError extends Error {\n\n constructor(message: string) {\n super(message);\n this.name = 'CancelError';\n }\n\n public get isCancelled(): boolean {\n return true;\n }\n}\n\nexport interface OnCancel {\n readonly isResolved: boolean;\n readonly isRejected: boolean;\n readonly isCancelled: boolean;\n\n (cancelHandler: () => void): void;\n}\n\nexport class CancelablePromise<T> implements Promise<T> {\n #isResolved: boolean;\n #isRejected: boolean;\n #isCancelled: boolean;\n readonly #cancelHandlers: (() => void)[];\n readonly #promise: Promise<T>;\n #resolve?: (value: T | PromiseLike<T>) => void;\n #reject?: (reason?: any) => void;\n\n constructor(\n executor: (\n resolve: (value: T | PromiseLike<T>) => void,\n reject: (reason?: any) => void,\n onCancel: OnCancel\n ) => void\n ) {\n this.#isResolved = false;\n this.#isRejected = false;\n this.#isCancelled = false;\n this.#cancelHandlers = [];\n this.#promise = new Promise<T>((resolve, reject) => {\n this.#resolve = resolve;\n this.#reject = reject;\n\n const onResolve = (value: T | PromiseLike<T>): void => {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#isResolved = true;\n this.#resolve?.(value);\n };\n\n const onReject = (reason?: any): void => {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#isRejected = true;\n this.#reject?.(reason);\n };\n\n const onCancel = (cancelHandler: () => void): void => {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#cancelHandlers.push(cancelHandler);\n };\n\n Object.defineProperty(onCancel, 'isResolved', {\n get: (): boolean => this.#isResolved,\n });\n\n Object.defineProperty(onCancel, 'isRejected', {\n get: (): boolean => this.#isRejected,\n });\n\n Object.defineProperty(onCancel, 'isCancelled', {\n get: (): boolean => this.#isCancelled,\n });\n\n return executor(onResolve, onReject, onCancel as OnCancel);\n });\n }\n\n get [Symbol.toStringTag]() {\n return \"Cancellable Promise\";\n }\n\n public then<TResult1 = T, TResult2 = never>(\n onFulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null,\n onRejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null\n ): Promise<TResult1 | TResult2> {\n return this.#promise.then(onFulfilled, onRejected);\n }\n\n public catch<TResult = never>(\n onRejected?: ((reason: any) => TResult | PromiseLike<TResult>) | null\n ): Promise<T | TResult> {\n return this.#promise.catch(onRejected);\n }\n\n public finally(onFinally?: (() => void) | null): Promise<T> {\n return this.#promise.finally(onFinally);\n }\n\n public cancel(): void {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#isCancelled = true;\n if (this.#cancelHandlers.length) {\n try {\n for (const cancelHandler of this.#cancelHandlers) {\n cancelHandler();\n }\n } catch (error) {\n console.warn('Cancellation threw an error', error);\n return;\n }\n }\n this.#cancelHandlers.length = 0;\n this.#reject?.(new CancelError('Request aborted'));\n }\n\n public get isCancelled(): boolean {\n return this.#isCancelled;\n }\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { CompletionRequest } from '../models/CompletionRequest';\nimport type { CompletionResponse } from '../models/CompletionResponse';\nimport type { LogEventRequest } from '../models/LogEventRequest';\n\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport type { BaseHttpRequest } from '../core/BaseHttpRequest';\n\nexport class V1Service {\n\n constructor(public readonly httpRequest: BaseHttpRequest) {}\n\n /**\n * @param requestBody\n * @returns CompletionResponse Success\n * @throws ApiError\n */\n public completion(\n requestBody: CompletionRequest,\n ): CancelablePromise<CompletionResponse> {\n return this.httpRequest.request({\n method: 'POST',\n url: '/v1/completions',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Bad Request`,\n },\n });\n }\n\n /**\n * @param requestBody\n * @returns any Success\n * @throws ApiError\n */\n public event(\n requestBody: LogEventRequest,\n ): CancelablePromise<any> {\n return this.httpRequest.request({\n method: 'POST',\n url: '/v1/events',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Bad Request`,\n },\n });\n }\n\n /**\n * @returns any Health\n * @throws ApiError\n */\n public health(): CancelablePromise<any> {\n return this.httpRequest.request({\n method: 'POST',\n url: '/v1/health',\n });\n }\n\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ApiRequestOptions } from './ApiRequestOptions';\n\ntype Resolver<T> = (options: ApiRequestOptions) => Promise<T>;\ntype Headers = Record<string, string>;\n\nexport type OpenAPIConfig = {\n BASE: string;\n VERSION: string;\n WITH_CREDENTIALS: boolean;\n CREDENTIALS: 'include' | 'omit' | 'same-origin';\n TOKEN?: string | Resolver<string>;\n USERNAME?: string | Resolver<string>;\n PASSWORD?: string | Resolver<string>;\n HEADERS?: Headers | Resolver<Headers>;\n ENCODE_PATH?: (path: string) => string;\n};\n\nexport const OpenAPI: OpenAPIConfig = {\n BASE: 'https://tabbyml.app.tabbyml.com/tabby',\n VERSION: '0.1.0',\n WITH_CREDENTIALS: false,\n CREDENTIALS: 'include',\n TOKEN: undefined,\n USERNAME: undefined,\n PASSWORD: undefined,\n HEADERS: undefined,\n ENCODE_PATH: undefined,\n};\n","export function splitLines(input: string) {\n return input.match(/.*(?:$|\\r?\\n)/g).filter(Boolean) // Split lines and keep newline character\n}\n\nexport function splitWords(input: string) {\n return input.match(/\\w+|\\W+/g).filter(Boolean); // Split consecutive words and non-words\n}\n\nexport function isBlank(input: string) {\n return input.trim().length === 0;\n}\n\nimport { CancelablePromise } from \"./generated\";\nexport function cancelable<T>(promise: Promise<T>, cancel: () => void): CancelablePromise<T> {\n return new CancelablePromise((resolve, reject, onCancel) => {\n promise\n .then((resp: T) => {\n resolve(resp);\n })\n .catch((err: Error) => {\n reject(err);\n });\n onCancel(() => {\n cancel();\n });\n });\n}\n","import { EventEmitter } from \"events\";\nimport { CloudApi } from \"./cloud\";\nimport { ApiError } from \"./generated\";\nimport { dataStore, DataStore } from \"./dataStore\";\nimport { rootLogger } from \"./logger\";\n\nexport type StorageData = {\n auth: { [endpoint: string]: { jwt: string } };\n};\n\nexport class Auth extends EventEmitter {\n static readonly authPageUrl = \"https://app.tabbyml.com/account/device-token\";\n static readonly pollTokenInterval = 5000; // 5 seconds\n static readonly refreshTokenInterval = 1000 * 60 * 60 * 24 * 3; // 3 days\n\n private readonly logger = rootLogger.child({ component: \"Auth\" });\n readonly endpoint: string;\n readonly dataStore: DataStore | null = null;\n private pollingTokenTimer: ReturnType<typeof setInterval> | null = null;\n private refreshTokenTimer: ReturnType<typeof setTimeout> | null = null;\n private authApi: CloudApi | null = null;\n private jwt: string | null = null;\n\n static async create(options: { endpoint: string; dataStore?: DataStore }): Promise<Auth> {\n const auth = new Auth(options);\n await auth.load();\n return auth;\n }\n\n constructor(options: { endpoint: string; dataStore?: DataStore }) {\n super();\n this.endpoint = options.endpoint;\n this.dataStore = options.dataStore || dataStore;\n\n // From tabby endpoint: http[s]://{namespace}.app.tabbyml.com/tabby[/] \n // To auth endpoint: http[s]://{namespace}.app.tabbyml.com/api\n const authApiBase = this.endpoint.replace(/\\/tabby\\/?$/, \"/api\");\n this.authApi = new CloudApi({ BASE: authApiBase });\n }\n\n get token(): string | null {\n return this.jwt;\n }\n\n private async load(): Promise<void> {\n if (!this.dataStore) return;\n try {\n await this.dataStore.load();\n const storedJwt = this.dataStore.data[\"auth\"]?.[this.endpoint]?.jwt;\n if (typeof storedJwt === \"string\" && this.jwt !== storedJwt) {\n this.logger.debug({ storedJwt }, \"Load jwt from data store.\");\n this.jwt = storedJwt;\n this.scheduleRefreshToken();\n }\n } catch (error: any) {\n this.logger.debug({ error }, \"Error when loading auth\");\n }\n }\n\n private async save(): Promise<void> {\n if (!this.dataStore) return;\n try {\n if (this.jwt) {\n if (this.dataStore.data[\"auth\"]?.[this.endpoint]?.jwt === this.jwt) return;\n this.dataStore.data[\"auth\"] = { ...this.dataStore.data[\"auth\"], [this.endpoint]: { jwt: this.jwt } };\n } else {\n if (typeof this.dataStore.data[\"auth\"]?.[this.endpoint] === \"undefined\") return;\n delete this.dataStore.data[\"auth\"][this.endpoint];\n }\n await this.dataStore.save();\n this.logger.debug(\"Save changes to data store.\");\n } catch (error: any) {\n this.logger.error({ error }, \"Error when saving auth\");\n }\n }\n\n async reset(): Promise<void> {\n if (this.jwt) {\n this.jwt = null;\n await this.save();\n }\n if (this.refreshTokenTimer) {\n clearTimeout(this.refreshTokenTimer);\n this.refreshTokenTimer = null;\n }\n if (this.pollingTokenTimer) {\n clearInterval(this.pollingTokenTimer);\n this.pollingTokenTimer = null;\n }\n }\n\n async requestToken(): Promise<string> {\n try {\n await this.reset();\n const deviceToken = await this.authApi.api.deviceToken();\n this.logger.debug({ deviceToken }, \"Request device token response\");\n const authUrl = new URL(Auth.authPageUrl);\n authUrl.searchParams.append(\"code\", deviceToken.data.code);\n this.schedulePollingToken(deviceToken.data.code);\n return authUrl.toString();\n } catch (error) {\n this.logger.error({ error }, \"Error when requesting token\");\n throw error;\n }\n }\n\n async schedulePollingToken(code: string) {\n this.pollingTokenTimer = setInterval(async () => {\n try {\n const response = await this.authApi.api.deviceTokenAccept({ code });\n this.logger.debug({ response }, \"Poll jwt response\");\n this.jwt = response.data.jwt;\n await this.save();\n this.scheduleRefreshToken();\n super.emit(\"updated\", this.jwt);\n clearInterval(this.pollingTokenTimer);\n this.pollingTokenTimer = null;\n } catch (error) {\n if (error instanceof ApiError && [401, 403, 405].indexOf(error.status) !== -1) {\n this.logger.debug({ error }, \"Expected error when polling jwt\");\n } else {\n // unknown error but still keep polling\n this.logger.error({ error }, \"Error when polling jwt\");\n }\n }\n }, Auth.pollTokenInterval);\n }\n\n private scheduleRefreshToken() {\n if (this.refreshTokenTimer) {\n clearTimeout(this.refreshTokenTimer);\n this.refreshTokenTimer = null;\n }\n if (!this.jwt) {\n return null;\n }\n // FIXME: assume jwt expires after 7 days, should get exp from decode jwt payload\n const expireAt = Date.now() / 1000 + 60 * 60 * 24 * 7;\n const refreshDelay = Math.max(0, expireAt * 1000 - Date.now() - Auth.refreshTokenInterval);\n this.refreshTokenTimer = setTimeout(async () => {\n this.logger.debug({ expireAt }, \"Refresh token\");\n // FIXME: not implemented\n }, refreshDelay);\n }\n}\n","export { CloudApi } from \"./CloudApi\";\nexport { ApiService } from \"./services/ApiService\";\nexport { DeviceTokenResponse } from \"./models/DeviceTokenResponse\";\nexport { DeviceTokenAcceptResponse } from \"./models/DeviceTokenAcceptResponse\";\n","import type { BaseHttpRequest, OpenAPIConfig } from \"../generated\";\nimport { AxiosHttpRequest } from \"../generated/core/AxiosHttpRequest\";\nimport { ApiService } from \"./services/ApiService\";\n\ntype HttpRequestConstructor = new (config: OpenAPIConfig) => BaseHttpRequest;\n\nexport class CloudApi {\n public readonly api: ApiService;\n\n public readonly request: BaseHttpRequest;\n\n constructor(config?: Partial<OpenAPIConfig>, HttpRequest: HttpRequestConstructor = AxiosHttpRequest) {\n this.request = new HttpRequest({\n BASE: config?.BASE ?? 'https://tabbyml.app.tabbyml.com/tabby',\n VERSION: config?.VERSION ?? \"0.0.0\",\n WITH_CREDENTIALS: config?.WITH_CREDENTIALS ?? false,\n CREDENTIALS: config?.CREDENTIALS ?? \"include\",\n TOKEN: config?.TOKEN,\n USERNAME: config?.USERNAME,\n PASSWORD: config?.PASSWORD,\n HEADERS: config?.HEADERS,\n ENCODE_PATH: config?.ENCODE_PATH,\n });\n\n this.api = new ApiService(this.request);\n }\n}\n","import type { CancelablePromise } from \"../../generated/core/CancelablePromise\";\nimport type { BaseHttpRequest } from \"../../generated/core/BaseHttpRequest\";\n\nimport { DeviceTokenResponse } from \"../models/DeviceTokenResponse\";\nimport { DeviceTokenAcceptResponse } from \"../models/DeviceTokenAcceptResponse\";\n\nexport class ApiService {\n constructor(public readonly httpRequest: BaseHttpRequest) {}\n\n /**\n * @returns DeviceTokenResponse Success\n * @throws ApiError\n */\n public deviceToken(): CancelablePromise<DeviceTokenResponse> {\n return this.httpRequest.request({\n method: \"POST\",\n url: \"/device-token\",\n });\n }\n\n /**\n * @param code\n * @returns DeviceTokenAcceptResponse Success\n * @throws ApiError\n */\n public deviceTokenAccept(query: { code: string }): CancelablePromise<DeviceTokenAcceptResponse> {\n return this.httpRequest.request({\n method: \"POST\",\n url: \"/device-token/accept\",\n query,\n });\n }\n}\n","export type DeviceTokenResponse = {\n data: {\n code: string;\n };\n};\n","export type DeviceTokenAcceptResponse = {\n data: {\n jwt: string;\n };\n};\n","export type StoredData = {\n auth: { [endpoint: string]: { jwt: string } };\n};\n\nexport interface DataStore {\n data: Partial<StoredData>;\n load(): PromiseLike<void>;\n save(): PromiseLike<void>;\n}\n\ndeclare var IS_BROWSER: boolean;\nexport const dataStore: DataStore = IS_BROWSER\n ? null\n : (() => {\n const dataFile = require(\"path\").join(require(\"os\").homedir(), \".tabby\", \"agent\", \"data.json\");\n const fs = require(\"fs-extra\");\n return {\n data: {},\n load: async function () {\n this.data = (await fs.readJson(dataFile, { throws: false })) || {};\n },\n save: async function () {\n await fs.outputJson(dataFile, this.data);\n },\n };\n })();\n","import pino from \"pino\";\n\ndeclare var IS_BROWSER: boolean;\n\n/**\n * Stream not available in browser, will use default console output.\n */\nconst stream = IS_BROWSER\n ? null\n : /**\n * Default rotating file locate at `~/.tabby/agent-logs/`.\n */\n require(\"rotating-file-stream\").createStream(\"tabby-agent.log\", {\n path: require(\"path\").join(require(\"os\").homedir(), \".tabby\", \"agent-logs\"),\n size: \"10M\",\n interval: \"1d\",\n });\n\nexport const rootLogger = !!stream ? pino(stream) : pino();\n\nexport const allLoggers = [rootLogger];\nrootLogger.onChild = (child) => {\n allLoggers.push(child);\n};\n","export type AgentConfig = {\n server: {\n endpoint: string;\n };\n logs: {\n level: \"debug\" | \"error\" | \"silent\";\n };\n anonymousUsageTracking: {\n disable: boolean;\n };\n};\n\nexport const defaultAgentConfig: AgentConfig = {\n server: {\n endpoint: \"http://localhost:8080\",\n },\n logs: {\n level: \"silent\",\n },\n anonymousUsageTracking: {\n disable: false,\n },\n};\n","import { LRUCache } from \"lru-cache\";\nimport hashObject from \"object-hash\";\nimport sizeOfObject from \"object-sizeof\";\nimport { CompletionRequest, CompletionResponse } from \"./Agent\";\nimport { rootLogger } from \"./logger\";\nimport { splitLines, splitWords } from \"./utils\";\n\ntype CompletionCacheKey = CompletionRequest;\ntype CompletionCacheValue = CompletionResponse;\n\nexport class CompletionCache {\n private readonly logger = rootLogger.child({ component: \"CompletionCache\" });\n private cache: LRUCache<string, CompletionCacheValue>;\n private options = {\n maxSize: 1 * 1024 * 1024, // 1MB\n partiallyAcceptedCacheGeneration: {\n enabled: true,\n perCharacter: {\n lines: 1,\n words: 10,\n max: 30,\n },\n perWord: {\n lines: 1,\n max: 20,\n },\n perLine: {\n max: 3,\n },\n },\n };\n\n constructor() {\n this.cache = new LRUCache<string, CompletionCacheValue>({\n maxSize: this.options.maxSize,\n sizeCalculation: sizeOfObject,\n });\n }\n\n has(key: CompletionCacheKey): boolean {\n return this.cache.has(this.hash(key));\n }\n\n set(key: CompletionCacheKey, value: CompletionCacheValue): void {\n for (const entry of this.createCacheEntries(key, value)) {\n this.logger.debug({ entry }, \"Setting cache entry\");\n this.cache.set(this.hash(entry.key), entry.value);\n }\n this.logger.debug({ size: this.cache.calculatedSize }, \"Cache size\");\n }\n\n get(key: CompletionCacheKey): CompletionCacheValue | undefined {\n return this.cache.get(this.hash(key));\n }\n\n private hash(key: CompletionCacheKey): string {\n return hashObject(key);\n }\n\n private createCacheEntries(\n key: CompletionCacheKey,\n value: CompletionCacheValue\n ): { key: CompletionCacheKey; value: CompletionCacheValue }[] {\n const list = [{ key, value }];\n if (this.options.partiallyAcceptedCacheGeneration.enabled) {\n const entries = value.choices\n .map((choice) => {\n return this.calculatePartiallyAcceptedPositions(choice.text).map((position) => {\n return {\n prefix: choice.text.slice(0, position),\n suffix: choice.text.slice(position),\n choiceIndex: choice.index,\n };\n });\n })\n .flat()\n .reduce((grouped: { [key: string]: { suffix: string; choiceIndex: number }[] }, entry) => {\n grouped[entry.prefix] = grouped[entry.prefix] || [];\n grouped[entry.prefix].push({ suffix: entry.suffix, choiceIndex: entry.choiceIndex });\n return grouped;\n }, {});\n for (const prefix in entries) {\n const cacheKey = {\n ...key,\n text: key.text.slice(0, key.position) + prefix + key.text.slice(key.position),\n position: key.position + prefix.length,\n };\n const cacheValue = {\n ...value,\n choices: entries[prefix].map((choice) => {\n return {\n index: choice.choiceIndex,\n text: choice.suffix,\n };\n }),\n };\n list.push({\n key: cacheKey,\n value: cacheValue,\n });\n }\n }\n return list;\n }\n\n private calculatePartiallyAcceptedPositions(completion: string): number[] {\n const positions: number[] = [];\n const option = this.options.partiallyAcceptedCacheGeneration;\n\n const lines = splitLines(completion);\n let index = 0;\n let offset = 0;\n // `index < lines.length - 1` to exclude the last line\n while (index < lines.length - 1 && index < option.perLine.max) {\n offset += lines[index].length;\n positions.push(offset);\n index++;\n }\n\n const words = lines.slice(0, option.perWord.lines).map(splitWords).flat();\n index = 0;\n offset = 0;\n while (index < words.length && index < option.perWord.max) {\n offset += words[index].length;\n positions.push(offset);\n index++;\n }\n\n const characters = lines\n .slice(0, option.perCharacter.lines)\n .map(splitWords)\n .flat()\n .slice(0, option.perCharacter.words)\n .join(\"\");\n offset = 1;\n while (offset < characters.length && offset < option.perCharacter.max) {\n positions.push(offset);\n offset++;\n }\n\n // distinct and sort ascending\n return positions.filter((v, i, arr) => arr.indexOf(v) === i).sort((a, b) => a - b);\n }\n}\n","/**\n * @module LRUCache\n */\n\n// module-private names and types\ntype Perf = { now: () => number }\nconst perf: Perf =\n typeof performance === 'object' &&\n performance &&\n typeof performance.now === 'function'\n ? performance\n : Date\n\nconst warned = new Set<string>()\n\n// either a function or a class\ntype ForC = ((...a: any[]) => any) | { new (...a: any[]): any }\n\n/* c8 ignore start */\nconst PROCESS = (\n typeof process === 'object' && !!process ? process : {}\n) as { [k: string]: any }\n/* c8 ignore start */\n\nconst emitWarning = (\n msg: string,\n type: string,\n code: string,\n fn: ForC\n) => {\n typeof PROCESS.emitWarning === 'function'\n ? PROCESS.emitWarning(msg, type, code, fn)\n : console.error(`[${code}] ${type}: ${msg}`)\n}\n\nlet AC = globalThis.AbortController\nlet AS = globalThis.AbortSignal\n\n/* c8 ignore start */\nif (typeof AC === 'undefined') {\n //@ts-ignore\n AS = class AbortSignal {\n onabort?: (...a: any[]) => any\n _onabort: ((...a: any[]) => any)[] = []\n reason?: any\n aborted: boolean = false\n addEventListener(_: string, fn: (...a: any[]) => any) {\n this._onabort.push(fn)\n }\n }\n //@ts-ignore\n AC = class AbortController {\n constructor() {\n warnACPolyfill()\n }\n signal = new AS()\n abort(reason: any) {\n if (this.signal.aborted) return\n //@ts-ignore\n this.signal.reason = reason\n //@ts-ignore\n this.signal.aborted = true\n //@ts-ignore\n for (const fn of this.signal._onabort) {\n fn(reason)\n }\n this.signal.onabort?.(reason)\n }\n }\n let printACPolyfillWarning =\n PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING !== '1'\n const warnACPolyfill = () => {\n if (!printACPolyfillWarning) return\n printACPolyfillWarning = false\n emitWarning(\n 'AbortController is not defined. If using lru-cache in ' +\n 'node 14, load an AbortController polyfill from the ' +\n '`node-abort-controller` package. A minimal polyfill is ' +\n 'provided for use by LRUCache.fetch(), but it should not be ' +\n 'relied upon in other contexts (eg, passing it to other APIs that ' +\n 'use AbortController/AbortSignal might have undesirable effects). ' +\n 'You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.',\n 'NO_ABORT_CONTROLLER',\n 'ENOTSUP',\n warnACPolyfill\n )\n }\n}\n/* c8 ignore stop */\n\nconst shouldWarn = (code: string) => !warned.has(code)\n\nconst TYPE = Symbol('type')\ntype PosInt = number & { [TYPE]: 'Positive Integer' }\ntype Index = number & { [TYPE]: 'LRUCache Index' }\n\nconst isPosInt = (n: any): n is PosInt =>\n n && n === Math.floor(n) && n > 0 && isFinite(n)\n\ntype UintArray = Uint8Array | Uint16Array | Uint32Array\ntype NumberArray = UintArray | number[]\n\n/* c8 ignore start */\n// This is a little bit ridiculous, tbh.\n// The maximum array length is 2^32-1 or thereabouts on most JS impls.\n// And well before that point, you're caching the entire world, I mean,\n// that's ~32GB of just integers for the next/prev links, plus whatever\n// else to hold that many keys and values. Just filling the memory with\n// zeroes at init time is brutal when you get that big.\n// But why not be complete?\n// Maybe in the future, these limits will have expanded.\nconst getUintArray = (max: number) =>\n !isPosInt(max)\n ? null\n : max <= Math.pow(2, 8)\n ? Uint8Array\n : max <= Math.pow(2, 16)\n ? Uint16Array\n : max <= Math.pow(2, 32)\n ? Uint32Array\n : max <= Number.MAX_SAFE_INTEGER\n ? ZeroArray\n : null\n/* c8 ignore stop */\n\nclass ZeroArray extends Array<number> {\n constructor(size: number) {\n super(size)\n this.fill(0)\n }\n}\n\ntype StackLike = Stack | Index[]\nclass Stack {\n heap: NumberArray\n length: number\n // private constructor\n static #constructing: boolean = false\n static create(max: number): StackLike {\n const HeapCls = getUintArray(max)\n if (!HeapCls) return []\n Stack.#constructing = true\n const s = new Stack(max, HeapCls)\n Stack.#constructing = false\n return s\n }\n constructor(\n max: number,\n HeapCls: { new (n: number): NumberArray }\n ) {\n /* c8 ignore start */\n if (!Stack.#constructing) {\n throw new TypeError('instantiate Stack using Stack.create(n)')\n }\n /* c8 ignore stop */\n this.heap = new HeapCls(max)\n this.length = 0\n }\n push(n: Index) {\n this.heap[this.length++] = n\n }\n pop(): Index {\n return this.heap[--this.length] as Index\n }\n}\n\n/**\n * Promise representing an in-progress {@link LRUCache#fetch} call\n */\nexport type BackgroundFetch<V> = Promise<V | undefined | void> & {\n __returned: BackgroundFetch<V> | undefined\n __abortController: AbortController\n __staleWhileFetching: V | undefined\n}\n\ntype DisposeTask<K, V> = [\n value: V,\n key: K,\n reason: LRUCache.DisposeReason\n]\n\nexport namespace LRUCache {\n /**\n * An integer greater than 0, reflecting the calculated size of items\n */\n export type Size = number\n\n /**\n * Integer greater than 0, representing some number of milliseconds, or the\n * time at which a TTL started counting from.\n */\n export type Milliseconds = number\n\n /**\n * An integer greater than 0, reflecting a number of items\n */\n export type Count = number\n\n /**\n * The reason why an item was removed from the cache, passed\n * to the {@link Disposer} methods.\n */\n export type DisposeReason = 'evict' | 'set' | 'delete'\n /**\n * A method called upon item removal, passed as the\n * {@link OptionsBase.dispose} and/or\n * {@link OptionsBase.disposeAfter} options.\n */\n export type Disposer<K, V> = (\n value: V,\n key: K,\n reason: DisposeReason\n ) => void\n\n /**\n * A function that returns the effective calculated size\n * of an entry in the cache.\n */\n export type SizeCalculator<K, V> = (value: V, key: K) => Size\n\n /**\n * Options provided to the\n * {@link OptionsBase.fetchMethod} function.\n */\n export interface FetcherOptions<K, V, FC = unknown> {\n signal: AbortSignal\n options: FetcherFetchOptions<K, V, FC>\n /**\n * Object provided in the {@link FetchOptions.context} option to\n * {@link LRUCache#fetch}\n */\n context: FC\n }\n\n /**\n * Status object that may be passed to {@link LRUCache#fetch},\n * {@link LRUCache#get}, {@link LRUCache#set}, and {@link LRUCache#has}.\n */\n export interface Status<V> {\n /**\n * The status of a set() operation.\n *\n * - add: the item was not found in the cache, and was added\n * - update: the item was in the cache, with the same value provided\n * - replace: the item was in the cache, and replaced\n * - miss: the item was not added to the cache for some reason\n */\n set?: 'add' | 'update' | 'replace' | 'miss'\n\n /**\n * the ttl stored for the item, or undefined if ttls are not used.\n */\n ttl?: Milliseconds\n\n /**\n * the start time for the item, or undefined if ttls are not used.\n */\n start?: Milliseconds\n\n /**\n * The timestamp used for TTL calculation\n */\n now?: Milliseconds\n\n /**\n * the remaining ttl for the item, or undefined if ttls are not used.\n */\n remainingTTL?: Milliseconds\n\n /**\n * The calculated size for the item, if sizes are used.\n */\n entrySize?: Size\n\n /**\n * The total calculated size of the cache, if sizes are used.\n */\n totalCalculatedSize?: Size\n\n /**\n * A flag indicating that the item was not stored, due to exceeding the\n * {@link OptionsBase.maxEntrySize}\n */\n maxEntrySizeExceeded?: true\n\n /**\n * The old value, specified in the case of `set:'update'` or\n * `set:'replace'`\n */\n oldValue?: V\n\n /**\n * The results of a {@link LRUCache#has} operation\n *\n * - hit: the item was found in the cache\n * - stale: the item was found in the cache, but is stale\n * - miss: the item was not found in the cache\n */\n has?: 'hit' | 'stale' | 'miss'\n\n /**\n * The status of a {@link LRUCache#fetch} operation.\n * Note that this can change as the underlying fetch() moves through\n * various states.\n *\n * - inflight: there is another fetch() for this key which is in process\n * - get: there is no fetchMethod, so {@link LRUCache#get} was called.\n * - miss: the item is not in cache, and will be fetched.\n * - hit: the item is in the cache, and was resolved immediately.\n * - stale: the item is in the cache, but stale.\n * - refresh: the item is in the cache, and not stale, but\n * {@link FetchOptions.forceRefresh} was specified.\n */\n fetch?: 'get' | 'inflight' | 'miss' | 'hit' | 'stale' | 'refresh'\n\n /**\n * The {@link OptionsBase.fetchMethod} was called\n */\n fetchDispatched?: true\n\n /**\n * The cached value was updated after a successful call to\n * {@link OptionsBase.fetchMethod}\n */\n fetchUpdated?: true\n\n /**\n * The reason for a fetch() rejection. Either the error raised by the\n * {@link OptionsBase.fetchMethod}, or the reason for an\n * AbortSignal.\n */\n fetchError?: Error\n\n /**\n * The fetch received an abort signal\n */\n fetchAborted?: true\n\n /**\n * The abort signal received was ignored, and the fetch was allowed to\n * continue.\n */\n fetchAbortIgnored?: true\n\n /**\n * The fetchMethod promise resolved successfully\n */\n fetchResolved?: true\n\n /**\n * The fetchMethod promise was rejected\n */\n fetchRejected?: true\n\n /**\n * The status of a {@link LRUCache#get} operation.\n *\n * - fetching: The item is currently being fetched. If a previous value\n * is present and allowed, that will be returned.\n * - stale: The item is in the cache, and is stale.\n * - hit: the item is in the cache\n * - miss: the item is not in the cache\n */\n get?: 'stale' | 'hit' | 'miss'\n\n /**\n * A fetch or get operation returned a stale value.\n */\n returnedStale?: true\n }\n\n /**\n * options which override the options set in the LRUCache constructor\n * when calling {@link LRUCache#fetch}.\n *\n * This is the union of {@link GetOptions} and {@link SetOptions}, plus\n * {@link OptionsBase.noDeleteOnFetchRejection},\n * {@link OptionsBase.allowStaleOnFetchRejection},\n * {@link FetchOptions.forceRefresh}, and\n * {@link OptionsBase.context}\n *\n * Any of these may be modified in the {@link OptionsBase.fetchMethod}\n * function, but the {@link GetOptions} fields will of course have no\n * effect, as the {@link LRUCache#get} call already happened by the time\n * the fetchMethod is called.\n */\n export interface FetcherFetchOptions<K, V, FC = unknown>\n extends Pick<\n OptionsBase<K, V, FC>,\n | 'allowStale'\n | 'updateAgeOnGet'\n | 'noDeleteOnStaleGet'\n | 'sizeCalculation'\n | 'ttl'\n | 'noDisposeOnSet'\n | 'noUpdateTTL'\n | 'noDeleteOnFetchRejection'\n | 'allowStaleOnFetchRejection'\n | 'ignoreFetchAbort'\n | 'allowStaleOnFetchAbort'\n > {\n status?: Status<V>\n size?: Size\n }\n\n /**\n * Options that may be passed to the {@link LRUCache#fetch} method.\n */\n export interface FetchOptions<K, V, FC>\n extends FetcherFetchOptions<K, V, FC> {\n /**\n * Set to true to force a re-load of the existing data, even if it\n * is not yet stale.\n */\n forceRefresh?: boolean\n /**\n * Context provided to the {@link OptionsBase.fetchMethod} as\n * the {@link FetcherOptions.context} param.\n *\n * If the FC type is specified as unknown (the default),\n * undefined or void, then this is optional. Otherwise, it will\n * be required.\n */\n context?: FC\n signal?: AbortSignal\n status?: Status<V>\n }\n /**\n * Options provided to {@link LRUCache#fetch} when the FC type is something\n * other than `unknown`, `undefined`, or `void`\n */\n export interface FetchOptionsWithContext<K, V, FC>\n extends FetchOptions<K, V, FC> {\n context: FC\n }\n /**\n * Options provided to {@link LRUCache#fetch} when the FC type is\n * `undefined` or `void`\n */\n export interface FetchOptionsNoContext<K, V, FC>\n extends FetchOptions<K, V, FC> {\n context?: undefined\n }\n\n /**\n * Options that may be passed to the {@link LRUCache#has} method.\n */\n export interface HasOptions<K, V, FC>\n extends Pick<OptionsBase<K, V, FC>, 'updateAgeOnHas'> {\n status?: Status<V>\n }\n\n /**\n * Options that may be passed to the {@link LRUCache#get} method.\n */\n export interface GetOptions<K, V, FC>\n extends Pick<\n OptionsBase<K, V, FC>,\n 'allowStale' | 'updateAgeOnGet' | 'noDeleteOnStaleGet'\n > {\n status?: Status<V>\n }\n\n /**\n * Options that may be passed to the {@link LRUCache#peek} method.\n */\n export interface PeekOptions<K, V, FC>\n extends Pick<OptionsBase<K, V, FC>, 'allowStale'> {}\n\n /**\n * Options that may be passed to the {@link LRUCache#set} method.\n */\n export interface SetOptions<K, V, FC>\n extends Pick<\n OptionsBase<K, V, FC>,\n 'sizeCalculation' | 'ttl' | 'noDisposeOnSet' | 'noUpdateTTL'\n > {\n /**\n * If size tracking is enabled, then setting an explicit size\n * in the {@link LRUCache#set} call will prevent calling the\n * {@link OptionsBase.sizeCalculation} function.\n */\n size?: Size\n /**\n * If TTL tracking is enabled, then setting an explicit start\n * time in the {@link LRUCache#set} call will override the\n * default time from `performance.now()` or `Date.now()`.\n *\n * Note that it must be a valid value for whichever time-tracking\n * method is in use.\n */\n start?: Milliseconds\n status?: Status<V>\n }\n\n /**\n * The type signature for the {@link OptionsBase.fetchMethod} option.\n */\n export type Fetcher<K, V, FC = unknown> = (\n key: K,\n staleValue: V | undefined,\n options: FetcherOptions<K, V, FC>\n ) => Promise<V | void | undefined> | V | void | undefined\n\n /**\n * Options which may be passed to the {@link LRUCache} constructor.\n *\n * Most of these may be overridden in the various options that use\n * them.\n *\n * Despite all being technically optional, the constructor requires that\n * a cache is at minimum limited by one or more of {@link OptionsBase.max},\n * {@link OptionsBase.ttl}, or {@link OptionsBase.maxSize}.\n *\n * If {@link OptionsBase.ttl} is used alone, then it is strongly advised\n * (and in fact required by the type definitions here) that the cache\n * also set {@link OptionsBase.ttlAutopurge}, to prevent potentially\n * unbounded storage.\n */\n export interface OptionsBase<K, V, FC> {\n /**\n * The maximum number of items to store in the cache before evicting\n * old entries. This is read-only on the {@link LRUCache} instance,\n * and may not be overridden.\n *\n * If set, then storage space will be pre-allocated at construction\n * time, and the cache will perform significantly faster.\n *\n * Note that significantly fewer items may be stored, if\n * {@link OptionsBase.maxSize} and/or {@link OptionsBase.ttl} are also\n * set.\n */\n max?: Count\n\n /**\n * Max time in milliseconds for items to live in cache before they are\n * considered stale. Note that stale items are NOT preemptively removed\n * by default, and MAY live in the cache long after they have expired.\n *\n * Also, as this cache is optimized for LRU/MRU operations, some of\n * the staleness/TTL checks will reduce performance, as they will incur\n * overhead by deleting items.\n *\n * Must be an integer number of ms. If set to 0, this indicates \"no TTL\"\n *\n * @default 0\n */\n ttl?: Milliseconds\n\n /**\n * Minimum amount of time in ms in which to check for staleness.\n * Defaults to 1, which means that the current time is checked\n * at most once per millisecond.\n *\n * Set to 0 to check the current time every time staleness is tested.\n * (This reduces performance, and is theoretically unnecessary.)\n *\n * Setting this to a higher value will improve performance somewhat\n * while using ttl tracking, albeit at the expense of keeping stale\n * items around a bit longer than their TTLs would indicate.\n *\n * @default 1\n */\n ttlResolution?: Milliseconds\n\n /**\n * Preemptively remove stale items from the cache.\n * Note that this may significantly degrade performance,\n * especially if the cache is storing a large number of items.\n * It is almost always best to just leave the stale items in\n * the cache, and let them fall out as new items are added.\n *\n * Note that this means that {@link OptionsBase.allowStale} is a bit\n * pointless, as stale items will be deleted almost as soon as they\n * expire.\n *\n * @default false\n */\n ttlAutopurge?: boolean\n\n /**\n * Update the age of items on {@link LRUCache#get}, renewing their TTL\n *\n * Has no effect if {@link OptionsBase.ttl} is not set.\n *\n * @default false\n */\n updateAgeOnGet?: boolean\n\n /**\n * Update the age of items on {@link LRUCache#has}, renewing their TTL\n *\n * Has no effect if {@link OptionsBase.ttl} is not set.\n *\n * @default false\n */\n updateAgeOnHas?: boolean\n\n /**\n * Allow {@link LRUCache#get} and {@link LRUCache#fetch} calls to return\n * stale data, if available.\n */\n allowStale?: boolean\n\n /**\n * Function that is called on items when they are dropped from the cache.\n * This can be handy if you want to close file descriptors or do other\n * cleanup tasks when items are no longer accessible. Called with `key,\n * value`. It's called before actually removing the item from the\n * internal cache, so it is *NOT* safe to re-add them.\n *\n * Use {@link OptionsBase.disposeAfter} if you wish to dispose items after\n * they have been full removed, when it is safe to add them back to the\n * cache.\n */\n dispose?: Disposer<K, V>\n\n /**\n * The same as {@link OptionsBase.dispose}, but called *after* the entry\n * is completely removed and the cache is once again in a clean state.\n * It is safe to add an item right back into the cache at this point.\n * However, note that it is *very* easy to inadvertently create infinite\n * recursion this way.\n */\n disposeAfter?: Disposer<K, V>\n\n /**\n * Set to true to suppress calling the\n * {@link OptionsBase.dispose} function if the entry key is\n * still accessible within the cache.\n * This may be overridden by passing an options object to\n * {@link LRUCache#set}.\n */\n noDisposeOnSet?: boolean\n\n /**\n * Boolean flag to tell the cache to not update the TTL when\n * setting a new value for an existing key (ie, when updating a value\n * rather than inserting a new value). Note that the TTL value is\n * _always_ set (if provided) when adding a new entry into the cache.\n *\n * Has no effect if a {@link OptionsBase.ttl} is not set.\n */\n noUpdateTTL?: boolean\n\n /**\n * If you wish to track item size, you must provide a maxSize\n * note that we still will only keep up to max *actual items*,\n * if max is set, so size tracking may cause fewer than max items\n * to be stored. At the extreme, a single item of maxSize size\n * will cause everything else in the cache to be dropped when it\n * is added. Use with caution!\n *\n * Note also that size tracking can negatively impact performance,\n * though for most cases, only minimally.\n */\n maxSize?: Size\n\n /**\n * The maximum allowed size for any single item in the cache.\n *\n * If a larger item is passed to {@link LRUCache#set} or returned by a\n * {@link OptionsBase.fetchMethod}, then it will not be stored in the\n * cache.\n */\n maxEntrySize?: Size\n\n /**\n * A function that returns a number indicating the item's size.\n *\n * If not provided, and {@link OptionsBase.maxSize} or\n * {@link OptionsBase.maxEntrySize} are set, then all\n * {@link LRUCache#set} calls **must** provide an explicit\n * {@link SetOptions.size} or sizeCalculation param.\n */\n sizeCalculation?: SizeCalculator<K, V>\n\n /**\n * Method that provides the implementation for {@link LRUCache#fetch}\n */\n fetchMethod?: Fetcher<K, V, FC>\n\n /**\n * Set to true to suppress the deletion of stale data when a\n * {@link OptionsBase.fetchMethod} returns a rejected promise.\n */\n noDeleteOnFetchRejection?: boolean\n\n /**\n * Do not delete stale items when they are retrieved with\n * {@link LRUCache#get}.\n *\n * Note that the `get` return value will still be `undefined`\n * unless {@link OptionsBase.allowStale} is true.\n */\n noDeleteOnStaleGet?: boolean\n\n /**\n * Set to true to allow returning stale data when a\n * {@link OptionsBase.fetchMethod} throws an error or returns a rejected\n * promise.\n *\n * This differs from using {@link OptionsBase.allowStale} in that stale\n * data will ONLY be returned in the case that the\n * {@link LRUCache#fetch} fails, not any other times.\n */\n allowStaleOnFetchRejection?: boolean\n\n /**\n * Set to true to return a stale value from the cache when the\n * `AbortSignal` passed to the {@link OptionsBase.fetchMethod} dispatches an `'abort'`\n * event, whether user-triggered, or due to internal cache behavior.\n *\n * Unless {@link OptionsBase.ignoreFetchAbort} is also set, the underlying\n * {@link OptionsBase.fetchMethod} will still be considered canceled, and its return\n * value will be ignored and not cached.\n */\n allowStaleOnFetchAbort?: boolean\n\n /**\n * Set to true to ignore the `abort` event emitted by the `AbortSignal`\n * object passed to {@link OptionsBase.fetchMethod}, and still cache the\n * resulting resolution value, as long as it is not `undefined`.\n *\n * When used on its own, this means aborted {@link LRUCache#fetch} calls are not\n * immediately resolved or rejected when they are aborted, and instead\n * take the full time to await.\n *\n * When used with {@link OptionsBase.allowStaleOnFetchAbort}, aborted\n * {@link LRUCache#fetch} calls will resolve immediately to their stale\n * cached value or `undefined`, and will continue to process and eventually\n * update the cache when they resolve, as long as the resulting value is\n * not `undefined`, thus supporting a \"return stale on timeout while\n * refreshing\" mechanism by passing `AbortSignal.timeout(n)` as the signal.\n *\n * **Note**: regardless of this setting, an `abort` event _is still\n * emitted on the `AbortSignal` object_, so may result in invalid results\n * when passed to other underlying APIs that use AbortSignals.\n *\n * This may be overridden in the {@link OptionsBase.fetchMethod} or the\n * call to {@link LRUCache#fetch}.\n */\n ignoreFetchAbort?: boolean\n }\n\n export interface OptionsMaxLimit<K, V, FC>\n extends OptionsBase<K, V, FC> {\n max: Count\n }\n export interface OptionsTTLLimit<K, V, FC>\n extends OptionsBase<K, V, FC> {\n ttl: Milliseconds\n ttlAutopurge: boolean\n }\n export interface OptionsSizeLimit<K, V, FC>\n extends OptionsBase<K, V, FC> {\n maxSize: Size\n }\n\n /**\n * The valid safe options for the {@link LRUCache} constructor\n */\n export type Options<K, V, FC> =\n | OptionsMaxLimit<K, V, FC>\n | OptionsSizeLimit<K, V, FC>\n | OptionsTTLLimit<K, V, FC>\n\n /**\n * Entry objects used by {@link LRUCache#load} and {@link LRUCache#dump}\n */\n export interface Entry<V> {\n value: V\n ttl?: Milliseconds\n size?: Size\n start?: Milliseconds\n }\n}\n\n/**\n * Default export, the thing you're using this module to get.\n *\n * All properties from the options object (with the exception of\n * {@link OptionsBase.max} and {@link OptionsBase.maxSize}) are added as\n * normal public members. (`max` and `maxBase` are read-only getters.)\n * Changing any of these will alter the defaults for subsequent method calls,\n * but is otherwise safe.\n */\nexport class LRUCache<K extends {}, V extends {}, FC = unknown> {\n // properties coming in from the options of these, only max and maxSize\n // really *need* to be protected. The rest can be modified, as they just\n // set defaults for various methods.\n readonly #max: LRUCache.Count\n readonly #maxSize: LRUCache.Size\n readonly #dispose?: LRUCache.Disposer<K, V>\n readonly #disposeAfter?: LRUCache.Disposer<K, V>\n readonly #fetchMethod?: LRUCache.Fetcher<K, V, FC>\n\n /**\n * {@link LRUCache.OptionsBase.ttl}\n */\n ttl: LRUCache.Milliseconds\n\n /**\n * {@link LRUCache.OptionsBase.ttlResolution}\n */\n ttlResolution: LRUCache.Milliseconds\n /**\n * {@link LRUCache.OptionsBase.ttlAutopurge}\n */\n ttlAutopurge: boolean\n /**\n * {@link LRUCache.OptionsBase.updateAgeOnGet}\n */\n updateAgeOnGet: boolean\n /**\n * {@link LRUCache.OptionsBase.updateAgeOnHas}\n */\n updateAgeOnHas: boolean\n /**\n * {@link LRUCache.OptionsBase.allowStale}\n */\n allowStale: boolean\n\n /**\n * {@link LRUCache.OptionsBase.noDisposeOnSet}\n */\n noDisposeOnSet: boolean\n /**\n * {@link LRUCache.OptionsBase.noUpdateTTL}\n */\n noUpdateTTL: boolean\n /**\n * {@link LRUCache.OptionsBase.maxEntrySize}\n */\n maxEntrySize: LRUCache.Size\n /**\n * {@link LRUCache.OptionsBase.sizeCalculation}\n */\n sizeCalculation?: LRUCache.SizeCalculator<K, V>\n /**\n * {@link LRUCache.OptionsBase.noDeleteOnFetchRejection}\n */\n noDeleteOnFetchRejection: boolean\n /**\n * {@link LRUCache.OptionsBase.noDeleteOnStaleGet}\n */\n noDeleteOnStaleGet: boolean\n /**\n * {@link LRUCache.OptionsBase.allowStaleOnFetchAbort}\n */\n allowStaleOnFetchAbort: boolean\n /**\n * {@link LRUCache.OptionsBase.allowStaleOnFetchRejection}\n */\n allowStaleOnFetchRejection: boolean\n /**\n * {@link LRUCache.OptionsBase.ignoreFetchAbort}\n */\n ignoreFetchAbort: boolean\n\n // computed properties\n #size: LRUCache.Count\n #calculatedSize: LRUCache.Size\n #keyMap: Map<K, Index>\n #keyList: (K | undefined)[]\n #valList: (V | BackgroundFetch<V> | undefined)[]\n #next: NumberArray\n #prev: NumberArray\n #head: Index\n #tail: Index\n #free: StackLike\n #disposed?: DisposeTask<K, V>[]\n #sizes?: ZeroArray\n #starts?: ZeroArray\n #ttls?: ZeroArray\n\n #hasDispose: boolean\n #hasFetchMethod: boolean\n #hasDisposeAfter: boolean\n\n /**\n * Do not call this method unless you need to inspect the\n * inner workings of the cache. If anything returned by this\n * object is modified in any way, strange breakage may occur.\n *\n * These fields are private for a reason!\n *\n * @internal\n */\n static unsafeExposeInternals<\n K extends {},\n V extends {},\n FC extends unknown = unknown\n >(c: LRUCache<K, V, FC>) {\n return {\n // properties\n starts: c.#starts,\n ttls: c.#ttls,\n sizes: c.#sizes,\n keyMap: c.#keyMap as Map<K, number>,\n keyList: c.#keyList,\n valList: c.#valList,\n next: c.#next,\n prev: c.#prev,\n get head() {\n return c.#head\n },\n get tail() {\n return c.#tail\n },\n free: c.#free,\n // methods\n isBackgroundFetch: (p: any) => c.#isBackgroundFetch(p),\n backgroundFetch: (\n k: K,\n index: number | undefined,\n options: LRUCache.FetchOptions<K, V, FC>,\n context: any\n ): BackgroundFetch<V> =>\n c.#backgroundFetch(\n k,\n index as Index | undefined,\n options,\n context\n ),\n moveToTail: (index: number): void =>\n c.#moveToTail(index as Index),\n indexes: (options?: { allowStale: boolean }) =>\n c.#indexes(options),\n rindexes: (options?: { allowStale: boolean }) =>\n c.#rindexes(options),\n isStale: (index: number | undefined) =>\n c.#isStale(index as Index),\n }\n }\n\n // Protected read-only members\n\n /**\n * {@link LRUCache.OptionsBase.max} (read-only)\n */\n get max(): LRUCache.Count {\n return this.#max\n }\n /**\n * {@link LRUCache.OptionsBase.maxSize} (read-only)\n */\n get maxSize(): LRUCache.Count {\n return this.#maxSize\n }\n /**\n * The total computed size of items in the cache (read-only)\n */\n get calculatedSize(): LRUCache.Size {\n return this.#calculatedSize\n }\n /**\n * The number of items stored in the cache (read-only)\n */\n get size(): LRUCache.Count {\n return this.#size\n }\n /**\n * {@link LRUCache.OptionsBase.fetchMethod} (read-only)\n */\n get fetchMethod(): LRUCache.Fetcher<K, V, FC> | undefined {\n return this.#fetchMethod\n }\n /**\n * {@link LRUCache.OptionsBase.dispose} (read-only)\n */\n get dispose() {\n return this.#dispose\n }\n /**\n * {@link LRUCache.OptionsBase.disposeAfter} (read-only)\n */\n get disposeAfter() {\n return this.#disposeAfter\n }\n\n constructor(\n options: LRUCache.Options<K, V, FC> | LRUCache<K, V, FC>\n ) {\n const {\n max = 0,\n ttl,\n ttlResolution = 1,\n ttlAutopurge,\n updateAgeOnGet,\n updateAgeOnHas,\n allowStale,\n dispose,\n disposeAfter,\n noDisposeOnSet,\n noUpdateTTL,\n maxSize = 0,\n maxEntrySize = 0,\n sizeCalculation,\n fetchMethod,\n noDeleteOnFetchRejection,\n noDeleteOnStaleGet,\n allowStaleOnFetchRejection,\n allowStaleOnFetchAbort,\n ignoreFetchAbort,\n } = options\n\n if (max !== 0 && !isPosInt(max)) {\n throw new TypeError('max option must be a nonnegative integer')\n }\n\n const UintArray = max ? getUintArray(max) : Array\n if (!UintArray) {\n throw new Error('invalid max value: ' + max)\n }\n\n this.#max = max\n this.#maxSize = maxSize\n this.maxEntrySize = maxEntrySize || this.#maxSize\n this.sizeCalculation = sizeCalculation\n if (this.sizeCalculation) {\n if (!this.#maxSize && !this.maxEntrySize) {\n throw new TypeError(\n 'cannot set sizeCalculation without setting maxSize or maxEntrySize'\n )\n }\n if (typeof this.sizeCalculation !== 'function') {\n throw new TypeError('sizeCalculation set to non-function')\n }\n }\n\n if (\n fetchMethod !== undefined &&\n typeof fetchMethod !== 'function'\n ) {\n throw new TypeError(\n 'fetchMethod must be a function if specified'\n )\n }\n this.#fetchMethod = fetchMethod\n this.#hasFetchMethod = !!fetchMethod\n\n this.#keyMap = new Map()\n this.#keyList = new Array(max).fill(undefined)\n this.#valList = new Array(max).fill(undefined)\n this.#next = new UintArray(max)\n this.#prev = new UintArray(max)\n this.#head = 0 as Index\n this.#tail = 0 as Index\n this.#free = Stack.create(max)\n this.#size = 0\n this.#calculatedSize = 0\n\n if (typeof dispose === 'function') {\n this.#dispose = dispose\n }\n if (typeof disposeAfter === 'function') {\n this.#disposeAfter = disposeAfter\n this.#disposed = []\n } else {\n this.#disposeAfter = undefined\n this.#disposed = undefined\n }\n this.#hasDispose = !!this.#dispose\n this.#hasDisposeAfter = !!this.#disposeAfter\n\n this.noDisposeOnSet = !!noDisposeOnSet\n this.noUpdateTTL = !!noUpdateTTL\n this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection\n this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection\n this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort\n this.ignoreFetchAbort = !!ignoreFetchAbort\n\n // NB: maxEntrySize is set to maxSize if it's set\n if (this.maxEntrySize !== 0) {\n if (this.#maxSize !== 0) {\n if (!isPosInt(this.#maxSize)) {\n throw new TypeError(\n 'maxSize must be a positive integer if specified'\n )\n }\n }\n if (!isPosInt(this.maxEntrySize)) {\n throw new TypeError(\n 'maxEntrySize must be a positive integer if specified'\n )\n }\n this.#initializeSizeTracking()\n }\n\n this.allowStale = !!allowStale\n this.noDeleteOnStaleGet = !!noDeleteOnStaleGet\n this.updateAgeOnGet = !!updateAgeOnGet\n this.updateAgeOnHas = !!updateAgeOnHas\n this.ttlResolution =\n isPosInt(ttlResolution) || ttlResolution === 0\n ? ttlResolution\n : 1\n this.ttlAutopurge = !!ttlAutopurge\n this.ttl = ttl || 0\n if (this.ttl) {\n if (!isPosInt(this.ttl)) {\n throw new TypeError(\n 'ttl must be a positive integer if specified'\n )\n }\n this.#initializeTTLTracking()\n }\n\n // do not allow completely unbounded caches\n if (this.#max === 0 && this.ttl === 0 && this.#maxSize === 0) {\n throw new TypeError(\n 'At least one of max, maxSize, or ttl is required'\n )\n }\n if (!this.ttlAutopurge && !this.#max && !this.#maxSize) {\n const code = 'LRU_CACHE_UNBOUNDED'\n if (shouldWarn(code)) {\n warned.add(code)\n const msg =\n 'TTL caching without ttlAutopurge, max, or maxSize can ' +\n 'result in unbounded memory consumption.'\n emitWarning(msg, 'UnboundedCacheWarning', code, LRUCache)\n }\n }\n }\n\n /**\n * Return the remaining TTL time for a given entry key\n */\n getRemainingTTL(key: K) {\n return this.#keyMap.has(key) ? Infinity : 0\n }\n\n #initializeTTLTracking() {\n const ttls = new ZeroArray(this.#max)\n const starts = new ZeroArray(this.#max)\n this.#ttls = ttls\n this.#starts = starts\n\n this.#setItemTTL = (index, ttl, start = perf.now()) => {\n starts[index] = ttl !== 0 ? start : 0\n ttls[index] = ttl\n if (ttl !== 0 && this.ttlAutopurge) {\n const t = setTimeout(() => {\n if (this.#isStale(index)) {\n this.delete(this.#keyList[index] as K)\n }\n }, ttl + 1)\n // unref() not supported on all platforms\n /* c8 ignore start */\n if (t.unref) {\n t.unref()\n }\n /* c8 ignore stop */\n }\n }\n\n this.#updateItemAge = index => {\n starts[index] = ttls[index] !== 0 ? perf.now() : 0\n }\n\n this.#statusTTL = (status, index) => {\n if (ttls[index]) {\n const ttl = ttls[index]\n const start = starts[index]\n status.ttl = ttl\n status.start = start\n status.now = cachedNow || getNow()\n const age = status.now - start\n status.remainingTTL = ttl - age\n }\n }\n\n // debounce calls to perf.now() to 1s so we're not hitting\n // that costly call repeatedly.\n let cachedNow = 0\n const getNow = () => {\n const n = perf.now()\n if (this.ttlResolution > 0) {\n cachedNow = n\n const t = setTimeout(\n () => (cachedNow = 0),\n this.ttlResolution\n )\n // not available on all platforms\n /* c8 ignore start */\n if (t.unref) {\n t.unref()\n }\n /* c8 ignore stop */\n }\n return n\n }\n\n this.getRemainingTTL = key => {\n const index = this.#keyMap.get(key)\n if (index === undefined) {\n return 0\n }\n const ttl = ttls[index]\n const start = starts[index]\n if (ttl === 0 || start === 0) {\n return Infinity\n }\n const age = (cachedNow || getNow()) - start\n return ttl - age\n }\n\n this.#isStale = index => {\n return (\n ttls[index] !== 0 &&\n starts[index] !== 0 &&\n (cachedNow || getNow()) - starts[index] > ttls[index]\n )\n }\n }\n\n // conditionally set private methods related to TTL\n #updateItemAge: (index: Index) => void = () => {}\n #statusTTL: (status: LRUCache.Status<V>, index: Index) => void =\n () => {}\n #setItemTTL: (\n index: Index,\n ttl: LRUCache.Milliseconds,\n start?: LRUCache.Milliseconds\n // ignore because we never call this if we're not already in TTL mode\n /* c8 ignore start */\n ) => void = () => {}\n /* c8 ignore stop */\n\n #isStale: (index: Index) => boolean = () => false\n\n #initializeSizeTracking() {\n const sizes = new ZeroArray(this.#max)\n this.#calculatedSize = 0\n this.#sizes = sizes\n this.#removeItemSize = index => {\n this.#calculatedSize -= sizes[index]\n sizes[index] = 0\n }\n this.#requireSize = (k, v, size, sizeCalculation) => {\n // provisionally accept background fetches.\n // actual value size will be checked when they return.\n if (this.#isBackgroundFetch(v)) {\n return 0\n }\n if (!isPosInt(size)) {\n if (sizeCalculation) {\n if (typeof sizeCalculation !== 'function') {\n throw new TypeError('sizeCalculation must be a function')\n }\n size = sizeCalculation(v, k)\n if (!isPosInt(size)) {\n throw new TypeError(\n 'sizeCalculation return invalid (expect positive integer)'\n )\n }\n } else {\n throw new TypeError(\n 'invalid size value (must be positive integer). ' +\n 'When maxSize or maxEntrySize is used, sizeCalculation ' +\n 'or size must be set.'\n )\n }\n }\n return size\n }\n this.#addItemSize = (\n index: Index,\n size: LRUCache.Size,\n status?: LRUCache.Status<V>\n ) => {\n sizes[index] = size\n if (this.#maxSize) {\n const maxSize = this.#maxSize - sizes[index]\n while (this.#calculatedSize > maxSize) {\n this.#evict(true)\n }\n }\n this.#calculatedSize += sizes[index]\n if (status) {\n status.entrySize = size\n status.totalCalculatedSize = this.#calculatedSize\n }\n }\n }\n\n #removeItemSize: (index: Index) => void = _i => {}\n #addItemSize: (\n index: Index,\n size: LRUCache.Size,\n status?: LRUCache.Status<V>\n ) => void = (_i, _s, _st) => {}\n #requireSize: (\n k: K,\n v: V | BackgroundFetch<V>,\n size?: LRUCache.Size,\n sizeCalculation?: LRUCache.SizeCalculator<K, V>\n ) => LRUCache.Size = (\n _k: K,\n _v: V | BackgroundFetch<V>,\n size?: LRUCache.Size,\n sizeCalculation?: LRUCache.SizeCalculator<K, V>\n ) => {\n if (size || sizeCalculation) {\n throw new TypeError(\n 'cannot set size without setting maxSize or maxEntrySize on cache'\n )\n }\n return 0\n };\n\n *#indexes({ allowStale = this.allowStale } = {}) {\n if (this.#size) {\n for (let i = this.#tail; true; ) {\n if (!this.#isValidIndex(i)) {\n break\n }\n if (allowStale || !this.#isStale(i)) {\n yield i\n }\n if (i === this.#head) {\n break\n } else {\n i = this.#prev[i] as Index\n }\n }\n }\n }\n\n *#rindexes({ allowStale = this.allowStale } = {}) {\n if (this.#size) {\n for (let i = this.#head; true; ) {\n if (!this.#isValidIndex(i)) {\n break\n }\n if (allowStale || !this.#isStale(i)) {\n yield i\n }\n if (i === this.#tail) {\n break\n } else {\n i = this.#next[i] as Index\n }\n }\n }\n }\n\n #isValidIndex(index: Index) {\n return (\n index !== undefined &&\n this.#keyMap.get(this.#keyList[index] as K) === index\n )\n }\n\n /**\n * Return a generator yielding `[key, value]` pairs,\n * in order from most recently used to least recently used.\n */\n *entries() {\n for (const i of this.#indexes()) {\n if (\n this.#valList[i] !== undefined &&\n this.#keyList[i] !== undefined &&\n !this.#isBackgroundFetch(this.#valList[i])\n ) {\n yield [this.#keyList[i], this.#valList[i]]\n }\n }\n }\n\n /**\n * Inverse order version of {@link LRUCache.entries}\n *\n * Return a generator yielding `[key, value]` pairs,\n * in order from least recently used to most recently used.\n */\n *rentries() {\n for (const i of this.#rindexes()) {\n if (\n this.#valList[i] !== undefined &&\n this.#keyList[i] !== undefined &&\n !this.#isBackgroundFetch(this.#valList[i])\n ) {\n yield [this.#keyList[i], this.#valList[i]]\n }\n }\n }\n\n /**\n * Return a generator yielding the keys in the cache,\n * in order from most recently used to least recently used.\n */\n *keys() {\n for (const i of this.#indexes()) {\n const k = this.#keyList[i]\n if (\n k !== undefined &&\n !this.#isBackgroundFetch(this.#valList[i])\n ) {\n yield k\n }\n }\n }\n\n /**\n * Inverse order version of {@link LRUCache.keys}\n *\n * Return a generator yielding the keys in the cache,\n * in order from least recently used to most recently used.\n */\n *rkeys() {\n for (const i of this.#rindexes()) {\n const k = this.#keyList[i]\n if (\n k !== undefined &&\n !this.#isBackgroundFetch(this.#valList[i])\n ) {\n yield k\n }\n }\n }\n\n /**\n * Return a generator yielding the values in the cache,\n * in order from most recently used to least recently used.\n */\n *values() {\n for (const i of this.#indexes()) {\n const v = this.#valList[i]\n if (\n v !== undefined &&\n !this.#isBackgroundFetch(this.#valList[i])\n ) {\n yield this.#valList[i]\n }\n }\n }\n\n /**\n * Inverse order version of {@link LRUCache.values}\n *\n * Return a generator yielding the values in the cache,\n * in order from least recently used to most recently used.\n */\n *rvalues() {\n for (const i of this.#rindexes()) {\n const v = this.#valList[i]\n if (\n v !== undefined &&\n !this.#isBackgroundFetch(this.#valList[i])\n ) {\n yield this.#valList[i]\n }\n }\n }\n\n /**\n * Iterating over the cache itself yields the same results as\n * {@link LRUCache.entries}\n */\n [Symbol.iterator]() {\n return this.entries()\n }\n\n /**\n * Find a value for which the supplied fn method returns a truthy value,\n * similar to Array.find(). fn is called as fn(value, key, cache).\n */\n find(\n fn: (v: V, k: K, self: LRUCache<K, V, FC>) => boolean,\n getOptions: LRUCache.GetOptions<K, V, FC> = {}\n ) {\n for (const i of this.#indexes()) {\n const v = this.#valList[i]\n const value = this.#isBackgroundFetch(v)\n ? v.__staleWhileFetching\n : v\n if (value === undefined) continue\n if (fn(value, this.#keyList[i] as K, this)) {\n return this.get(this.#keyList[i] as K, getOptions)\n }\n }\n }\n\n /**\n * Call the supplied function on each item in the cache, in order from\n * most recently used to least recently used. fn is called as\n * fn(value, key, cache). Does not update age or recenty of use.\n * Does not iterate over stale values.\n */\n forEach(\n fn: (v: V, k: K, self: LRUCache<K, V, FC>) => any,\n thisp: any = this\n ) {\n for (const i of this.#indexes()) {\n const v = this.#valList[i]\n const value = this.#isBackgroundFetch(v)\n ? v.__staleWhileFetching\n : v\n if (value === undefined) continue\n fn.call(thisp, value, this.#keyList[i] as K, this)\n }\n }\n\n /**\n * The same as {@link LRUCache.forEach} but items are iterated over in\n * reverse order. (ie, less recently used items are iterated over first.)\n */\n rforEach(\n fn: (v: V, k: K, self: LRUCache<K, V, FC>) => any,\n thisp: any = this\n ) {\n for (const i of this.#rindexes()) {\n const v = this.#valList[i]\n const value = this.#isBackgroundFetch(v)\n ? v.__staleWhileFetching\n : v\n if (value === undefined) continue\n fn.call(thisp, value, this.#keyList[i] as K, this)\n }\n }\n\n /**\n * Delete any stale entries. Returns true if anything was removed,\n * false otherwise.\n */\n purgeStale() {\n let deleted = false\n for (const i of this.#rindexes({ allowStale: true })) {\n if (this.#isStale(i)) {\n this.delete(this.#keyList[i] as K)\n deleted = true\n }\n }\n return deleted\n }\n\n /**\n * Return an array of [key, {@link LRUCache.Entry}] tuples which can be\n * passed to cache.load()\n */\n dump() {\n const arr: [K, LRUCache.Entry<V>][] = []\n for (const i of this.#indexes({ allowStale: true })) {\n const key = this.#keyList[i]\n const v = this.#valList[i]\n const value: V | undefined = this.#isBackgroundFetch(v)\n ? v.__staleWhileFetching\n : v\n if (value === undefined || key === undefined) continue\n const entry: LRUCache.Entry<V> = { value }\n if (this.#ttls && this.#starts) {\n entry.ttl = this.#ttls[i]\n // always dump the start relative to a portable timestamp\n // it's ok for this to be a bit slow, it's a rare operation.\n const age = perf.now() - this.#starts[i]\n entry.start = Math.floor(Date.now() - age)\n }\n if (this.#sizes) {\n entry.size = this.#sizes[i]\n }\n arr.unshift([key, entry])\n }\n return arr\n }\n\n /**\n * Reset the cache and load in the items in entries in the order listed.\n * Note that the shape of the resulting cache may be different if the\n * same options are not used in both caches.\n */\n load(arr: [K, LRUCache.Entry<V>][]) {\n this.clear()\n for (const [key, entry] of arr) {\n if (entry.start) {\n // entry.start is a portable timestamp, but we may be using\n // node's performance.now(), so calculate the offset, so that\n // we get the intended remaining TTL, no matter how long it's\n // been on ice.\n //\n // it's ok for this to be a bit slow, it's a rare operation.\n const age = Date.now() - entry.start\n entry.start = perf.now() - age\n }\n this.set(key, entry.value, entry)\n }\n }\n\n /**\n * Add a value to the cache.\n *\n * Note: if `undefined` is specified as a value, this is an alias for\n * {@link LRUCache#delete}\n */\n set(\n k: K,\n v: V | BackgroundFetch<V> | undefined,\n setOptions: LRUCache.SetOptions<K, V, FC> = {}\n ) {\n if (v === undefined) {\n this.delete(k)\n return this\n }\n const {\n ttl = this.ttl,\n start,\n noDisposeOnSet = this.noDisposeOnSet,\n sizeCalculation = this.sizeCalculation,\n status,\n } = setOptions\n let { noUpdateTTL = this.noUpdateTTL } = setOptions\n\n const size = this.#requireSize(\n k,\n v,\n setOptions.size || 0,\n sizeCalculation\n )\n // if the item doesn't fit, don't do anything\n // NB: maxEntrySize set to maxSize by default\n if (this.maxEntrySize && size > this.maxEntrySize) {\n if (status) {\n status.set = 'miss'\n status.maxEntrySizeExceeded = true\n }\n // have to delete, in case something is there already.\n this.delete(k)\n return this\n }\n let index = this.#size === 0 ? undefined : this.#keyMap.get(k)\n if (index === undefined) {\n // addition\n index = (\n this.#size === 0\n ? this.#tail\n : this.#free.length !== 0\n ? this.#free.pop()\n : this.#size === this.#max\n ? this.#evict(false)\n : this.#size\n ) as Index\n this.#keyList[index] = k\n this.#valList[index] = v\n this.#keyMap.set(k, index)\n this.#next[this.#tail] = index\n this.#prev[index] = this.#tail\n this.#tail = index\n this.#size++\n this.#addItemSize(index, size, status)\n if (status) status.set = 'add'\n noUpdateTTL = false\n } else {\n // update\n this.#moveToTail(index)\n const oldVal = this.#valList[index] as V | BackgroundFetch<V>\n if (v !== oldVal) {\n if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) {\n oldVal.__abortController.abort(new Error('replaced'))\n } else if (!noDisposeOnSet) {\n if (this.#hasDispose) {\n this.#dispose?.(oldVal as V, k, 'set')\n }\n if (this.#hasDisposeAfter) {\n this.#disposed?.push([oldVal as V, k, 'set'])\n }\n }\n this.#removeItemSize(index)\n this.#addItemSize(index, size, status)\n this.#valList[index] = v\n if (status) {\n status.set = 'replace'\n const oldValue =\n oldVal && this.#isBackgroundFetch(oldVal)\n ? oldVal.__staleWhileFetching\n : oldVal\n if (oldValue !== undefined) status.oldValue = oldValue\n }\n } else if (status) {\n status.set = 'update'\n }\n }\n if (ttl !== 0 && !this.#ttls) {\n this.#initializeTTLTracking()\n }\n if (this.#ttls) {\n if (!noUpdateTTL) {\n this.#setItemTTL(index, ttl, start)\n }\n if (status) this.#statusTTL(status, index)\n }\n if (!noDisposeOnSet && this.#hasDisposeAfter && this.#disposed) {\n const dt = this.#disposed\n let task: DisposeTask<K, V> | undefined\n while ((task = dt?.shift())) {\n this.#disposeAfter?.(...task)\n }\n }\n return this\n }\n\n /**\n * Evict the least recently used item, returning its value or\n * `undefined` if cache is empty.\n */\n pop(): V | undefined {\n try {\n while (this.#size) {\n const val = this.#valList[this.#head]\n this.#evict(true)\n if (this.#isBackgroundFetch(val)) {\n if (val.__staleWhileFetching) {\n return val.__staleWhileFetching\n }\n } else if (val !== undefined) {\n return val\n }\n }\n } finally {\n if (this.#hasDisposeAfter && this.#disposed) {\n const dt = this.#disposed\n let task: DisposeTask<K, V> | undefined\n while ((task = dt?.shift())) {\n this.#disposeAfter?.(...task)\n }\n }\n }\n }\n\n #evict(free: boolean) {\n const head = this.#head\n const k = this.#keyList[head] as K\n const v = this.#valList[head] as V\n if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) {\n v.__abortController.abort(new Error('evicted'))\n } else if (this.#hasDispose || this.#hasDisposeAfter) {\n if (this.#hasDispose) {\n this.#dispose?.(v, k, 'evict')\n }\n if (this.#hasDisposeAfter) {\n this.#disposed?.push([v, k, 'evict'])\n }\n }\n this.#removeItemSize(head)\n // if we aren't about to use the index, then null these out\n if (free) {\n this.#keyList[head] = undefined\n this.#valList[head] = undefined\n this.#free.push(head)\n }\n if (this.#size === 1) {\n this.#head = this.#tail = 0 as Index\n this.#free.length = 0\n } else {\n this.#head = this.#next[head] as Index\n }\n this.#keyMap.delete(k)\n this.#size--\n return head\n }\n\n /**\n * Check if a key is in the cache, without updating the recency of use.\n * Will return false if the item is stale, even though it is technically\n * in the cache.\n *\n * Will not update item age unless\n * {@link LRUCache.OptionsBase.updateAgeOnHas} is set.\n */\n has(k: K, hasOptions: LRUCache.HasOptions<K, V, FC> = {}) {\n const { updateAgeOnHas = this.updateAgeOnHas, status } =\n hasOptions\n const index = this.#keyMap.get(k)\n if (index !== undefined) {\n const v = this.#valList[index]\n if (\n this.#isBackgroundFetch(v) &&\n v.__staleWhileFetching === undefined\n ) {\n return false\n }\n if (!this.#isStale(index)) {\n if (updateAgeOnHas) {\n this.#updateItemAge(index)\n }\n if (status) {\n status.has = 'hit'\n this.#statusTTL(status, index)\n }\n return true\n } else if (status) {\n status.has = 'stale'\n this.#statusTTL(status, index)\n }\n } else if (status) {\n status.has = 'miss'\n }\n return false\n }\n\n /**\n * Like {@link LRUCache#get} but doesn't update recency or delete stale\n * items.\n *\n * Returns `undefined` if the item is stale, unless\n * {@link LRUCache.OptionsBase.allowStale} is set.\n */\n peek(k: K, peekOptions: LRUCache.PeekOptions<K, V, FC> = {}) {\n const { allowStale = this.allowStale } = peekOptions\n const index = this.#keyMap.get(k)\n if (\n index !== undefined &&\n (allowStale || !this.#isStale(index))\n ) {\n const v = this.#valList[index]\n // either stale and allowed, or forcing a refresh of non-stale value\n return this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v\n }\n }\n\n #backgroundFetch(\n k: K,\n index: Index | undefined,\n options: LRUCache.FetchOptions<K, V, FC>,\n context: any\n ): BackgroundFetch<V> {\n const v = index === undefined ? undefined : this.#valList[index]\n if (this.#isBackgroundFetch(v)) {\n return v\n }\n\n const ac = new AC()\n const { signal } = options\n // when/if our AC signals, then stop listening to theirs.\n signal?.addEventListener('abort', () => ac.abort(signal.reason), {\n signal: ac.signal,\n })\n\n const fetchOpts = {\n signal: ac.signal,\n options,\n context,\n }\n\n const cb = (\n v: V | void | undefined,\n updateCache = false\n ): V | undefined | void => {\n const { aborted } = ac.signal\n const ignoreAbort = options.ignoreFetchAbort && v !== undefined\n if (options.status) {\n if (aborted && !updateCache) {\n options.status.fetchAborted = true\n options.status.fetchError = ac.signal.reason\n if (ignoreAbort) options.status.fetchAbortIgnored = true\n } else {\n options.status.fetchResolved = true\n }\n }\n if (aborted && !ignoreAbort && !updateCache) {\n return fetchFail(ac.signal.reason)\n }\n // either we didn't abort, and are still here, or we did, and ignored\n const bf = p as BackgroundFetch<V>\n if (this.#valList[index as Index] === p) {\n if (v === undefined) {\n if (bf.__staleWhileFetching) {\n this.#valList[index as Index] = bf.__staleWhileFetching\n } else {\n this.delete(k)\n }\n } else {\n if (options.status) options.status.fetchUpdated = true\n this.set(k, v, fetchOpts.options)\n }\n }\n return v\n }\n\n const eb = (er: any) => {\n if (options.status) {\n options.status.fetchRejected = true\n options.status.fetchError = er\n }\n return fetchFail(er)\n }\n\n const fetchFail = (er: any): V | undefined => {\n const { aborted } = ac.signal\n const allowStaleAborted =\n aborted && options.allowStaleOnFetchAbort\n const allowStale =\n allowStaleAborted || options.allowStaleOnFetchRejection\n const noDelete = allowStale || options.noDeleteOnFetchRejection\n const bf = p as BackgroundFetch<V>\n if (this.#valList[index as Index] === p) {\n // if we allow stale on fetch rejections, then we need to ensure that\n // the stale value is not removed from the cache when the fetch fails.\n const del = !noDelete || bf.__staleWhileFetching === undefined\n if (del) {\n this.delete(k)\n } else if (!allowStaleAborted) {\n // still replace the *promise* with the stale value,\n // since we are done with the promise at this point.\n // leave it untouched if we're still waiting for an\n // aborted background fetch that hasn't yet returned.\n this.#valList[index as Index] = bf.__staleWhileFetching\n }\n }\n if (allowStale) {\n if (options.status && bf.__staleWhileFetching !== undefined) {\n options.status.returnedStale = true\n }\n return bf.__staleWhileFetching\n } else if (bf.__returned === bf) {\n throw er\n }\n }\n\n const pcall = (\n res: (v: V | void | undefined) => void,\n rej: (e: any) => void\n ) => {\n const fmp = this.#fetchMethod?.(k, v, fetchOpts)\n if (fmp && fmp instanceof Promise) {\n fmp.then(v => res(v), rej)\n }\n // ignored, we go until we finish, regardless.\n // defer check until we are actually aborting,\n // so fetchMethod can override.\n ac.signal.addEventListener('abort', () => {\n if (\n !options.ignoreFetchAbort ||\n options.allowStaleOnFetchAbort\n ) {\n res()\n // when it eventually resolves, update the cache.\n if (options.allowStaleOnFetchAbort) {\n res = v => cb(v, true)\n }\n }\n })\n }\n\n if (options.status) options.status.fetchDispatched = true\n const p = new Promise(pcall).then(cb, eb)\n const bf = Object.assign(p, {\n __abortController: ac,\n __staleWhileFetching: v,\n __returned: undefined,\n })\n\n if (index === undefined) {\n // internal, don't expose status.\n this.set(k, bf, { ...fetchOpts.options, status: undefined })\n index = this.#keyMap.get(k)\n } else {\n this.#valList[index] = bf\n }\n return bf\n }\n\n #isBackgroundFetch(p: any): p is BackgroundFetch<V> {\n if (!this.#hasFetchMethod) return false\n const b = p as BackgroundFetch<V>\n return (\n !!b &&\n b instanceof Promise &&\n b.hasOwnProperty('__staleWhileFetching') &&\n b.__abortController instanceof AC\n )\n }\n\n /**\n * Make an asynchronous cached fetch using the\n * {@link LRUCache.OptionsBase.fetchMethod} function.\n *\n * If multiple fetches for the same key are issued, then they will all be\n * coalesced into a single call to fetchMethod.\n *\n * Note that this means that handling options such as\n * {@link LRUCache.OptionsBase.allowStaleOnFetchAbort},\n * {@link LRUCache.FetchOptions.signal},\n * and {@link LRUCache.OptionsBase.allowStaleOnFetchRejection} will be\n * determined by the FIRST fetch() call for a given key.\n *\n * This is a known (fixable) shortcoming which will be addresed on when\n * someone complains about it, as the fix would involve added complexity and\n * may not be worth the costs for this edge case.\n */\n fetch(\n k: K,\n fetchOptions: unknown extends FC\n ? LRUCache.FetchOptions<K, V, FC>\n : FC extends undefined | void\n ? LRUCache.FetchOptionsNoContext<K, V, FC>\n : LRUCache.FetchOptionsWithContext<K, V, FC>\n ): Promise<void | V>\n // this overload not allowed if context is required\n fetch(\n k: unknown extends FC\n ? K\n : FC extends undefined | void\n ? K\n : never,\n fetchOptions?: unknown extends FC\n ? LRUCache.FetchOptions<K, V, FC>\n : FC extends undefined | void\n ? LRUCache.FetchOptionsNoContext<K, V, FC>\n : never\n ): Promise<void | V>\n async fetch(\n k: K,\n fetchOptions: LRUCache.FetchOptions<K, V, FC> = {}\n ): Promise<void | V> {\n const {\n // get options\n allowStale = this.allowStale,\n updateAgeOnGet = this.updateAgeOnGet,\n noDeleteOnStaleGet = this.noDeleteOnStaleGet,\n // set options\n ttl = this.ttl,\n noDisposeOnSet = this.noDisposeOnSet,\n size = 0,\n sizeCalculation = this.sizeCalculation,\n noUpdateTTL = this.noUpdateTTL,\n // fetch exclusive options\n noDeleteOnFetchRejection = this.noDeleteOnFetchRejection,\n allowStaleOnFetchRejection = this.allowStaleOnFetchRejection,\n ignoreFetchAbort = this.ignoreFetchAbort,\n allowStaleOnFetchAbort = this.allowStaleOnFetchAbort,\n context,\n forceRefresh = false,\n status,\n signal,\n } = fetchOptions\n\n if (!this.#hasFetchMethod) {\n if (status) status.fetch = 'get'\n return this.get(k, {\n allowStale,\n updateAgeOnGet,\n noDeleteOnStaleGet,\n status,\n })\n }\n\n const options = {\n allowStale,\n updateAgeOnGet,\n noDeleteOnStaleGet,\n ttl,\n noDisposeOnSet,\n size,\n sizeCalculation,\n noUpdateTTL,\n noDeleteOnFetchRejection,\n allowStaleOnFetchRejection,\n allowStaleOnFetchAbort,\n ignoreFetchAbort,\n status,\n signal,\n }\n\n let index = this.#keyMap.get(k)\n if (index === undefined) {\n if (status) status.fetch = 'miss'\n const p = this.#backgroundFetch(k, index, options, context)\n return (p.__returned = p)\n } else {\n // in cache, maybe already fetching\n const v = this.#valList[index]\n if (this.#isBackgroundFetch(v)) {\n const stale =\n allowStale && v.__staleWhileFetching !== undefined\n if (status) {\n status.fetch = 'inflight'\n if (stale) status.returnedStale = true\n }\n return stale ? v.__staleWhileFetching : (v.__returned = v)\n }\n\n // if we force a refresh, that means do NOT serve the cached value,\n // unless we are already in the process of refreshing the cache.\n const isStale = this.#isStale(index)\n if (!forceRefresh && !isStale) {\n if (status) status.fetch = 'hit'\n this.#moveToTail(index)\n if (updateAgeOnGet) {\n this.#updateItemAge(index)\n }\n if (status) this.#statusTTL(status, index)\n return v\n }\n\n // ok, it is stale or a forced refresh, and not already fetching.\n // refresh the cache.\n const p = this.#backgroundFetch(k, index, options, context)\n const hasStale = p.__staleWhileFetching !== undefined\n const staleVal = hasStale && allowStale\n if (status) {\n status.fetch = isStale ? 'stale' : 'refresh'\n if (staleVal && isStale) status.returnedStale = true\n }\n return staleVal ? p.__staleWhileFetching : (p.__returned = p)\n }\n }\n\n /**\n * Return a value from the cache. Will update the recency of the cache\n * entry found.\n *\n * If the key is not found, get() will return `undefined`.\n */\n get(k: K, getOptions: LRUCache.GetOptions<K, V, FC> = {}) {\n const {\n allowStale = this.allowStale,\n updateAgeOnGet = this.updateAgeOnGet,\n noDeleteOnStaleGet = this.noDeleteOnStaleGet,\n status,\n } = getOptions\n const index = this.#keyMap.get(k)\n if (index !== undefined) {\n const value = this.#valList[index]\n const fetching = this.#isBackgroundFetch(value)\n if (status) this.#statusTTL(status, index)\n if (this.#isStale(index)) {\n if (status) status.get = 'stale'\n // delete only if not an in-flight background fetch\n if (!fetching) {\n if (!noDeleteOnStaleGet) {\n this.delete(k)\n }\n if (status && allowStale) status.returnedStale = true\n return allowStale ? value : undefined\n } else {\n if (\n status &&\n allowStale &&\n value.__staleWhileFetching !== undefined\n ) {\n status.returnedStale = true\n }\n return allowStale ? value.__staleWhileFetching : undefined\n }\n } else {\n if (status) status.get = 'hit'\n // if we're currently fetching it, we don't actually have it yet\n // it's not stale, which means this isn't a staleWhileRefetching.\n // If it's not stale, and fetching, AND has a __staleWhileFetching\n // value, then that means the user fetched with {forceRefresh:true},\n // so it's safe to return that value.\n if (fetching) {\n return value.__staleWhileFetching\n }\n this.#moveToTail(index)\n if (updateAgeOnGet) {\n this.#updateItemAge(index)\n }\n return value\n }\n } else if (status) {\n status.get = 'miss'\n }\n }\n\n #connect(p: Index, n: Index) {\n this.#prev[n] = p\n this.#next[p] = n\n }\n\n #moveToTail(index: Index): void {\n // if tail already, nothing to do\n // if head, move head to next[index]\n // else\n // move next[prev[index]] to next[index] (head has no prev)\n // move prev[next[index]] to prev[index]\n // prev[index] = tail\n // next[tail] = index\n // tail = index\n if (index !== this.#tail) {\n if (index === this.#head) {\n this.#head = this.#next[index] as Index\n } else {\n this.#connect(\n this.#prev[index] as Index,\n this.#next[index] as Index\n )\n }\n this.#connect(this.#tail, index)\n this.#tail = index\n }\n }\n\n /**\n * Deletes a key out of the cache.\n * Returns true if the key was deleted, false otherwise.\n */\n delete(k: K) {\n let deleted = false\n if (this.#size !== 0) {\n const index = this.#keyMap.get(k)\n if (index !== undefined) {\n deleted = true\n if (this.#size === 1) {\n this.clear()\n } else {\n this.#removeItemSize(index)\n const v = this.#valList[index]\n if (this.#isBackgroundFetch(v)) {\n v.__abortController.abort(new Error('deleted'))\n } else if (this.#hasDispose || this.#hasDisposeAfter) {\n if (this.#hasDispose) {\n this.#dispose?.(v as V, k, 'delete')\n }\n if (this.#hasDisposeAfter) {\n this.#disposed?.push([v as V, k, 'delete'])\n }\n }\n this.#keyMap.delete(k)\n this.#keyList[index] = undefined\n this.#valList[index] = undefined\n if (index === this.#tail) {\n this.#tail = this.#prev[index] as Index\n } else if (index === this.#head) {\n this.#head = this.#next[index] as Index\n } else {\n this.#next[this.#prev[index]] = this.#next[index]\n this.#prev[this.#next[index]] = this.#prev[index]\n }\n this.#size--\n this.#free.push(index)\n }\n }\n }\n if (this.#hasDisposeAfter && this.#disposed?.length) {\n const dt = this.#disposed\n let task: DisposeTask<K, V> | undefined\n while ((task = dt?.shift())) {\n this.#disposeAfter?.(...task)\n }\n }\n return deleted\n }\n\n /**\n * Clear the cache entirely, throwing away all values.\n */\n clear() {\n for (const index of this.#rindexes({ allowStale: true })) {\n const v = this.#valList[index]\n if (this.#isBackgroundFetch(v)) {\n v.__abortController.abort(new Error('deleted'))\n } else {\n const k = this.#keyList[index]\n if (this.#hasDispose) {\n this.#dispose?.(v as V, k as K, 'delete')\n }\n if (this.#hasDisposeAfter) {\n this.#disposed?.push([v as V, k as K, 'delete'])\n }\n }\n }\n\n this.#keyMap.clear()\n this.#valList.fill(undefined)\n this.#keyList.fill(undefined)\n if (this.#ttls && this.#starts) {\n this.#ttls.fill(0)\n this.#starts.fill(0)\n }\n if (this.#sizes) {\n this.#sizes.fill(0)\n }\n this.#head = 0 as Index\n this.#tail = 0 as Index\n this.#free.length = 0\n this.#calculatedSize = 0\n this.#size = 0\n if (this.#hasDisposeAfter && this.#disposed) {\n const dt = this.#disposed\n let task: DisposeTask<K, V> | undefined\n while ((task = dt?.shift())) {\n this.#disposeAfter?.(...task)\n }\n }\n }\n}\n","import { CompletionRequest, CompletionResponse } from \"./Agent\";\nimport deepEqual from \"deep-equal\";\nimport { isBlank, splitLines } from \"./utils\";\nimport { rootLogger } from \"./logger\";\n\ntype PostprocessContext = CompletionRequest;\ntype PostprocessFilter = (item: string) => string | null | Promise<string | null>;\n\nconst logger = rootLogger.child({ component: \"Postprocess\" });\n\nconst removeDuplicateLines: (context: PostprocessContext) => PostprocessFilter = (context) => {\n return (input) => {\n const suffix = context.text.slice(context.position);\n const suffixLines = splitLines(suffix);\n const inputLines = splitLines(input);\n for (let index = Math.max(0, inputLines.length - suffixLines.length); index < inputLines.length; index++) {\n if (deepEqual(inputLines.slice(index), suffixLines.slice(0, input.length - index))) {\n logger.debug({ input, suffix, duplicateAt: index }, \"Remove duplicate lines\");\n return input.slice(0, index);\n }\n }\n return input;\n };\n};\n\nconst dropBlank: PostprocessFilter = (input) => {\n return isBlank(input) ? null : input;\n};\n\nconst applyFilter = (filter: PostprocessFilter) => {\n return async (response: CompletionResponse) => {\n response.choices = (\n await Promise.all(\n response.choices.map(async (choice) => {\n choice.text = await filter(choice.text);\n return choice;\n })\n )\n ).filter(Boolean);\n return response;\n };\n};\n\nexport async function postprocess(\n request: CompletionRequest,\n response: CompletionResponse\n): Promise<CompletionResponse> {\n return new Promise((resolve) => resolve(response))\n .then(applyFilter(removeDuplicateLines(request)))\n .then(applyFilter(dropBlank));\n}\n","import {\n CancelablePromise,\n LogEventRequest as ApiLogEventRequest,\n CompletionResponse as ApiCompletionResponse,\n} from \"./generated\";\n\nimport { AgentConfig } from \"./AgentConfig\";\n\nexport type AgentInitOptions = {\n config: Partial<AgentConfig>;\n client: string;\n};\n\nexport type CompletionRequest = {\n filepath: string;\n language: string;\n text: string;\n position: number;\n};\n\nexport type CompletionResponse = ApiCompletionResponse;\n\nexport type LogEventRequest = ApiLogEventRequest;\n\nexport type AgentStatus = \"notInitialized\" | \"ready\" | \"disconnected\" | \"unauthorized\";\n\nexport interface AgentFunction {\n initialize(options: Partial<AgentInitOptions>): Promise<boolean>;\n updateConfig(config: Partial<AgentConfig>): Promise<boolean>;\n getConfig(): AgentConfig;\n getStatus(): AgentStatus;\n\n /**\n * @returns string auth url if AgentStatus is `unauthorized`, null otherwise\n * @throws Error if agent is not initialized\n */\n startAuth(): CancelablePromise<string | null>;\n\n /**\n * @param request \n * @returns\n * @throws Error if agent is not initialized\n */\n getCompletions(request: CompletionRequest): CancelablePromise<CompletionResponse>;\n\n /**\n * @param event \n * @returns\n * @throws Error if agent is not initialized\n */\n postEvent(event: LogEventRequest): CancelablePromise<boolean>;\n}\n\nexport type StatusChangedEvent = {\n event: \"statusChanged\";\n status: AgentStatus;\n};\nexport type ConfigUpdatedEvent = {\n event: \"configUpdated\";\n config: AgentConfig;\n};\n\nexport type AgentEvent = StatusChangedEvent | ConfigUpdatedEvent;\nexport const agentEventNames: AgentEvent[\"event\"][] = [\"statusChanged\", \"configUpdated\"];\n\nexport interface AgentEventEmitter {\n on<T extends AgentEvent>(eventName: T[\"event\"], callback: (event: T) => void): this;\n}\n\nexport type Agent = AgentFunction & AgentEventEmitter;\n"]}