{"version":3,"file":"static/js/vendor.initial~6575d636.d72f523f.js","mappings":"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","sources":["../../../../node_modules/.pnpm/@aria+webjs-sdk@1.8.4/node_modules/@aria/webjs-sdk/dist/src/bond/bond_const.js","../../../../node_modules/.pnpm/@aria+webjs-sdk@1.8.4/node_modules/@aria/webjs-sdk/dist/src/bond/microsoft.bond.encoding.js","../../../../node_modules/.pnpm/@aria+webjs-sdk@1.8.4/node_modules/@aria/webjs-sdk/dist/src/bond/microsoft.bond.floatutils.js","../../../../node_modules/.pnpm/@aria+webjs-sdk@1.8.4/node_modules/@aria/webjs-sdk/dist/src/bond/microsoft.bond.io.js","../../../../node_modules/.pnpm/@aria+webjs-sdk@1.8.4/node_modules/@aria/webjs-sdk/dist/src/bond/microsoft.bond.js","../../../../node_modules/.pnpm/@aria+webjs-sdk@1.8.4/node_modules/@aria/webjs-sdk/dist/src/bond/microsoft.bond.primitives.js","../../../../node_modules/.pnpm/@aria+webjs-sdk@1.8.4/node_modules/@aria/webjs-sdk/dist/src/bond/microsoft.bond.utils.js","../../../../node_modules/.pnpm/@aria+webjs-sdk@1.8.4/node_modules/@aria/webjs-sdk/dist/src/common/AWTClockSkewManager.js","../../../../node_modules/.pnpm/@aria+webjs-sdk@1.8.4/node_modules/@aria/webjs-sdk/dist/src/common/AWTKillSwitch.js","../../../../node_modules/.pnpm/@aria+webjs-sdk@1.8.4/node_modules/@aria/webjs-sdk/dist/src/common/AWTNotificationManager.js","../../../../node_modules/.pnpm/@aria+webjs-sdk@1.8.4/node_modules/@aria/webjs-sdk/dist/src/common/AWTRecordBatcher.js","../../../../node_modules/.pnpm/@aria+webjs-sdk@1.8.4/node_modules/@aria/webjs-sdk/dist/src/common/AWTRetryPolicy.js","../../../../node_modules/.pnpm/@aria+webjs-sdk@1.8.4/node_modules/@aria/webjs-sdk/dist/src/common/AWTSerializer.js","../../../../node_modules/.pnpm/@aria+webjs-sdk@1.8.4/node_modules/@aria/webjs-sdk/dist/src/common/AWTStatsManager.js","../../../../node_modules/.pnpm/@aria+webjs-sdk@1.8.4/node_modules/@aria/webjs-sdk/dist/src/common/Enums.js","../../../../node_modules/.pnpm/@aria+webjs-sdk@1.8.4/node_modules/@aria/webjs-sdk/dist/src/common/Utils.js","../../../../node_modules/.pnpm/@aria+webjs-sdk@1.8.4/node_modules/@aria/webjs-sdk/dist/src/webjs/AWTAutoCollection.js","../../../../node_modules/.pnpm/@aria+webjs-sdk@1.8.4/node_modules/@aria/webjs-sdk/dist/src/webjs/AWTEventProperties.js","../../../../node_modules/.pnpm/@aria+webjs-sdk@1.8.4/node_modules/@aria/webjs-sdk/dist/src/webjs/AWTHttpManager.js","../../../../node_modules/.pnpm/@aria+webjs-sdk@1.8.4/node_modules/@aria/webjs-sdk/dist/src/webjs/AWTLogManager.js","../../../../node_modules/.pnpm/@aria+webjs-sdk@1.8.4/node_modules/@aria/webjs-sdk/dist/src/webjs/AWTLogManagerSettings.js","../../../../node_modules/.pnpm/@aria+webjs-sdk@1.8.4/node_modules/@aria/webjs-sdk/dist/src/webjs/AWTLogger.js","../../../../node_modules/.pnpm/@aria+webjs-sdk@1.8.4/node_modules/@aria/webjs-sdk/dist/src/webjs/AWTQueueManager.js","../../../../node_modules/.pnpm/@aria+webjs-sdk@1.8.4/node_modules/@aria/webjs-sdk/dist/src/webjs/AWTSemanticContext.js","../../../../node_modules/.pnpm/@aria+webjs-sdk@1.8.4/node_modules/@aria/webjs-sdk/dist/src/webjs/AWTTransmissionManager.js","../../../../node_modules/.pnpm/@aria+webjs-sdk@1.8.4/node_modules/@aria/webjs-sdk/dist/src/webjs/AWTTransmissionManagerCore.js","../../../../node_modules/.pnpm/@aria+webjs-sdk@1.8.4/node_modules/@aria/webjs-sdk/dist/src/webjs/AriaSDK.js","../../../../node_modules/.pnpm/@aria+webjs-sdk@1.8.4/node_modules/@aria/webjs-sdk/dist/src/webjs/DataModels.js","../../../../node_modules/.pnpm/@aria+webjs-sdk@1.8.4/node_modules/@aria/webjs-sdk/dist/src/webjs/Enums.js","../../../../node_modules/.pnpm/@aria+webjs-sdk@1.8.4/node_modules/@aria/webjs-sdk/dist/src/webjs/Version.js","../../../../node_modules/.pnpm/@babel+runtime-corejs2@7.12.5/node_modules/@babel/runtime-corejs2/core-js/array/from.js","../../../../node_modules/.pnpm/@babel+runtime-corejs2@7.12.5/node_modules/@babel/runtime-corejs2/core-js/array/is-array.js","../../../../node_modules/.pnpm/@babel+runtime-corejs2@7.12.5/node_modules/@babel/runtime-corejs2/core-js/object/assign.js","../../../../node_modules/.pnpm/@babel+runtime-corejs2@7.12.5/node_modules/@babel/runtime-corejs2/core-js/object/create.js","../../../../node_modules/.pnpm/@babel+runtime-corejs2@7.12.5/node_modules/@babel/runtime-corejs2/core-js/object/entries.js","../../../../node_modules/.pnpm/@babel+runtime-corejs2@7.12.5/node_modules/@babel/runtime-corejs2/core-js/object/keys.js","../../../../node_modules/.pnpm/@babel+runtime-corejs2@7.12.5/node_modules/@babel/runtime-corejs2/core-js/object/values.js","../../../../node_modules/.pnpm/@babel+runtime-corejs2@7.12.5/node_modules/@babel/runtime-corejs2/core-js/parse-int.js","../../../../node_modules/.pnpm/@babel+runtime@7.14.8/node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../../../../node_modules/.pnpm/@babel+runtime@7.14.8/node_modules/@babel/runtime/helpers/arrayWithHoles.js","../../../../node_modules/.pnpm/@babel+runtime@7.14.8/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","../../../../node_modules/.pnpm/@babel+runtime@7.14.8/node_modules/@babel/runtime/helpers/asyncToGenerator.js","../../../../node_modules/.pnpm/@babel+runtime@7.14.8/node_modules/@babel/runtime/helpers/classCallCheck.js","../../../../node_modules/.pnpm/@babel+runtime@7.14.8/node_modules/@babel/runtime/helpers/createClass.js","../../../../node_modules/.pnpm/@babel+runtime@7.14.8/node_modules/@babel/runtime/helpers/defineProperty.js","../../../../node_modules/.pnpm/@babel+runtime@7.14.8/node_modules/@babel/runtime/helpers/interopRequireDefault.js","../../../../node_modules/.pnpm/@babel+runtime@7.14.8/node_modules/@babel/runtime/helpers/iterableToArray.js","../../../../node_modules/.pnpm/@babel+runtime@7.14.8/node_modules/@babel/runtime/helpers/nonIterableRest.js","../../../../node_modules/.pnpm/@babel+runtime@7.14.8/node_modules/@babel/runtime/helpers/nonIterableSpread.js","../../../../node_modules/.pnpm/@babel+runtime@7.14.8/node_modules/@babel/runtime/helpers/objectWithoutProperties.js","../../../../node_modules/.pnpm/@babel+runtime@7.14.8/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../../../../node_modules/.pnpm/@babel+runtime@7.14.8/node_modules/@babel/runtime/helpers/toArray.js","../../../../node_modules/.pnpm/@babel+runtime@7.14.8/node_modules/@babel/runtime/helpers/toConsumableArray.js","../../../../node_modules/.pnpm/@babel+runtime@7.14.8/node_modules/@babel/runtime/helpers/typeof.js","../../../../node_modules/.pnpm/@babel+runtime@7.14.8/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../../../../node_modules/.pnpm/@babel+runtime@7.14.8/node_modules/@babel/runtime/regenerator/index.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/ajv.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/cache.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/async.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/error_classes.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/formats.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/index.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/resolve.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/rules.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/schema_obj.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/ucs2length.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/util.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/data.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/definition_schema.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/_limit.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/_limitItems.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/_limitLength.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/_limitProperties.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/allOf.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/anyOf.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/comment.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/const.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/contains.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/custom.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/dependencies.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/enum.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/format.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/if.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/index.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/items.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/multipleOf.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/not.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/oneOf.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/pattern.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/properties.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/propertyNames.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/ref.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/required.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/uniqueItems.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/validate.js","../../../../node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/keyword.js","../../../../node_modules/.pnpm/axios@0.21.4/node_modules/axios/index.js","../../../../node_modules/.pnpm/axios@0.21.4/node_modules/axios/lib/adapters/xhr.js","../../../../node_modules/.pnpm/axios@0.21.4/node_modules/axios/lib/axios.js","../../../../node_modules/.pnpm/axios@0.21.4/node_modules/axios/lib/cancel/Cancel.js","../../../../node_modules/.pnpm/axios@0.21.4/node_modules/axios/lib/cancel/CancelToken.js","../../../../node_modules/.pnpm/axios@0.21.4/node_modules/axios/lib/cancel/isCancel.js","../../../../node_modules/.pnpm/axios@0.21.4/node_modules/axios/lib/core/Axios.js","../../../../node_modules/.pnpm/axios@0.21.4/node_modules/axios/lib/core/InterceptorManager.js","../../../../node_modules/.pnpm/axios@0.21.4/node_modules/axios/lib/core/buildFullPath.js","../../../../node_modules/.pnpm/axios@0.21.4/node_modules/axios/lib/core/createError.js","../../../../node_modules/.pnpm/axios@0.21.4/node_modules/axios/lib/core/dispatchRequest.js","../../../../node_modules/.pnpm/axios@0.21.4/node_modules/axios/lib/core/enhanceError.js","../../../../node_modules/.pnpm/axios@0.21.4/node_modules/axios/lib/core/mergeConfig.js","../../../../node_modules/.pnpm/axios@0.21.4/node_modules/axios/lib/core/settle.js","../../../../node_modules/.pnpm/axios@0.21.4/node_modules/axios/lib/core/transformData.js","../../../../node_modules/.pnpm/axios@0.21.4/node_modules/axios/lib/defaults.js","../../../../node_modules/.pnpm/axios@0.21.4/node_modules/axios/lib/helpers/bind.js","../../../../node_modules/.pnpm/axios@0.21.4/node_modules/axios/lib/helpers/buildURL.js","../../../../node_modules/.pnpm/axios@0.21.4/node_modules/axios/lib/helpers/combineURLs.js","../../../../node_modules/.pnpm/axios@0.21.4/node_modules/axios/lib/helpers/cookies.js","../../../../node_modules/.pnpm/axios@0.21.4/node_modules/axios/lib/helpers/isAbsoluteURL.js","../../../../node_modules/.pnpm/axios@0.21.4/node_modules/axios/lib/helpers/isAxiosError.js","../../../../node_modules/.pnpm/axios@0.21.4/node_modules/axios/lib/helpers/isURLSameOrigin.js","../../../../node_modules/.pnpm/axios@0.21.4/node_modules/axios/lib/helpers/normalizeHeaderName.js","../../../../node_modules/.pnpm/axios@0.21.4/node_modules/axios/lib/helpers/parseHeaders.js","../../../../node_modules/.pnpm/axios@0.21.4/node_modules/axios/lib/helpers/spread.js","../../../../node_modules/.pnpm/axios@0.21.4/node_modules/axios/lib/helpers/validator.js","../../../../node_modules/.pnpm/axios@0.21.4/node_modules/axios/lib/utils.js","../../../../node_modules/.pnpm/babel-runtime@6.26.0/node_modules/babel-runtime/core-js/get-iterator.js","../../../../node_modules/.pnpm/babel-runtime@6.26.0/node_modules/babel-runtime/core-js/is-iterable.js","../../../../node_modules/.pnpm/babel-runtime@6.26.0/node_modules/babel-runtime/core-js/object/assign.js","../../../../node_modules/.pnpm/babel-runtime@6.26.0/node_modules/babel-runtime/core-js/object/create.js","../../../../node_modules/.pnpm/babel-runtime@6.26.0/node_modules/babel-runtime/core-js/object/define-property.js","../../../../node_modules/.pnpm/babel-runtime@6.26.0/node_modules/babel-runtime/core-js/object/get-own-property-descriptor.js","../../../../node_modules/.pnpm/babel-runtime@6.26.0/node_modules/babel-runtime/core-js/object/get-prototype-of.js","../../../../node_modules/.pnpm/babel-runtime@6.26.0/node_modules/babel-runtime/core-js/object/keys.js","../../../../node_modules/.pnpm/babel-runtime@6.26.0/node_modules/babel-runtime/core-js/object/set-prototype-of.js","../../../../node_modules/.pnpm/babel-runtime@6.26.0/node_modules/babel-runtime/core-js/promise.js","../../../../node_modules/.pnpm/babel-runtime@6.26.0/node_modules/babel-runtime/core-js/symbol.js","../../../../node_modules/.pnpm/babel-runtime@6.26.0/node_modules/babel-runtime/core-js/symbol/iterator.js","../../../../node_modules/.pnpm/babel-runtime@6.26.0/node_modules/babel-runtime/helpers/classCallCheck.js","../../../../node_modules/.pnpm/babel-runtime@6.26.0/node_modules/babel-runtime/helpers/createClass.js","../../../../node_modules/.pnpm/babel-runtime@6.26.0/node_modules/babel-runtime/helpers/defineProperty.js","../../../../node_modules/.pnpm/babel-runtime@6.26.0/node_modules/babel-runtime/helpers/extends.js","../../../../node_modules/.pnpm/babel-runtime@6.26.0/node_modules/babel-runtime/helpers/inherits.js","../../../../node_modules/.pnpm/babel-runtime@6.26.0/node_modules/babel-runtime/helpers/objectWithoutProperties.js","../../../../node_modules/.pnpm/babel-runtime@6.26.0/node_modules/babel-runtime/helpers/possibleConstructorReturn.js","../../../../node_modules/.pnpm/babel-runtime@6.26.0/node_modules/babel-runtime/helpers/slicedToArray.js","../../../../node_modules/.pnpm/babel-runtime@6.26.0/node_modules/babel-runtime/helpers/typeof.js","../../../../node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/arrayWithHoles.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/assertThisInitialized.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/callSuper.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/classCallCheck.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/createClass.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/defineProperty.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/extends.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/getPrototypeOf.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/inherits.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/interopRequireDefault.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/iterableToArray.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/nonIterableRest.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/nonIterableSpread.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/objectSpread2.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/setPrototypeOf.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/slicedToArray.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/toConsumableArray.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/toPrimitive.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/toPropertyKey.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/typeof.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../../../../node_modules/.pnpm/axios@1.7.9/node_modules/axios/dist/browser/axios.cjs","../../../../node_modules/.pnpm/@babel+runtime-corejs2@7.12.5/node_modules/@babel/runtime-corejs2/helpers/esm/assertThisInitialized.js","../../../../node_modules/.pnpm/@babel+runtime-corejs2@7.12.5/node_modules/@babel/runtime-corejs2/helpers/esm/extends.js","../../../../node_modules/.pnpm/@babel+runtime-corejs2@7.12.5/node_modules/@babel/runtime-corejs2/helpers/esm/inheritsLoose.js","../../../../node_modules/.pnpm/@babel+runtime-corejs2@7.12.5/node_modules/@babel/runtime-corejs2/helpers/esm/objectWithoutPropertiesLoose.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/callSuper.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/construct.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/createClass.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/extends.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/inherits.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/get.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/superPropBase.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/superPropGet.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/toArray.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/typeof.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../../../../node_modules/.pnpm/@babel+runtime@7.27.0/node_modules/@babel/runtime/helpers/esm/isNativeFunction.js"],"sourcesContent":["\"use strict\";\r\n/**\r\n* bond_const.ts\r\n* Copyright: Microsoft 2016\r\n*/\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n//------------------------------------------------------------------------------\r\n// \r\n// This code was generated by a tool.\r\n//\r\n// Tool : bondc, Version=3.0.1, Build=bond-git.debug.not\r\n// Template : Microsoft.Bond.Rules.dll#TypeScript.tt\r\n// File : bond_const.ts\r\n//\r\n// Changes to this file may cause incorrect behavior and will be lost when\r\n// the code is regenerated.\r\n// \r\n//------------------------------------------------------------------------------\r\nvar _BondDataType;\r\n(function (_BondDataType) {\r\n _BondDataType[_BondDataType[\"_BT_STOP\"] = 0] = \"_BT_STOP\";\r\n _BondDataType[_BondDataType[\"_BT_STOP_BASE\"] = 1] = \"_BT_STOP_BASE\";\r\n _BondDataType[_BondDataType[\"_BT_BOOL\"] = 2] = \"_BT_BOOL\";\r\n _BondDataType[_BondDataType[\"_BT_DOUBLE\"] = 8] = \"_BT_DOUBLE\";\r\n _BondDataType[_BondDataType[\"_BT_STRING\"] = 9] = \"_BT_STRING\";\r\n _BondDataType[_BondDataType[\"_BT_STRUCT\"] = 10] = \"_BT_STRUCT\";\r\n _BondDataType[_BondDataType[\"_BT_LIST\"] = 11] = \"_BT_LIST\";\r\n _BondDataType[_BondDataType[\"_BT_MAP\"] = 13] = \"_BT_MAP\";\r\n _BondDataType[_BondDataType[\"_BT_INT32\"] = 16] = \"_BT_INT32\";\r\n _BondDataType[_BondDataType[\"_BT_INT64\"] = 17] = \"_BT_INT64\";\r\n})(_BondDataType = exports._BondDataType || (exports._BondDataType = {}));\r\n","\"use strict\";\r\n/**\r\n* microsoft.bond.encoding.ts\r\n* Copyright: Microsoft 2016\r\n*/\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar microsoft_bond_primitives_1 = require(\"./microsoft.bond.primitives\");\r\nvar microsoft_bond_floatutils_1 = require(\"./microsoft.bond.floatutils\");\r\nvar microsoft_bond_utils_1 = require(\"./microsoft.bond.utils\");\r\nfunction _Utf8_GetBytes(value) {\r\n var array = [];\r\n for (var i = 0; i < value.length; ++i) {\r\n var char = value.charCodeAt(i);\r\n if (char < 0x80) {\r\n array.push(char);\r\n }\r\n else if (char < 0x800) {\r\n array.push(0xc0 | (char >> 6), 0x80 | (char & 0x3f));\r\n }\r\n else if (char < 0xd800 || char >= 0xe000) {\r\n array.push(0xe0 | (char >> 12), 0x80 | ((char >> 6) & 0x3f), 0x80 | (char & 0x3f));\r\n }\r\n else {\r\n char = 0x10000 + (((char & 0x3ff) << 10) | (value.charCodeAt(++i) & 0x3ff));\r\n array.push(0xf0 | (char >> 18), 0x80 | ((char >> 12) & 0x3f), 0x80 | ((char >> 6) & 0x3f), 0x80 | (char & 0x3f));\r\n }\r\n }\r\n return array;\r\n}\r\nexports._Utf8_GetBytes = _Utf8_GetBytes;\r\nfunction _Base64_GetString(inArray) {\r\n var lookup = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\r\n var output = [];\r\n var paddingBytes = inArray.length % 3;\r\n var toBase64 = function (num) {\r\n return [lookup.charAt((num >> 18) & 0x3F),\r\n lookup.charAt((num >> 12) & 0x3F),\r\n lookup.charAt((num >> 6) & 0x3F),\r\n lookup.charAt(num & 0x3F)].join('');\r\n };\r\n for (var i = 0, length_1 = inArray.length - paddingBytes; i < length_1; i += 3) {\r\n var temp = (inArray[i] << 16) + (inArray[i + 1] << 8) + (inArray[i + 2]);\r\n output.push(toBase64(temp));\r\n }\r\n switch (paddingBytes) {\r\n case 1:\r\n var temp = inArray[inArray.length - 1];\r\n output.push(lookup.charAt(temp >> 2));\r\n output.push(lookup.charAt((temp << 4) & 0x3F));\r\n output.push('==');\r\n break;\r\n case 2:\r\n var temp2 = (inArray[inArray.length - 2] << 8) + (inArray[inArray.length - 1]);\r\n output.push(lookup.charAt(temp2 >> 10));\r\n output.push(lookup.charAt((temp2 >> 4) & 0x3F));\r\n output.push(lookup.charAt((temp2 << 2) & 0x3F));\r\n output.push('=');\r\n break;\r\n }\r\n return output.join('');\r\n}\r\nexports._Base64_GetString = _Base64_GetString;\r\nfunction _Varint_GetBytes(value) {\r\n var array = [];\r\n while (value & 0xffffff80) {\r\n array.push((value & 0x7f) | 0x80);\r\n value >>>= 7;\r\n }\r\n array.push(value & 0x7f);\r\n return array;\r\n}\r\nexports._Varint_GetBytes = _Varint_GetBytes;\r\nfunction _Varint64_GetBytes(value) {\r\n var low = value.low;\r\n var high = value.high;\r\n var array = [];\r\n while (high || (0xffffff80 & low)) {\r\n array.push((low & 0x7f) | 0x80);\r\n low = ((high & 0x7f) << 25) | (low >>> 7);\r\n high >>>= 7;\r\n }\r\n array.push(low & 0x7f);\r\n return array;\r\n}\r\nexports._Varint64_GetBytes = _Varint64_GetBytes;\r\n// Note: see notes of Float.\r\nfunction _Double_GetBytes(value) {\r\n if (microsoft_bond_utils_1.BrowserChecker._IsDataViewSupport()) {\r\n var view = new DataView(new ArrayBuffer(8));\r\n view.setFloat64(0, value, true /*littleEndian*/);\r\n var array = [];\r\n for (var i = 0; i < 8; ++i) {\r\n array.push(view.getUint8(i));\r\n }\r\n return array;\r\n }\r\n else {\r\n return microsoft_bond_floatutils_1.FloatUtils._ConvertNumberToArray(value, true /*isDouble*/);\r\n }\r\n}\r\nexports._Double_GetBytes = _Double_GetBytes;\r\nfunction _Zigzag_EncodeZigzag32(value) {\r\n value = microsoft_bond_primitives_1.Number._ToInt32(value);\r\n return ((value << 1) ^ (value >> (4 /*sizeof(int)*/ * 8 - 1)));\r\n}\r\nexports._Zigzag_EncodeZigzag32 = _Zigzag_EncodeZigzag32;\r\nfunction _Zigzag_EncodeZigzag64(value) {\r\n var low = value.low;\r\n var high = value.high;\r\n var tmpH = (high << 1) | (low >>> 31);\r\n var tmpL = low << 1;\r\n if (high & 0x80000000) {\r\n tmpH = ~tmpH;\r\n tmpL = ~tmpL;\r\n }\r\n var res = new microsoft_bond_primitives_1.UInt64('0');\r\n res.low = tmpL;\r\n res.high = tmpH;\r\n return res;\r\n}\r\nexports._Zigzag_EncodeZigzag64 = _Zigzag_EncodeZigzag64;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* microsoft.bond.floatutils.ts\r\n* Copyright: Microsoft 2016\r\n*\r\n* This class will be used to convert float/double to byte array on browsers which don't support html5.\r\n*\r\n* Format: IEEE-754, littleEndian, http://en.wikipedia.org/wiki/IEEE_754-1985\r\n*\r\n* \\note\r\n* 1. Don't have negative zero. All zero will be positive zero.\r\n* 2. If the buffer array passed to ConvertArrayToFloat() is actual NaN or Inifinity value,\r\n* exception will be raised.\r\n*/\r\nvar FloatUtils = /** @class */ (function () {\r\n function FloatUtils() {\r\n }\r\n FloatUtils._ConvertNumberToArray = function (num, isDouble) {\r\n if (!num) {\r\n return isDouble ? this._doubleZero : this._floatZero;\r\n }\r\n var exponentBits = isDouble ? 11 : 8;\r\n var precisionBits = isDouble ? 52 : 23;\r\n // follow IEEE-754, exponent bias is 2^(k-1)-1 where k is the number of bits\r\n // in the exponent: http://en.wikipedia.org/wiki/Exponent_bias\r\n var bias = (1 << (exponentBits - 1)) - 1;\r\n var minExponent = 1 - bias;\r\n var maxExponent = bias;\r\n var sign = num < 0 ? 1 : 0;\r\n num = Math.abs(num);\r\n var intPart = Math.floor(num);\r\n var floatPart = num - intPart;\r\n var len = 2 * (bias + 2) + precisionBits;\r\n var buffer = new Array(len);\r\n var i = 0;\r\n while (i < len) {\r\n buffer[i++] = 0;\r\n }\r\n // caculate the intPart\r\n i = bias + 2;\r\n while (i && intPart) {\r\n buffer[--i] = intPart % 2;\r\n intPart = Math.floor(intPart / 2);\r\n }\r\n // caculate the floatPart\r\n i = bias + 1;\r\n while (i < len - 1 && floatPart > 0) {\r\n floatPart *= 2;\r\n if (floatPart >= 1) {\r\n buffer[++i] = 1;\r\n --floatPart;\r\n }\r\n else {\r\n buffer[++i] = 0;\r\n }\r\n }\r\n // find the first 1\r\n var firstBit = 0;\r\n while (firstBit < len && !buffer[firstBit]) {\r\n firstBit++;\r\n }\r\n // caculate exponent\r\n var exponent = bias + 1 - firstBit;\r\n // caculate round\r\n var lastBit = firstBit + precisionBits;\r\n if (buffer[lastBit + 1]) {\r\n for (i = lastBit; i > firstBit; --i) {\r\n buffer[i] = 1 - buffer[i];\r\n if (buffer) {\r\n break;\r\n }\r\n }\r\n if (i === firstBit) {\r\n ++exponent;\r\n }\r\n }\r\n // check overflow\r\n if (exponent > maxExponent || intPart) {\r\n if (sign) {\r\n return isDouble ? this._doubleNegInifinity : this._floatNegInifinity;\r\n }\r\n else {\r\n return isDouble ? this._doubleInifinity : this._floatInifinity;\r\n }\r\n }\r\n else if (exponent < minExponent) {\r\n return isDouble ? this._doubleZero : this._floatZero;\r\n }\r\n // caculate the result\r\n if (isDouble) {\r\n var high = 0;\r\n for (i = 0; i < 20; ++i) {\r\n high = (high << 1) | buffer[++firstBit];\r\n }\r\n var low = 0;\r\n for (; i < 52; ++i) {\r\n low = (low << 1) | buffer[++firstBit];\r\n }\r\n high |= (exponent + bias) << 20;\r\n high = (sign << 31) | (high & 0x7FFFFFFF);\r\n var resArray = [low & 0xff, (low >> 8) & 0xff, (low >> 16) & 0xff, low >>> 24,\r\n high & 0xff, (high >> 8) & 0xff, (high >> 16) & 0xff, high >>> 24];\r\n return resArray;\r\n }\r\n else {\r\n var result = 0;\r\n for (i = 0; i < 23; ++i) {\r\n result = (result << 1) | buffer[++firstBit];\r\n }\r\n result |= (exponent + bias) << 23;\r\n result = (sign << 31) | (result & 0x7FFFFFFF);\r\n var resArray = [result & 0xff, (result >> 8) & 0xff, (result >> 16) & 0xff, result >>> 24];\r\n return resArray;\r\n }\r\n };\r\n FloatUtils._floatZero = [0x00, 0x00, 0x00, 0x00];\r\n FloatUtils._doubleZero = [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00];\r\n FloatUtils._floatInifinity = [0x00, 0x00, 0x80, 0x7F];\r\n FloatUtils._floatNegInifinity = [0x00, 0x00, 0x80, 0xFF];\r\n FloatUtils._doubleInifinity = [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f];\r\n FloatUtils._doubleNegInifinity = [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff];\r\n return FloatUtils;\r\n}());\r\nexports.FloatUtils = FloatUtils;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* microsoft.bond.io.ts\r\n* Copyright: Microsoft 2016\r\n*/\r\nvar microsoft_bond_primitives_1 = require(\"./microsoft.bond.primitives\");\r\nvar MemoryStream = /** @class */ (function () {\r\n function MemoryStream() {\r\n this._buffer = [];\r\n }\r\n /*override*/\r\n MemoryStream.prototype._WriteByte = function (byte) {\r\n this._buffer.push(microsoft_bond_primitives_1.Number._ToByte(byte));\r\n };\r\n /*override*/\r\n MemoryStream.prototype._Write = function (buffer, offset, count) {\r\n while (count--) {\r\n this._WriteByte(buffer[offset++]);\r\n }\r\n };\r\n /**\r\n * Returns the array of unsigned bytes from which this stream was created.\r\n */\r\n MemoryStream.prototype._GetBuffer = function () {\r\n return this._buffer;\r\n };\r\n return MemoryStream;\r\n}());\r\nexports.MemoryStream = MemoryStream;\r\n","\"use strict\";\r\n/**\r\n* microsoft.bond.ts\r\n* Copyright: Microsoft 2016\r\n*/\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar bond_const_1 = require(\"./bond_const\");\r\nexports._BondDataType = bond_const_1._BondDataType;\r\nvar _Encoding = require(\"./microsoft.bond.encoding\");\r\nexports._Encoding = _Encoding;\r\nvar IO = require(\"./microsoft.bond.io\");\r\nexports.IO = IO;\r\nvar microsoft_bond_primitives_1 = require(\"./microsoft.bond.primitives\");\r\nexports.Int64 = microsoft_bond_primitives_1.Int64;\r\nexports.UInt64 = microsoft_bond_primitives_1.UInt64;\r\nexports.Number = microsoft_bond_primitives_1.Number;\r\nvar CompactBinaryProtocolWriter = /** @class */ (function () {\r\n function CompactBinaryProtocolWriter(stream) {\r\n this._stream = stream;\r\n }\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteBlob = function (blob) {\r\n this._stream._Write(blob, 0, blob.length);\r\n };\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteBool = function (value) {\r\n this._stream._WriteByte(value ? 1 : 0);\r\n };\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteContainerBegin = function (size, elementType) {\r\n this._WriteUInt8(elementType);\r\n this._WriteUInt32(size);\r\n };\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteMapContainerBegin = function (size, keyType, valueType) {\r\n this._WriteUInt8(keyType);\r\n this._WriteUInt8(valueType);\r\n this._WriteUInt32(size);\r\n };\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteDouble = function (value) {\r\n var array = _Encoding._Double_GetBytes(value);\r\n this._stream._Write(array, 0, array.length);\r\n };\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteFieldBegin = function (type, id, metadata) {\r\n if (id <= 5) {\r\n this._stream._WriteByte(type | (id << 5));\r\n }\r\n else if (id <= 0xff) {\r\n this._stream._WriteByte(type | (6 << 5));\r\n this._stream._WriteByte(id);\r\n }\r\n else {\r\n this._stream._WriteByte(type | (7 << 5));\r\n this._stream._WriteByte(id);\r\n this._stream._WriteByte(id >> 8);\r\n }\r\n };\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteInt32 = function (value) {\r\n value = _Encoding._Zigzag_EncodeZigzag32(value);\r\n this._WriteUInt32(value);\r\n };\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteInt64 = function (value) {\r\n this._WriteUInt64(_Encoding._Zigzag_EncodeZigzag64(value));\r\n };\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteString = function (value) {\r\n if (value === '') {\r\n this._WriteUInt32(0 /*length*/);\r\n }\r\n else {\r\n var array = _Encoding._Utf8_GetBytes(value);\r\n this._WriteUInt32(array.length);\r\n this._stream._Write(array, 0, array.length);\r\n }\r\n };\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteStructEnd = function (isBase) {\r\n this._WriteUInt8(isBase ? bond_const_1._BondDataType._BT_STOP_BASE : bond_const_1._BondDataType._BT_STOP);\r\n };\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteUInt32 = function (value) {\r\n var array = _Encoding._Varint_GetBytes(microsoft_bond_primitives_1.Number._ToUInt32(value));\r\n this._stream._Write(array, 0, array.length);\r\n };\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteUInt64 = function (value) {\r\n var array = _Encoding._Varint64_GetBytes(value);\r\n this._stream._Write(array, 0, array.length);\r\n };\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteUInt8 = function (value) {\r\n this._stream._WriteByte(microsoft_bond_primitives_1.Number._ToUInt8(value));\r\n };\r\n return CompactBinaryProtocolWriter;\r\n}());\r\nexports.CompactBinaryProtocolWriter = CompactBinaryProtocolWriter;\r\n","\"use strict\";\r\n/**\r\n* microsoft.bond.primitives.ts\r\n* Copyright: Microsoft 2016\r\n*/\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar Int64 = /** @class */ (function () {\r\n function Int64(numberStr) {\r\n this.low = 0;\r\n this.high = 0;\r\n this.low = parseInt(numberStr, 10);\r\n if (this.low < 0) {\r\n this.high = -1;\r\n }\r\n }\r\n Int64.prototype._Equals = function (numberStr) {\r\n var tmp = new Int64(numberStr);\r\n return this.low === tmp.low && this.high === tmp.high;\r\n };\r\n return Int64;\r\n}());\r\nexports.Int64 = Int64;\r\nvar UInt64 = /** @class */ (function () {\r\n function UInt64(numberStr) {\r\n this.low = 0;\r\n this.high = 0;\r\n this.low = parseInt(numberStr, 10);\r\n }\r\n UInt64.prototype._Equals = function (numberStr) {\r\n var tmp = new UInt64(numberStr);\r\n return this.low === tmp.low && this.high === tmp.high;\r\n };\r\n return UInt64;\r\n}());\r\nexports.UInt64 = UInt64;\r\nvar Number = /** @class */ (function () {\r\n function Number() {\r\n }\r\n Number._ToByte = function (value) {\r\n return this._ToUInt8(value);\r\n };\r\n Number._ToUInt8 = function (value) {\r\n return value & 0xff;\r\n };\r\n Number._ToInt32 = function (value) {\r\n var signMask = (value & 0x80000000);\r\n return (value & 0x7fffffff) | signMask;\r\n };\r\n Number._ToUInt32 = function (value) {\r\n return value & 0xffffffff;\r\n };\r\n return Number;\r\n}());\r\nexports.Number = Number;\r\n","\"use strict\";\r\n/**\r\n* microsoft.bond.utils.ts\r\n* Copyright: Microsoft 2016\r\n*/\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar BrowserChecker = /** @class */ (function () {\r\n function BrowserChecker() {\r\n }\r\n BrowserChecker._IsDataViewSupport = function () {\r\n return typeof ArrayBuffer !== 'undefined' &&\r\n typeof DataView !== 'undefined';\r\n };\r\n return BrowserChecker;\r\n}());\r\nexports.BrowserChecker = BrowserChecker;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* AWTClockSkewManager.ts\r\n* @author Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2017\r\n*/\r\n/**\r\n* Class to manage clock skew correction.\r\n*/\r\nvar AWTClockSkewManager = /** @class */ (function () {\r\n function AWTClockSkewManager(clockSkewRefreshDurationInMins) {\r\n this.clockSkewRefreshDurationInMins = clockSkewRefreshDurationInMins;\r\n this._reset();\r\n }\r\n /**\r\n * Determine if the request can be sent.\r\n * @return {boolean} True if requests can be sent, false otherwise.\r\n */\r\n AWTClockSkewManager.prototype.allowRequestSending = function () {\r\n if (this._isFirstRequest && !this._clockSkewSet) {\r\n this._isFirstRequest = false;\r\n this._allowRequestSending = false;\r\n return true;\r\n }\r\n return this._allowRequestSending;\r\n };\r\n /**\r\n * Determine if clock skew headers should be added to the request.\r\n * @return {boolean} True if clock skew headers should be added, false otherwise.\r\n */\r\n AWTClockSkewManager.prototype.shouldAddClockSkewHeaders = function () {\r\n return this._shouldAddClockSkewHeaders;\r\n };\r\n /**\r\n * Gets the clock skew header value.\r\n * @return {string} The clock skew header value.\r\n */\r\n AWTClockSkewManager.prototype.getClockSkewHeaderValue = function () {\r\n return this._clockSkewHeaderValue;\r\n };\r\n /**\r\n * Sets the clock skew header value. Once clock skew is set this method\r\n * is no-op.\r\n * @param {string} timeDeltaInMillis - Time delta to be saved as the clock skew header value.\r\n */\r\n AWTClockSkewManager.prototype.setClockSkew = function (timeDeltaInMillis) {\r\n if (!this._clockSkewSet) {\r\n if (timeDeltaInMillis) {\r\n this._clockSkewHeaderValue = timeDeltaInMillis;\r\n }\r\n else {\r\n this._shouldAddClockSkewHeaders = false;\r\n }\r\n this._clockSkewSet = true;\r\n this._allowRequestSending = true;\r\n }\r\n };\r\n AWTClockSkewManager.prototype._reset = function () {\r\n var _this = this;\r\n this._isFirstRequest = true;\r\n this._clockSkewSet = false;\r\n this._allowRequestSending = true;\r\n this._shouldAddClockSkewHeaders = true;\r\n this._clockSkewHeaderValue = 'use-collector-delta';\r\n if (this.clockSkewRefreshDurationInMins > 0) {\r\n setTimeout(function () { return _this._reset(); }, this.clockSkewRefreshDurationInMins * 60000);\r\n }\r\n };\r\n return AWTClockSkewManager;\r\n}());\r\nexports.default = AWTClockSkewManager;\r\n","\"use strict\";\r\n/**\r\n* AWTKillSwitch.ts\r\n* @author Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2017\r\n*/\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar SecToMsMultiplier = 1000;\r\n/**\r\n* Class to stop certain tenants sending events.\r\n*/\r\nvar AWTKillSwitch = /** @class */ (function () {\r\n function AWTKillSwitch() {\r\n this._killedTokenDictionary = {};\r\n }\r\n /**\r\n * Set the tenants that are to be killed along with the duration. If the duration is\r\n * a special value identifying that the tokens are too be killed for only this request, then\r\n * a array of tokens is returned.\r\n * @param {string} killedTokens - Tokens that are too be marked to be killed.\r\n * @param {string} killDuration - The duration for which the tokens are to be killed.\r\n * @return {string[]} The tokens that are killed only for this given request.\r\n */\r\n AWTKillSwitch.prototype.setKillSwitchTenants = function (killTokens, killDuration) {\r\n if (killTokens && killDuration) {\r\n try {\r\n var killedTokens = killTokens.split(',');\r\n if (killDuration === 'this-request-only') {\r\n return killedTokens;\r\n }\r\n var durationMs = parseInt(killDuration, 10) * SecToMsMultiplier;\r\n for (var i = 0; i < killedTokens.length; ++i) {\r\n this._killedTokenDictionary[killedTokens[i]] = Date.now() + durationMs;\r\n }\r\n }\r\n catch (ex) {\r\n return [];\r\n }\r\n }\r\n return [];\r\n };\r\n /**\r\n * Determing if the given tenant token has been killed for the moment.\r\n * @param {string} tenantToken - The token to be checked.\r\n * @return {boolean} True if token has been killed, false otherwise.\r\n */\r\n AWTKillSwitch.prototype.isTenantKilled = function (tenantToken) {\r\n if (this._killedTokenDictionary[tenantToken] !== undefined && this._killedTokenDictionary[tenantToken] > Date.now()) {\r\n return true;\r\n }\r\n delete this._killedTokenDictionary[tenantToken];\r\n return false;\r\n };\r\n return AWTKillSwitch;\r\n}());\r\nexports.default = AWTKillSwitch;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n * Class to manage sending notifications to all the listeners.\r\n */\r\nvar AWTNotificationManager = /** @class */ (function () {\r\n function AWTNotificationManager() {\r\n }\r\n /**\r\n * Adds a notification listener.\r\n * @param {object} listener - The notification listener to be added.\r\n */\r\n AWTNotificationManager.addNotificationListener = function (listener) {\r\n this.listeners.push(listener);\r\n };\r\n /**\r\n * Removes all instances of the listener.\r\n * @param {object} listener - AWTNotificationListener to remove.\r\n */\r\n AWTNotificationManager.removeNotificationListener = function (listener) {\r\n var index = this.listeners.indexOf(listener);\r\n while (index > -1) {\r\n this.listeners.splice(index, 1);\r\n index = this.listeners.indexOf(listener);\r\n }\r\n };\r\n /**\r\n * Notification for events sent.\r\n * @param {object[]} events - The array of events that have been sent.\r\n */\r\n AWTNotificationManager.eventsSent = function (events) {\r\n var _this = this;\r\n var _loop_1 = function (i) {\r\n if (this_1.listeners[i].eventsSent) {\r\n setTimeout(function () { return _this.listeners[i].eventsSent(events); }, 0);\r\n }\r\n };\r\n var this_1 = this;\r\n for (var i = 0; i < this.listeners.length; ++i) {\r\n _loop_1(i);\r\n }\r\n };\r\n /**\r\n * Notification for events being dropped.\r\n * @param {object[]} events - The array of events that have been dropped.\r\n * @param {enum} reason - The reason for which the SDK dropped the events.\r\n */\r\n AWTNotificationManager.eventsDropped = function (events, reason) {\r\n var _this = this;\r\n var _loop_2 = function (i) {\r\n if (this_2.listeners[i].eventsDropped) {\r\n setTimeout(function () { return _this.listeners[i].eventsDropped(events, reason); }, 0);\r\n }\r\n };\r\n var this_2 = this;\r\n for (var i = 0; i < this.listeners.length; ++i) {\r\n _loop_2(i);\r\n }\r\n };\r\n /**\r\n * Notification for events being retried when the request failed with a retryable status.\r\n * @param {object[]} events - The array of events that are being retried.\r\n */\r\n AWTNotificationManager.eventsRetrying = function (events) {\r\n var _this = this;\r\n var _loop_3 = function (i) {\r\n if (this_3.listeners[i].eventsRetrying) {\r\n setTimeout(function () { return _this.listeners[i].eventsRetrying(events); }, 0);\r\n }\r\n };\r\n var this_3 = this;\r\n for (var i = 0; i < this.listeners.length; ++i) {\r\n _loop_3(i);\r\n }\r\n };\r\n /**\r\n * Notification for events being rejected.\r\n * @param {object[]} events - The array of events that have been rejected.\r\n * @param {enum} reason - The reason for which the SDK rejeceted the events.\r\n */\r\n AWTNotificationManager.eventsRejected = function (events, reason) {\r\n var _this = this;\r\n var _loop_4 = function (i) {\r\n if (this_4.listeners[i].eventsRejected) {\r\n setTimeout(function () { return _this.listeners[i].eventsRejected(events, reason); }, 0);\r\n }\r\n };\r\n var this_4 = this;\r\n for (var i = 0; i < this.listeners.length; ++i) {\r\n _loop_4(i);\r\n }\r\n };\r\n AWTNotificationManager.listeners = [];\r\n return AWTNotificationManager;\r\n}());\r\nexports.default = AWTNotificationManager;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar Enums_1 = require(\"./Enums\");\r\n/**\r\n* Class to batch events.\r\n*/\r\nvar AWTRecordBatcher = /** @class */ (function () {\r\n function AWTRecordBatcher(_outboundQueue, _maxNumberOfEvents) {\r\n this._outboundQueue = _outboundQueue;\r\n this._maxNumberOfEvents = _maxNumberOfEvents;\r\n this._currentBatch = {};\r\n this._currentNumEventsInBatch = 0;\r\n }\r\n /**\r\n * Add an event to the current batch.\r\n * If the priority of the event is synchronous, it will also return the batch containing only the synchronous event.\r\n * @param {object} event - The event that needs to be batched.\r\n * @return {object} If the priority of the event is synchronous, it will also return the batch containing only the synchronous event.\r\n * Otherwise returns null.\r\n */\r\n AWTRecordBatcher.prototype.addEventToBatch = function (event) {\r\n if (event.priority === Enums_1.AWTEventPriority.Immediate_sync) {\r\n //batch immediate priority into its own batch\r\n var immediateBatch = {};\r\n immediateBatch[event.apiKey] = [event];\r\n return immediateBatch;\r\n }\r\n else {\r\n if (this._currentNumEventsInBatch >= this._maxNumberOfEvents) {\r\n this.flushBatch();\r\n }\r\n if (this._currentBatch[event.apiKey] === undefined) {\r\n this._currentBatch[event.apiKey] = [];\r\n }\r\n this._currentBatch[event.apiKey].push(event);\r\n this._currentNumEventsInBatch++;\r\n }\r\n return null;\r\n };\r\n /**\r\n * Flush the current batch so that it is added to the outbound queue.\r\n */\r\n AWTRecordBatcher.prototype.flushBatch = function () {\r\n if (this._currentNumEventsInBatch > 0) {\r\n this._outboundQueue.push(this._currentBatch);\r\n this._currentBatch = {};\r\n this._currentNumEventsInBatch = 0;\r\n }\r\n };\r\n /**\r\n * Check if there is a batch that contains events.\r\n */\r\n AWTRecordBatcher.prototype.hasBatch = function () {\r\n return this._currentNumEventsInBatch > 0;\r\n };\r\n return AWTRecordBatcher;\r\n}());\r\nexports.default = AWTRecordBatcher;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* AWTRetryPolicy.ts\r\n* @author Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2017\r\n*/\r\nvar RandomizationLowerThreshold = 0.8;\r\nvar RandomizationUpperThreshold = 1.2;\r\nvar BaseBackoff = 3000;\r\nvar MaxBackoff = 120000;\r\n/**\r\n* Class for retry policy.\r\n*/\r\nvar AWTRetryPolicy = /** @class */ (function () {\r\n function AWTRetryPolicy() {\r\n }\r\n /**\r\n * Determine if the request should be retried for the given status code.\r\n * The below expression reads that we should only retry for:\r\n * - HttpStatusCodes that are smaller than 300.\r\n * - HttpStatusCodes greater or equal to 500 (except for 501-NotImplement\r\n * and 505-HttpVersionNotSupport).\r\n * - HttpStatusCode 408-RequestTimeout.\r\n * This is based on Microsoft.WindowsAzure.Storage.RetryPolicies.ExponentialRetry class\r\n * @param {number} httpStatusCode - The status code returned for the request.\r\n * @return {boolean} True if request should be retried, false otherwise.\r\n */\r\n AWTRetryPolicy.shouldRetryForStatus = function (httpStatusCode) {\r\n /* */\r\n return !((httpStatusCode >= 300 && httpStatusCode < 500 && httpStatusCode !== 408)\r\n || (httpStatusCode === 501)\r\n || (httpStatusCode === 505));\r\n };\r\n /**\r\n * Gets the number of milliseconds to back off before retrying the request. The\r\n * back off duration is exponentially scaled based on the number of retries already\r\n * done for the request.\r\n * @param {number} retriesSoFar - The number of times the request has already been retried.\r\n * @return {number} The back off duration for the request before it can be retried.\r\n */\r\n AWTRetryPolicy.getMillisToBackoffForRetry = function (retriesSoFar) {\r\n var waitDuration = 0;\r\n var minBackoff = BaseBackoff * RandomizationLowerThreshold;\r\n var maxBackoff = BaseBackoff * RandomizationUpperThreshold;\r\n var randomBackoff = Math.floor(Math.random() * (maxBackoff - minBackoff)) + minBackoff;\r\n waitDuration = Math.pow(4, retriesSoFar) * randomBackoff;\r\n return Math.min(waitDuration, MaxBackoff);\r\n };\r\n return AWTRetryPolicy;\r\n}());\r\nexports.default = AWTRetryPolicy;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* AWTSerializer.ts\r\n* @author Brent Erickson (brericks) and Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2017\r\n*/\r\nvar Bond = require(\"../bond/microsoft.bond\");\r\nvar Enums_1 = require(\"./Enums\");\r\nvar AWTNotificationManager_1 = require(\"./AWTNotificationManager\");\r\nvar Utils = require(\"./Utils\");\r\nvar RequestSizeLimitBytes = 2936012; //approx 2.8 Mb\r\n/**\r\n* Class to handle serialization of event and request.\r\n* Currently uses Bond for serialization. Please note that this may be subject to change.\r\n*/\r\nvar AWTSerializer = /** @class */ (function () {\r\n function AWTSerializer() {\r\n }\r\n /**\r\n * Serialies a request using Bond.\r\n * @param {object} requestDictionary - A dictionary containing the token to event mapping.\r\n * @param {number} tokenCount - Number of tenant tokens to be sent in the request.\r\n * @return {number[]} The serialized bond request.\r\n */\r\n AWTSerializer.getPayloadBlob = function (requestDictionary, tokenCount) {\r\n var requestFull = false;\r\n var remainingRequest;\r\n var stream = new Bond.IO.MemoryStream();\r\n var writer = new Bond.CompactBinaryProtocolWriter(stream);\r\n //Write TokenToDataPackagesMap\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_MAP, 3, null);\r\n writer._WriteMapContainerBegin(tokenCount, Bond._BondDataType._BT_STRING, Bond._BondDataType._BT_LIST);\r\n for (var token in requestDictionary) {\r\n if (!requestFull) {\r\n if (requestDictionary.hasOwnProperty(token)) {\r\n //write token\r\n writer._WriteString(token);\r\n var dataPackage = requestDictionary[token];\r\n // Write list of DataPackages\r\n writer._WriteContainerBegin(1, Bond._BondDataType._BT_STRUCT);\r\n // Source\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_STRING, 2, null);\r\n writer._WriteString('act_default_source');\r\n // DataPackageId\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_STRING, 5, null);\r\n writer._WriteString(Utils.newGuid());\r\n // Timestamp\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_INT64, 6, null);\r\n writer._WriteInt64(Utils.numberToBondInt64(Date.now()));\r\n // Records\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_LIST, 8, null);\r\n //Advance position by 1 for the elementy type which is always struct\r\n var dpSizePos = stream._GetBuffer().length + 1;\r\n writer._WriteContainerBegin(requestDictionary[token].length, Bond._BondDataType._BT_STRUCT);\r\n var dpSizeSerialized = stream._GetBuffer().length - dpSizePos;\r\n for (var i = 0; i < dataPackage.length; ++i) {\r\n var currentStreamPos = stream._GetBuffer().length;\r\n this.writeEvent(dataPackage[i], writer);\r\n if (stream._GetBuffer().length - currentStreamPos > RequestSizeLimitBytes) {\r\n //single event too big\r\n AWTNotificationManager_1.default.eventsRejected([dataPackage[i]], Enums_1.AWTEventsRejectedReason.SizeLimitExceeded);\r\n //move i one place back so that we can evaluate the next element once we delete the current element at pos i\r\n dataPackage.splice(i--, 1);\r\n stream._GetBuffer().splice(currentStreamPos);\r\n //Bond serialization to change the datapackage length since we couldnt send this event\r\n this._addNewDataPackageSize(dataPackage.length, stream, dpSizeSerialized, dpSizePos);\r\n continue;\r\n }\r\n if (stream._GetBuffer().length > RequestSizeLimitBytes) {\r\n //Adding this event exceeded the max request size. We should rever this event and send the serialized request.\r\n //The remaining events should be returned to send in a separate request.\r\n stream._GetBuffer().splice(currentStreamPos);\r\n if (!remainingRequest) {\r\n remainingRequest = {};\r\n }\r\n requestDictionary[token] = dataPackage.splice(0, i);\r\n remainingRequest[token] = dataPackage;\r\n this._addNewDataPackageSize(requestDictionary[token].length, stream, dpSizeSerialized, dpSizePos);\r\n requestFull = true;\r\n break;\r\n }\r\n }\r\n writer._WriteStructEnd(false);\r\n }\r\n }\r\n else {\r\n if (!remainingRequest) {\r\n remainingRequest = {};\r\n }\r\n remainingRequest[token] = requestDictionary[token];\r\n delete requestDictionary[token];\r\n }\r\n }\r\n // End ClientCollector\r\n writer._WriteStructEnd(false);\r\n return { payloadBlob: stream._GetBuffer(), remainingRequest: remainingRequest };\r\n };\r\n AWTSerializer._addNewDataPackageSize = function (size, stream, oldDpSize, streamPos) {\r\n //Bond serialization to change the datapackage length since we couldnt send everything\r\n var newRecordCountSerialized = Bond._Encoding._Varint_GetBytes(Bond.Number._ToUInt32(size));\r\n for (var j = 0; j < oldDpSize; ++j) {\r\n if (j < newRecordCountSerialized.length) {\r\n stream._GetBuffer()[streamPos + j] = newRecordCountSerialized[j];\r\n }\r\n else {\r\n stream._GetBuffer().slice(streamPos + j, oldDpSize - j);\r\n break;\r\n }\r\n }\r\n };\r\n /**\r\n * Bond serialize the event.\r\n * @param {object} eventData - The event that needs to be serialized.\r\n * @return {number[]} The serialized bond event.\r\n */\r\n AWTSerializer.writeEvent = function (eventData, writer) {\r\n // ID\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_STRING, 1, null);\r\n writer._WriteString(eventData.id);\r\n // Timestamp\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_INT64, 3, null);\r\n writer._WriteInt64(Utils.numberToBondInt64(eventData.timestamp));\r\n // Type\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_STRING, 5, null);\r\n writer._WriteString(eventData.type);\r\n // Event Type\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_STRING, 6, null);\r\n writer._WriteString(eventData.name);\r\n var propsString = {};\r\n var propStringCount = 0;\r\n var propsInt64 = {};\r\n var propInt64Count = 0;\r\n var propsDouble = {};\r\n var propDoubleCount = 0;\r\n var propsBool = {};\r\n var propBoolCount = 0;\r\n var propsDate = {};\r\n var propDateCount = 0;\r\n var piiProps = {};\r\n var piiPropCount = 0;\r\n var ccProps = {};\r\n var ccPropCount = 0;\r\n // Iterate across event data properties and separate based on pii\r\n for (var key in eventData.properties) {\r\n if (eventData.properties.hasOwnProperty(key)) {\r\n var property = eventData.properties[key];\r\n if (property.cc > 0) {\r\n ccProps[key] = property;\r\n ccPropCount++;\r\n }\r\n else if (property.pii > 0) {\r\n piiProps[key] = property;\r\n piiPropCount++;\r\n }\r\n else {\r\n switch (property.type) {\r\n case Enums_1.AWTPropertyType.String:\r\n propsString[key] = property.value;\r\n propStringCount++;\r\n break;\r\n case Enums_1.AWTPropertyType.Int64:\r\n propsInt64[key] = property.value;\r\n propInt64Count++;\r\n break;\r\n case Enums_1.AWTPropertyType.Double:\r\n propsDouble[key] = property.value;\r\n propDoubleCount++;\r\n break;\r\n case Enums_1.AWTPropertyType.Boolean:\r\n propsBool[key] = property.value;\r\n propBoolCount++;\r\n break;\r\n case Enums_1.AWTPropertyType.Date:\r\n propsDate[key] = property.value;\r\n propDateCount++;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n //Extension map\r\n if (propStringCount) {\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_MAP, 13, null);\r\n writer._WriteMapContainerBegin(propStringCount, Bond._BondDataType._BT_STRING, Bond._BondDataType._BT_STRING);\r\n for (var key in propsString) {\r\n if (propsString.hasOwnProperty(key)) {\r\n var value = propsString[key];\r\n writer._WriteString(key);\r\n writer._WriteString(value.toString());\r\n }\r\n }\r\n }\r\n // Pii\r\n if (piiPropCount) {\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_MAP, 30, null);\r\n writer._WriteMapContainerBegin(piiPropCount, Bond._BondDataType._BT_STRING, Bond._BondDataType._BT_STRUCT);\r\n for (var key in piiProps) {\r\n if (piiProps.hasOwnProperty(key)) {\r\n var property = piiProps[key];\r\n writer._WriteString(key);\r\n // PII Data\r\n // O365 scrubber type\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_INT32, 1, null);\r\n writer._WriteInt32(1);\r\n // PII Kind\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_INT32, 2, null);\r\n writer._WriteInt32(property.pii);\r\n // Value\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_STRING, 3, null);\r\n writer._WriteString(property.value.toString());\r\n writer._WriteStructEnd(false);\r\n }\r\n }\r\n }\r\n // TypedExtensionBoolean map\r\n if (propBoolCount) {\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_MAP, 31, null);\r\n writer._WriteMapContainerBegin(propBoolCount, Bond._BondDataType._BT_STRING, Bond._BondDataType._BT_BOOL);\r\n for (var key in propsBool) {\r\n if (propsBool.hasOwnProperty(key)) {\r\n var value = propsBool[key];\r\n writer._WriteString(key);\r\n writer._WriteBool(value);\r\n }\r\n }\r\n }\r\n //TypedExtensionDateTime map\r\n if (propDateCount) {\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_MAP, 32, null);\r\n writer._WriteMapContainerBegin(propDateCount, Bond._BondDataType._BT_STRING, Bond._BondDataType._BT_INT64);\r\n for (var key in propsDate) {\r\n if (propsDate.hasOwnProperty(key)) {\r\n var value = propsDate[key];\r\n writer._WriteString(key);\r\n writer._WriteInt64(Utils.numberToBondInt64(value));\r\n }\r\n }\r\n }\r\n //TypedExtensionInt64 map\r\n if (propInt64Count) {\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_MAP, 33, null);\r\n writer._WriteMapContainerBegin(propInt64Count, Bond._BondDataType._BT_STRING, Bond._BondDataType._BT_INT64);\r\n for (var key in propsInt64) {\r\n if (propsInt64.hasOwnProperty(key)) {\r\n var value = propsInt64[key];\r\n writer._WriteString(key);\r\n writer._WriteInt64(Utils.numberToBondInt64(value));\r\n }\r\n }\r\n }\r\n //TypedExtensionDouble map\r\n if (propDoubleCount) {\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_MAP, 34, null);\r\n writer._WriteMapContainerBegin(propDoubleCount, Bond._BondDataType._BT_STRING, Bond._BondDataType._BT_DOUBLE);\r\n for (var key in propsDouble) {\r\n if (propsDouble.hasOwnProperty(key)) {\r\n var value = propsDouble[key];\r\n writer._WriteString(key);\r\n writer._WriteDouble(value);\r\n }\r\n }\r\n }\r\n //CustomerContentExtensions map\r\n if (ccPropCount) {\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_MAP, 36, null);\r\n writer._WriteMapContainerBegin(ccPropCount, Bond._BondDataType._BT_STRING, Bond._BondDataType._BT_STRUCT);\r\n for (var key in ccProps) {\r\n if (ccProps.hasOwnProperty(key)) {\r\n var property = ccProps[key];\r\n writer._WriteString(key);\r\n // CustomerContent Data\r\n // CustomerContentKind\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_INT32, 1, null);\r\n writer._WriteInt32(property.cc);\r\n // RawContent\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_STRING, 2, null);\r\n writer._WriteString(property.value.toString());\r\n writer._WriteStructEnd(false);\r\n }\r\n }\r\n }\r\n writer._WriteStructEnd(false);\r\n };\r\n /**\r\n * Base64 encode the given number[].\r\n * @param {number[]} data - The data to be base64 encoded.\r\n * @return {string} The base64 encoded data.\r\n */\r\n AWTSerializer.base64Encode = function (data) {\r\n return Bond._Encoding._Base64_GetString(data);\r\n };\r\n return AWTSerializer;\r\n}());\r\nexports.default = AWTSerializer;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* AWTStatsManager.ts\r\n* @author Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2017\r\n*/\r\nvar Utils = require(\"./Utils\");\r\nvar AWTNotificationManager_1 = require(\"./AWTNotificationManager\");\r\nvar Enums_1 = require(\"./Enums\");\r\nvar StatsTimer = 60000;\r\n/**\r\n* Class that manages the stats.\r\n*/\r\nvar AWTStatsManager = /** @class */ (function () {\r\n function AWTStatsManager() {\r\n }\r\n /**\r\n * Intiailizes the stats collection.\r\n * @param {function} sendStats - The function to call when the stats are ready to be sent.\r\n */\r\n AWTStatsManager.initialize = function (sendStats) {\r\n var _this = this;\r\n this._sendStats = sendStats;\r\n this._isInitalized = true;\r\n AWTNotificationManager_1.default.addNotificationListener({\r\n eventsSent: function (events) {\r\n _this._addStat('records_sent_count', events.length, events[0].apiKey);\r\n },\r\n eventsDropped: function (events, reason) {\r\n switch (reason) {\r\n case Enums_1.AWTEventsDroppedReason.NonRetryableStatus:\r\n _this._addStat('d_send_fail', events.length, events[0].apiKey);\r\n _this._addStat('records_dropped_count', events.length, events[0].apiKey);\r\n break;\r\n case Enums_1.AWTEventsDroppedReason.MaxRetryLimit:\r\n _this._addStat('d_retry_limit', events.length, events[0].apiKey);\r\n _this._addStat('records_dropped_count', events.length, events[0].apiKey);\r\n break;\r\n case Enums_1.AWTEventsDroppedReason.QueueFull:\r\n _this._addStat('d_queue_full', events.length, events[0].apiKey);\r\n break;\r\n }\r\n },\r\n eventsRejected: function (events, reason) {\r\n switch (reason) {\r\n case Enums_1.AWTEventsRejectedReason.InvalidEvent:\r\n _this._addStat('r_inv', events.length, events[0].apiKey);\r\n break;\r\n case Enums_1.AWTEventsRejectedReason.KillSwitch:\r\n _this._addStat('r_kl', events.length, events[0].apiKey);\r\n break;\r\n case Enums_1.AWTEventsRejectedReason.SizeLimitExceeded:\r\n _this._addStat('r_size', events.length, events[0].apiKey);\r\n break;\r\n }\r\n _this._addStat('r_count', events.length, events[0].apiKey);\r\n },\r\n eventsRetrying: null\r\n });\r\n setTimeout(function () { return _this.flush(); }, StatsTimer);\r\n };\r\n /**\r\n * Flush the current stats and stop the stats collection.\r\n */\r\n AWTStatsManager.teardown = function () {\r\n if (this._isInitalized) {\r\n this.flush();\r\n this._isInitalized = false;\r\n }\r\n };\r\n /**\r\n * Increments the stat for event received.\r\n * @param {string} apiKey - The apiKey for which the event was received\r\n */\r\n AWTStatsManager.eventReceived = function (apiKey) {\r\n AWTStatsManager._addStat('records_received_count', 1, apiKey);\r\n };\r\n /**\r\n * Creates an event for each tenant token which had a stat and calls the\r\n * sendStats for that token.\r\n */\r\n AWTStatsManager.flush = function () {\r\n var _this = this;\r\n if (this._isInitalized) {\r\n for (var tenantId in this._stats) {\r\n if (this._stats.hasOwnProperty(tenantId)) {\r\n this._sendStats(this._stats[tenantId], tenantId);\r\n }\r\n }\r\n this._stats = {};\r\n setTimeout(function () { return _this.flush(); }, StatsTimer);\r\n }\r\n };\r\n AWTStatsManager._addStat = function (statName, value, apiKey) {\r\n if (this._isInitalized && apiKey !== Utils.StatsApiKey) {\r\n var tenantId = Utils.getTenantId(apiKey);\r\n if (!this._stats[tenantId]) {\r\n this._stats[tenantId] = {};\r\n }\r\n if (!this._stats[tenantId][statName]) {\r\n this._stats[tenantId][statName] = value;\r\n }\r\n else {\r\n this._stats[tenantId][statName] = this._stats[tenantId][statName] + value;\r\n }\r\n }\r\n };\r\n AWTStatsManager._isInitalized = false;\r\n AWTStatsManager._stats = {};\r\n return AWTStatsManager;\r\n}());\r\nexports.default = AWTStatsManager;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* Enums.ts\r\n* @author Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2018\r\n* File containing the enums.\r\n*/\r\n/**\r\n * The AWTPropertyType enumeration contains a set of values that specify types of properties.\r\n * @enum {number}\r\n */\r\nvar AWTPropertyType;\r\n(function (AWTPropertyType) {\r\n /**\r\n * Property type is unspecified.\r\n */\r\n AWTPropertyType[AWTPropertyType[\"Unspecified\"] = 0] = \"Unspecified\";\r\n /**\r\n * A string.\r\n */\r\n AWTPropertyType[AWTPropertyType[\"String\"] = 1] = \"String\";\r\n /**\r\n * A 64-bit integer.\r\n */\r\n AWTPropertyType[AWTPropertyType[\"Int64\"] = 2] = \"Int64\";\r\n /**\r\n * A double.\r\n */\r\n AWTPropertyType[AWTPropertyType[\"Double\"] = 3] = \"Double\";\r\n /**\r\n * A boolean.\r\n */\r\n AWTPropertyType[AWTPropertyType[\"Boolean\"] = 4] = \"Boolean\";\r\n /**\r\n * A date.\r\n */\r\n AWTPropertyType[AWTPropertyType[\"Date\"] = 5] = \"Date\";\r\n})(AWTPropertyType = exports.AWTPropertyType || (exports.AWTPropertyType = {}));\r\n/**\r\n * The AWTPiiKind enumeration contains a set of values that specify the kind of PII (Personal Identifiable Information).\r\n * @enum {number}\r\n */\r\nvar AWTPiiKind;\r\n(function (AWTPiiKind) {\r\n /**\r\n * No kind.\r\n */\r\n AWTPiiKind[AWTPiiKind[\"NotSet\"] = 0] = \"NotSet\";\r\n /**\r\n * An LDAP distinguished name. For example, CN=Jeff Smith,OU=Sales,DC=Fabrikam,DC=COM.\r\n */\r\n AWTPiiKind[AWTPiiKind[\"DistinguishedName\"] = 1] = \"DistinguishedName\";\r\n /**\r\n * Generic information.\r\n */\r\n AWTPiiKind[AWTPiiKind[\"GenericData\"] = 2] = \"GenericData\";\r\n /**\r\n * An IPV4 Internet address. For example, 192.0.2.1.\r\n */\r\n AWTPiiKind[AWTPiiKind[\"IPV4Address\"] = 3] = \"IPV4Address\";\r\n /**\r\n * An IPV6 Internet address. For example, 2001:0db8:85a3:0000:0000:8a2e:0370:7334.\r\n */\r\n AWTPiiKind[AWTPiiKind[\"IPv6Address\"] = 4] = \"IPv6Address\";\r\n /**\r\n * The Subject of an e-mail message.\r\n */\r\n AWTPiiKind[AWTPiiKind[\"MailSubject\"] = 5] = \"MailSubject\";\r\n /**\r\n * A telephone number.\r\n */\r\n AWTPiiKind[AWTPiiKind[\"PhoneNumber\"] = 6] = \"PhoneNumber\";\r\n /**\r\n * A query string.\r\n */\r\n AWTPiiKind[AWTPiiKind[\"QueryString\"] = 7] = \"QueryString\";\r\n /**\r\n * An SIP (Session Internet Protocol) address.\r\n */\r\n AWTPiiKind[AWTPiiKind[\"SipAddress\"] = 8] = \"SipAddress\";\r\n /**\r\n * An e-mail address.\r\n */\r\n AWTPiiKind[AWTPiiKind[\"SmtpAddress\"] = 9] = \"SmtpAddress\";\r\n /**\r\n * An user ID.\r\n */\r\n AWTPiiKind[AWTPiiKind[\"Identity\"] = 10] = \"Identity\";\r\n /**\r\n * A URI (Uniform Resource Identifier).\r\n */\r\n AWTPiiKind[AWTPiiKind[\"Uri\"] = 11] = \"Uri\";\r\n /**\r\n * The fully-qualified domain name.\r\n */\r\n AWTPiiKind[AWTPiiKind[\"Fqdn\"] = 12] = \"Fqdn\";\r\n /**\r\n * Scrubs the last octet in a IPV4 Internet address.\r\n * For example: 10.121.227.147 becomes 10.121.227.*\r\n */\r\n AWTPiiKind[AWTPiiKind[\"IPV4AddressLegacy\"] = 13] = \"IPV4AddressLegacy\";\r\n})(AWTPiiKind = exports.AWTPiiKind || (exports.AWTPiiKind = {}));\r\n/**\r\n * The AWTCustomerContentKind enumeration contains a set of values that specify the kind of customer content.\r\n * @enum {number}\r\n */\r\nvar AWTCustomerContentKind;\r\n(function (AWTCustomerContentKind) {\r\n /**\r\n * No kind.\r\n */\r\n AWTCustomerContentKind[AWTCustomerContentKind[\"NotSet\"] = 0] = \"NotSet\";\r\n /**\r\n * Generic content.\r\n */\r\n AWTCustomerContentKind[AWTCustomerContentKind[\"GenericContent\"] = 1] = \"GenericContent\";\r\n})(AWTCustomerContentKind = exports.AWTCustomerContentKind || (exports.AWTCustomerContentKind = {}));\r\n/**\r\n * The AWTEventPriority enumeration contains a set of values that specify an event's priority.\r\n * @enum {number}\r\n */\r\nvar AWTEventPriority;\r\n(function (AWTEventPriority) {\r\n /**\r\n * Low priority.\r\n */\r\n AWTEventPriority[AWTEventPriority[\"Low\"] = 1] = \"Low\";\r\n /**\r\n * Normal priority.\r\n */\r\n AWTEventPriority[AWTEventPriority[\"Normal\"] = 2] = \"Normal\";\r\n /**\r\n * High priority.\r\n */\r\n AWTEventPriority[AWTEventPriority[\"High\"] = 3] = \"High\";\r\n /**\r\n * Immediate_sync priority (Events are sent sync immediately).\r\n */\r\n AWTEventPriority[AWTEventPriority[\"Immediate_sync\"] = 5] = \"Immediate_sync\";\r\n})(AWTEventPriority = exports.AWTEventPriority || (exports.AWTEventPriority = {}));\r\n/**\r\n * The AWTEventsDroppedReason enumeration contains a set of values that specify the reason for dropping an event.\r\n * @enum {number}\r\n */\r\nvar AWTEventsDroppedReason;\r\n(function (AWTEventsDroppedReason) {\r\n /**\r\n * Status set to non-retryable.\r\n */\r\n AWTEventsDroppedReason[AWTEventsDroppedReason[\"NonRetryableStatus\"] = 1] = \"NonRetryableStatus\";\r\n /**\r\n * Enum value 2 has been deprecated\r\n */\r\n /**\r\n * The event queue is full.\r\n */\r\n AWTEventsDroppedReason[AWTEventsDroppedReason[\"QueueFull\"] = 3] = \"QueueFull\";\r\n /**\r\n * Max retry limit reached.\r\n */\r\n AWTEventsDroppedReason[AWTEventsDroppedReason[\"MaxRetryLimit\"] = 4] = \"MaxRetryLimit\";\r\n})(AWTEventsDroppedReason = exports.AWTEventsDroppedReason || (exports.AWTEventsDroppedReason = {}));\r\n/**\r\n * The AWTEventsRejectedReason enumeration contains a set of values that specify the reason for rejecting an event.\r\n * @enum {number}\r\n */\r\nvar AWTEventsRejectedReason;\r\n(function (AWTEventsRejectedReason) {\r\n /**\r\n * The event is invalid.\r\n */\r\n AWTEventsRejectedReason[AWTEventsRejectedReason[\"InvalidEvent\"] = 1] = \"InvalidEvent\";\r\n /**\r\n * The size of the event is too large.\r\n */\r\n AWTEventsRejectedReason[AWTEventsRejectedReason[\"SizeLimitExceeded\"] = 2] = \"SizeLimitExceeded\";\r\n /**\r\n * The server is not accepting events from this token.\r\n */\r\n AWTEventsRejectedReason[AWTEventsRejectedReason[\"KillSwitch\"] = 3] = \"KillSwitch\";\r\n})(AWTEventsRejectedReason = exports.AWTEventsRejectedReason || (exports.AWTEventsRejectedReason = {}));\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* Utils.ts\r\n* @author Brent Erickson (brericks) and Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2017\r\n* File containing utility functions.\r\n*/\r\nvar microsoft_bond_primitives_1 = require(\"../bond/microsoft.bond.primitives\");\r\nvar Enums_1 = require(\"./Enums\");\r\nvar GuidRegex = /[xy]/g;\r\nvar MSTillUnixEpoch = 62135596800000;\r\nvar MSToTicksMultiplier = 10000;\r\nvar NullValue = null;\r\nexports.EventNameAndTypeRegex = /^[a-zA-Z]([a-zA-Z0-9]|_){2,98}[a-zA-Z0-9]$/;\r\nexports.EventNameDotRegex = /\\./g;\r\nexports.PropertyNameRegex = /^[a-zA-Z](([a-zA-Z0-9|_|\\.]){0,98}[a-zA-Z0-9])?$/;\r\nexports.StatsApiKey = 'a387cfcf60114a43a7699f9fbb49289e-9bceb9fe-1c06-460f-96c5-6a0b247358bc-7238';\r\nvar beaconsSupported = NullValue;\r\nvar uInt8ArraySupported = NullValue;\r\nvar useXDR = NullValue;\r\n/**\r\n * Converts a number to Bond Int64.\r\n * @param {number} value - The number to be converted.\r\n * @return {object} The Int64 value for the passed number.\r\n */\r\nfunction numberToBondInt64(value) {\r\n // Construct bond timestamp for aria\r\n var bond_value = new microsoft_bond_primitives_1.Int64('0');\r\n bond_value.low = value & 0xffffffff;\r\n bond_value.high = Math.floor(value / 0x100000000);\r\n return bond_value;\r\n}\r\nexports.numberToBondInt64 = numberToBondInt64;\r\n/**\r\n * Creates a new GUID.\r\n * @return {string} A GUID.\r\n */\r\nfunction newGuid() {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(GuidRegex, function (c) {\r\n var r = (Math.random() * 16 | 0), v = (c === 'x' ? r : r & 0x3 | 0x8);\r\n return v.toString(16);\r\n });\r\n}\r\nexports.newGuid = newGuid;\r\n/**\r\n * Checks if the type of value is a string.\r\n * @param {any} value - Value to be checked.\r\n * @return {boolean} True if the value is a string, false otherwise.\r\n */\r\nfunction isString(value) {\r\n return typeof value === 'string';\r\n}\r\nexports.isString = isString;\r\n/**\r\n * Checks if the type of value is a number.\r\n * @param {any} value - Value to be checked.\r\n * @return {boolean} True if the value is a number, false otherwise.\r\n */\r\nfunction isNumber(value) {\r\n return typeof value === 'number';\r\n}\r\nexports.isNumber = isNumber;\r\n/**\r\n * Checks if the type of value is a boolean.\r\n * @param {any} value - Value to be checked.\r\n * @return {boolean} True if the value is a boolean, false otherwise.\r\n */\r\nfunction isBoolean(value) {\r\n return typeof value === 'boolean';\r\n}\r\nexports.isBoolean = isBoolean;\r\n/**\r\n * Check if the type of value is a date.\r\n * @param {any} value - Value to be checked.\r\n * @return {boolean} True if the value is a date, false otherwise.\r\n */\r\nfunction isDate(value) {\r\n return value instanceof Date;\r\n}\r\nexports.isDate = isDate;\r\n/**\r\n * Converts milliseconds to ticks since 00:00:00 Jan 1, 0001.\r\n * @param {number} msToTicks - The milliseconds value to be converted.\r\n * @return {number} The value of the milliseconds in .Net Ticks.\r\n */\r\nfunction msToTicks(timeInMs) {\r\n return (timeInMs + MSTillUnixEpoch) * MSToTicksMultiplier;\r\n}\r\nexports.msToTicks = msToTicks;\r\n/**\r\n * Gets the tenant id from the tenant token.\r\n * @param {string} apiKey - The token from which the tenant id is to be extracted.\r\n * @return {string} The tenant id.\r\n */\r\nfunction getTenantId(apiKey) {\r\n var indexTenantId = apiKey.indexOf('-');\r\n if (indexTenantId > -1) {\r\n return apiKey.substring(0, indexTenantId);\r\n }\r\n return '';\r\n}\r\nexports.getTenantId = getTenantId;\r\n/**\r\n * Checks if HTML5 Beacons are supported in the current environment.\r\n * @return {boolean} True if supported, false otherwise.\r\n */\r\nfunction isBeaconsSupported() {\r\n if (beaconsSupported === NullValue) {\r\n beaconsSupported = typeof navigator !== 'undefined' && Boolean(navigator.sendBeacon);\r\n }\r\n return beaconsSupported;\r\n}\r\nexports.isBeaconsSupported = isBeaconsSupported;\r\n/**\r\n * Checks if Uint8Array are available in the current environment. Safari and Firefox along with\r\n * ReactNative are known to not support Uint8Array properly.\r\n * @return {boolean} True if available, false otherwise.\r\n */\r\nfunction isUint8ArrayAvailable() {\r\n if (uInt8ArraySupported === NullValue) {\r\n uInt8ArraySupported = typeof Uint8Array !== 'undefined' && !isSafariOrFirefox() && !isReactNative();\r\n }\r\n return uInt8ArraySupported;\r\n}\r\nexports.isUint8ArrayAvailable = isUint8ArrayAvailable;\r\n/**\r\n * Checks if the value is an AWTEventPriority.\r\n * @param {enum} value - The value that needs to be checked.\r\n * @return {boolean} True if the value is in AWTEventPriority, false otherwise.\r\n */\r\nfunction isPriority(value) {\r\n if (isNumber(value) && ((value >= 1 && value <= 3) || value === 5)) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nexports.isPriority = isPriority;\r\n/**\r\n * Sanitizes the Property. It checks the that the property name and value are valid. It also\r\n * checks/populates the correct type and pii of the property value.\r\n * @param {string} name - The property name.\r\n * @param {string|number|boolean|Date|object} property - The property value or an AWTEventProperty containing value,\r\n * type ,pii and customer content.\r\n * @return {object} AWTEventProperty containing valid name, value, pii and type or null if invalid.\r\n */\r\nfunction sanitizeProperty(name, property) {\r\n //Check that property is valid\r\n if (!exports.PropertyNameRegex.test(name) || isNotDefined(property)) {\r\n return NullValue;\r\n }\r\n //Check if type is AWTEventProperty. If not convert to AWTEventProperty\r\n if (isNotDefined(property.value)) {\r\n property = { value: property, type: Enums_1.AWTPropertyType.Unspecified };\r\n }\r\n property.type = sanitizePropertyType(property.value, property.type);\r\n if (!property.type) {\r\n return NullValue;\r\n }\r\n //If value is date. Then convert to number in Ticks.\r\n if (isDate(property.value)) {\r\n property.value = msToTicks(property.value.getTime());\r\n }\r\n //Ensure that only one of pii or customer content can be set\r\n if (property.pii > 0 && property.cc > 0) {\r\n return NullValue;\r\n }\r\n //If pii is set we need to validate its enum value.\r\n if (property.pii) {\r\n return isPii(property.pii) ? property : NullValue;\r\n }\r\n //If cc is set we need to validate its enum value.\r\n if (property.cc) {\r\n return isCustomerContent(property.cc) ? property : NullValue;\r\n }\r\n return property;\r\n}\r\nexports.sanitizeProperty = sanitizeProperty;\r\n/**\r\n * Converts a date object into an ISO string. This is needed because not all browsers support ISO string format\r\n * on the date.\r\n * @param {object} date - The date which needs to be converted to ISO format.\r\n * @return {string} The date in ISO format.\r\n */\r\nfunction getISOString(date) {\r\n return date.getUTCFullYear() + '-' +\r\n twoDigit(date.getUTCMonth() + 1) + '-' +\r\n twoDigit(date.getUTCDate()) + 'T' +\r\n twoDigit(date.getUTCHours()) + ':' +\r\n twoDigit(date.getUTCMinutes()) + ':' +\r\n twoDigit(date.getUTCSeconds()) + '.' +\r\n threeDigit(date.getUTCMilliseconds()) + 'Z';\r\n}\r\nexports.getISOString = getISOString;\r\nfunction useXDomainRequest() {\r\n if (useXDR === NullValue) {\r\n var conn = new XMLHttpRequest();\r\n if (typeof conn.withCredentials === 'undefined' &&\r\n typeof XDomainRequest !== 'undefined') {\r\n useXDR = true;\r\n }\r\n else {\r\n useXDR = false;\r\n }\r\n }\r\n return useXDR;\r\n}\r\nexports.useXDomainRequest = useXDomainRequest;\r\nfunction isReactNative() {\r\n // If running in React Native, navigator.product will be populated\r\n if (typeof navigator !== 'undefined' && navigator.product) {\r\n return navigator.product === 'ReactNative';\r\n }\r\n return false;\r\n}\r\nexports.isReactNative = isReactNative;\r\nfunction twoDigit(n) {\r\n // Format integers to have at least two digits.\r\n return n < 10 ? '0' + n : n.toString();\r\n}\r\nfunction threeDigit(n) {\r\n // Format integers to have at least three digits.\r\n if (n < 10) {\r\n return '00' + n;\r\n }\r\n else if (n < 100) {\r\n return '0' + n;\r\n }\r\n return n.toString();\r\n}\r\nfunction sanitizePropertyType(value, type) {\r\n type = !isPropertyType(type) ? Enums_1.AWTPropertyType.Unspecified : type;\r\n switch (type) {\r\n case Enums_1.AWTPropertyType.Unspecified:\r\n return getCorrectType(value);\r\n case Enums_1.AWTPropertyType.String:\r\n return isString(value) ? type : NullValue;\r\n case Enums_1.AWTPropertyType.Boolean:\r\n return isBoolean(value) ? type : NullValue;\r\n case Enums_1.AWTPropertyType.Date:\r\n return isDate(value) && value.getTime() !== NaN ? type : NullValue;\r\n case Enums_1.AWTPropertyType.Int64:\r\n return isNumber(value) && value % 1 === 0 ? type : NullValue;\r\n case Enums_1.AWTPropertyType.Double:\r\n return isNumber(value) ? type : NullValue;\r\n }\r\n return NullValue;\r\n}\r\nfunction getCorrectType(value) {\r\n switch (typeof value) {\r\n case 'string':\r\n return Enums_1.AWTPropertyType.String;\r\n case 'boolean':\r\n return Enums_1.AWTPropertyType.Boolean;\r\n case 'number':\r\n return Enums_1.AWTPropertyType.Double;\r\n case 'object':\r\n return isDate(value) ? Enums_1.AWTPropertyType.Date : NullValue;\r\n }\r\n return NullValue;\r\n}\r\nfunction isPii(value) {\r\n if (isNumber(value) && value >= 0 && value <= 13) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nfunction isCustomerContent(value) {\r\n if (isNumber(value) && value >= 0 && value <= 1) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nfunction isPropertyType(value) {\r\n if (isNumber(value) && value >= 0 && value <= 4) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nfunction isSafariOrFirefox() {\r\n // If non-browser navigator will be undefined\r\n if (typeof navigator !== 'undefined' && navigator.userAgent) {\r\n var ua = navigator.userAgent.toLowerCase();\r\n if ((ua.indexOf('safari') >= 0 || ua.indexOf('firefox') >= 0) && ua.indexOf('chrome') < 0) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nfunction isNotDefined(value) {\r\n return value === undefined || value === NullValue || value === '';\r\n}\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* AWTAutoCollection.ts\r\n* @author Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2018\r\n*/\r\nvar Utils = require(\"../common/Utils\");\r\nvar DEVICE_ID_COOKIE = 'MicrosoftApplicationsTelemetryDeviceId';\r\nvar FIRSTLAUNCHTIME_COOKIE = 'MicrosoftApplicationsTelemetryFirstLaunchTime';\r\nvar BROWSERS = {\r\n MSIE: 'MSIE',\r\n CHROME: 'Chrome',\r\n FIREFOX: 'Firefox',\r\n SAFARI: 'Safari',\r\n EDGE: 'Edge',\r\n ELECTRON: 'Electron',\r\n SKYPE_SHELL: 'SkypeShell',\r\n PHANTOMJS: 'PhantomJS',\r\n OPERA: 'Opera'\r\n};\r\nvar OPERATING_SYSTEMS = {\r\n WINDOWS: 'Windows',\r\n MACOSX: 'Mac OS X',\r\n WINDOWS_PHONE: 'Windows Phone',\r\n WINDOWS_RT: 'Windows RT',\r\n IOS: 'iOS',\r\n ANDROID: 'Android',\r\n LINUX: 'Linux',\r\n CROS: 'Chrome OS',\r\n UNKNOWN: 'Unknown'\r\n};\r\nvar OSNAMEREGEX = {\r\n WIN: /(windows|win32)/i,\r\n WINRT: / arm;/i,\r\n WINPHONE: /windows\\sphone\\s\\d+\\.\\d+/i,\r\n OSX: /(macintosh|mac os x)/i,\r\n IOS: /(iPad|iPhone|iPod)(?=.*like Mac OS X)/i,\r\n LINUX: /(linux|joli|[kxln]?ubuntu|debian|[open]*suse|gentoo|arch|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk)/i,\r\n ANDROID: /android/i,\r\n CROS: /CrOS/i\r\n};\r\nvar VERSION_MAPPINGS = {\r\n '5.1': 'XP',\r\n '6.0': 'Vista',\r\n '6.1': '7',\r\n '6.2': '8',\r\n '6.3': '8.1',\r\n '10.0': '10'\r\n};\r\nvar REGEX_VERSION = '([\\\\d,.]+)';\r\nvar REGEX_VERSION_MAC = '([\\\\d,_,.]+)';\r\nvar UNKNOWN = 'Unknown';\r\nvar UNDEFINED = 'undefined';\r\n/**\r\n * Class that stores semantic properties.\r\n */\r\nvar AWTAutoCollection = /** @class */ (function () {\r\n function AWTAutoCollection() {\r\n }\r\n /**\r\n * Add a property storage override to override the usage of document.cookie to store\r\n * properties. The property storage object should implement both getProperty and setProperty, otherwise\r\n * it will be rejected.\r\n * @param {object} propertyStorage - Property storage object which is used for storing SDK properties.\r\n * @return {boolean} True if the property storage override was accepted, false otherwise.\r\n */\r\n AWTAutoCollection.addPropertyStorageOverride = function (propertyStorage) {\r\n if (propertyStorage) {\r\n this._propertyStorage = propertyStorage;\r\n return true;\r\n }\r\n return false;\r\n };\r\n /**\r\n * Auto collect semantic context properties.\r\n * @param {object} semantContext - The semantic context to use to set auto collected information.\r\n * @param {boolean} disableCookies - Determines if setting cookies is disabled.\r\n * @param {object} userAgent - UserAgent string to be used for auto collection of semantic properties.\r\n */\r\n AWTAutoCollection.autoCollect = function (semanticContext, disableCookies, userAgent) {\r\n this._semanticContext = semanticContext;\r\n this._disableCookies = disableCookies;\r\n this._autoCollect();\r\n if (!userAgent && typeof navigator !== UNDEFINED) {\r\n userAgent = navigator.userAgent || '';\r\n }\r\n this._autoCollectFromUserAgent(userAgent);\r\n if (this._disableCookies && !this._propertyStorage) {\r\n this._deleteCookie(DEVICE_ID_COOKIE);\r\n this._deleteCookie(FIRSTLAUNCHTIME_COOKIE);\r\n return;\r\n }\r\n //Only collect device id if it can be stored\r\n if (this._propertyStorage || (this._areCookiesAvailable && !this._disableCookies)) {\r\n this._autoCollectDeviceId();\r\n }\r\n };\r\n /**\r\n * Checks if the device id stored is the same as the new device id. If they are not,\r\n * store the new id and store a new first launch time.\r\n * @param {string} deviceId - The new device id.\r\n */\r\n AWTAutoCollection.checkAndSaveDeviceId = function (deviceId) {\r\n if (deviceId) {\r\n var oldDeviceId = this._getData(DEVICE_ID_COOKIE);\r\n var flt = this._getData(FIRSTLAUNCHTIME_COOKIE);\r\n if (oldDeviceId !== deviceId) {\r\n flt = Utils.getISOString(new Date());\r\n }\r\n this._saveData(DEVICE_ID_COOKIE, deviceId);\r\n this._saveData(FIRSTLAUNCHTIME_COOKIE, flt);\r\n this._setFirstLaunchTime(flt);\r\n }\r\n };\r\n /**\r\n * Auto collect the device SDK Id.\r\n */\r\n AWTAutoCollection._autoCollectDeviceId = function () {\r\n var deviceId = this._getData(DEVICE_ID_COOKIE);\r\n if (!deviceId) {\r\n deviceId = Utils.newGuid();\r\n }\r\n this._semanticContext.setDeviceId(deviceId);\r\n };\r\n AWTAutoCollection._autoCollect = function () {\r\n //Get app language\r\n if (typeof document !== UNDEFINED && document.documentElement) {\r\n this._semanticContext.setAppLanguage(document.documentElement.lang);\r\n }\r\n //Get user language\r\n if (typeof navigator !== UNDEFINED) {\r\n this._semanticContext.setUserLanguage(navigator.userLanguage || navigator.language);\r\n }\r\n //Get time zone\r\n var timeZone = new Date().getTimezoneOffset();\r\n var minutes = timeZone % 60;\r\n var hours = (timeZone - minutes) / 60;\r\n var timeZonePrefix = '+';\r\n if (hours > 0) {\r\n timeZonePrefix = '-';\r\n }\r\n hours = Math.abs(hours);\r\n minutes = Math.abs(minutes);\r\n this._semanticContext.setUserTimeZone(timeZonePrefix + (hours < 10 ? '0' + hours : hours.toString()) + ':'\r\n + (minutes < 10 ? '0' + minutes : minutes.toString()));\r\n };\r\n AWTAutoCollection._autoCollectFromUserAgent = function (userAgent) {\r\n if (userAgent) {\r\n var browserName = this._getBrowserName(userAgent);\r\n this._semanticContext.setDeviceBrowserName(browserName);\r\n this._semanticContext.setDeviceBrowserVersion(this._getBrowserVersion(userAgent, browserName));\r\n var osName = this._getOsName(userAgent);\r\n this._semanticContext.setDeviceOsName(osName);\r\n this._semanticContext.setDeviceOsVersion(this._getOsVersion(userAgent, osName));\r\n }\r\n };\r\n AWTAutoCollection._getBrowserName = function (userAgent) {\r\n //Check for Opera first \r\n if (this._userAgentContainsString('OPR/', userAgent)) {\r\n return BROWSERS.OPERA;\r\n }\r\n //Check for Phantom JS\r\n if (this._userAgentContainsString(BROWSERS.PHANTOMJS, userAgent)) {\r\n return BROWSERS.PHANTOMJS;\r\n }\r\n //Check for Edge\r\n if (this._userAgentContainsString(BROWSERS.EDGE, userAgent)) {\r\n return BROWSERS.EDGE;\r\n }\r\n //Check for Electron\r\n if (this._userAgentContainsString(BROWSERS.ELECTRON, userAgent)) {\r\n return BROWSERS.ELECTRON;\r\n }\r\n //Check for Chrome\r\n if (this._userAgentContainsString(BROWSERS.CHROME, userAgent)) {\r\n return BROWSERS.CHROME;\r\n }\r\n //Check for Internet Explorer\r\n if (this._userAgentContainsString('Trident', userAgent)) {\r\n return BROWSERS.MSIE;\r\n }\r\n //Check for Firefox\r\n if (this._userAgentContainsString(BROWSERS.FIREFOX, userAgent)) {\r\n return BROWSERS.FIREFOX;\r\n }\r\n //Check for Safari\r\n if (this._userAgentContainsString(BROWSERS.SAFARI, userAgent)) {\r\n return BROWSERS.SAFARI;\r\n }\r\n //Check for Skype shell\r\n if (this._userAgentContainsString(BROWSERS.SKYPE_SHELL, userAgent)) {\r\n return BROWSERS.SKYPE_SHELL;\r\n }\r\n return UNKNOWN;\r\n };\r\n AWTAutoCollection._setFirstLaunchTime = function (flt) {\r\n if (!isNaN(flt)) {\r\n var fltDate = new Date();\r\n fltDate.setTime(parseInt(flt, 10));\r\n flt = Utils.getISOString(fltDate);\r\n }\r\n this.firstLaunchTime = flt;\r\n };\r\n AWTAutoCollection._userAgentContainsString = function (searchString, userAgent) {\r\n return userAgent.indexOf(searchString) > -1;\r\n };\r\n AWTAutoCollection._getBrowserVersion = function (userAgent, browserName) {\r\n if (browserName === BROWSERS.MSIE) {\r\n return this._getIeVersion(userAgent);\r\n }\r\n else {\r\n return this._getOtherVersion(browserName, userAgent);\r\n }\r\n };\r\n AWTAutoCollection._getIeVersion = function (userAgent) {\r\n var classicIeVersionMatches = userAgent.match(new RegExp(BROWSERS.MSIE + ' ' + REGEX_VERSION));\r\n if (classicIeVersionMatches) {\r\n return classicIeVersionMatches[1];\r\n }\r\n else {\r\n var ieVersionMatches = userAgent.match(new RegExp('rv:' + REGEX_VERSION));\r\n if (ieVersionMatches) {\r\n return ieVersionMatches[1];\r\n }\r\n }\r\n };\r\n AWTAutoCollection._getOtherVersion = function (browserString, userAgent) {\r\n if (browserString === BROWSERS.SAFARI) {\r\n browserString = 'Version';\r\n }\r\n var matches = userAgent.match(new RegExp(browserString + '/' + REGEX_VERSION));\r\n if (matches) {\r\n return matches[1];\r\n }\r\n return UNKNOWN;\r\n };\r\n AWTAutoCollection._getOsName = function (userAgent) {\r\n if (userAgent.match(OSNAMEREGEX.WINPHONE)) {\r\n return OPERATING_SYSTEMS.WINDOWS_PHONE;\r\n }\r\n if (userAgent.match(OSNAMEREGEX.WINRT)) {\r\n return OPERATING_SYSTEMS.WINDOWS_RT;\r\n }\r\n if (userAgent.match(OSNAMEREGEX.IOS)) {\r\n return OPERATING_SYSTEMS.IOS;\r\n }\r\n if (userAgent.match(OSNAMEREGEX.ANDROID)) {\r\n return OPERATING_SYSTEMS.ANDROID;\r\n }\r\n if (userAgent.match(OSNAMEREGEX.LINUX)) {\r\n return OPERATING_SYSTEMS.LINUX;\r\n }\r\n if (userAgent.match(OSNAMEREGEX.OSX)) {\r\n return OPERATING_SYSTEMS.MACOSX;\r\n }\r\n if (userAgent.match(OSNAMEREGEX.WIN)) {\r\n return OPERATING_SYSTEMS.WINDOWS;\r\n }\r\n if (userAgent.match(OSNAMEREGEX.CROS)) {\r\n return OPERATING_SYSTEMS.CROS;\r\n }\r\n return UNKNOWN;\r\n };\r\n AWTAutoCollection._getOsVersion = function (userAgent, osName) {\r\n if (osName === OPERATING_SYSTEMS.WINDOWS) {\r\n return this._getGenericOsVersion(userAgent, 'Windows NT');\r\n }\r\n if (osName === OPERATING_SYSTEMS.ANDROID) {\r\n return this._getGenericOsVersion(userAgent, osName);\r\n }\r\n if (osName === OPERATING_SYSTEMS.MACOSX) {\r\n return this._getMacOsxVersion(userAgent);\r\n }\r\n return UNKNOWN;\r\n };\r\n AWTAutoCollection._getGenericOsVersion = function (userAgent, osName) {\r\n var ntVersionMatches = userAgent.match(new RegExp(osName + ' ' + REGEX_VERSION));\r\n if (ntVersionMatches) {\r\n if (VERSION_MAPPINGS[ntVersionMatches[1]]) {\r\n return VERSION_MAPPINGS[ntVersionMatches[1]];\r\n }\r\n return ntVersionMatches[1];\r\n }\r\n return UNKNOWN;\r\n };\r\n AWTAutoCollection._getMacOsxVersion = function (userAgent) {\r\n var macOsxVersionInUserAgentMatches = userAgent.match(new RegExp(OPERATING_SYSTEMS.MACOSX + ' ' + REGEX_VERSION_MAC));\r\n if (macOsxVersionInUserAgentMatches) {\r\n var versionString = macOsxVersionInUserAgentMatches[1].replace(/_/g, '.');\r\n if (versionString) {\r\n var delimiter = this._getDelimiter(versionString);\r\n if (delimiter) {\r\n var components = versionString.split(delimiter);\r\n return components[0];\r\n }\r\n else {\r\n return versionString;\r\n }\r\n }\r\n }\r\n return UNKNOWN;\r\n };\r\n AWTAutoCollection._getDelimiter = function (versionString) {\r\n if (versionString.indexOf('.') > -1) {\r\n return '.';\r\n }\r\n if (versionString.indexOf('_') > -1) {\r\n return '_';\r\n }\r\n return null;\r\n };\r\n AWTAutoCollection._saveData = function (name, value) {\r\n if (this._propertyStorage) {\r\n this._propertyStorage.setProperty(name, value);\r\n }\r\n else if (this._areCookiesAvailable) {\r\n //Expires in 365 days\r\n var date = new Date();\r\n date.setTime(date.getTime() + 31536000000 /*365 days in milliseconds*/);\r\n var expires = 'expires=' + date.toUTCString();\r\n document.cookie = name + '=' + value + '; ' + expires;\r\n }\r\n };\r\n AWTAutoCollection._getData = function (name) {\r\n if (this._propertyStorage) {\r\n return this._propertyStorage.getProperty(name) || '';\r\n }\r\n else if (this._areCookiesAvailable) {\r\n name = name + '=';\r\n var ca = document.cookie.split(';');\r\n for (var i = 0; i < ca.length; i++) {\r\n var c = ca[i];\r\n var j = 0;\r\n while (c.charAt(j) === ' ') {\r\n j++;\r\n }\r\n c = c.substring(j);\r\n if (c.indexOf(name) === 0) {\r\n return c.substring(name.length, c.length);\r\n }\r\n }\r\n }\r\n return '';\r\n };\r\n AWTAutoCollection._deleteCookie = function (name) {\r\n if (this._areCookiesAvailable) {\r\n document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:01 GMT;';\r\n }\r\n };\r\n AWTAutoCollection._disableCookies = false;\r\n AWTAutoCollection._areCookiesAvailable = typeof document !== UNDEFINED && typeof document.cookie !== UNDEFINED;\r\n return AWTAutoCollection;\r\n}());\r\nexports.default = AWTAutoCollection;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* AWTEventProperties.ts\r\n* @author Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2018\r\n*/\r\nvar Utils = require(\"../common/Utils\");\r\nvar Enums_1 = require(\"../common/Enums\");\r\n/**\r\n* The AWTEventProperties class is used for creating an event.\r\n*/\r\nvar AWTEventProperties = /** @class */ (function () {\r\n /**\r\n * The AWTEventProperties class constructor.\r\n * @constructor\r\n * @param {string} - [Optional] The name of the event.\r\n */\r\n function AWTEventProperties(name) {\r\n this._event = { name: '', properties: {} };\r\n if (name) {\r\n this.setName(name);\r\n }\r\n }\r\n /**\r\n * Sets the name of the event.\r\n * @param {string} name - The name of the event.\r\n */\r\n AWTEventProperties.prototype.setName = function (name) {\r\n this._event.name = name;\r\n };\r\n /**\r\n * Gets the name of the event.\r\n * @return {string|undefined} - The name of the event, or undefined if the name has not been set.\r\n */\r\n AWTEventProperties.prototype.getName = function () {\r\n return this._event.name;\r\n };\r\n /**\r\n * Sets the base type of the event.\r\n * @param {string} type - The base type of the event.\r\n */\r\n AWTEventProperties.prototype.setType = function (type) {\r\n this._event.type = type;\r\n };\r\n /**\r\n * Gets the base type of the event.\r\n * @return {string|undefined} The base type of the event, or undefined if the base type has not been set.\r\n */\r\n AWTEventProperties.prototype.getType = function () {\r\n return this._event.type;\r\n };\r\n /**\r\n * Sets the timestamp for the event.\r\n * @param {number} timestampInEpochMillis - The timestamp (in milliseconds) since UNIX Epoch.\r\n */\r\n AWTEventProperties.prototype.setTimestamp = function (timestampInEpochMillis) {\r\n this._event.timestamp = timestampInEpochMillis;\r\n };\r\n /**\r\n * Gets the timestamp for the event.\r\n * @return {number|undefined} The timestamp for the event, or undefined if it has not been set.\r\n */\r\n AWTEventProperties.prototype.getTimestamp = function () {\r\n return this._event.timestamp;\r\n };\r\n /**\r\n * Sets the priority for sending the event. The default priority\r\n * of the event is Normal.\r\n * @param {enum} priority - An AWTEventPriority enumeration value that specifies the priority of the event.\r\n */\r\n AWTEventProperties.prototype.setEventPriority = function (priority) {\r\n this._event.priority = priority;\r\n };\r\n /**\r\n * Gets the priority for the event.\r\n * @return {AWTEventPriority} - An AWTEventPriority enumeration value that specifies the priority of the event.\r\n */\r\n AWTEventProperties.prototype.getEventPriority = function () {\r\n return this._event.priority;\r\n };\r\n /**\r\n * Sets a property with a name and value. Optionally sets the property type.\r\n * @param {string} name - The name of the property.\r\n * @param {string|number|boolean|Date} value - The property's value.\r\n * @param {enum} type - [Optional] One of the AWTPropertyType enumeration values that specifies\r\n * the type for the property.\r\n */\r\n AWTEventProperties.prototype.setProperty = function (name, value, type) {\r\n if (type === void 0) { type = Enums_1.AWTPropertyType.Unspecified; }\r\n var property = { value: value, type: type, pii: Enums_1.AWTPiiKind.NotSet, cc: Enums_1.AWTCustomerContentKind.NotSet };\r\n property = Utils.sanitizeProperty(name, property);\r\n if (property === null) {\r\n delete this._event.properties[name];\r\n return;\r\n }\r\n this._event.properties[name] = property;\r\n };\r\n /**\r\n * Sets a property with a name, a value, and a PII. Optionally sets the property type.\r\n * @param {string} name - The name of the property.\r\n * @param {string|number|boolean|Date} value - The property's value.\r\n * @param {enum} pii - The kind of PII for the property.\r\n * @param {enum} type - [Optional] One of the AWTPropertyType enumeration values that specifies\r\n * the type for the property.\r\n */\r\n AWTEventProperties.prototype.setPropertyWithPii = function (name, value, pii, type) {\r\n if (type === void 0) { type = Enums_1.AWTPropertyType.Unspecified; }\r\n var property = { value: value, type: type, pii: pii, cc: Enums_1.AWTCustomerContentKind.NotSet };\r\n property = Utils.sanitizeProperty(name, property);\r\n if (property === null) {\r\n delete this._event.properties[name];\r\n return;\r\n }\r\n this._event.properties[name] = property;\r\n };\r\n /**\r\n * Sets a property with name, value and customer content. Optionally set the property type of the value.\r\n * @param {string} name - The name of the property.\r\n * @param {string|number|boolean|Date} value - The property's value.\r\n * @param {enum} customerContent - The customer content kind for the property.\r\n * @param {enum} type - [Optional] One of the AWTPropertyType enumeration values that specifies\r\n * the type for the property.\r\n */\r\n AWTEventProperties.prototype.setPropertyWithCustomerContent = function (name, value, customerContent, type) {\r\n if (type === void 0) { type = Enums_1.AWTPropertyType.Unspecified; }\r\n var property = { value: value, type: type, pii: Enums_1.AWTPiiKind.NotSet, cc: customerContent };\r\n property = Utils.sanitizeProperty(name, property);\r\n if (property === null) {\r\n delete this._event.properties[name];\r\n return;\r\n }\r\n this._event.properties[name] = property;\r\n };\r\n /**\r\n * Gets the properties currently added to the event.\r\n * @return {object} A Map containing the current properties.\r\n */\r\n AWTEventProperties.prototype.getPropertyMap = function () {\r\n return this._event.properties;\r\n };\r\n /**\r\n * Gets the event from this event properties object.\r\n * @return {object} The event properties compiled into AWTEventData.\r\n */\r\n AWTEventProperties.prototype.getEvent = function () {\r\n return this._event;\r\n };\r\n return AWTEventProperties;\r\n}());\r\nexports.default = AWTEventProperties;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar Enums_1 = require(\"../common/Enums\");\r\nvar AWTSerializer_1 = require(\"../common/AWTSerializer\");\r\nvar AWTRetryPolicy_1 = require(\"../common/AWTRetryPolicy\");\r\nvar AWTKillSwitch_1 = require(\"../common/AWTKillSwitch\");\r\nvar AWTClockSkewManager_1 = require(\"../common/AWTClockSkewManager\");\r\nvar Version = require(\"./Version\");\r\nvar Utils = require(\"../common/Utils\");\r\nvar AWTNotificationManager_1 = require(\"../common/AWTNotificationManager\");\r\nvar AWTTransmissionManagerCore_1 = require(\"./AWTTransmissionManagerCore\");\r\nvar MaxConnections = 2;\r\nvar MaxRetries = 1;\r\nvar Method = 'POST';\r\n/**\r\n * Class managing the sending of requests.\r\n */\r\nvar AWTHttpManager = /** @class */ (function () {\r\n /**\r\n * @constructor\r\n * @param {object} requestQueue - The queue that contains the requests to be sent.\r\n * @param {string} collectorUrl - The collector url to which the requests must be sent.\r\n * @param {object} _queueManager - The queue manager that we should add requests back to if needed.\r\n * @param {object} _httpInterface - The http interface that should be used to send HTTP requests.\r\n */\r\n function AWTHttpManager(_requestQueue, collectorUrl, _queueManager, _httpInterface, clockSkewRefreshDurationInMins) {\r\n var _this = this;\r\n this._requestQueue = _requestQueue;\r\n this._queueManager = _queueManager;\r\n this._httpInterface = _httpInterface;\r\n this._urlString = '?qsp=true&content-type=application%2Fbond-compact-binary&client-id=NO_AUTH&sdk-version='\r\n + Version.FullVersionString;\r\n this._killSwitch = new AWTKillSwitch_1.default();\r\n this._paused = false;\r\n this._useBeacons = false;\r\n this._activeConnections = 0;\r\n this._clockSkewManager = new AWTClockSkewManager_1.default(clockSkewRefreshDurationInMins);\r\n if (!Utils.isUint8ArrayAvailable()) {\r\n this._urlString += '&content-encoding=base64';\r\n }\r\n this._urlString = collectorUrl + this._urlString;\r\n if (!this._httpInterface) {\r\n this._useBeacons = !Utils.isReactNative(); //Only use beacons if not running in React Native\r\n this._httpInterface = {\r\n sendPOST: function (urlString, data, ontimeout, onerror, onload, sync) {\r\n try {\r\n if (Utils.useXDomainRequest()) {\r\n var xdr = new XDomainRequest();\r\n xdr.open(Method, urlString);\r\n //can't get the status code in xdr.\r\n xdr.onload = function () {\r\n // we will assume onload means the request succeeded.\r\n onload(200, null);\r\n };\r\n xdr.onerror = function () {\r\n // we will assume onerror means we need to drop the events.\r\n onerror(400, null);\r\n };\r\n xdr.ontimeout = function () {\r\n // we will assume ontimeout means we need to retry the events.\r\n ontimeout(500, null);\r\n };\r\n xdr.send(data);\r\n }\r\n else if (Utils.isReactNative()) {\r\n //Use the fetch API to send events in React Native\r\n fetch(urlString, {\r\n body: data,\r\n method: Method\r\n }).then(function (response) {\r\n var headerMap = {};\r\n if (response.headers) {\r\n response.headers.forEach(function (value, name) {\r\n headerMap[name] = value;\r\n });\r\n }\r\n onload(response.status, headerMap);\r\n }).catch(function (error) {\r\n //In case there is an error in the request. Set the status to 0\r\n //so that the events can be retried later.\r\n onerror(0, {});\r\n });\r\n }\r\n else {\r\n var xhr_1 = new XMLHttpRequest();\r\n xhr_1.open(Method, urlString, !sync);\r\n xhr_1.onload = function () {\r\n onload(xhr_1.status, _this._convertAllHeadersToMap(xhr_1.getAllResponseHeaders()));\r\n };\r\n xhr_1.onerror = function () {\r\n onerror(xhr_1.status, _this._convertAllHeadersToMap(xhr_1.getAllResponseHeaders()));\r\n };\r\n xhr_1.ontimeout = function () {\r\n ontimeout(xhr_1.status, _this._convertAllHeadersToMap(xhr_1.getAllResponseHeaders()));\r\n };\r\n xhr_1.send(data);\r\n }\r\n }\r\n catch (e) {\r\n // we will assume exception means we need to drop the events.\r\n onerror(400, null);\r\n }\r\n }\r\n };\r\n }\r\n }\r\n /**\r\n * Check if there is an idle connection overwhich we can send a request.\r\n * @return {boolean} True if there is an idle connection, false otherwise.\r\n */\r\n AWTHttpManager.prototype.hasIdleConnection = function () {\r\n return this._activeConnections < MaxConnections;\r\n };\r\n /**\r\n * Send requests in the request queue up if there is an idle connection, sending is\r\n * not pause and clock skew manager allows sending request.\r\n */\r\n AWTHttpManager.prototype.sendQueuedRequests = function () {\r\n while (this.hasIdleConnection() && !this._paused && this._requestQueue.length > 0\r\n && this._clockSkewManager.allowRequestSending()) {\r\n this._activeConnections++;\r\n this._sendRequest(this._requestQueue.shift(), 0, false);\r\n }\r\n //No more requests to send, tell TPM to try to schedule timer\r\n //in case it was waiting for idle connections\r\n if (this.hasIdleConnection()) {\r\n AWTTransmissionManagerCore_1.default.scheduleTimer();\r\n }\r\n };\r\n /**\r\n * Check if there are no active requests being sent.\r\n * @return {boolean} True if idle, false otherwise.\r\n */\r\n AWTHttpManager.prototype.isCompletelyIdle = function () {\r\n return this._activeConnections === 0;\r\n };\r\n /**\r\n * Queue all the remaning requests to be sent. The requests will be\r\n * sent using HTML5 Beacons if they are available.\r\n */\r\n AWTHttpManager.prototype.teardown = function () {\r\n while (this._requestQueue.length > 0) {\r\n this._sendRequest(this._requestQueue.shift(), 0, true);\r\n }\r\n };\r\n /**\r\n * Pause the sending of requests. No new requests will be sent.\r\n */\r\n AWTHttpManager.prototype.pause = function () {\r\n this._paused = true;\r\n };\r\n /**\r\n * Resume the sending of requests.\r\n */\r\n AWTHttpManager.prototype.resume = function () {\r\n this._paused = false;\r\n this.sendQueuedRequests();\r\n };\r\n /**\r\n * Removes any pending requests to be sent.\r\n */\r\n AWTHttpManager.prototype.removeQueuedRequests = function () {\r\n this._requestQueue.length = 0;\r\n };\r\n /**\r\n * Sends a request synchronously to the Aria collector. This api is used to send\r\n * a request containing a single immediate event.\r\n *\r\n * @param request - The request to be sent.\r\n * @param token - The token used to send the request.\r\n */\r\n AWTHttpManager.prototype.sendSynchronousRequest = function (request, token) {\r\n //This will not take into account the max connections restriction. Since this is sync, we can \r\n //only send one of this request at a time and thus should not worry about multiple connections \r\n //being used to send synchronoush events.\r\n if (this._paused) {\r\n //If paused then convert to High priority. It will be added back to queue in _sendRequest\r\n request[token][0].priority = Enums_1.AWTEventPriority.High;\r\n }\r\n //Increment active connection since we are still going to use a connection to send the request.\r\n this._activeConnections++;\r\n //For sync requests we will not wait for the clock skew. \r\n this._sendRequest(request, 0, false, true);\r\n };\r\n AWTHttpManager.prototype._sendRequest = function (request, retryCount, isTeardown, isSynchronous) {\r\n var _this = this;\r\n if (isSynchronous === void 0) { isSynchronous = false; }\r\n try {\r\n if (this._paused) {\r\n this._activeConnections--;\r\n this._queueManager.addBackRequest(request);\r\n return;\r\n }\r\n var tokenCount_1 = 0;\r\n var apikey_1 = '';\r\n for (var token in request) {\r\n if (request.hasOwnProperty(token)) {\r\n if (!this._killSwitch.isTenantKilled(token)) {\r\n if (apikey_1.length > 0) {\r\n apikey_1 += ',';\r\n }\r\n apikey_1 += token;\r\n tokenCount_1++;\r\n }\r\n else {\r\n AWTNotificationManager_1.default.eventsRejected(request[token], Enums_1.AWTEventsRejectedReason.KillSwitch);\r\n delete request[token];\r\n }\r\n }\r\n }\r\n if (tokenCount_1 > 0) {\r\n var payloadResult = AWTSerializer_1.default.getPayloadBlob(request, tokenCount_1);\r\n if (payloadResult.remainingRequest) {\r\n this._requestQueue.push(payloadResult.remainingRequest);\r\n }\r\n var urlString = this._urlString + '&x-apikey=' + apikey_1 + '&client-time-epoch-millis='\r\n + Date.now().toString();\r\n if (this._clockSkewManager.shouldAddClockSkewHeaders()) {\r\n urlString = urlString + '&time-delta-to-apply-millis=' + this._clockSkewManager.getClockSkewHeaderValue();\r\n }\r\n var data = void 0;\r\n if (!Utils.isUint8ArrayAvailable()) {\r\n data = AWTSerializer_1.default.base64Encode(payloadResult.payloadBlob);\r\n }\r\n else {\r\n data = new Uint8Array(payloadResult.payloadBlob);\r\n }\r\n for (var token in request) {\r\n if (request.hasOwnProperty(token)) {\r\n //Increment the send attempt count\r\n for (var i = 0; i < request[token].length; ++i) {\r\n request[token][i].sendAttempt > 0 ? request[token][i].sendAttempt++ : request[token][i].sendAttempt = 1;\r\n }\r\n }\r\n }\r\n //beacons will not be used if an http interface was passed by the customer\r\n if (this._useBeacons && isTeardown && Utils.isBeaconsSupported()) {\r\n if (navigator.sendBeacon(urlString, data)) {\r\n //Request sent via beacon.\r\n return;\r\n }\r\n }\r\n //Send sync requests if the request is immediate or we are tearing down telemetry.\r\n this._httpInterface.sendPOST(urlString, data, function (status, headers) {\r\n _this._retryRequestIfNeeded(status, headers, request, tokenCount_1, apikey_1, retryCount, isTeardown, isSynchronous);\r\n }, function (status, headers) {\r\n _this._retryRequestIfNeeded(status, headers, request, tokenCount_1, apikey_1, retryCount, isTeardown, isSynchronous);\r\n }, function (status, headers) {\r\n _this._retryRequestIfNeeded(status, headers, request, tokenCount_1, apikey_1, retryCount, isTeardown, isSynchronous);\r\n }, isTeardown || isSynchronous);\r\n }\r\n else if (!isTeardown) {\r\n this._handleRequestFinished(false, {}, isTeardown, isSynchronous);\r\n }\r\n }\r\n catch (e) {\r\n //If we catch any error while sending the request, drop the request.\r\n this._handleRequestFinished(false, {}, isTeardown, isSynchronous);\r\n }\r\n };\r\n AWTHttpManager.prototype._retryRequestIfNeeded = function (status, headers, request, tokenCount, apikey, retryCount, isTeardown, isSynchronous) {\r\n var _this = this;\r\n var shouldRetry = true;\r\n if (typeof status !== 'undefined') {\r\n if (headers) {\r\n var killedTokens = this._killSwitch.setKillSwitchTenants(headers['kill-tokens'], headers['kill-duration-seconds']);\r\n this._clockSkewManager.setClockSkew(headers['time-delta-millis']);\r\n for (var i = 0; i < killedTokens.length; ++i) {\r\n AWTNotificationManager_1.default.eventsRejected(request[killedTokens[i]], Enums_1.AWTEventsRejectedReason.KillSwitch);\r\n delete request[killedTokens[i]];\r\n tokenCount--;\r\n }\r\n }\r\n else {\r\n this._clockSkewManager.setClockSkew(null);\r\n }\r\n if (status === 200) {\r\n this._handleRequestFinished(true, request, isTeardown, isSynchronous);\r\n return;\r\n }\r\n if (!AWTRetryPolicy_1.default.shouldRetryForStatus(status) || tokenCount <= 0) {\r\n shouldRetry = false;\r\n }\r\n }\r\n if (shouldRetry) {\r\n if (isSynchronous) {\r\n //Synchronous events only contain a single event so the apiKey is equal to the token for that event.\r\n //Convert the event to High priority and add back to queue to be sent as High event.\r\n this._activeConnections--;\r\n request[apikey][0].priority = Enums_1.AWTEventPriority.High;\r\n this._queueManager.addBackRequest(request);\r\n }\r\n else if (retryCount < MaxRetries) {\r\n for (var token in request) {\r\n if (request.hasOwnProperty(token)) {\r\n AWTNotificationManager_1.default.eventsRetrying(request[token]);\r\n }\r\n }\r\n setTimeout(function () { return _this._sendRequest(request, retryCount + 1, false); }, AWTRetryPolicy_1.default.getMillisToBackoffForRetry(retryCount));\r\n }\r\n else {\r\n this._activeConnections--;\r\n AWTTransmissionManagerCore_1.default.backOffTransmission();\r\n this._queueManager.addBackRequest(request);\r\n }\r\n }\r\n else {\r\n this._handleRequestFinished(false, request, isTeardown, isSynchronous);\r\n }\r\n };\r\n AWTHttpManager.prototype._handleRequestFinished = function (success, request, isTeardown, isSynchronous) {\r\n if (success) {\r\n AWTTransmissionManagerCore_1.default.clearBackOff();\r\n }\r\n for (var token in request) {\r\n if (request.hasOwnProperty(token)) {\r\n if (success) {\r\n AWTNotificationManager_1.default.eventsSent(request[token]);\r\n }\r\n else {\r\n AWTNotificationManager_1.default.eventsDropped(request[token], Enums_1.AWTEventsDroppedReason.NonRetryableStatus);\r\n }\r\n }\r\n }\r\n this._activeConnections--;\r\n if (!isSynchronous && !isTeardown) {\r\n //Only continue sending more requests as long as the current request was not an synchronous request or sent\r\n //during teardown. We want to return after just sending this one sync request.\r\n this.sendQueuedRequests();\r\n }\r\n };\r\n /**\r\n * Converts the XHR getAllResponseHeaders to a map containing the header key and value.\r\n */\r\n AWTHttpManager.prototype._convertAllHeadersToMap = function (headersString) {\r\n var headers = {};\r\n if (headersString) {\r\n var headersArray = headersString.split('\\n');\r\n for (var i = 0; i < headersArray.length; ++i) {\r\n var header = headersArray[i].split(': ');\r\n headers[header[0]] = header[1];\r\n }\r\n }\r\n return headers;\r\n };\r\n return AWTHttpManager;\r\n}());\r\nexports.default = AWTHttpManager;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar Enums_1 = require(\"../common/Enums\");\r\nvar Enums_2 = require(\"./Enums\");\r\nvar AWTLogManagerSettings_1 = require(\"./AWTLogManagerSettings\");\r\nvar AWTLogger_1 = require(\"./AWTLogger\");\r\nvar AWTTransmissionManagerCore_1 = require(\"./AWTTransmissionManagerCore\");\r\nvar AWTNotificationManager_1 = require(\"../common/AWTNotificationManager\");\r\nvar AWTAutoCollection_1 = require(\"./AWTAutoCollection\");\r\n/**\r\n* The AWTLogManager class manages the Aria SDK.\r\n*/\r\nvar AWTLogManager = /** @class */ (function () {\r\n function AWTLogManager() {\r\n }\r\n /**\r\n * Initializes the log manager. After this method is called, events are\r\n * accepted for transmission.\r\n * @param {string} tenantToken - A string that contains the default tenant token.\r\n * @param {object} config - [Optional] Configuration settings for initialize, as an AWTLogConfiguration object.\r\n */\r\n AWTLogManager.initialize = function (tenantToken, configuration) {\r\n if (configuration === void 0) { configuration = {}; }\r\n if (this._isInitialized) {\r\n return;\r\n }\r\n this._isInitialized = true;\r\n AWTLogManagerSettings_1.default.defaultTenantToken = tenantToken;\r\n this._overrideValuesFromConfig(configuration);\r\n if (this._config.disableCookiesUsage && !this._config.propertyStorageOverride) {\r\n AWTLogManagerSettings_1.default.sessionEnabled = false;\r\n }\r\n AWTAutoCollection_1.default.addPropertyStorageOverride(this._config.propertyStorageOverride);\r\n AWTAutoCollection_1.default.autoCollect(AWTLogManagerSettings_1.default.semanticContext, this._config.disableCookiesUsage, this._config.userAgent);\r\n //Create sender\r\n AWTTransmissionManagerCore_1.default.initialize(this._config);\r\n AWTLogManagerSettings_1.default.loggingEnabled = true;\r\n //Autolog session events for browsers\r\n if (this._config.enableAutoUserSession) {\r\n this.getLogger().logSession(Enums_2.AWTSessionState.Started);\r\n window.addEventListener('beforeunload', this.flushAndTeardown);\r\n }\r\n return this.getLogger();\r\n };\r\n /**\r\n * Gets the global semantic context.\r\n *\r\n * @return A AWTSemanticContext object, through which you can set common semantic properties.\r\n */\r\n AWTLogManager.getSemanticContext = function () {\r\n return AWTLogManagerSettings_1.default.semanticContext;\r\n };\r\n /**\r\n * Asynchronously sends events currently in the queue. New events added\r\n * are sent after the current flush finishes. The passed callback is\r\n * called when flush finishes. Note: If LogManager is paused, or if\r\n * flush is called again in less than 30 seconds, then flush is no-op, and\r\n * the callback is not called.\r\n * @param {function} callback - The function that is called when flush finishes.\r\n */\r\n AWTLogManager.flush = function (callback) {\r\n if (this._isInitialized && !this._isDestroyed) {\r\n AWTTransmissionManagerCore_1.default.flush(callback);\r\n }\r\n };\r\n /**\r\n * Prevents new events from being added for transmission. It also batches all\r\n * events currently in the queue, and creates requests for them to be sent. If\r\n * HTML5 Beacons are supported, then they will be used.\r\n */\r\n AWTLogManager.flushAndTeardown = function () {\r\n if (this._isInitialized && !this._isDestroyed) {\r\n if (this._config.enableAutoUserSession) {\r\n this.getLogger().logSession(Enums_2.AWTSessionState.Ended);\r\n }\r\n AWTTransmissionManagerCore_1.default.flushAndTeardown();\r\n AWTLogManagerSettings_1.default.loggingEnabled = false;\r\n this._isDestroyed = true;\r\n }\r\n };\r\n /**\r\n * Pasues the transmission of events.\r\n */\r\n AWTLogManager.pauseTransmission = function () {\r\n if (this._isInitialized && !this._isDestroyed) {\r\n AWTTransmissionManagerCore_1.default.pauseTransmission();\r\n }\r\n };\r\n /**\r\n * Resumes the tranmission of events.\r\n */\r\n AWTLogManager.resumeTransmision = function () {\r\n if (this._isInitialized && !this._isDestroyed) {\r\n AWTTransmissionManagerCore_1.default.resumeTransmision();\r\n }\r\n };\r\n /**\r\n * Sets the transmit profile. This changes the transmission timers\r\n * based on the transmit profile.\r\n * @param {string} profileName - A string that contains the name of the transmit profile.\r\n */\r\n AWTLogManager.setTransmitProfile = function (profileName) {\r\n if (this._isInitialized && !this._isDestroyed) {\r\n AWTTransmissionManagerCore_1.default.setTransmitProfile(profileName);\r\n }\r\n };\r\n /**\r\n * Loads custom transmission profiles. Each profile should have timers for\r\n * high, normal, and low. Each profile should make sure\r\n * that a each priority timer is a multiple of the priority higher than it.\r\n * Setting the timer value to -1 means the events for that priority will\r\n * not be sent. Note that once a priority has been set to not send, then all priorities\r\n * below it will also not be sent. The timers should be in the form of [low, normal, high].\r\n * E.g, Custom: [30,10,5].\r\n * This method removes any previously loaded custom profiles.\r\n * @param {object} profiles - A dictionary that contains the transmit profiles.\r\n */\r\n AWTLogManager.loadTransmitProfiles = function (profiles) {\r\n if (this._isInitialized && !this._isDestroyed) {\r\n AWTTransmissionManagerCore_1.default.loadTransmitProfiles(profiles);\r\n }\r\n };\r\n /**\r\n * Sets the context sent with every event.\r\n * @param {string} name - A string that contains the name of the context property.\r\n * @param {string|number|boolean} value - The value of the context property.\r\n * @param {enum} type - [Optional] The type for the context property value, as one of the\r\n * AWTPropertyType enumeration values.\r\n */\r\n AWTLogManager.setContext = function (name, value, type) {\r\n if (type === void 0) { type = Enums_1.AWTPropertyType.Unspecified; }\r\n AWTLogManagerSettings_1.default.logManagerContext.setProperty(name, value, type);\r\n };\r\n /**\r\n * Sets the context sents with every event, and tags it as PII.\r\n * @param {string} name - A string that contains the name of the context property.\r\n * @param {string|number|boolean} value - The value of the context property.\r\n * @param {enum} pii - The kind of PII for the context property.\r\n * @param {enum} type - [Optional] The type for the context property value, as one of the\r\n * AWTPropertyType enumeration values.\r\n */\r\n AWTLogManager.setContextWithPii = function (name, value, pii, type) {\r\n if (type === void 0) { type = Enums_1.AWTPropertyType.Unspecified; }\r\n AWTLogManagerSettings_1.default.logManagerContext.setPropertyWithPii(name, value, pii, type);\r\n };\r\n /**\r\n * Sets the context sent with every event from this logger, and tags it as customer content.\r\n * @param {string} name - A string that contains the name of the context property.\r\n * @param {string|number|boolean} value - The value of the context property.\r\n * @param {enum} customerContent - The kind of customer content for the context property, as one of the\r\n * AWTCustomerContentKind enumeration values.\r\n * @param {enum} type - [Optional] The type for the context property value, as one of the\r\n * AWTPropertyType enumeration values.\r\n */\r\n AWTLogManager.setContextWithCustomerContent = function (name, value, customerContent, type) {\r\n if (type === void 0) { type = Enums_1.AWTPropertyType.Unspecified; }\r\n AWTLogManagerSettings_1.default.logManagerContext.setPropertyWithCustomerContent(name, value, customerContent, type);\r\n };\r\n /**\r\n * Gets the logger for the specified tenant token.\r\n * @param {string} tenantToken - A string that contains the tenant token.\r\n * @return An AWTLogger object which sends data with the specified tenant token. If the tenant token is\r\n * undefined, or null, or empty, then undefined is returned.\r\n */\r\n AWTLogManager.getLogger = function (tenantToken) {\r\n var key = tenantToken;\r\n if (!key || key === AWTLogManagerSettings_1.default.defaultTenantToken) {\r\n key = '';\r\n }\r\n if (!this._loggers[key]) {\r\n this._loggers[key] = new AWTLogger_1.default(key);\r\n }\r\n return this._loggers[key];\r\n };\r\n /**\r\n * Adds a notification listener. The Aria SDK calls methods on the listener\r\n * when an appropriate notification is raised.\r\n * @param {object} listener - An AWTNotificationListener object.\r\n */\r\n AWTLogManager.addNotificationListener = function (listener) {\r\n AWTNotificationManager_1.default.addNotificationListener(listener);\r\n };\r\n /**\r\n * Removes all instances of the listener.\r\n * @param {object} listener - AWTNotificationListener to remove.\r\n */\r\n AWTLogManager.removeNotificationListener = function (listener) {\r\n AWTNotificationManager_1.default.removeNotificationListener(listener);\r\n };\r\n AWTLogManager._overrideValuesFromConfig = function (config) {\r\n if (config.collectorUri) {\r\n this._config.collectorUri = config.collectorUri;\r\n }\r\n if (config.cacheMemorySizeLimitInNumberOfEvents > 0) {\r\n this._config.cacheMemorySizeLimitInNumberOfEvents = config.cacheMemorySizeLimitInNumberOfEvents;\r\n }\r\n if (config.httpXHROverride && config.httpXHROverride.sendPOST) {\r\n this._config.httpXHROverride = config.httpXHROverride;\r\n }\r\n if (config.propertyStorageOverride && config.propertyStorageOverride.getProperty &&\r\n config.propertyStorageOverride.setProperty) {\r\n this._config.propertyStorageOverride = config.propertyStorageOverride;\r\n }\r\n if (config.userAgent) {\r\n this._config.userAgent = config.userAgent;\r\n }\r\n if (config.disableCookiesUsage) {\r\n this._config.disableCookiesUsage = config.disableCookiesUsage;\r\n }\r\n if (config.canSendStatEvent) {\r\n this._config.canSendStatEvent = config.canSendStatEvent;\r\n }\r\n if (config.enableAutoUserSession && typeof window !== 'undefined' && window.addEventListener) {\r\n this._config.enableAutoUserSession = config.enableAutoUserSession;\r\n }\r\n if (config.clockSkewRefreshDurationInMins > 0) {\r\n this._config.clockSkewRefreshDurationInMins = config.clockSkewRefreshDurationInMins;\r\n }\r\n };\r\n AWTLogManager._loggers = {};\r\n AWTLogManager._isInitialized = false;\r\n AWTLogManager._isDestroyed = false;\r\n AWTLogManager._config = {\r\n collectorUri: 'https://browser.pipe.aria.microsoft.com/Collector/3.0/',\r\n cacheMemorySizeLimitInNumberOfEvents: 10000,\r\n disableCookiesUsage: false,\r\n canSendStatEvent: function (eventName) { return true; },\r\n clockSkewRefreshDurationInMins: 0\r\n };\r\n return AWTLogManager;\r\n}());\r\nexports.default = AWTLogManager;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* AWTLogManagerSettings.ts\r\n* @author Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2017\r\n*/\r\nvar AWTEventProperties_1 = require(\"./AWTEventProperties\");\r\nvar AWTSemanticContext_1 = require(\"./AWTSemanticContext\");\r\n/**\r\n* Class that stores LogManagers context.\r\n*/\r\nvar AWTLogManagerSettings = /** @class */ (function () {\r\n function AWTLogManagerSettings() {\r\n }\r\n AWTLogManagerSettings.logManagerContext = new AWTEventProperties_1.default();\r\n AWTLogManagerSettings.sessionEnabled = true;\r\n AWTLogManagerSettings.loggingEnabled = false;\r\n AWTLogManagerSettings.defaultTenantToken = '';\r\n AWTLogManagerSettings.semanticContext = new AWTSemanticContext_1.default(true, AWTLogManagerSettings.logManagerContext);\r\n return AWTLogManagerSettings;\r\n}());\r\nexports.default = AWTLogManagerSettings;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* AWTLogger.ts\r\n* @author Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2017\r\n*/\r\nvar Enums_1 = require(\"../common/Enums\");\r\nvar Enums_2 = require(\"./Enums\");\r\nvar AWTEventProperties_1 = require(\"./AWTEventProperties\");\r\nvar Utils = require(\"../common/Utils\");\r\nvar AWTStatsManager_1 = require(\"../common/AWTStatsManager\");\r\nvar AWTNotificationManager_1 = require(\"../common/AWTNotificationManager\");\r\nvar AWTTransmissionManagerCore_1 = require(\"./AWTTransmissionManagerCore\");\r\nvar AWTLogManagerSettings_1 = require(\"./AWTLogManagerSettings\");\r\nvar Version = require(\"./Version\");\r\nvar AWTSemanticContext_1 = require(\"./AWTSemanticContext\");\r\nvar AWTAutoCollection_1 = require(\"./AWTAutoCollection\");\r\n/**\r\n* The AWTLogger class defines a logger.\r\n*/\r\nvar AWTLogger = /** @class */ (function () {\r\n /**\r\n * The AWTLogger class constructor.\r\n * @constructor\r\n * @param {string} _apiKey - The API key (also known as application key, and tenant token).\r\n */\r\n function AWTLogger(_apiKey) {\r\n this._apiKey = _apiKey;\r\n this._contextProperties = new AWTEventProperties_1.default();\r\n this._semanticContext = new AWTSemanticContext_1.default(false, this._contextProperties);\r\n this._sessionStartTime = 0;\r\n this._createInitId();\r\n }\r\n /**\r\n * Sets the context sent with every event from this logger.\r\n * @param {string} name - The name of the context property.\r\n * @param {string|number|boolean} value - The context property's value.\r\n * @param {enum} type - [Optional] The type of context property, as one of the AWTPropertyType enumeration values.\r\n */\r\n AWTLogger.prototype.setContext = function (name, value, type) {\r\n if (type === void 0) { type = Enums_1.AWTPropertyType.Unspecified; }\r\n this._contextProperties.setProperty(name, value, type);\r\n };\r\n /**\r\n * Sets context that will be sent with every event from this logger, and tags it as PII.\r\n * @param {string} name - The name of the context property.\r\n * @param {string|number|boolean} value - The context property's value.\r\n * @param {enum} pii - The kind of PII for the context property, as one of the AWTPiiKind enumeration values.\r\n * @param {enum} type - [Optional] The type of context property, as one of the AWTPropertyType enumeration values.\r\n */\r\n AWTLogger.prototype.setContextWithPii = function (name, value, pii, type) {\r\n if (type === void 0) { type = Enums_1.AWTPropertyType.Unspecified; }\r\n this._contextProperties.setPropertyWithPii(name, value, pii, type);\r\n };\r\n /**\r\n * Sets the context that sent with every event from this logger, and tags it as customer content.\r\n * @param {string} name - The name of the context property.\r\n * @param {string|number|boolean} value - The context property's value.\r\n * @param {enum} customerContent - The customer content kind, as one of the AWTCustomerContentKind enumeration values.\r\n * @param {enum} type - [Optional] The type of context property, as one of the AWTPropertyType enumeration values.\r\n */\r\n AWTLogger.prototype.setContextWithCustomerContent = function (name, value, customerContent, type) {\r\n if (type === void 0) { type = Enums_1.AWTPropertyType.Unspecified; }\r\n this._contextProperties.setPropertyWithCustomerContent(name, value, customerContent, type);\r\n };\r\n /**\r\n * Gets the logger semantic context.\r\n * Note: Device properties are not permitted at the logger level, but you can set them\r\n * at the global level using the AWTLogManager class.\r\n *\r\n * @return A AWTSemanticContext object that you can use to set common semantic properties.\r\n */\r\n AWTLogger.prototype.getSemanticContext = function () {\r\n return this._semanticContext;\r\n };\r\n /**\r\n * Logs a custom event with the specified name and fields - to track information\r\n * such as how a particular feature is used.\r\n * @param {Object} event - Can be either an AWTEventProperties object or an AWTEventData object or an event name.\r\n */\r\n AWTLogger.prototype.logEvent = function (event) {\r\n if (AWTLogManagerSettings_1.default.loggingEnabled) {\r\n if (!this._apiKey) {\r\n this._apiKey = AWTLogManagerSettings_1.default.defaultTenantToken;\r\n this._createInitId();\r\n }\r\n var sanitizeProperties = true;\r\n if (Utils.isString(event)) {\r\n event = {\r\n name: event\r\n };\r\n }\r\n else if (event instanceof AWTEventProperties_1.default) {\r\n event = event.getEvent();\r\n //AWTEventProperties will already sanitize properties\r\n sanitizeProperties = false;\r\n }\r\n AWTStatsManager_1.default.eventReceived(this._apiKey);\r\n AWTLogger._logEvent(AWTLogger._getInternalEvent(event, this._apiKey, sanitizeProperties), this._contextProperties);\r\n }\r\n };\r\n /**\r\n * Logs the session state.\r\n * Note: Calling Logging session start while a session already exists will produce a no-op. Similarly, calling logging\r\n * session end while a session does not exist will also produce a no-op.\r\n * @param {enum} state - The session's state.\r\n * @param {obbject} properties - [Optional] Properties of the session event as either a AWTEventProperties object,\r\n * or a AWTEventData object.\r\n */\r\n AWTLogger.prototype.logSession = function (state, properties) {\r\n if (AWTLogManagerSettings_1.default.sessionEnabled) {\r\n var sessionEvent = {\r\n name: 'session',\r\n type: 'session',\r\n properties: {}\r\n };\r\n AWTLogger._addPropertiesToEvent(sessionEvent, properties);\r\n sessionEvent.priority = Enums_1.AWTEventPriority.High;\r\n if (state === Enums_2.AWTSessionState.Started) {\r\n if (this._sessionStartTime > 0) {\r\n //Session start called out of order. Session start time being non zero indicates an ongoing session.\r\n return;\r\n }\r\n this._sessionStartTime = (new Date()).getTime();\r\n this._sessionId = Utils.newGuid();\r\n this.setContext('Session.Id', this._sessionId);\r\n sessionEvent.properties['Session.State'] = 'Started';\r\n }\r\n else if (state === Enums_2.AWTSessionState.Ended) {\r\n if (this._sessionStartTime === 0) {\r\n //Session end called out of order. Session start time being zero indicates no ongoing session.\r\n return;\r\n }\r\n var sessionDurationSec = Math.floor(((new Date()).getTime() - this._sessionStartTime) / 1000);\r\n sessionEvent.properties['Session.Id'] = this._sessionId;\r\n sessionEvent.properties['Session.State'] = 'Ended';\r\n sessionEvent.properties['Session.Duration'] = sessionDurationSec.toString();\r\n sessionEvent.properties['Session.DurationBucket'] =\r\n AWTLogger._getSessionDurationFromTime(sessionDurationSec);\r\n this._sessionStartTime = 0;\r\n this.setContext('Session.Id', null);\r\n this._sessionId = undefined;\r\n }\r\n else {\r\n return;\r\n }\r\n sessionEvent.properties['Session.FirstLaunchTime'] = AWTAutoCollection_1.default.firstLaunchTime;\r\n this.logEvent(sessionEvent);\r\n }\r\n };\r\n /**\r\n * Gets the session ID for the ongoing session.\r\n * @return {string} A string that contains the session ID for the ongoing session. Returns undefined if there is\r\n * no ongoing session.\r\n */\r\n AWTLogger.prototype.getSessionId = function () {\r\n return this._sessionId;\r\n };\r\n /**\r\n * Logs a failure event, such as an application exception.\r\n * @param {string} signature - A string that identifies the bucket of the failure.\r\n * @param {string} detail - A string that contains the a description of the failure.\r\n * @param {string} category - [Optional] A string that identifies the category of the failure, such as an application error,\r\n * a hang, or a crash.\r\n * @param {string} id - [Optional] A string that that uniquely identifies this failure.\r\n * @param {object} properties - [Optional] Properties of the failure event, as either an AWTEventProperties object or an\r\n * AWTEventData object. This value can also be null.\r\n */\r\n AWTLogger.prototype.logFailure = function (signature, detail, category, id, properties) {\r\n if (!signature || !detail) {\r\n return;\r\n }\r\n var failureEvent = {\r\n name: 'failure',\r\n type: 'failure',\r\n properties: {}\r\n };\r\n AWTLogger._addPropertiesToEvent(failureEvent, properties);\r\n failureEvent.properties['Failure.Signature'] = signature;\r\n failureEvent.properties['Failure.Detail'] = detail;\r\n if (category) {\r\n failureEvent.properties['Failure.Category'] = category;\r\n }\r\n if (id) {\r\n failureEvent.properties['Failure.Id'] = id;\r\n }\r\n failureEvent.priority = Enums_1.AWTEventPriority.High;\r\n this.logEvent(failureEvent);\r\n };\r\n /**\r\n * Logs a page view event which is normally a result of a user action on a UI page - such as search query,\r\n * a content request, or a page navigation.\r\n *\r\n * @param {string} id - A string that uniquely identifies this page.\r\n * @param {string} pageName - The name of the page.\r\n * @param {string} category - [Optional] A string that contains the category to which this page belongs.\r\n * @param {string} uri - [Optional] A string that contains the URI of this page.\r\n * @param {string} referrerUri - [Optional] A string that contains the URI that refers to this page.\r\n * @param {object} properties - [Optional] Properties of the page view event, as an AWTEventProperties object.\r\n * This value can also be null.\r\n */\r\n AWTLogger.prototype.logPageView = function (id, pageName, category, uri, referrerUri, properties) {\r\n if (!id || !pageName) {\r\n return;\r\n }\r\n var pageViewEvent = {\r\n name: 'pageview',\r\n type: 'pageview',\r\n properties: {}\r\n };\r\n AWTLogger._addPropertiesToEvent(pageViewEvent, properties);\r\n pageViewEvent.properties['PageView.Id'] = id;\r\n pageViewEvent.properties['PageView.Name'] = pageName;\r\n if (category) {\r\n pageViewEvent.properties['PageView.Category'] = category;\r\n }\r\n if (uri) {\r\n pageViewEvent.properties['PageView.Uri'] = uri;\r\n }\r\n if (referrerUri) {\r\n pageViewEvent.properties['PageView.ReferrerUri'] = referrerUri;\r\n }\r\n this.logEvent(pageViewEvent);\r\n };\r\n AWTLogger.prototype._createInitId = function () {\r\n // If no init ID for this tenant token exists, create one\r\n if (!AWTLogger._initIdMap[this._apiKey] && this._apiKey) {\r\n AWTLogger._initIdMap[this._apiKey] = Utils.newGuid();\r\n }\r\n };\r\n AWTLogger._addPropertiesToEvent = function (event, propertiesEvent) {\r\n if (propertiesEvent) {\r\n if (propertiesEvent instanceof AWTEventProperties_1.default) {\r\n propertiesEvent = propertiesEvent.getEvent();\r\n }\r\n if (propertiesEvent.name) {\r\n event.name = propertiesEvent.name;\r\n }\r\n if (propertiesEvent.priority) {\r\n event.priority = propertiesEvent.priority;\r\n }\r\n for (var name_1 in propertiesEvent.properties) {\r\n if (propertiesEvent.properties.hasOwnProperty(name_1)) {\r\n event.properties[name_1] = propertiesEvent.properties[name_1];\r\n }\r\n }\r\n }\r\n };\r\n AWTLogger._getSessionDurationFromTime = function (timeInSec) {\r\n if (timeInSec < 0) {\r\n return 'Undefined';\r\n }\r\n else if (timeInSec <= 3) {\r\n return 'UpTo3Sec';\r\n }\r\n else if (timeInSec <= 10) {\r\n return 'UpTo10Sec';\r\n }\r\n else if (timeInSec <= 30) {\r\n return 'UpTo30Sec';\r\n }\r\n else if (timeInSec <= 60) {\r\n return 'UpTo60Sec';\r\n }\r\n else if (timeInSec <= 180) {\r\n return 'UpTo3Min';\r\n }\r\n else if (timeInSec <= 600) {\r\n return 'UpTo10Min';\r\n }\r\n else if (timeInSec <= 1800) {\r\n return 'UpTo30Min';\r\n }\r\n return 'Above30Min';\r\n };\r\n AWTLogger._logEvent = function (eventWithMetaData, contextProperties) {\r\n if (!eventWithMetaData.name || !Utils.isString(eventWithMetaData.name)) {\r\n AWTNotificationManager_1.default.eventsRejected([eventWithMetaData], Enums_1.AWTEventsRejectedReason.InvalidEvent);\r\n return;\r\n }\r\n eventWithMetaData.name = eventWithMetaData.name.toLowerCase();\r\n //Check if name is a string and replace . with _ if it is. Drop otherwise.\r\n eventWithMetaData.name = eventWithMetaData.name.replace(Utils.EventNameDotRegex, '_');\r\n if (!eventWithMetaData.type || !Utils.isString(eventWithMetaData.type)) {\r\n eventWithMetaData.type = 'custom';\r\n }\r\n else {\r\n eventWithMetaData.type = eventWithMetaData.type.toLowerCase();\r\n }\r\n //Validate name and type and drop if invalid\r\n if (!Utils.EventNameAndTypeRegex.test(eventWithMetaData.name) || !Utils.EventNameAndTypeRegex.test(eventWithMetaData.type)) {\r\n AWTNotificationManager_1.default.eventsRejected([eventWithMetaData], Enums_1.AWTEventsRejectedReason.InvalidEvent);\r\n return;\r\n }\r\n //Add the timestamp if the timestamp is not set or is negative.\r\n if (!Utils.isNumber(eventWithMetaData.timestamp) || eventWithMetaData.timestamp < 0) {\r\n eventWithMetaData.timestamp = (new Date()).getTime();\r\n }\r\n //If no properties create one for EventInfo and context \r\n if (!eventWithMetaData.properties) {\r\n eventWithMetaData.properties = {};\r\n }\r\n // Logger ContextProperties\r\n this._addContextIfAbsent(eventWithMetaData, contextProperties.getPropertyMap());\r\n // LogManager ContextProperties\r\n this._addContextIfAbsent(eventWithMetaData, AWTLogManagerSettings_1.default.logManagerContext.getPropertyMap());\r\n //Add event info\r\n this._setDefaultProperty(eventWithMetaData, 'EventInfo.InitId', this._getInitId(eventWithMetaData.apiKey));\r\n this._setDefaultProperty(eventWithMetaData, 'EventInfo.Sequence', this._getSequenceId(eventWithMetaData.apiKey));\r\n this._setDefaultProperty(eventWithMetaData, 'EventInfo.SdkVersion', Version.FullVersionString);\r\n this._setDefaultProperty(eventWithMetaData, 'EventInfo.Name', eventWithMetaData.name);\r\n this._setDefaultProperty(eventWithMetaData, 'EventInfo.Time', (new Date(eventWithMetaData.timestamp)).toISOString());\r\n if (!Utils.isPriority(eventWithMetaData.priority)) {\r\n eventWithMetaData.priority = Enums_1.AWTEventPriority.Normal;\r\n }\r\n this._sendEvent(eventWithMetaData);\r\n };\r\n AWTLogger._addContextIfAbsent = function (event, contextProperties) {\r\n if (contextProperties) {\r\n for (var name_2 in contextProperties) {\r\n if (contextProperties.hasOwnProperty(name_2)) {\r\n if (!event.properties[name_2]) {\r\n event.properties[name_2] = contextProperties[name_2];\r\n }\r\n }\r\n }\r\n }\r\n };\r\n AWTLogger._setDefaultProperty = function (event, name, value) {\r\n event.properties[name] = { value: value, pii: Enums_1.AWTPiiKind.NotSet, type: Enums_1.AWTPropertyType.String };\r\n };\r\n AWTLogger._sendEvent = function (event) {\r\n AWTTransmissionManagerCore_1.default.sendEvent(event);\r\n };\r\n AWTLogger._getInternalEvent = function (event, apiKey, sanitizeProperties) {\r\n event.properties = event.properties || {};\r\n if (sanitizeProperties) {\r\n // Event Properties \r\n for (var name_3 in event.properties) {\r\n if (event.properties.hasOwnProperty(name_3)) {\r\n event.properties[name_3] = Utils.sanitizeProperty(name_3, event.properties[name_3]);\r\n if (event.properties[name_3] === null) {\r\n delete event.properties[name_3];\r\n }\r\n }\r\n }\r\n }\r\n var internalEvent = event;\r\n internalEvent.id = Utils.newGuid();\r\n internalEvent.apiKey = apiKey;\r\n return internalEvent;\r\n };\r\n AWTLogger._getInitId = function (apiKey) {\r\n return AWTLogger._initIdMap[apiKey];\r\n };\r\n AWTLogger._getSequenceId = function (apiKey) {\r\n if (AWTLogger._sequenceIdMap[apiKey] === undefined) {\r\n AWTLogger._sequenceIdMap[apiKey] = 0;\r\n }\r\n return (++AWTLogger._sequenceIdMap[apiKey]).toString();\r\n };\r\n AWTLogger._sequenceIdMap = {};\r\n AWTLogger._initIdMap = {};\r\n return AWTLogger;\r\n}());\r\nexports.default = AWTLogger;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar Enums_1 = require(\"../common/Enums\");\r\nvar AWTHttpManager_1 = require(\"./AWTHttpManager\");\r\nvar AWTTransmissionManagerCore_1 = require(\"./AWTTransmissionManagerCore\");\r\nvar AWTRecordBatcher_1 = require(\"../common/AWTRecordBatcher\");\r\nvar AWTNotificationManager_1 = require(\"../common/AWTNotificationManager\");\r\nvar Utils = require(\"../common/Utils\");\r\nvar UploadNowCheckTimer = 250;\r\nvar MaxNumberEventPerBatch = 500;\r\nvar MaxSendAttempts = 6;\r\n/**\r\n * Class that manages adding events to inbound queues and batching of events\r\n * into requests.\r\n */\r\nvar AWTQueueManager = /** @class */ (function () {\r\n /**\r\n * @constructor\r\n * @param {string} collectorUrl - The collector url to which the requests must be sent.\r\n */\r\n function AWTQueueManager(collectorUrl, _queueSizeLimit, xhrOverride, clockSkewRefreshDurationInMins) {\r\n this._queueSizeLimit = _queueSizeLimit;\r\n this._isCurrentlyUploadingNow = false;\r\n this._uploadNowQueue = [];\r\n this._shouldDropEventsOnPause = false;\r\n this._paused = false;\r\n this._queueSize = 0;\r\n this._outboundQueue = [];\r\n this._inboundQueues = {};\r\n this._inboundQueues[Enums_1.AWTEventPriority.High] = [];\r\n this._inboundQueues[Enums_1.AWTEventPriority.Normal] = [];\r\n this._inboundQueues[Enums_1.AWTEventPriority.Low] = [];\r\n this._addEmptyQueues();\r\n this._batcher = new AWTRecordBatcher_1.default(this._outboundQueue, MaxNumberEventPerBatch);\r\n this._httpManager = new AWTHttpManager_1.default(this._outboundQueue, collectorUrl, this, xhrOverride, clockSkewRefreshDurationInMins);\r\n }\r\n /**\r\n * Add an event to the appropriate inbound queue based on its priority.\r\n * @param {object} event - The event to be added to the queue.\r\n */\r\n AWTQueueManager.prototype.addEvent = function (event) {\r\n if (!Utils.isPriority(event.priority)) {\r\n //If invalid priority, then send it with normal priority\r\n event.priority = Enums_1.AWTEventPriority.Normal;\r\n }\r\n if (event.priority === Enums_1.AWTEventPriority.Immediate_sync) {\r\n //Log event synchronously\r\n this._httpManager.sendSynchronousRequest(this._batcher.addEventToBatch(event), event.apiKey);\r\n }\r\n else if (this._queueSize < this._queueSizeLimit) {\r\n this._addEventToProperQueue(event);\r\n }\r\n else {\r\n //Drop old event from lower or equal priority\r\n if (this._dropEventWithPriorityOrLess(event.priority)) {\r\n this._addEventToProperQueue(event);\r\n }\r\n else {\r\n //Can't drop events from current queues because the all the slots are taken by queues that are being flushed.\r\n AWTNotificationManager_1.default.eventsDropped([event], Enums_1.AWTEventsDroppedReason.QueueFull);\r\n }\r\n }\r\n };\r\n /**\r\n * Batch and send events currently in the queue for the given priority.\r\n * @param {enum} priority - Priority for which to send events.\r\n */\r\n AWTQueueManager.prototype.sendEventsForPriorityAndAbove = function (priority) {\r\n this._batchEvents(priority);\r\n this._httpManager.sendQueuedRequests();\r\n };\r\n /**\r\n * Check if the inbound queues or batcher has any events that can be sent presently.\r\n * @return {boolean} True if there are events, false otherwise.\r\n */\r\n AWTQueueManager.prototype.hasEvents = function () {\r\n return (this._inboundQueues[Enums_1.AWTEventPriority.High][0].length > 0 || this._inboundQueues[Enums_1.AWTEventPriority.Normal][0].length > 0\r\n || this._inboundQueues[Enums_1.AWTEventPriority.Low][0].length > 0 || this._batcher.hasBatch())\r\n && this._httpManager.hasIdleConnection();\r\n };\r\n /**\r\n * Add back the events from a failed request back to the queue.\r\n * @param {object} request - The request whose events need to be added back to the batcher.\r\n */\r\n AWTQueueManager.prototype.addBackRequest = function (request) {\r\n if (!this._paused || !this._shouldDropEventsOnPause) {\r\n for (var token in request) {\r\n if (request.hasOwnProperty(token)) {\r\n for (var i = 0; i < request[token].length; ++i) {\r\n if (request[token][i].sendAttempt < MaxSendAttempts) {\r\n this.addEvent(request[token][i]);\r\n }\r\n else {\r\n AWTNotificationManager_1.default.eventsDropped([request[token][i]], Enums_1.AWTEventsDroppedReason.MaxRetryLimit);\r\n }\r\n }\r\n }\r\n }\r\n AWTTransmissionManagerCore_1.default.scheduleTimer();\r\n }\r\n };\r\n /**\r\n * Batch all current events in the queues and send them.\r\n */\r\n AWTQueueManager.prototype.teardown = function () {\r\n if (!this._paused) {\r\n this._batchEvents(Enums_1.AWTEventPriority.Low);\r\n this._httpManager.teardown();\r\n }\r\n };\r\n /**\r\n * Sends events for all priority for the current inbound queue.\r\n * This method adds new inbound queues to which new events will be added.\r\n * @param {function} callback - The function to be called when uploadNow is finished.\r\n */\r\n AWTQueueManager.prototype.uploadNow = function (callback) {\r\n var _this = this;\r\n this._addEmptyQueues();\r\n if (!this._isCurrentlyUploadingNow) {\r\n this._isCurrentlyUploadingNow = true;\r\n setTimeout(function () { return _this._uploadNow(callback); }, 0);\r\n }\r\n else {\r\n this._uploadNowQueue.push(callback);\r\n }\r\n };\r\n /**\r\n * Pause the tranmission of any requests\r\n */\r\n AWTQueueManager.prototype.pauseTransmission = function () {\r\n this._paused = true;\r\n this._httpManager.pause();\r\n if (this.shouldDropEventsOnPause) {\r\n this._queueSize -= (this._inboundQueues[Enums_1.AWTEventPriority.High][0].length +\r\n this._inboundQueues[Enums_1.AWTEventPriority.Normal][0].length + this._inboundQueues[Enums_1.AWTEventPriority.Low][0].length);\r\n this._inboundQueues[Enums_1.AWTEventPriority.High][0] = [];\r\n this._inboundQueues[Enums_1.AWTEventPriority.Normal][0] = [];\r\n this._inboundQueues[Enums_1.AWTEventPriority.Low][0] = [];\r\n this._httpManager.removeQueuedRequests();\r\n }\r\n };\r\n /**\r\n * Resumes transmission of events.\r\n */\r\n AWTQueueManager.prototype.resumeTransmission = function () {\r\n this._paused = false;\r\n this._httpManager.resume();\r\n };\r\n /**\r\n * Determines whether events in the queues should be dropped when transmission is paused.\r\n */\r\n AWTQueueManager.prototype.shouldDropEventsOnPause = function (shouldDropEventsOnPause) {\r\n this._shouldDropEventsOnPause = shouldDropEventsOnPause;\r\n };\r\n /**\r\n * Remove the first queues for all priorities in the inbound queues map. This is called\r\n * when transmission manager has finished flushing the events in the old queues. We now make\r\n * the next queue the primary queue.\r\n */\r\n AWTQueueManager.prototype._removeFirstQueues = function () {\r\n this._inboundQueues[Enums_1.AWTEventPriority.High].shift();\r\n this._inboundQueues[Enums_1.AWTEventPriority.Normal].shift();\r\n this._inboundQueues[Enums_1.AWTEventPriority.Low].shift();\r\n };\r\n /**\r\n * Add empty queues for all priorities in the inbound queues map. This is called\r\n * when Transmission Manager is being flushed. This ensures that new events added\r\n * after flush are stored separately till we flush the current events.\r\n */\r\n AWTQueueManager.prototype._addEmptyQueues = function () {\r\n this._inboundQueues[Enums_1.AWTEventPriority.High].push([]);\r\n this._inboundQueues[Enums_1.AWTEventPriority.Normal].push([]);\r\n this._inboundQueues[Enums_1.AWTEventPriority.Low].push([]);\r\n };\r\n AWTQueueManager.prototype._addEventToProperQueue = function (event) {\r\n if (!this._paused || !this._shouldDropEventsOnPause) {\r\n this._queueSize++;\r\n this._inboundQueues[event.priority][this._inboundQueues[event.priority].length - 1].push(event);\r\n }\r\n };\r\n AWTQueueManager.prototype._dropEventWithPriorityOrLess = function (priority) {\r\n var currentPriority = Enums_1.AWTEventPriority.Low;\r\n while (currentPriority <= priority) {\r\n if (this._inboundQueues[currentPriority][this._inboundQueues[currentPriority].length - 1].length > 0) {\r\n //Dropped oldest event from lowest possible priority\r\n AWTNotificationManager_1.default.eventsDropped([this._inboundQueues[currentPriority][this._inboundQueues[currentPriority].length - 1].shift()], Enums_1.AWTEventsDroppedReason.QueueFull);\r\n return true;\r\n }\r\n currentPriority++;\r\n }\r\n return false;\r\n };\r\n AWTQueueManager.prototype._batchEvents = function (priority) {\r\n var priorityToProcess = Enums_1.AWTEventPriority.High;\r\n while (priorityToProcess >= priority) {\r\n while (this._inboundQueues[priorityToProcess][0].length > 0) {\r\n var event_1 = this._inboundQueues[priorityToProcess][0].pop();\r\n this._queueSize--;\r\n this._batcher.addEventToBatch(event_1);\r\n }\r\n priorityToProcess--;\r\n }\r\n this._batcher.flushBatch();\r\n };\r\n AWTQueueManager.prototype._uploadNow = function (callback) {\r\n var _this = this;\r\n if (this.hasEvents()) {\r\n this.sendEventsForPriorityAndAbove(Enums_1.AWTEventPriority.Low);\r\n }\r\n this._checkOutboundQueueEmptyAndSent(function () {\r\n //Move the next queues to be primary\r\n _this._removeFirstQueues();\r\n if (callback !== null && callback !== undefined) {\r\n callback();\r\n }\r\n if (_this._uploadNowQueue.length > 0) {\r\n setTimeout(function () { return _this._uploadNow(_this._uploadNowQueue.shift()); }, 0);\r\n }\r\n else {\r\n _this._isCurrentlyUploadingNow = false;\r\n if (_this.hasEvents()) {\r\n AWTTransmissionManagerCore_1.default.scheduleTimer();\r\n }\r\n }\r\n });\r\n };\r\n AWTQueueManager.prototype._checkOutboundQueueEmptyAndSent = function (callback) {\r\n var _this = this;\r\n if (this._httpManager.isCompletelyIdle()) {\r\n callback();\r\n }\r\n else {\r\n setTimeout(function () { return _this._checkOutboundQueueEmptyAndSent(callback); }, UploadNowCheckTimer);\r\n }\r\n };\r\n return AWTQueueManager;\r\n}());\r\nexports.default = AWTQueueManager;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar AWTAutoCollection_1 = require(\"./AWTAutoCollection\");\r\nvar Enums_1 = require(\"../common/Enums\");\r\nvar Enums_2 = require(\"./Enums\");\r\nvar UI_IDTYPE = 'UserInfo.IdType';\r\n/**\r\n * Class to allow users to set semantic context properties.\r\n */\r\nvar AWTSemanticContext = /** @class */ (function () {\r\n /**\r\n * @constructor\r\n * @param {boolean} _allowDeviceFields - Allow setting of device semantic context.\r\n * @param {object} _properties - The event properties where to add the semantic context.\r\n */\r\n function AWTSemanticContext(_allowDeviceFields, _properties) {\r\n this._allowDeviceFields = _allowDeviceFields;\r\n this._properties = _properties;\r\n }\r\n /**\r\n * Sets the field AppInfo.Id with the given value.\r\n * @param {string} appId - The Id uniquely identifies the App from this this event originated.\r\n * In the multi-tenant Aria Platform, this is the Application Id of the\r\n * registered Application. Example, \"735d47645f7c4de69964e2c01888d6b6\".\r\n */\r\n AWTSemanticContext.prototype.setAppId = function (appId) {\r\n this._addContext('AppInfo.Id', appId);\r\n };\r\n /**\r\n * Sets the field AppInfo.Version with the given value.\r\n * @param {string} appVersion - The version of the App, retrieved programmatically where possible. This\r\n * is app/platform dependent. Examples such as \"7.0.0.100\" for Skype,\r\n * or \"12.0.30723.00 Update 3\" for Microsoft Visual Studio Ultimate 2013\r\n */\r\n AWTSemanticContext.prototype.setAppVersion = function (appVersion) {\r\n this._addContext('AppInfo.Version', appVersion);\r\n };\r\n /**\r\n * Sets the field AppInfo.Language with the given value.\r\n * @param {string} appLanguage - Language of the App in IETF language tag format, as described in RFC 4646.\r\n * Examples of acceptable values include \"en\", \"pt-BR\" and \"zh-Hant-CN\".\r\n */\r\n AWTSemanticContext.prototype.setAppLanguage = function (appLanguage) {\r\n this._addContext('AppInfo.Language', appLanguage);\r\n };\r\n /**\r\n * Sets the field DeviceInfo.Id with the given value.\r\n * @param {string} deviceId - The device Id uniquely identifies the physical device, using platform\r\n * available API's. This allows correlation against Aria Hardware Inventory.\r\n */\r\n AWTSemanticContext.prototype.setDeviceId = function (deviceId) {\r\n if (this._allowDeviceFields) {\r\n AWTAutoCollection_1.default.checkAndSaveDeviceId(deviceId);\r\n this._addContext('DeviceInfo.Id', deviceId);\r\n }\r\n };\r\n /**\r\n * Sets the field DeviceInfo.OsName with the given value.\r\n * @param {string} deviceOsName - The name of the OS. The SDK should ensure this is a limited normalized\r\n * set. Asimov is using very high level value e.g. Windows/Android/iOS.\r\n * Examples such as \"iOS\" or \"Windows Phone\".\r\n */\r\n AWTSemanticContext.prototype.setDeviceOsName = function (deviceOsName) {\r\n if (this._allowDeviceFields) {\r\n this._addContext('DeviceInfo.OsName', deviceOsName);\r\n }\r\n };\r\n /**\r\n * Sets the field DeviceInfo.OsVersion with the given value.\r\n * @param {string} deviceOsVersion - The version of the OS, retrieved programmatically, which can be used\r\n * for aggregation or filtering for scenarios like real time monitoring\r\n * or metrics reporting. Flurry and GA provide aggregation at this level.\r\n * Examples such as \"8.1.2\" for iOS, or \"8.1\" for Windows Phone.\r\n */\r\n AWTSemanticContext.prototype.setDeviceOsVersion = function (deviceOsVersion) {\r\n if (this._allowDeviceFields) {\r\n this._addContext('DeviceInfo.OsVersion', deviceOsVersion);\r\n }\r\n };\r\n /**\r\n * Sets the field DeviceInfo.Id with the given value.\r\n * @param {string} deviceBrowserName - he name of the OS. The SDK should ensure this is a limited normalized set.\r\n * Examples such as \"Chrome\" or \"Edge\".\r\n */\r\n AWTSemanticContext.prototype.setDeviceBrowserName = function (deviceBrowserName) {\r\n if (this._allowDeviceFields) {\r\n this._addContext('DeviceInfo.BrowserName', deviceBrowserName);\r\n }\r\n };\r\n /**\r\n * Sets the field DeviceInfo.Id with the given value.\r\n * @param {string} deviceBrowserVersion - The version of the browser, retrieved programmatically, which can be used\r\n * for aggregation or filtering for scenarios like real time monitoring or metrics reporting.\r\n * Examples such as \"57.0.2987.133\" for Chrome, or \"15.15063\" for Edge.\r\n */\r\n AWTSemanticContext.prototype.setDeviceBrowserVersion = function (deviceBrowserVersion) {\r\n if (this._allowDeviceFields) {\r\n this._addContext('DeviceInfo.BrowserVersion', deviceBrowserVersion);\r\n }\r\n };\r\n /**\r\n * Set the device manufacturer context information of telemetry event.\r\n * Can only be set at the LogManager level. Setting it via the object obtained from ILogger\r\n * will be no-op.\r\n * @param {string} deviceMake The manufacturer of the device, retrieved\r\n * programmatically where possible and is app/platform specific\r\n */\r\n AWTSemanticContext.prototype.setDeviceMake = function (deviceMake) {\r\n if (this._allowDeviceFields) {\r\n this._addContext('DeviceInfo.Make', deviceMake);\r\n }\r\n };\r\n /**\r\n * Set the device model context information of telemetry event.\r\n * Can only be set at the LogManager level. Setting it via the object obtained from ILogger\r\n * will be no-op.\r\n * @param {string} deviceModel The model of the device, retrieved programmatically\r\n * where possible and is app/platform specific\r\n */\r\n AWTSemanticContext.prototype.setDeviceModel = function (deviceModel) {\r\n if (this._allowDeviceFields) {\r\n this._addContext('DeviceInfo.Model', deviceModel);\r\n }\r\n };\r\n /**\r\n * Sets the field UserInfo.Id with the given value.\r\n * @param {string} userId - The id uniquely identifies the user in an application-specific\r\n * user namespace, such as a Skype ID in the Skype App. This may be empty for Apps\r\n * which do not require user sign-in.\r\n * @param {enum} pii - Optional pii type for the user id.\r\n * @param {enum} userIdType - Optional id type for the user id.\r\n */\r\n AWTSemanticContext.prototype.setUserId = function (userId, pii, userIdType) {\r\n if (!isNaN(userIdType) && userIdType !== null && userIdType >= 0 && userIdType <= 12) {\r\n this._addContext(UI_IDTYPE, userIdType.toString());\r\n }\r\n else {\r\n var inferredUserIdType = void 0;\r\n switch (pii) {\r\n case Enums_1.AWTPiiKind.SipAddress:\r\n inferredUserIdType = Enums_2.AWTUserIdType.SipAddress;\r\n break;\r\n case Enums_1.AWTPiiKind.PhoneNumber:\r\n inferredUserIdType = Enums_2.AWTUserIdType.PhoneNumber;\r\n break;\r\n case Enums_1.AWTPiiKind.SmtpAddress:\r\n inferredUserIdType = Enums_2.AWTUserIdType.EmailAddress;\r\n break;\r\n default:\r\n inferredUserIdType = Enums_2.AWTUserIdType.Unknown;\r\n break;\r\n }\r\n this._addContext(UI_IDTYPE, inferredUserIdType.toString());\r\n }\r\n if (isNaN(pii) || pii === null || pii === Enums_1.AWTPiiKind.NotSet || pii > 13) {\r\n switch (userIdType) {\r\n case Enums_2.AWTUserIdType.Skype:\r\n pii = Enums_1.AWTPiiKind.Identity;\r\n break;\r\n case Enums_2.AWTUserIdType.EmailAddress:\r\n pii = Enums_1.AWTPiiKind.SmtpAddress;\r\n break;\r\n case Enums_2.AWTUserIdType.PhoneNumber:\r\n pii = Enums_1.AWTPiiKind.PhoneNumber;\r\n break;\r\n case Enums_2.AWTUserIdType.SipAddress:\r\n pii = Enums_1.AWTPiiKind.SipAddress;\r\n break;\r\n default:\r\n pii = Enums_1.AWTPiiKind.NotSet;\r\n break;\r\n }\r\n }\r\n this._addContextWithPii('UserInfo.Id', userId, pii);\r\n };\r\n /**\r\n * Sets the field UserInfo.AdvertisingId with the given value.\r\n * @param {string} userAdvertisingId - The AdvertisingId is the user-specific device id obtainable through\r\n * platform API's. This may not be available if users choose to opt-out\r\n * of this id, or if the underlying platform does not support it.\r\n */\r\n AWTSemanticContext.prototype.setUserAdvertisingId = function (userAdvertisingId) {\r\n this._addContext('UserInfo.AdvertisingId', userAdvertisingId);\r\n };\r\n /**\r\n * Sets the field UserInfo.TimeZone with the given value.\r\n * @param {string} userTimeZone - The user's time zone relative to UTC, in ISO 8601 time zone format.\r\n * Examples of acceptable values include \"+00\", \"+07:00\", and \"-1130\".\r\n */\r\n AWTSemanticContext.prototype.setUserTimeZone = function (userTimeZone) {\r\n this._addContext('UserInfo.TimeZone', userTimeZone);\r\n };\r\n /**\r\n * Sets the field UserInfo.Language with the given value.\r\n * @param {string} userLanguage - The user's language in IETF language tag format, as described in RFC 4646.\r\n * Examples of acceptable values include \"en\", \"pt-BR\" and \"zh-Hant-CN\".\r\n */\r\n AWTSemanticContext.prototype.setUserLanguage = function (userLanguage) {\r\n this._addContext('UserInfo.Language', userLanguage);\r\n };\r\n AWTSemanticContext.prototype._addContext = function (key, value) {\r\n if (typeof value === 'string') {\r\n this._properties.setProperty(key, value);\r\n }\r\n };\r\n AWTSemanticContext.prototype._addContextWithPii = function (key, value, pii) {\r\n if (typeof value === 'string') {\r\n this._properties.setPropertyWithPii(key, value, pii);\r\n }\r\n };\r\n return AWTSemanticContext;\r\n}());\r\nexports.default = AWTSemanticContext;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar AWTTransmissionManagerCore_1 = require(\"./AWTTransmissionManagerCore\");\r\n/**\r\n * The AWTTransmissionManager calss is a wrapper class that exposes some of the\r\n * Transmission functionality needed by other Aria modules.\r\n */\r\nvar AWTTransmissionManager = /** @class */ (function () {\r\n function AWTTransmissionManager() {\r\n }\r\n /**\r\n * Sets the event handler used by the tranmission manager.\r\n * The default event handler is the Inbound queue manager. This handler\r\n * is used to batch and send events to Aria. If you intend to send events\r\n * to Aria please make sure that your event handler forwards events to the Inbound\r\n * Queue Manager. You can retrieve the Inbound Queue Manager by calling\r\n * getEventsHandler before you set your handler.\r\n * @param {object} eventsHandler - An AWTEventHandler event handler used by the tranmission\r\n * manager.\r\n */\r\n AWTTransmissionManager.setEventsHandler = function (eventsHandler) {\r\n AWTTransmissionManagerCore_1.default.setEventsHandler(eventsHandler);\r\n };\r\n /**\r\n * Gets the current event handler used by the tranmission manager.\r\n * @return {object} An AWTEventHandler event handler used by the tranmission manager.\r\n */\r\n AWTTransmissionManager.getEventsHandler = function () {\r\n return AWTTransmissionManagerCore_1.default.getEventsHandler();\r\n };\r\n /**\r\n * The scheduleTimer method tries to schedule the waiting period after which events are sent. If there are\r\n * no events to be sent, or if there is already a timer scheduled, or if the\r\n * http manager doesn't have any idle connections, then this method is no-op.\r\n */\r\n AWTTransmissionManager.scheduleTimer = function () {\r\n AWTTransmissionManagerCore_1.default.scheduleTimer();\r\n };\r\n return AWTTransmissionManager;\r\n}());\r\nexports.default = AWTTransmissionManager;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* AWTTransmissionManagerCore.ts\r\n* @author Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2017\r\n*/\r\nvar DataModels_1 = require(\"./DataModels\");\r\nvar Enums_1 = require(\"../common/Enums\");\r\nvar AWTQueueManager_1 = require(\"./AWTQueueManager\");\r\nvar AWTStatsManager_1 = require(\"../common/AWTStatsManager\");\r\nvar AWTEventProperties_1 = require(\"./AWTEventProperties\");\r\nvar AWTLogManager_1 = require(\"./AWTLogManager\");\r\nvar Utils = require(\"../common/Utils\");\r\nvar MaxBackoffCount = 4;\r\nvar MinDurationBetweenUploadNow = 30000; //30 sec\r\nvar StatName = 'awt_stats';\r\n/**\r\n * Class that manages the timers for when to send events. It also\r\n * handles flush and flushAndTeardown. This class also allows setting\r\n * new event handlers. The default event handler is the Inbound Queue Manager.\r\n */\r\nvar AWTTransmissionManagerCore = /** @class */ (function () {\r\n function AWTTransmissionManagerCore() {\r\n }\r\n /**\r\n * Sets the event handler to be used by the tranmission manager.\r\n * The default event handler is the Inbound queue manager. This handler\r\n * is used to batch and send events to Aria. If you intend to send events\r\n * to Aria please make sure your event handler forwards events to the Inbound\r\n * Queue Manager. You can retrieve the Inbound Queue Manager by calling\r\n * getEventsHandler before you set your handler.\r\n * @param {object} eventsHandler - The new events handler to be used by the tranmission\r\n * manager.\r\n */\r\n AWTTransmissionManagerCore.setEventsHandler = function (eventsHandler) {\r\n this._eventHandler = eventsHandler;\r\n };\r\n /**\r\n * Gets the current event handler used by the tranmission manager.\r\n * @return {object} The event handler currently used by the tranmission manager.\r\n */\r\n AWTTransmissionManagerCore.getEventsHandler = function () {\r\n return this._eventHandler;\r\n };\r\n /**\r\n * Try to schedule the timer after which events will be sent. If there are\r\n * no events to be sent, or there is already a timer scheduled, or the\r\n * http manager doesn't have any idle connections this method is no-op.\r\n */\r\n AWTTransmissionManagerCore.scheduleTimer = function () {\r\n var _this = this;\r\n var timer = this._profiles[this._currentProfile][2];\r\n if (this._timeout < 0 && timer >= 0 && !this._paused) {\r\n if (this._eventHandler.hasEvents()) {\r\n //If the transmission is backed off make the timer atleast 1 sec to allow for backoff.\r\n if (timer === 0 && this._currentBackoffCount > 0) {\r\n timer = 1;\r\n }\r\n this._timeout = setTimeout(function () { return _this._batchAndSendEvents(); }, timer * (1 << this._currentBackoffCount) * 1000);\r\n }\r\n else {\r\n this._timerCount = 0;\r\n }\r\n }\r\n };\r\n /**\r\n * Initialize the transmission manager. After this method is called events are\r\n * accepted for tranmission.\r\n * @param {object} config - The configuration passed during AWTLogManager initialize.\r\n */\r\n AWTTransmissionManagerCore.initialize = function (config) {\r\n var _this = this;\r\n this._newEventsAllowed = true;\r\n this._config = config;\r\n this._eventHandler = new AWTQueueManager_1.default(config.collectorUri, config.cacheMemorySizeLimitInNumberOfEvents, config.httpXHROverride, config.clockSkewRefreshDurationInMins);\r\n this._initializeProfiles();\r\n AWTStatsManager_1.default.initialize(function (stats, tenantId) {\r\n if (_this._config.canSendStatEvent(StatName)) {\r\n var event_1 = new AWTEventProperties_1.default(StatName);\r\n event_1.setEventPriority(Enums_1.AWTEventPriority.High);\r\n event_1.setProperty('TenantId', tenantId);\r\n for (var statKey in stats) {\r\n if (stats.hasOwnProperty(statKey)) {\r\n event_1.setProperty(statKey, stats[statKey].toString());\r\n }\r\n }\r\n AWTLogManager_1.default.getLogger(Utils.StatsApiKey).logEvent(event_1);\r\n }\r\n });\r\n };\r\n /**\r\n * Set the transmit profile to be used. This will change the tranmission timers\r\n * based on the transmit profile.\r\n * @param {string} profileName - The name of the transmit profile to be used.\r\n */\r\n AWTTransmissionManagerCore.setTransmitProfile = function (profileName) {\r\n if (this._currentProfile !== profileName && this._profiles[profileName] !== undefined) {\r\n this.clearTimeout();\r\n this._currentProfile = profileName;\r\n this.scheduleTimer();\r\n }\r\n };\r\n /**\r\n * Load custom tranmission profiles. Each profile should have timers for\r\n * high, normal and low. Each profile should make sure\r\n * that a each priority timer is a multiple of the priority higher than it.\r\n * Setting the timer value to -1 means that the events for that priority will\r\n * not be sent. Note that once a priority has been set to not send, all priorities\r\n * below it will also not be sent. The timers should be in the form of [low, normal, high].\r\n * e.g Custom: [30,10,5]\r\n * This also removes any previously loaded custom profiles.\r\n * @param {object} profiles - A dictionary containing the transmit profiles.\r\n */\r\n AWTTransmissionManagerCore.loadTransmitProfiles = function (profiles) {\r\n this._resetTransmitProfiles();\r\n for (var profileName in profiles) {\r\n if (profiles.hasOwnProperty(profileName)) {\r\n if (profiles[profileName].length !== 3) {\r\n continue;\r\n }\r\n //Make sure if a higher priority is set to not send then dont send lower priority\r\n for (var i = 2; i >= 0; --i) {\r\n if (profiles[profileName][i] < 0) {\r\n for (var j = i; j >= 0; --j) {\r\n profiles[profileName][j] = -1;\r\n }\r\n break;\r\n }\r\n }\r\n //Make sure each priority is multiple of the priority higher then it. If not a multiple\r\n //we round up so that it becomes a multiple.\r\n for (var i = 2; i > 0; --i) {\r\n if (profiles[profileName][i] > 0 && profiles[profileName][i - 1] > 0) {\r\n var timerMultiplier = profiles[profileName][i - 1] / profiles[profileName][i];\r\n profiles[profileName][i - 1] = Math.ceil(timerMultiplier) * profiles[profileName][i];\r\n }\r\n }\r\n this._profiles[profileName] = profiles[profileName];\r\n }\r\n }\r\n };\r\n /**\r\n * Pass the event to the event handler and try to schedule the timer.\r\n * @param {object} event - The event to be sent.\r\n */\r\n AWTTransmissionManagerCore.sendEvent = function (event) {\r\n if (this._newEventsAllowed) {\r\n //If the transmission is backed off then do not send synchronous events.\r\n //We will convert these events to High priority instead.\r\n if (this._currentBackoffCount > 0 && event.priority === Enums_1.AWTEventPriority.Immediate_sync) {\r\n event.priority = Enums_1.AWTEventPriority.High;\r\n }\r\n this._eventHandler.addEvent(event);\r\n this.scheduleTimer();\r\n }\r\n };\r\n /**\r\n * Sends events for all priority for the current inbound queue.\r\n * This method adds new inbound queues to which new events will be added.\r\n * Note: If LogManager is paused or flush is called again in less than 30 sec\r\n * then flush will be no-op and the callback will not be called.\r\n * @param {function} callback - The function to be called when flush is finished.\r\n */\r\n AWTTransmissionManagerCore.flush = function (callback) {\r\n var currentTime = (new Date()).getTime();\r\n if (!this._paused && this._lastUploadNowCall + MinDurationBetweenUploadNow < currentTime) {\r\n this._lastUploadNowCall = currentTime;\r\n if (this._timeout > -1) {\r\n clearTimeout(this._timeout);\r\n this._timeout = -1;\r\n }\r\n this._eventHandler.uploadNow(callback);\r\n }\r\n };\r\n /**\r\n * Pauses transmission. It pauses the http manager and also clears timers.\r\n */\r\n AWTTransmissionManagerCore.pauseTransmission = function () {\r\n if (!this._paused) {\r\n this.clearTimeout();\r\n this._eventHandler.pauseTransmission();\r\n this._paused = true;\r\n }\r\n };\r\n /**\r\n * Resumes tranmission. It resumes the http manager and tries to schedule the timer.\r\n */\r\n AWTTransmissionManagerCore.resumeTransmision = function () {\r\n if (this._paused) {\r\n this._paused = false;\r\n this._eventHandler.resumeTransmission();\r\n this.scheduleTimer();\r\n }\r\n };\r\n /**\r\n * Stops allowing new events being added for tranmission. It also batches all\r\n * events currently in the queue and creates requests from them to be sent.\r\n */\r\n AWTTransmissionManagerCore.flushAndTeardown = function () {\r\n AWTStatsManager_1.default.teardown();\r\n this._newEventsAllowed = false;\r\n this.clearTimeout();\r\n //No op if offline storage is added\r\n this._eventHandler.teardown();\r\n };\r\n /**\r\n * Backs off tranmission. This exponentially increases all the timers.\r\n */\r\n AWTTransmissionManagerCore.backOffTransmission = function () {\r\n if (this._currentBackoffCount < MaxBackoffCount) {\r\n this._currentBackoffCount++;\r\n this.clearTimeout();\r\n this.scheduleTimer();\r\n }\r\n };\r\n /**\r\n * Clears backoff for tranmission.\r\n */\r\n AWTTransmissionManagerCore.clearBackOff = function () {\r\n if (this._currentBackoffCount > 0) {\r\n this._currentBackoffCount = 0;\r\n this.clearTimeout();\r\n this.scheduleTimer();\r\n }\r\n };\r\n /**\r\n * Resets the transmit profiles to the default profiles of Real Time, Near Real Time\r\n * and Best Effort. This removes all the custom profiles that were loaded.\r\n */\r\n AWTTransmissionManagerCore._resetTransmitProfiles = function () {\r\n this.clearTimeout();\r\n this._initializeProfiles();\r\n this._currentProfile = DataModels_1.AWT_REAL_TIME;\r\n this.scheduleTimer();\r\n };\r\n AWTTransmissionManagerCore.clearTimeout = function () {\r\n if (this._timeout > 0) {\r\n clearTimeout(this._timeout);\r\n this._timeout = -1;\r\n this._timerCount = 0;\r\n }\r\n };\r\n AWTTransmissionManagerCore._batchAndSendEvents = function () {\r\n var priority = Enums_1.AWTEventPriority.High;\r\n this._timerCount++;\r\n if (this._timerCount * this._profiles[this._currentProfile][2] === this._profiles[this._currentProfile][0]) {\r\n priority = Enums_1.AWTEventPriority.Low;\r\n this._timerCount = 0;\r\n }\r\n else if (this._timerCount * this._profiles[this._currentProfile][2] === this._profiles[this._currentProfile][1]) {\r\n priority = Enums_1.AWTEventPriority.Normal;\r\n }\r\n this._eventHandler.sendEventsForPriorityAndAbove(priority);\r\n this._timeout = -1;\r\n this.scheduleTimer();\r\n };\r\n AWTTransmissionManagerCore._initializeProfiles = function () {\r\n this._profiles = {};\r\n this._profiles[DataModels_1.AWT_REAL_TIME] = [4, 2, 1];\r\n this._profiles[DataModels_1.AWT_NEAR_REAL_TIME] = [12, 6, 3];\r\n this._profiles[DataModels_1.AWT_BEST_EFFORT] = [36, 18, 9];\r\n };\r\n AWTTransmissionManagerCore._newEventsAllowed = false;\r\n AWTTransmissionManagerCore._currentProfile = DataModels_1.AWT_REAL_TIME;\r\n AWTTransmissionManagerCore._timeout = -1;\r\n AWTTransmissionManagerCore._currentBackoffCount = 0;\r\n AWTTransmissionManagerCore._paused = false;\r\n AWTTransmissionManagerCore._timerCount = 0;\r\n AWTTransmissionManagerCore._lastUploadNowCall = 0;\r\n return AWTTransmissionManagerCore;\r\n}());\r\nexports.default = AWTTransmissionManagerCore;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* AriaSDK.ts\r\n* @author Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2017\r\n* File to export public classes, interfaces and enums.\r\n*/\r\nvar Enums_1 = require(\"../common/Enums\");\r\nexports.AWTPropertyType = Enums_1.AWTPropertyType;\r\nexports.AWTPiiKind = Enums_1.AWTPiiKind;\r\nexports.AWTEventPriority = Enums_1.AWTEventPriority;\r\nexports.AWTEventsDroppedReason = Enums_1.AWTEventsDroppedReason;\r\nexports.AWTEventsRejectedReason = Enums_1.AWTEventsRejectedReason;\r\nexports.AWTCustomerContentKind = Enums_1.AWTCustomerContentKind;\r\nvar Enums_2 = require(\"./Enums\");\r\nexports.AWTUserIdType = Enums_2.AWTUserIdType;\r\nexports.AWTSessionState = Enums_2.AWTSessionState;\r\nvar DataModels_1 = require(\"./DataModels\");\r\nexports.AWT_BEST_EFFORT = DataModels_1.AWT_BEST_EFFORT;\r\nexports.AWT_NEAR_REAL_TIME = DataModels_1.AWT_NEAR_REAL_TIME;\r\nexports.AWT_REAL_TIME = DataModels_1.AWT_REAL_TIME;\r\nvar AWTEventProperties_1 = require(\"./AWTEventProperties\");\r\nexports.AWTEventProperties = AWTEventProperties_1.default;\r\nvar AWTLogger_1 = require(\"./AWTLogger\");\r\nexports.AWTLogger = AWTLogger_1.default;\r\nvar AWTLogManager_1 = require(\"./AWTLogManager\");\r\nexports.AWTLogManager = AWTLogManager_1.default;\r\nvar AWTTransmissionManager_1 = require(\"./AWTTransmissionManager\");\r\nexports.AWTTransmissionManager = AWTTransmissionManager_1.default;\r\nvar AWTSerializer_1 = require(\"../common/AWTSerializer\");\r\nexports.AWTSerializer = AWTSerializer_1.default;\r\nvar AWTSemanticContext_1 = require(\"./AWTSemanticContext\");\r\nexports.AWTSemanticContext = AWTSemanticContext_1.default;\r\nexports.AWT_COLLECTOR_URL_UNITED_STATES = 'https://us.pipe.aria.microsoft.com/Collector/3.0/';\r\nexports.AWT_COLLECTOR_URL_GERMANY = 'https://de.pipe.aria.microsoft.com/Collector/3.0/';\r\nexports.AWT_COLLECTOR_URL_JAPAN = 'https://jp.pipe.aria.microsoft.com/Collector/3.0/';\r\nexports.AWT_COLLECTOR_URL_AUSTRALIA = 'https://au.pipe.aria.microsoft.com/Collector/3.0/';\r\nexports.AWT_COLLECTOR_URL_EUROPE = 'https://eu.pipe.aria.microsoft.com/Collector/3.0/';\r\nexports.AWT_COLLECTOR_URL_USGOV_DOD = 'https://pf.pipe.aria.microsoft.com/Collector/3.0';\r\nexports.AWT_COLLECTOR_URL_USGOV_DOJ = 'https://tb.pipe.aria.microsoft.com/Collector/3.0';\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.AWT_REAL_TIME = 'REAL_TIME';\r\nexports.AWT_NEAR_REAL_TIME = 'NEAR_REAL_TIME';\r\nexports.AWT_BEST_EFFORT = 'BEST_EFFORT';\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* Enums.ts\r\n* @author Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2017\r\n* File containing the enums.\r\n*/\r\n/**\r\n * The AWTUserIdType enumeration contains a set of values that specify the type of user ID.\r\n * @enum {number}\r\n */\r\nvar AWTUserIdType;\r\n(function (AWTUserIdType) {\r\n /**\r\n * The user ID type is unknown.\r\n */\r\n AWTUserIdType[AWTUserIdType[\"Unknown\"] = 0] = \"Unknown\";\r\n /**\r\n * Microsoft Account ID.\r\n */\r\n AWTUserIdType[AWTUserIdType[\"MSACID\"] = 1] = \"MSACID\";\r\n /**\r\n * Microsoft .NET Passport Unique ID.\r\n */\r\n AWTUserIdType[AWTUserIdType[\"MSAPUID\"] = 2] = \"MSAPUID\";\r\n /**\r\n * Anonymous user ID.\r\n */\r\n AWTUserIdType[AWTUserIdType[\"ANID\"] = 3] = \"ANID\";\r\n /**\r\n * Organization customer ID.\r\n */\r\n AWTUserIdType[AWTUserIdType[\"OrgIdCID\"] = 4] = \"OrgIdCID\";\r\n /**\r\n * Microsoft Exchange Passport ID.\r\n */\r\n AWTUserIdType[AWTUserIdType[\"OrgIdPUID\"] = 5] = \"OrgIdPUID\";\r\n /**\r\n * User object ID.\r\n */\r\n AWTUserIdType[AWTUserIdType[\"UserObjectId\"] = 6] = \"UserObjectId\";\r\n /**\r\n * Skype ID.\r\n */\r\n AWTUserIdType[AWTUserIdType[\"Skype\"] = 7] = \"Skype\";\r\n /**\r\n * Yammer ID.\r\n */\r\n AWTUserIdType[AWTUserIdType[\"Yammer\"] = 8] = \"Yammer\";\r\n /**\r\n * E-mail address.\r\n */\r\n AWTUserIdType[AWTUserIdType[\"EmailAddress\"] = 9] = \"EmailAddress\";\r\n /**\r\n * Telephone number.\r\n */\r\n AWTUserIdType[AWTUserIdType[\"PhoneNumber\"] = 10] = \"PhoneNumber\";\r\n /**\r\n * SIP address.\r\n */\r\n AWTUserIdType[AWTUserIdType[\"SipAddress\"] = 11] = \"SipAddress\";\r\n /**\r\n * Multiple unit identity.\r\n */\r\n AWTUserIdType[AWTUserIdType[\"MUID\"] = 12] = \"MUID\";\r\n})(AWTUserIdType = exports.AWTUserIdType || (exports.AWTUserIdType = {}));\r\n/**\r\n * The AWTSessionState enumeration contains a set of values that indicate the session state.\r\n * @enum {number}\r\n */\r\nvar AWTSessionState;\r\n(function (AWTSessionState) {\r\n /**\r\n * Session started.\r\n */\r\n AWTSessionState[AWTSessionState[\"Started\"] = 0] = \"Started\";\r\n /**\r\n * Session ended.\r\n */\r\n AWTSessionState[AWTSessionState[\"Ended\"] = 1] = \"Ended\";\r\n})(AWTSessionState = exports.AWTSessionState || (exports.AWTSessionState = {}));\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* Version.ts\r\n* @author Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2018\r\n* File for SDK version.\r\n*/\r\nexports.Version = '1.8.4';\r\nexports.FullVersionString = 'AWT-Web-JS-' + exports.Version;\r\n","module.exports = require(\"core-js/library/fn/array/from\");","module.exports = require(\"core-js/library/fn/array/is-array\");","module.exports = require(\"core-js/library/fn/object/assign\");","module.exports = require(\"core-js/library/fn/object/create\");","module.exports = require(\"core-js/library/fn/object/entries\");","module.exports = require(\"core-js/library/fn/object/keys\");","module.exports = require(\"core-js/library/fn/object/values\");","module.exports = require(\"core-js/library/fn/parse-int\");","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nmodule.exports = _asyncToGenerator;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutProperties;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\n\nvar iterableToArray = require(\"./iterableToArray.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableRest = require(\"./nonIterableRest.js\");\n\nfunction _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}\n\nmodule.exports = _toArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\n\nvar iterableToArray = require(\"./iterableToArray.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","module.exports = require(\"regenerator-runtime\");\n","'use strict';\n\nvar compileSchema = require('./compile')\n , resolve = require('./compile/resolve')\n , Cache = require('./cache')\n , SchemaObject = require('./compile/schema_obj')\n , stableStringify = require('fast-json-stable-stringify')\n , formats = require('./compile/formats')\n , rules = require('./compile/rules')\n , $dataMetaSchema = require('./data')\n , util = require('./compile/util');\n\nmodule.exports = Ajv;\n\nAjv.prototype.validate = validate;\nAjv.prototype.compile = compile;\nAjv.prototype.addSchema = addSchema;\nAjv.prototype.addMetaSchema = addMetaSchema;\nAjv.prototype.validateSchema = validateSchema;\nAjv.prototype.getSchema = getSchema;\nAjv.prototype.removeSchema = removeSchema;\nAjv.prototype.addFormat = addFormat;\nAjv.prototype.errorsText = errorsText;\n\nAjv.prototype._addSchema = _addSchema;\nAjv.prototype._compile = _compile;\n\nAjv.prototype.compileAsync = require('./compile/async');\nvar customKeyword = require('./keyword');\nAjv.prototype.addKeyword = customKeyword.add;\nAjv.prototype.getKeyword = customKeyword.get;\nAjv.prototype.removeKeyword = customKeyword.remove;\nAjv.prototype.validateKeyword = customKeyword.validate;\n\nvar errorClasses = require('./compile/error_classes');\nAjv.ValidationError = errorClasses.Validation;\nAjv.MissingRefError = errorClasses.MissingRef;\nAjv.$dataMetaSchema = $dataMetaSchema;\n\nvar META_SCHEMA_ID = 'http://json-schema.org/draft-07/schema';\n\nvar META_IGNORE_OPTIONS = [ 'removeAdditional', 'useDefaults', 'coerceTypes', 'strictDefaults' ];\nvar META_SUPPORT_DATA = ['/properties'];\n\n/**\n * Creates validator instance.\n * Usage: `Ajv(opts)`\n * @param {Object} opts optional options\n * @return {Object} ajv instance\n */\nfunction Ajv(opts) {\n if (!(this instanceof Ajv)) return new Ajv(opts);\n opts = this._opts = util.copy(opts) || {};\n setLogger(this);\n this._schemas = {};\n this._refs = {};\n this._fragments = {};\n this._formats = formats(opts.format);\n\n this._cache = opts.cache || new Cache;\n this._loadingSchemas = {};\n this._compilations = [];\n this.RULES = rules();\n this._getId = chooseGetId(opts);\n\n opts.loopRequired = opts.loopRequired || Infinity;\n if (opts.errorDataPath == 'property') opts._errorDataPathProperty = true;\n if (opts.serialize === undefined) opts.serialize = stableStringify;\n this._metaOpts = getMetaSchemaOptions(this);\n\n if (opts.formats) addInitialFormats(this);\n if (opts.keywords) addInitialKeywords(this);\n addDefaultMetaSchema(this);\n if (typeof opts.meta == 'object') this.addMetaSchema(opts.meta);\n if (opts.nullable) this.addKeyword('nullable', {metaSchema: {type: 'boolean'}});\n addInitialSchemas(this);\n}\n\n\n\n/**\n * Validate data using schema\n * Schema will be compiled and cached (using serialized JSON as key. [fast-json-stable-stringify](https://github.com/epoberezkin/fast-json-stable-stringify) is used to serialize.\n * @this Ajv\n * @param {String|Object} schemaKeyRef key, ref or schema object\n * @param {Any} data to be validated\n * @return {Boolean} validation result. Errors from the last validation will be available in `ajv.errors` (and also in compiled schema: `schema.errors`).\n */\nfunction validate(schemaKeyRef, data) {\n var v;\n if (typeof schemaKeyRef == 'string') {\n v = this.getSchema(schemaKeyRef);\n if (!v) throw new Error('no schema with key or ref \"' + schemaKeyRef + '\"');\n } else {\n var schemaObj = this._addSchema(schemaKeyRef);\n v = schemaObj.validate || this._compile(schemaObj);\n }\n\n var valid = v(data);\n if (v.$async !== true) this.errors = v.errors;\n return valid;\n}\n\n\n/**\n * Create validating function for passed schema.\n * @this Ajv\n * @param {Object} schema schema object\n * @param {Boolean} _meta true if schema is a meta-schema. Used internally to compile meta schemas of custom keywords.\n * @return {Function} validating function\n */\nfunction compile(schema, _meta) {\n var schemaObj = this._addSchema(schema, undefined, _meta);\n return schemaObj.validate || this._compile(schemaObj);\n}\n\n\n/**\n * Adds schema to the instance.\n * @this Ajv\n * @param {Object|Array} schema schema or array of schemas. If array is passed, `key` and other parameters will be ignored.\n * @param {String} key Optional schema key. Can be passed to `validate` method instead of schema object or id/ref. One schema per instance can have empty `id` and `key`.\n * @param {Boolean} _skipValidation true to skip schema validation. Used internally, option validateSchema should be used instead.\n * @param {Boolean} _meta true if schema is a meta-schema. Used internally, addMetaSchema should be used instead.\n * @return {Ajv} this for method chaining\n */\nfunction addSchema(schema, key, _skipValidation, _meta) {\n if (Array.isArray(schema)){\n for (var i=0; i} errors optional array of validation errors, if not passed errors from the instance are used.\n * @param {Object} options optional options with properties `separator` and `dataVar`.\n * @return {String} human readable string with all errors descriptions\n */\nfunction errorsText(errors, options) {\n errors = errors || this.errors;\n if (!errors) return 'No errors';\n options = options || {};\n var separator = options.separator === undefined ? ', ' : options.separator;\n var dataVar = options.dataVar === undefined ? 'data' : options.dataVar;\n\n var text = '';\n for (var i=0; i%\\\\^`{|}]|%[0-9a-f]{2})|\\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\\*)?)*\\})*$/i;\n// For the source: https://gist.github.com/dperini/729294\n// For test cases: https://mathiasbynens.be/demo/url-regex\n// @todo Delete current URL in favour of the commented out URL rule when this issue is fixed https://github.com/eslint/eslint/issues/7983.\n// var URL = /^(?:(?:https?|ftp):\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!10(?:\\.\\d{1,3}){3})(?!127(?:\\.\\d{1,3}){3})(?!169\\.254(?:\\.\\d{1,3}){2})(?!192\\.168(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u{00a1}-\\u{ffff}0-9]+-)*[a-z\\u{00a1}-\\u{ffff}0-9]+)(?:\\.(?:[a-z\\u{00a1}-\\u{ffff}0-9]+-)*[a-z\\u{00a1}-\\u{ffff}0-9]+)*(?:\\.(?:[a-z\\u{00a1}-\\u{ffff}]{2,})))(?::\\d{2,5})?(?:\\/[^\\s]*)?$/iu;\nvar URL = /^(?:(?:http[s\\u017F]?|ftp):\\/\\/)(?:(?:[\\0-\\x08\\x0E-\\x1F!-\\x9F\\xA1-\\u167F\\u1681-\\u1FFF\\u200B-\\u2027\\u202A-\\u202E\\u2030-\\u205E\\u2060-\\u2FFF\\u3001-\\uD7FF\\uE000-\\uFEFE\\uFF00-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+(?::(?:[\\0-\\x08\\x0E-\\x1F!-\\x9F\\xA1-\\u167F\\u1681-\\u1FFF\\u200B-\\u2027\\u202A-\\u202E\\u2030-\\u205E\\u2060-\\u2FFF\\u3001-\\uD7FF\\uE000-\\uFEFE\\uFF00-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])*)?@)?(?:(?!10(?:\\.[0-9]{1,3}){3})(?!127(?:\\.[0-9]{1,3}){3})(?!169\\.254(?:\\.[0-9]{1,3}){2})(?!192\\.168(?:\\.[0-9]{1,3}){2})(?!172\\.(?:1[6-9]|2[0-9]|3[01])(?:\\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9a-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+-)*(?:[0-9a-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+)(?:\\.(?:(?:[0-9a-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+-)*(?:[0-9a-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+)*(?:\\.(?:(?:[a-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\\/(?:[\\0-\\x08\\x0E-\\x1F!-\\x9F\\xA1-\\u167F\\u1681-\\u1FFF\\u200B-\\u2027\\u202A-\\u202E\\u2030-\\u205E\\u2060-\\u2FFF\\u3001-\\uD7FF\\uE000-\\uFEFE\\uFF00-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])*)?$/i;\nvar UUID = /^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i;\nvar JSON_POINTER = /^(?:\\/(?:[^~/]|~0|~1)*)*$/;\nvar JSON_POINTER_URI_FRAGMENT = /^#(?:\\/(?:[a-z0-9_\\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i;\nvar RELATIVE_JSON_POINTER = /^(?:0|[1-9][0-9]*)(?:#|(?:\\/(?:[^~/]|~0|~1)*)*)$/;\n\n\nmodule.exports = formats;\n\nfunction formats(mode) {\n mode = mode == 'full' ? 'full' : 'fast';\n return util.copy(formats[mode]);\n}\n\n\nformats.fast = {\n // date: http://tools.ietf.org/html/rfc3339#section-5.6\n date: /^\\d\\d\\d\\d-[0-1]\\d-[0-3]\\d$/,\n // date-time: http://tools.ietf.org/html/rfc3339#section-5.6\n time: /^(?:[0-2]\\d:[0-5]\\d:[0-5]\\d|23:59:60)(?:\\.\\d+)?(?:z|[+-]\\d\\d(?::?\\d\\d)?)?$/i,\n 'date-time': /^\\d\\d\\d\\d-[0-1]\\d-[0-3]\\d[t\\s](?:[0-2]\\d:[0-5]\\d:[0-5]\\d|23:59:60)(?:\\.\\d+)?(?:z|[+-]\\d\\d(?::?\\d\\d)?)$/i,\n // uri: https://github.com/mafintosh/is-my-json-valid/blob/master/formats.js\n uri: /^(?:[a-z][a-z0-9+\\-.]*:)(?:\\/?\\/)?[^\\s]*$/i,\n 'uri-reference': /^(?:(?:[a-z][a-z0-9+\\-.]*:)?\\/?\\/)?(?:[^\\\\\\s#][^\\s#]*)?(?:#[^\\\\\\s]*)?$/i,\n 'uri-template': URITEMPLATE,\n url: URL,\n // email (sources from jsen validator):\n // http://stackoverflow.com/questions/201323/using-a-regular-expression-to-validate-an-email-address#answer-8829363\n // http://www.w3.org/TR/html5/forms.html#valid-e-mail-address (search for 'willful violation')\n email: /^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,\n hostname: HOSTNAME,\n // optimized https://www.safaribooksonline.com/library/view/regular-expressions-cookbook/9780596802837/ch07s16.html\n ipv4: /^(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)$/,\n // optimized http://stackoverflow.com/questions/53497/regular-expression-that-matches-valid-ipv6-addresses\n ipv6: /^\\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))(?:%.+)?\\s*$/i,\n regex: regex,\n // uuid: http://tools.ietf.org/html/rfc4122\n uuid: UUID,\n // JSON-pointer: https://tools.ietf.org/html/rfc6901\n // uri fragment: https://tools.ietf.org/html/rfc3986#appendix-A\n 'json-pointer': JSON_POINTER,\n 'json-pointer-uri-fragment': JSON_POINTER_URI_FRAGMENT,\n // relative JSON-pointer: http://tools.ietf.org/html/draft-luff-relative-json-pointer-00\n 'relative-json-pointer': RELATIVE_JSON_POINTER\n};\n\n\nformats.full = {\n date: date,\n time: time,\n 'date-time': date_time,\n uri: uri,\n 'uri-reference': URIREF,\n 'uri-template': URITEMPLATE,\n url: URL,\n email: /^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,\n hostname: HOSTNAME,\n ipv4: /^(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)$/,\n ipv6: /^\\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))(?:%.+)?\\s*$/i,\n regex: regex,\n uuid: UUID,\n 'json-pointer': JSON_POINTER,\n 'json-pointer-uri-fragment': JSON_POINTER_URI_FRAGMENT,\n 'relative-json-pointer': RELATIVE_JSON_POINTER\n};\n\n\nfunction isLeapYear(year) {\n // https://tools.ietf.org/html/rfc3339#appendix-C\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n}\n\n\nfunction date(str) {\n // full-date from http://tools.ietf.org/html/rfc3339#section-5.6\n var matches = str.match(DATE);\n if (!matches) return false;\n\n var year = +matches[1];\n var month = +matches[2];\n var day = +matches[3];\n\n return month >= 1 && month <= 12 && day >= 1 &&\n day <= (month == 2 && isLeapYear(year) ? 29 : DAYS[month]);\n}\n\n\nfunction time(str, full) {\n var matches = str.match(TIME);\n if (!matches) return false;\n\n var hour = matches[1];\n var minute = matches[2];\n var second = matches[3];\n var timeZone = matches[5];\n return ((hour <= 23 && minute <= 59 && second <= 59) ||\n (hour == 23 && minute == 59 && second == 60)) &&\n (!full || timeZone);\n}\n\n\nvar DATE_TIME_SEPARATOR = /t|\\s/i;\nfunction date_time(str) {\n // http://tools.ietf.org/html/rfc3339#section-5.6\n var dateTime = str.split(DATE_TIME_SEPARATOR);\n return dateTime.length == 2 && date(dateTime[0]) && time(dateTime[1], true);\n}\n\n\nvar NOT_URI_FRAGMENT = /\\/|:/;\nfunction uri(str) {\n // http://jmrware.com/articles/2009/uri_regexp/URI_regex.html + optional protocol + required \".\"\n return NOT_URI_FRAGMENT.test(str) && URI.test(str);\n}\n\n\nvar Z_ANCHOR = /[^\\\\]\\\\Z/;\nfunction regex(str) {\n if (Z_ANCHOR.test(str)) return false;\n try {\n new RegExp(str);\n return true;\n } catch(e) {\n return false;\n }\n}\n","'use strict';\n\nvar resolve = require('./resolve')\n , util = require('./util')\n , errorClasses = require('./error_classes')\n , stableStringify = require('fast-json-stable-stringify');\n\nvar validateGenerator = require('../dotjs/validate');\n\n/**\n * Functions below are used inside compiled validations function\n */\n\nvar ucs2length = util.ucs2length;\nvar equal = require('fast-deep-equal');\n\n// this error is thrown by async schemas to return validation errors via exception\nvar ValidationError = errorClasses.Validation;\n\nmodule.exports = compile;\n\n\n/**\n * Compiles schema to validation function\n * @this Ajv\n * @param {Object} schema schema object\n * @param {Object} root object with information about the root schema for this schema\n * @param {Object} localRefs the hash of local references inside the schema (created by resolve.id), used for inline resolution\n * @param {String} baseId base ID for IDs in the schema\n * @return {Function} validation function\n */\nfunction compile(schema, root, localRefs, baseId) {\n /* jshint validthis: true, evil: true */\n /* eslint no-shadow: 0 */\n var self = this\n , opts = this._opts\n , refVal = [ undefined ]\n , refs = {}\n , patterns = []\n , patternsHash = {}\n , defaults = []\n , defaultsHash = {}\n , customRules = [];\n\n root = root || { schema: schema, refVal: refVal, refs: refs };\n\n var c = checkCompiling.call(this, schema, root, baseId);\n var compilation = this._compilations[c.index];\n if (c.compiling) return (compilation.callValidate = callValidate);\n\n var formats = this._formats;\n var RULES = this.RULES;\n\n try {\n var v = localCompile(schema, root, localRefs, baseId);\n compilation.validate = v;\n var cv = compilation.callValidate;\n if (cv) {\n cv.schema = v.schema;\n cv.errors = null;\n cv.refs = v.refs;\n cv.refVal = v.refVal;\n cv.root = v.root;\n cv.$async = v.$async;\n if (opts.sourceCode) cv.source = v.source;\n }\n return v;\n } finally {\n endCompiling.call(this, schema, root, baseId);\n }\n\n /* @this {*} - custom context, see passContext option */\n function callValidate() {\n /* jshint validthis: true */\n var validate = compilation.validate;\n var result = validate.apply(this, arguments);\n callValidate.errors = validate.errors;\n return result;\n }\n\n function localCompile(_schema, _root, localRefs, baseId) {\n var isRoot = !_root || (_root && _root.schema == _schema);\n if (_root.schema != root.schema)\n return compile.call(self, _schema, _root, localRefs, baseId);\n\n var $async = _schema.$async === true;\n\n var sourceCode = validateGenerator({\n isTop: true,\n schema: _schema,\n isRoot: isRoot,\n baseId: baseId,\n root: _root,\n schemaPath: '',\n errSchemaPath: '#',\n errorPath: '\"\"',\n MissingRefError: errorClasses.MissingRef,\n RULES: RULES,\n validate: validateGenerator,\n util: util,\n resolve: resolve,\n resolveRef: resolveRef,\n usePattern: usePattern,\n useDefault: useDefault,\n useCustomRule: useCustomRule,\n opts: opts,\n formats: formats,\n logger: self.logger,\n self: self\n });\n\n sourceCode = vars(refVal, refValCode) + vars(patterns, patternCode)\n + vars(defaults, defaultCode) + vars(customRules, customRuleCode)\n + sourceCode;\n\n if (opts.processCode) sourceCode = opts.processCode(sourceCode, _schema);\n // console.log('\\n\\n\\n *** \\n', JSON.stringify(sourceCode));\n var validate;\n try {\n var makeValidate = new Function(\n 'self',\n 'RULES',\n 'formats',\n 'root',\n 'refVal',\n 'defaults',\n 'customRules',\n 'equal',\n 'ucs2length',\n 'ValidationError',\n sourceCode\n );\n\n validate = makeValidate(\n self,\n RULES,\n formats,\n root,\n refVal,\n defaults,\n customRules,\n equal,\n ucs2length,\n ValidationError\n );\n\n refVal[0] = validate;\n } catch(e) {\n self.logger.error('Error compiling schema, function code:', sourceCode);\n throw e;\n }\n\n validate.schema = _schema;\n validate.errors = null;\n validate.refs = refs;\n validate.refVal = refVal;\n validate.root = isRoot ? validate : _root;\n if ($async) validate.$async = true;\n if (opts.sourceCode === true) {\n validate.source = {\n code: sourceCode,\n patterns: patterns,\n defaults: defaults\n };\n }\n\n return validate;\n }\n\n function resolveRef(baseId, ref, isRoot) {\n ref = resolve.url(baseId, ref);\n var refIndex = refs[ref];\n var _refVal, refCode;\n if (refIndex !== undefined) {\n _refVal = refVal[refIndex];\n refCode = 'refVal[' + refIndex + ']';\n return resolvedRef(_refVal, refCode);\n }\n if (!isRoot && root.refs) {\n var rootRefId = root.refs[ref];\n if (rootRefId !== undefined) {\n _refVal = root.refVal[rootRefId];\n refCode = addLocalRef(ref, _refVal);\n return resolvedRef(_refVal, refCode);\n }\n }\n\n refCode = addLocalRef(ref);\n var v = resolve.call(self, localCompile, root, ref);\n if (v === undefined) {\n var localSchema = localRefs && localRefs[ref];\n if (localSchema) {\n v = resolve.inlineRef(localSchema, opts.inlineRefs)\n ? localSchema\n : compile.call(self, localSchema, root, localRefs, baseId);\n }\n }\n\n if (v === undefined) {\n removeLocalRef(ref);\n } else {\n replaceLocalRef(ref, v);\n return resolvedRef(v, refCode);\n }\n }\n\n function addLocalRef(ref, v) {\n var refId = refVal.length;\n refVal[refId] = v;\n refs[ref] = refId;\n return 'refVal' + refId;\n }\n\n function removeLocalRef(ref) {\n delete refs[ref];\n }\n\n function replaceLocalRef(ref, v) {\n var refId = refs[ref];\n refVal[refId] = v;\n }\n\n function resolvedRef(refVal, code) {\n return typeof refVal == 'object' || typeof refVal == 'boolean'\n ? { code: code, schema: refVal, inline: true }\n : { code: code, $async: refVal && !!refVal.$async };\n }\n\n function usePattern(regexStr) {\n var index = patternsHash[regexStr];\n if (index === undefined) {\n index = patternsHash[regexStr] = patterns.length;\n patterns[index] = regexStr;\n }\n return 'pattern' + index;\n }\n\n function useDefault(value) {\n switch (typeof value) {\n case 'boolean':\n case 'number':\n return '' + value;\n case 'string':\n return util.toQuotedString(value);\n case 'object':\n if (value === null) return 'null';\n var valueStr = stableStringify(value);\n var index = defaultsHash[valueStr];\n if (index === undefined) {\n index = defaultsHash[valueStr] = defaults.length;\n defaults[index] = value;\n }\n return 'default' + index;\n }\n }\n\n function useCustomRule(rule, schema, parentSchema, it) {\n if (self._opts.validateSchema !== false) {\n var deps = rule.definition.dependencies;\n if (deps && !deps.every(function(keyword) {\n return Object.prototype.hasOwnProperty.call(parentSchema, keyword);\n }))\n throw new Error('parent schema must have all required keywords: ' + deps.join(','));\n\n var validateSchema = rule.definition.validateSchema;\n if (validateSchema) {\n var valid = validateSchema(schema);\n if (!valid) {\n var message = 'keyword schema is invalid: ' + self.errorsText(validateSchema.errors);\n if (self._opts.validateSchema == 'log') self.logger.error(message);\n else throw new Error(message);\n }\n }\n }\n\n var compile = rule.definition.compile\n , inline = rule.definition.inline\n , macro = rule.definition.macro;\n\n var validate;\n if (compile) {\n validate = compile.call(self, schema, parentSchema, it);\n } else if (macro) {\n validate = macro.call(self, schema, parentSchema, it);\n if (opts.validateSchema !== false) self.validateSchema(validate, true);\n } else if (inline) {\n validate = inline.call(self, it, rule.keyword, schema, parentSchema);\n } else {\n validate = rule.definition.validate;\n if (!validate) return;\n }\n\n if (validate === undefined)\n throw new Error('custom keyword \"' + rule.keyword + '\"failed to compile');\n\n var index = customRules.length;\n customRules[index] = validate;\n\n return {\n code: 'customRule' + index,\n validate: validate\n };\n }\n}\n\n\n/**\n * Checks if the schema is currently compiled\n * @this Ajv\n * @param {Object} schema schema to compile\n * @param {Object} root root object\n * @param {String} baseId base schema ID\n * @return {Object} object with properties \"index\" (compilation index) and \"compiling\" (boolean)\n */\nfunction checkCompiling(schema, root, baseId) {\n /* jshint validthis: true */\n var index = compIndex.call(this, schema, root, baseId);\n if (index >= 0) return { index: index, compiling: true };\n index = this._compilations.length;\n this._compilations[index] = {\n schema: schema,\n root: root,\n baseId: baseId\n };\n return { index: index, compiling: false };\n}\n\n\n/**\n * Removes the schema from the currently compiled list\n * @this Ajv\n * @param {Object} schema schema to compile\n * @param {Object} root root object\n * @param {String} baseId base schema ID\n */\nfunction endCompiling(schema, root, baseId) {\n /* jshint validthis: true */\n var i = compIndex.call(this, schema, root, baseId);\n if (i >= 0) this._compilations.splice(i, 1);\n}\n\n\n/**\n * Index of schema compilation in the currently compiled list\n * @this Ajv\n * @param {Object} schema schema to compile\n * @param {Object} root root object\n * @param {String} baseId base schema ID\n * @return {Integer} compilation index\n */\nfunction compIndex(schema, root, baseId) {\n /* jshint validthis: true */\n for (var i=0; i= 0xD800 && value <= 0xDBFF && pos < len) {\n // high surrogate, and there is a next character\n value = str.charCodeAt(pos);\n if ((value & 0xFC00) == 0xDC00) pos++; // low surrogate\n }\n }\n return length;\n};\n","'use strict';\n\n\nmodule.exports = {\n copy: copy,\n checkDataType: checkDataType,\n checkDataTypes: checkDataTypes,\n coerceToTypes: coerceToTypes,\n toHash: toHash,\n getProperty: getProperty,\n escapeQuotes: escapeQuotes,\n equal: require('fast-deep-equal'),\n ucs2length: require('./ucs2length'),\n varOccurences: varOccurences,\n varReplace: varReplace,\n schemaHasRules: schemaHasRules,\n schemaHasRulesExcept: schemaHasRulesExcept,\n schemaUnknownRules: schemaUnknownRules,\n toQuotedString: toQuotedString,\n getPathExpr: getPathExpr,\n getPath: getPath,\n getData: getData,\n unescapeFragment: unescapeFragment,\n unescapeJsonPointer: unescapeJsonPointer,\n escapeFragment: escapeFragment,\n escapeJsonPointer: escapeJsonPointer\n};\n\n\nfunction copy(o, to) {\n to = to || {};\n for (var key in o) to[key] = o[key];\n return to;\n}\n\n\nfunction checkDataType(dataType, data, strictNumbers, negate) {\n var EQUAL = negate ? ' !== ' : ' === '\n , AND = negate ? ' || ' : ' && '\n , OK = negate ? '!' : ''\n , NOT = negate ? '' : '!';\n switch (dataType) {\n case 'null': return data + EQUAL + 'null';\n case 'array': return OK + 'Array.isArray(' + data + ')';\n case 'object': return '(' + OK + data + AND +\n 'typeof ' + data + EQUAL + '\"object\"' + AND +\n NOT + 'Array.isArray(' + data + '))';\n case 'integer': return '(typeof ' + data + EQUAL + '\"number\"' + AND +\n NOT + '(' + data + ' % 1)' +\n AND + data + EQUAL + data +\n (strictNumbers ? (AND + OK + 'isFinite(' + data + ')') : '') + ')';\n case 'number': return '(typeof ' + data + EQUAL + '\"' + dataType + '\"' +\n (strictNumbers ? (AND + OK + 'isFinite(' + data + ')') : '') + ')';\n default: return 'typeof ' + data + EQUAL + '\"' + dataType + '\"';\n }\n}\n\n\nfunction checkDataTypes(dataTypes, data, strictNumbers) {\n switch (dataTypes.length) {\n case 1: return checkDataType(dataTypes[0], data, strictNumbers, true);\n default:\n var code = '';\n var types = toHash(dataTypes);\n if (types.array && types.object) {\n code = types.null ? '(': '(!' + data + ' || ';\n code += 'typeof ' + data + ' !== \"object\")';\n delete types.null;\n delete types.array;\n delete types.object;\n }\n if (types.number) delete types.integer;\n for (var t in types)\n code += (code ? ' && ' : '' ) + checkDataType(t, data, strictNumbers, true);\n\n return code;\n }\n}\n\n\nvar COERCE_TO_TYPES = toHash([ 'string', 'number', 'integer', 'boolean', 'null' ]);\nfunction coerceToTypes(optionCoerceTypes, dataTypes) {\n if (Array.isArray(dataTypes)) {\n var types = [];\n for (var i=0; i= lvl) throw new Error('Cannot access property/index ' + up + ' levels up, current level is ' + lvl);\n return paths[lvl - up];\n }\n\n if (up > lvl) throw new Error('Cannot access data ' + up + ' levels up, current level is ' + lvl);\n data = 'data' + ((lvl - up) || '');\n if (!jsonPointer) return data;\n }\n\n var expr = data;\n var segments = jsonPointer.split('/');\n for (var i=0; i',\n $notOp = $isMax ? '>' : '<',\n $errorKeyword = undefined;\n if (!($isData || typeof $schema == 'number' || $schema === undefined)) {\n throw new Error($keyword + ' must be number');\n }\n if (!($isDataExcl || $schemaExcl === undefined || typeof $schemaExcl == 'number' || typeof $schemaExcl == 'boolean')) {\n throw new Error($exclusiveKeyword + ' must be number or boolean');\n }\n if ($isDataExcl) {\n var $schemaValueExcl = it.util.getData($schemaExcl.$data, $dataLvl, it.dataPathArr),\n $exclusive = 'exclusive' + $lvl,\n $exclType = 'exclType' + $lvl,\n $exclIsNumber = 'exclIsNumber' + $lvl,\n $opExpr = 'op' + $lvl,\n $opStr = '\\' + ' + $opExpr + ' + \\'';\n out += ' var schemaExcl' + ($lvl) + ' = ' + ($schemaValueExcl) + '; ';\n $schemaValueExcl = 'schemaExcl' + $lvl;\n out += ' var ' + ($exclusive) + '; var ' + ($exclType) + ' = typeof ' + ($schemaValueExcl) + '; if (' + ($exclType) + ' != \\'boolean\\' && ' + ($exclType) + ' != \\'undefined\\' && ' + ($exclType) + ' != \\'number\\') { ';\n var $errorKeyword = $exclusiveKeyword;\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ($errorKeyword || '_exclusiveLimit') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'' + ($exclusiveKeyword) + ' should be boolean\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += ' } else if ( ';\n if ($isData) {\n out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \\'number\\') || ';\n }\n out += ' ' + ($exclType) + ' == \\'number\\' ? ( (' + ($exclusive) + ' = ' + ($schemaValue) + ' === undefined || ' + ($schemaValueExcl) + ' ' + ($op) + '= ' + ($schemaValue) + ') ? ' + ($data) + ' ' + ($notOp) + '= ' + ($schemaValueExcl) + ' : ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' ) : ( (' + ($exclusive) + ' = ' + ($schemaValueExcl) + ' === true) ? ' + ($data) + ' ' + ($notOp) + '= ' + ($schemaValue) + ' : ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' ) || ' + ($data) + ' !== ' + ($data) + ') { var op' + ($lvl) + ' = ' + ($exclusive) + ' ? \\'' + ($op) + '\\' : \\'' + ($op) + '=\\'; ';\n if ($schema === undefined) {\n $errorKeyword = $exclusiveKeyword;\n $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword;\n $schemaValue = $schemaValueExcl;\n $isData = $isDataExcl;\n }\n } else {\n var $exclIsNumber = typeof $schemaExcl == 'number',\n $opStr = $op;\n if ($exclIsNumber && $isData) {\n var $opExpr = '\\'' + $opStr + '\\'';\n out += ' if ( ';\n if ($isData) {\n out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \\'number\\') || ';\n }\n out += ' ( ' + ($schemaValue) + ' === undefined || ' + ($schemaExcl) + ' ' + ($op) + '= ' + ($schemaValue) + ' ? ' + ($data) + ' ' + ($notOp) + '= ' + ($schemaExcl) + ' : ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' ) || ' + ($data) + ' !== ' + ($data) + ') { ';\n } else {\n if ($exclIsNumber && $schema === undefined) {\n $exclusive = true;\n $errorKeyword = $exclusiveKeyword;\n $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword;\n $schemaValue = $schemaExcl;\n $notOp += '=';\n } else {\n if ($exclIsNumber) $schemaValue = Math[$isMax ? 'min' : 'max']($schemaExcl, $schema);\n if ($schemaExcl === ($exclIsNumber ? $schemaValue : true)) {\n $exclusive = true;\n $errorKeyword = $exclusiveKeyword;\n $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword;\n $notOp += '=';\n } else {\n $exclusive = false;\n $opStr += '=';\n }\n }\n var $opExpr = '\\'' + $opStr + '\\'';\n out += ' if ( ';\n if ($isData) {\n out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \\'number\\') || ';\n }\n out += ' ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' || ' + ($data) + ' !== ' + ($data) + ') { ';\n }\n }\n $errorKeyword = $errorKeyword || $keyword;\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ($errorKeyword || '_limit') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { comparison: ' + ($opExpr) + ', limit: ' + ($schemaValue) + ', exclusive: ' + ($exclusive) + ' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should be ' + ($opStr) + ' ';\n if ($isData) {\n out += '\\' + ' + ($schemaValue);\n } else {\n out += '' + ($schemaValue) + '\\'';\n }\n }\n if (it.opts.verbose) {\n out += ' , schema: ';\n if ($isData) {\n out += 'validate.schema' + ($schemaPath);\n } else {\n out += '' + ($schema);\n }\n out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += ' } ';\n if ($breakOnError) {\n out += ' else { ';\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate__limitItems(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $errorKeyword;\n var $data = 'data' + ($dataLvl || '');\n var $isData = it.opts.$data && $schema && $schema.$data,\n $schemaValue;\n if ($isData) {\n out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; ';\n $schemaValue = 'schema' + $lvl;\n } else {\n $schemaValue = $schema;\n }\n if (!($isData || typeof $schema == 'number')) {\n throw new Error($keyword + ' must be number');\n }\n var $op = $keyword == 'maxItems' ? '>' : '<';\n out += 'if ( ';\n if ($isData) {\n out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \\'number\\') || ';\n }\n out += ' ' + ($data) + '.length ' + ($op) + ' ' + ($schemaValue) + ') { ';\n var $errorKeyword = $keyword;\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ($errorKeyword || '_limitItems') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schemaValue) + ' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should NOT have ';\n if ($keyword == 'maxItems') {\n out += 'more';\n } else {\n out += 'fewer';\n }\n out += ' than ';\n if ($isData) {\n out += '\\' + ' + ($schemaValue) + ' + \\'';\n } else {\n out += '' + ($schema);\n }\n out += ' items\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: ';\n if ($isData) {\n out += 'validate.schema' + ($schemaPath);\n } else {\n out += '' + ($schema);\n }\n out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += '} ';\n if ($breakOnError) {\n out += ' else { ';\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate__limitLength(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $errorKeyword;\n var $data = 'data' + ($dataLvl || '');\n var $isData = it.opts.$data && $schema && $schema.$data,\n $schemaValue;\n if ($isData) {\n out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; ';\n $schemaValue = 'schema' + $lvl;\n } else {\n $schemaValue = $schema;\n }\n if (!($isData || typeof $schema == 'number')) {\n throw new Error($keyword + ' must be number');\n }\n var $op = $keyword == 'maxLength' ? '>' : '<';\n out += 'if ( ';\n if ($isData) {\n out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \\'number\\') || ';\n }\n if (it.opts.unicode === false) {\n out += ' ' + ($data) + '.length ';\n } else {\n out += ' ucs2length(' + ($data) + ') ';\n }\n out += ' ' + ($op) + ' ' + ($schemaValue) + ') { ';\n var $errorKeyword = $keyword;\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ($errorKeyword || '_limitLength') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schemaValue) + ' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should NOT be ';\n if ($keyword == 'maxLength') {\n out += 'longer';\n } else {\n out += 'shorter';\n }\n out += ' than ';\n if ($isData) {\n out += '\\' + ' + ($schemaValue) + ' + \\'';\n } else {\n out += '' + ($schema);\n }\n out += ' characters\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: ';\n if ($isData) {\n out += 'validate.schema' + ($schemaPath);\n } else {\n out += '' + ($schema);\n }\n out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += '} ';\n if ($breakOnError) {\n out += ' else { ';\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate__limitProperties(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $errorKeyword;\n var $data = 'data' + ($dataLvl || '');\n var $isData = it.opts.$data && $schema && $schema.$data,\n $schemaValue;\n if ($isData) {\n out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; ';\n $schemaValue = 'schema' + $lvl;\n } else {\n $schemaValue = $schema;\n }\n if (!($isData || typeof $schema == 'number')) {\n throw new Error($keyword + ' must be number');\n }\n var $op = $keyword == 'maxProperties' ? '>' : '<';\n out += 'if ( ';\n if ($isData) {\n out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \\'number\\') || ';\n }\n out += ' Object.keys(' + ($data) + ').length ' + ($op) + ' ' + ($schemaValue) + ') { ';\n var $errorKeyword = $keyword;\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ($errorKeyword || '_limitProperties') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schemaValue) + ' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should NOT have ';\n if ($keyword == 'maxProperties') {\n out += 'more';\n } else {\n out += 'fewer';\n }\n out += ' than ';\n if ($isData) {\n out += '\\' + ' + ($schemaValue) + ' + \\'';\n } else {\n out += '' + ($schema);\n }\n out += ' properties\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: ';\n if ($isData) {\n out += 'validate.schema' + ($schemaPath);\n } else {\n out += '' + ($schema);\n }\n out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += '} ';\n if ($breakOnError) {\n out += ' else { ';\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate_allOf(it, $keyword, $ruleType) {\n var out = ' ';\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $it = it.util.copy(it);\n var $closingBraces = '';\n $it.level++;\n var $nextValid = 'valid' + $it.level;\n var $currentBaseId = $it.baseId,\n $allSchemasEmpty = true;\n var arr1 = $schema;\n if (arr1) {\n var $sch, $i = -1,\n l1 = arr1.length - 1;\n while ($i < l1) {\n $sch = arr1[$i += 1];\n if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) {\n $allSchemasEmpty = false;\n $it.schema = $sch;\n $it.schemaPath = $schemaPath + '[' + $i + ']';\n $it.errSchemaPath = $errSchemaPath + '/' + $i;\n out += ' ' + (it.validate($it)) + ' ';\n $it.baseId = $currentBaseId;\n if ($breakOnError) {\n out += ' if (' + ($nextValid) + ') { ';\n $closingBraces += '}';\n }\n }\n }\n }\n if ($breakOnError) {\n if ($allSchemasEmpty) {\n out += ' if (true) { ';\n } else {\n out += ' ' + ($closingBraces.slice(0, -1)) + ' ';\n }\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate_anyOf(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $data = 'data' + ($dataLvl || '');\n var $valid = 'valid' + $lvl;\n var $errs = 'errs__' + $lvl;\n var $it = it.util.copy(it);\n var $closingBraces = '';\n $it.level++;\n var $nextValid = 'valid' + $it.level;\n var $noEmptySchema = $schema.every(function($sch) {\n return (it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all));\n });\n if ($noEmptySchema) {\n var $currentBaseId = $it.baseId;\n out += ' var ' + ($errs) + ' = errors; var ' + ($valid) + ' = false; ';\n var $wasComposite = it.compositeRule;\n it.compositeRule = $it.compositeRule = true;\n var arr1 = $schema;\n if (arr1) {\n var $sch, $i = -1,\n l1 = arr1.length - 1;\n while ($i < l1) {\n $sch = arr1[$i += 1];\n $it.schema = $sch;\n $it.schemaPath = $schemaPath + '[' + $i + ']';\n $it.errSchemaPath = $errSchemaPath + '/' + $i;\n out += ' ' + (it.validate($it)) + ' ';\n $it.baseId = $currentBaseId;\n out += ' ' + ($valid) + ' = ' + ($valid) + ' || ' + ($nextValid) + '; if (!' + ($valid) + ') { ';\n $closingBraces += '}';\n }\n }\n it.compositeRule = $it.compositeRule = $wasComposite;\n out += ' ' + ($closingBraces) + ' if (!' + ($valid) + ') { var err = '; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('anyOf') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should match some schema in anyOf\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError(vErrors); ';\n } else {\n out += ' validate.errors = vErrors; return false; ';\n }\n }\n out += ' } else { errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } ';\n if (it.opts.allErrors) {\n out += ' } ';\n }\n } else {\n if ($breakOnError) {\n out += ' if (true) { ';\n }\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate_comment(it, $keyword, $ruleType) {\n var out = ' ';\n var $schema = it.schema[$keyword];\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $comment = it.util.toQuotedString($schema);\n if (it.opts.$comment === true) {\n out += ' console.log(' + ($comment) + ');';\n } else if (typeof it.opts.$comment == 'function') {\n out += ' self._opts.$comment(' + ($comment) + ', ' + (it.util.toQuotedString($errSchemaPath)) + ', validate.root.schema);';\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate_const(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $data = 'data' + ($dataLvl || '');\n var $valid = 'valid' + $lvl;\n var $isData = it.opts.$data && $schema && $schema.$data,\n $schemaValue;\n if ($isData) {\n out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; ';\n $schemaValue = 'schema' + $lvl;\n } else {\n $schemaValue = $schema;\n }\n if (!$isData) {\n out += ' var schema' + ($lvl) + ' = validate.schema' + ($schemaPath) + ';';\n }\n out += 'var ' + ($valid) + ' = equal(' + ($data) + ', schema' + ($lvl) + '); if (!' + ($valid) + ') { ';\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('const') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { allowedValue: schema' + ($lvl) + ' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should be equal to constant\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += ' }';\n if ($breakOnError) {\n out += ' else { ';\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate_contains(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $data = 'data' + ($dataLvl || '');\n var $valid = 'valid' + $lvl;\n var $errs = 'errs__' + $lvl;\n var $it = it.util.copy(it);\n var $closingBraces = '';\n $it.level++;\n var $nextValid = 'valid' + $it.level;\n var $idx = 'i' + $lvl,\n $dataNxt = $it.dataLevel = it.dataLevel + 1,\n $nextData = 'data' + $dataNxt,\n $currentBaseId = it.baseId,\n $nonEmptySchema = (it.opts.strictKeywords ? (typeof $schema == 'object' && Object.keys($schema).length > 0) || $schema === false : it.util.schemaHasRules($schema, it.RULES.all));\n out += 'var ' + ($errs) + ' = errors;var ' + ($valid) + ';';\n if ($nonEmptySchema) {\n var $wasComposite = it.compositeRule;\n it.compositeRule = $it.compositeRule = true;\n $it.schema = $schema;\n $it.schemaPath = $schemaPath;\n $it.errSchemaPath = $errSchemaPath;\n out += ' var ' + ($nextValid) + ' = false; for (var ' + ($idx) + ' = 0; ' + ($idx) + ' < ' + ($data) + '.length; ' + ($idx) + '++) { ';\n $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true);\n var $passData = $data + '[' + $idx + ']';\n $it.dataPathArr[$dataNxt] = $idx;\n var $code = it.validate($it);\n $it.baseId = $currentBaseId;\n if (it.util.varOccurences($code, $nextData) < 2) {\n out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' ';\n } else {\n out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' ';\n }\n out += ' if (' + ($nextValid) + ') break; } ';\n it.compositeRule = $it.compositeRule = $wasComposite;\n out += ' ' + ($closingBraces) + ' if (!' + ($nextValid) + ') {';\n } else {\n out += ' if (' + ($data) + '.length == 0) {';\n }\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('contains') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should contain a valid item\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += ' } else { ';\n if ($nonEmptySchema) {\n out += ' errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } ';\n }\n if (it.opts.allErrors) {\n out += ' } ';\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate_custom(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $errorKeyword;\n var $data = 'data' + ($dataLvl || '');\n var $valid = 'valid' + $lvl;\n var $errs = 'errs__' + $lvl;\n var $isData = it.opts.$data && $schema && $schema.$data,\n $schemaValue;\n if ($isData) {\n out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; ';\n $schemaValue = 'schema' + $lvl;\n } else {\n $schemaValue = $schema;\n }\n var $rule = this,\n $definition = 'definition' + $lvl,\n $rDef = $rule.definition,\n $closingBraces = '';\n var $compile, $inline, $macro, $ruleValidate, $validateCode;\n if ($isData && $rDef.$data) {\n $validateCode = 'keywordValidate' + $lvl;\n var $validateSchema = $rDef.validateSchema;\n out += ' var ' + ($definition) + ' = RULES.custom[\\'' + ($keyword) + '\\'].definition; var ' + ($validateCode) + ' = ' + ($definition) + '.validate;';\n } else {\n $ruleValidate = it.useCustomRule($rule, $schema, it.schema, it);\n if (!$ruleValidate) return;\n $schemaValue = 'validate.schema' + $schemaPath;\n $validateCode = $ruleValidate.code;\n $compile = $rDef.compile;\n $inline = $rDef.inline;\n $macro = $rDef.macro;\n }\n var $ruleErrs = $validateCode + '.errors',\n $i = 'i' + $lvl,\n $ruleErr = 'ruleErr' + $lvl,\n $asyncKeyword = $rDef.async;\n if ($asyncKeyword && !it.async) throw new Error('async keyword in sync schema');\n if (!($inline || $macro)) {\n out += '' + ($ruleErrs) + ' = null;';\n }\n out += 'var ' + ($errs) + ' = errors;var ' + ($valid) + ';';\n if ($isData && $rDef.$data) {\n $closingBraces += '}';\n out += ' if (' + ($schemaValue) + ' === undefined) { ' + ($valid) + ' = true; } else { ';\n if ($validateSchema) {\n $closingBraces += '}';\n out += ' ' + ($valid) + ' = ' + ($definition) + '.validateSchema(' + ($schemaValue) + '); if (' + ($valid) + ') { ';\n }\n }\n if ($inline) {\n if ($rDef.statements) {\n out += ' ' + ($ruleValidate.validate) + ' ';\n } else {\n out += ' ' + ($valid) + ' = ' + ($ruleValidate.validate) + '; ';\n }\n } else if ($macro) {\n var $it = it.util.copy(it);\n var $closingBraces = '';\n $it.level++;\n var $nextValid = 'valid' + $it.level;\n $it.schema = $ruleValidate.validate;\n $it.schemaPath = '';\n var $wasComposite = it.compositeRule;\n it.compositeRule = $it.compositeRule = true;\n var $code = it.validate($it).replace(/validate\\.schema/g, $validateCode);\n it.compositeRule = $it.compositeRule = $wasComposite;\n out += ' ' + ($code);\n } else {\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = '';\n out += ' ' + ($validateCode) + '.call( ';\n if (it.opts.passContext) {\n out += 'this';\n } else {\n out += 'self';\n }\n if ($compile || $rDef.schema === false) {\n out += ' , ' + ($data) + ' ';\n } else {\n out += ' , ' + ($schemaValue) + ' , ' + ($data) + ' , validate.schema' + (it.schemaPath) + ' ';\n }\n out += ' , (dataPath || \\'\\')';\n if (it.errorPath != '\"\"') {\n out += ' + ' + (it.errorPath);\n }\n var $parentData = $dataLvl ? 'data' + (($dataLvl - 1) || '') : 'parentData',\n $parentDataProperty = $dataLvl ? it.dataPathArr[$dataLvl] : 'parentDataProperty';\n out += ' , ' + ($parentData) + ' , ' + ($parentDataProperty) + ' , rootData ) ';\n var def_callRuleValidate = out;\n out = $$outStack.pop();\n if ($rDef.errors === false) {\n out += ' ' + ($valid) + ' = ';\n if ($asyncKeyword) {\n out += 'await ';\n }\n out += '' + (def_callRuleValidate) + '; ';\n } else {\n if ($asyncKeyword) {\n $ruleErrs = 'customErrors' + $lvl;\n out += ' var ' + ($ruleErrs) + ' = null; try { ' + ($valid) + ' = await ' + (def_callRuleValidate) + '; } catch (e) { ' + ($valid) + ' = false; if (e instanceof ValidationError) ' + ($ruleErrs) + ' = e.errors; else throw e; } ';\n } else {\n out += ' ' + ($ruleErrs) + ' = null; ' + ($valid) + ' = ' + (def_callRuleValidate) + '; ';\n }\n }\n }\n if ($rDef.modifying) {\n out += ' if (' + ($parentData) + ') ' + ($data) + ' = ' + ($parentData) + '[' + ($parentDataProperty) + '];';\n }\n out += '' + ($closingBraces);\n if ($rDef.valid) {\n if ($breakOnError) {\n out += ' if (true) { ';\n }\n } else {\n out += ' if ( ';\n if ($rDef.valid === undefined) {\n out += ' !';\n if ($macro) {\n out += '' + ($nextValid);\n } else {\n out += '' + ($valid);\n }\n } else {\n out += ' ' + (!$rDef.valid) + ' ';\n }\n out += ') { ';\n $errorKeyword = $rule.keyword;\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = '';\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ($errorKeyword || 'custom') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { keyword: \\'' + ($rule.keyword) + '\\' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should pass \"' + ($rule.keyword) + '\" keyword validation\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n var def_customError = out;\n out = $$outStack.pop();\n if ($inline) {\n if ($rDef.errors) {\n if ($rDef.errors != 'full') {\n out += ' for (var ' + ($i) + '=' + ($errs) + '; ' + ($i) + ' 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) {\n out += ' ' + ($nextValid) + ' = true; if ( ' + ($data) + (it.util.getProperty($property)) + ' !== undefined ';\n if ($ownProperties) {\n out += ' && Object.prototype.hasOwnProperty.call(' + ($data) + ', \\'' + (it.util.escapeQuotes($property)) + '\\') ';\n }\n out += ') { ';\n $it.schema = $sch;\n $it.schemaPath = $schemaPath + it.util.getProperty($property);\n $it.errSchemaPath = $errSchemaPath + '/' + it.util.escapeFragment($property);\n out += ' ' + (it.validate($it)) + ' ';\n $it.baseId = $currentBaseId;\n out += ' } ';\n if ($breakOnError) {\n out += ' if (' + ($nextValid) + ') { ';\n $closingBraces += '}';\n }\n }\n }\n if ($breakOnError) {\n out += ' ' + ($closingBraces) + ' if (' + ($errs) + ' == errors) {';\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate_enum(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $data = 'data' + ($dataLvl || '');\n var $valid = 'valid' + $lvl;\n var $isData = it.opts.$data && $schema && $schema.$data,\n $schemaValue;\n if ($isData) {\n out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; ';\n $schemaValue = 'schema' + $lvl;\n } else {\n $schemaValue = $schema;\n }\n var $i = 'i' + $lvl,\n $vSchema = 'schema' + $lvl;\n if (!$isData) {\n out += ' var ' + ($vSchema) + ' = validate.schema' + ($schemaPath) + ';';\n }\n out += 'var ' + ($valid) + ';';\n if ($isData) {\n out += ' if (schema' + ($lvl) + ' === undefined) ' + ($valid) + ' = true; else if (!Array.isArray(schema' + ($lvl) + ')) ' + ($valid) + ' = false; else {';\n }\n out += '' + ($valid) + ' = false;for (var ' + ($i) + '=0; ' + ($i) + '<' + ($vSchema) + '.length; ' + ($i) + '++) if (equal(' + ($data) + ', ' + ($vSchema) + '[' + ($i) + '])) { ' + ($valid) + ' = true; break; }';\n if ($isData) {\n out += ' } ';\n }\n out += ' if (!' + ($valid) + ') { ';\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('enum') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { allowedValues: schema' + ($lvl) + ' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should be equal to one of the allowed values\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += ' }';\n if ($breakOnError) {\n out += ' else { ';\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate_format(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $data = 'data' + ($dataLvl || '');\n if (it.opts.format === false) {\n if ($breakOnError) {\n out += ' if (true) { ';\n }\n return out;\n }\n var $isData = it.opts.$data && $schema && $schema.$data,\n $schemaValue;\n if ($isData) {\n out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; ';\n $schemaValue = 'schema' + $lvl;\n } else {\n $schemaValue = $schema;\n }\n var $unknownFormats = it.opts.unknownFormats,\n $allowUnknown = Array.isArray($unknownFormats);\n if ($isData) {\n var $format = 'format' + $lvl,\n $isObject = 'isObject' + $lvl,\n $formatType = 'formatType' + $lvl;\n out += ' var ' + ($format) + ' = formats[' + ($schemaValue) + ']; var ' + ($isObject) + ' = typeof ' + ($format) + ' == \\'object\\' && !(' + ($format) + ' instanceof RegExp) && ' + ($format) + '.validate; var ' + ($formatType) + ' = ' + ($isObject) + ' && ' + ($format) + '.type || \\'string\\'; if (' + ($isObject) + ') { ';\n if (it.async) {\n out += ' var async' + ($lvl) + ' = ' + ($format) + '.async; ';\n }\n out += ' ' + ($format) + ' = ' + ($format) + '.validate; } if ( ';\n if ($isData) {\n out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \\'string\\') || ';\n }\n out += ' (';\n if ($unknownFormats != 'ignore') {\n out += ' (' + ($schemaValue) + ' && !' + ($format) + ' ';\n if ($allowUnknown) {\n out += ' && self._opts.unknownFormats.indexOf(' + ($schemaValue) + ') == -1 ';\n }\n out += ') || ';\n }\n out += ' (' + ($format) + ' && ' + ($formatType) + ' == \\'' + ($ruleType) + '\\' && !(typeof ' + ($format) + ' == \\'function\\' ? ';\n if (it.async) {\n out += ' (async' + ($lvl) + ' ? await ' + ($format) + '(' + ($data) + ') : ' + ($format) + '(' + ($data) + ')) ';\n } else {\n out += ' ' + ($format) + '(' + ($data) + ') ';\n }\n out += ' : ' + ($format) + '.test(' + ($data) + '))))) {';\n } else {\n var $format = it.formats[$schema];\n if (!$format) {\n if ($unknownFormats == 'ignore') {\n it.logger.warn('unknown format \"' + $schema + '\" ignored in schema at path \"' + it.errSchemaPath + '\"');\n if ($breakOnError) {\n out += ' if (true) { ';\n }\n return out;\n } else if ($allowUnknown && $unknownFormats.indexOf($schema) >= 0) {\n if ($breakOnError) {\n out += ' if (true) { ';\n }\n return out;\n } else {\n throw new Error('unknown format \"' + $schema + '\" is used in schema at path \"' + it.errSchemaPath + '\"');\n }\n }\n var $isObject = typeof $format == 'object' && !($format instanceof RegExp) && $format.validate;\n var $formatType = $isObject && $format.type || 'string';\n if ($isObject) {\n var $async = $format.async === true;\n $format = $format.validate;\n }\n if ($formatType != $ruleType) {\n if ($breakOnError) {\n out += ' if (true) { ';\n }\n return out;\n }\n if ($async) {\n if (!it.async) throw new Error('async format in sync schema');\n var $formatRef = 'formats' + it.util.getProperty($schema) + '.validate';\n out += ' if (!(await ' + ($formatRef) + '(' + ($data) + '))) { ';\n } else {\n out += ' if (! ';\n var $formatRef = 'formats' + it.util.getProperty($schema);\n if ($isObject) $formatRef += '.validate';\n if (typeof $format == 'function') {\n out += ' ' + ($formatRef) + '(' + ($data) + ') ';\n } else {\n out += ' ' + ($formatRef) + '.test(' + ($data) + ') ';\n }\n out += ') { ';\n }\n }\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('format') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { format: ';\n if ($isData) {\n out += '' + ($schemaValue);\n } else {\n out += '' + (it.util.toQuotedString($schema));\n }\n out += ' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should match format \"';\n if ($isData) {\n out += '\\' + ' + ($schemaValue) + ' + \\'';\n } else {\n out += '' + (it.util.escapeQuotes($schema));\n }\n out += '\"\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: ';\n if ($isData) {\n out += 'validate.schema' + ($schemaPath);\n } else {\n out += '' + (it.util.toQuotedString($schema));\n }\n out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += ' } ';\n if ($breakOnError) {\n out += ' else { ';\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate_if(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $data = 'data' + ($dataLvl || '');\n var $valid = 'valid' + $lvl;\n var $errs = 'errs__' + $lvl;\n var $it = it.util.copy(it);\n $it.level++;\n var $nextValid = 'valid' + $it.level;\n var $thenSch = it.schema['then'],\n $elseSch = it.schema['else'],\n $thenPresent = $thenSch !== undefined && (it.opts.strictKeywords ? (typeof $thenSch == 'object' && Object.keys($thenSch).length > 0) || $thenSch === false : it.util.schemaHasRules($thenSch, it.RULES.all)),\n $elsePresent = $elseSch !== undefined && (it.opts.strictKeywords ? (typeof $elseSch == 'object' && Object.keys($elseSch).length > 0) || $elseSch === false : it.util.schemaHasRules($elseSch, it.RULES.all)),\n $currentBaseId = $it.baseId;\n if ($thenPresent || $elsePresent) {\n var $ifClause;\n $it.createErrors = false;\n $it.schema = $schema;\n $it.schemaPath = $schemaPath;\n $it.errSchemaPath = $errSchemaPath;\n out += ' var ' + ($errs) + ' = errors; var ' + ($valid) + ' = true; ';\n var $wasComposite = it.compositeRule;\n it.compositeRule = $it.compositeRule = true;\n out += ' ' + (it.validate($it)) + ' ';\n $it.baseId = $currentBaseId;\n $it.createErrors = true;\n out += ' errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } ';\n it.compositeRule = $it.compositeRule = $wasComposite;\n if ($thenPresent) {\n out += ' if (' + ($nextValid) + ') { ';\n $it.schema = it.schema['then'];\n $it.schemaPath = it.schemaPath + '.then';\n $it.errSchemaPath = it.errSchemaPath + '/then';\n out += ' ' + (it.validate($it)) + ' ';\n $it.baseId = $currentBaseId;\n out += ' ' + ($valid) + ' = ' + ($nextValid) + '; ';\n if ($thenPresent && $elsePresent) {\n $ifClause = 'ifClause' + $lvl;\n out += ' var ' + ($ifClause) + ' = \\'then\\'; ';\n } else {\n $ifClause = '\\'then\\'';\n }\n out += ' } ';\n if ($elsePresent) {\n out += ' else { ';\n }\n } else {\n out += ' if (!' + ($nextValid) + ') { ';\n }\n if ($elsePresent) {\n $it.schema = it.schema['else'];\n $it.schemaPath = it.schemaPath + '.else';\n $it.errSchemaPath = it.errSchemaPath + '/else';\n out += ' ' + (it.validate($it)) + ' ';\n $it.baseId = $currentBaseId;\n out += ' ' + ($valid) + ' = ' + ($nextValid) + '; ';\n if ($thenPresent && $elsePresent) {\n $ifClause = 'ifClause' + $lvl;\n out += ' var ' + ($ifClause) + ' = \\'else\\'; ';\n } else {\n $ifClause = '\\'else\\'';\n }\n out += ' } ';\n }\n out += ' if (!' + ($valid) + ') { var err = '; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('if') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { failingKeyword: ' + ($ifClause) + ' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should match \"\\' + ' + ($ifClause) + ' + \\'\" schema\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError(vErrors); ';\n } else {\n out += ' validate.errors = vErrors; return false; ';\n }\n }\n out += ' } ';\n if ($breakOnError) {\n out += ' else { ';\n }\n } else {\n if ($breakOnError) {\n out += ' if (true) { ';\n }\n }\n return out;\n}\n","'use strict';\n\n//all requires must be explicit because browserify won't work with dynamic requires\nmodule.exports = {\n '$ref': require('./ref'),\n allOf: require('./allOf'),\n anyOf: require('./anyOf'),\n '$comment': require('./comment'),\n const: require('./const'),\n contains: require('./contains'),\n dependencies: require('./dependencies'),\n 'enum': require('./enum'),\n format: require('./format'),\n 'if': require('./if'),\n items: require('./items'),\n maximum: require('./_limit'),\n minimum: require('./_limit'),\n maxItems: require('./_limitItems'),\n minItems: require('./_limitItems'),\n maxLength: require('./_limitLength'),\n minLength: require('./_limitLength'),\n maxProperties: require('./_limitProperties'),\n minProperties: require('./_limitProperties'),\n multipleOf: require('./multipleOf'),\n not: require('./not'),\n oneOf: require('./oneOf'),\n pattern: require('./pattern'),\n properties: require('./properties'),\n propertyNames: require('./propertyNames'),\n required: require('./required'),\n uniqueItems: require('./uniqueItems'),\n validate: require('./validate')\n};\n","'use strict';\nmodule.exports = function generate_items(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $data = 'data' + ($dataLvl || '');\n var $valid = 'valid' + $lvl;\n var $errs = 'errs__' + $lvl;\n var $it = it.util.copy(it);\n var $closingBraces = '';\n $it.level++;\n var $nextValid = 'valid' + $it.level;\n var $idx = 'i' + $lvl,\n $dataNxt = $it.dataLevel = it.dataLevel + 1,\n $nextData = 'data' + $dataNxt,\n $currentBaseId = it.baseId;\n out += 'var ' + ($errs) + ' = errors;var ' + ($valid) + ';';\n if (Array.isArray($schema)) {\n var $additionalItems = it.schema.additionalItems;\n if ($additionalItems === false) {\n out += ' ' + ($valid) + ' = ' + ($data) + '.length <= ' + ($schema.length) + '; ';\n var $currErrSchemaPath = $errSchemaPath;\n $errSchemaPath = it.errSchemaPath + '/additionalItems';\n out += ' if (!' + ($valid) + ') { ';\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('additionalItems') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schema.length) + ' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should NOT have more than ' + ($schema.length) + ' items\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: false , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += ' } ';\n $errSchemaPath = $currErrSchemaPath;\n if ($breakOnError) {\n $closingBraces += '}';\n out += ' else { ';\n }\n }\n var arr1 = $schema;\n if (arr1) {\n var $sch, $i = -1,\n l1 = arr1.length - 1;\n while ($i < l1) {\n $sch = arr1[$i += 1];\n if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) {\n out += ' ' + ($nextValid) + ' = true; if (' + ($data) + '.length > ' + ($i) + ') { ';\n var $passData = $data + '[' + $i + ']';\n $it.schema = $sch;\n $it.schemaPath = $schemaPath + '[' + $i + ']';\n $it.errSchemaPath = $errSchemaPath + '/' + $i;\n $it.errorPath = it.util.getPathExpr(it.errorPath, $i, it.opts.jsonPointers, true);\n $it.dataPathArr[$dataNxt] = $i;\n var $code = it.validate($it);\n $it.baseId = $currentBaseId;\n if (it.util.varOccurences($code, $nextData) < 2) {\n out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' ';\n } else {\n out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' ';\n }\n out += ' } ';\n if ($breakOnError) {\n out += ' if (' + ($nextValid) + ') { ';\n $closingBraces += '}';\n }\n }\n }\n }\n if (typeof $additionalItems == 'object' && (it.opts.strictKeywords ? (typeof $additionalItems == 'object' && Object.keys($additionalItems).length > 0) || $additionalItems === false : it.util.schemaHasRules($additionalItems, it.RULES.all))) {\n $it.schema = $additionalItems;\n $it.schemaPath = it.schemaPath + '.additionalItems';\n $it.errSchemaPath = it.errSchemaPath + '/additionalItems';\n out += ' ' + ($nextValid) + ' = true; if (' + ($data) + '.length > ' + ($schema.length) + ') { for (var ' + ($idx) + ' = ' + ($schema.length) + '; ' + ($idx) + ' < ' + ($data) + '.length; ' + ($idx) + '++) { ';\n $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true);\n var $passData = $data + '[' + $idx + ']';\n $it.dataPathArr[$dataNxt] = $idx;\n var $code = it.validate($it);\n $it.baseId = $currentBaseId;\n if (it.util.varOccurences($code, $nextData) < 2) {\n out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' ';\n } else {\n out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' ';\n }\n if ($breakOnError) {\n out += ' if (!' + ($nextValid) + ') break; ';\n }\n out += ' } } ';\n if ($breakOnError) {\n out += ' if (' + ($nextValid) + ') { ';\n $closingBraces += '}';\n }\n }\n } else if ((it.opts.strictKeywords ? (typeof $schema == 'object' && Object.keys($schema).length > 0) || $schema === false : it.util.schemaHasRules($schema, it.RULES.all))) {\n $it.schema = $schema;\n $it.schemaPath = $schemaPath;\n $it.errSchemaPath = $errSchemaPath;\n out += ' for (var ' + ($idx) + ' = ' + (0) + '; ' + ($idx) + ' < ' + ($data) + '.length; ' + ($idx) + '++) { ';\n $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true);\n var $passData = $data + '[' + $idx + ']';\n $it.dataPathArr[$dataNxt] = $idx;\n var $code = it.validate($it);\n $it.baseId = $currentBaseId;\n if (it.util.varOccurences($code, $nextData) < 2) {\n out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' ';\n } else {\n out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' ';\n }\n if ($breakOnError) {\n out += ' if (!' + ($nextValid) + ') break; ';\n }\n out += ' }';\n }\n if ($breakOnError) {\n out += ' ' + ($closingBraces) + ' if (' + ($errs) + ' == errors) {';\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate_multipleOf(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $data = 'data' + ($dataLvl || '');\n var $isData = it.opts.$data && $schema && $schema.$data,\n $schemaValue;\n if ($isData) {\n out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; ';\n $schemaValue = 'schema' + $lvl;\n } else {\n $schemaValue = $schema;\n }\n if (!($isData || typeof $schema == 'number')) {\n throw new Error($keyword + ' must be number');\n }\n out += 'var division' + ($lvl) + ';if (';\n if ($isData) {\n out += ' ' + ($schemaValue) + ' !== undefined && ( typeof ' + ($schemaValue) + ' != \\'number\\' || ';\n }\n out += ' (division' + ($lvl) + ' = ' + ($data) + ' / ' + ($schemaValue) + ', ';\n if (it.opts.multipleOfPrecision) {\n out += ' Math.abs(Math.round(division' + ($lvl) + ') - division' + ($lvl) + ') > 1e-' + (it.opts.multipleOfPrecision) + ' ';\n } else {\n out += ' division' + ($lvl) + ' !== parseInt(division' + ($lvl) + ') ';\n }\n out += ' ) ';\n if ($isData) {\n out += ' ) ';\n }\n out += ' ) { ';\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('multipleOf') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { multipleOf: ' + ($schemaValue) + ' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should be multiple of ';\n if ($isData) {\n out += '\\' + ' + ($schemaValue);\n } else {\n out += '' + ($schemaValue) + '\\'';\n }\n }\n if (it.opts.verbose) {\n out += ' , schema: ';\n if ($isData) {\n out += 'validate.schema' + ($schemaPath);\n } else {\n out += '' + ($schema);\n }\n out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += '} ';\n if ($breakOnError) {\n out += ' else { ';\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate_not(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $data = 'data' + ($dataLvl || '');\n var $errs = 'errs__' + $lvl;\n var $it = it.util.copy(it);\n $it.level++;\n var $nextValid = 'valid' + $it.level;\n if ((it.opts.strictKeywords ? (typeof $schema == 'object' && Object.keys($schema).length > 0) || $schema === false : it.util.schemaHasRules($schema, it.RULES.all))) {\n $it.schema = $schema;\n $it.schemaPath = $schemaPath;\n $it.errSchemaPath = $errSchemaPath;\n out += ' var ' + ($errs) + ' = errors; ';\n var $wasComposite = it.compositeRule;\n it.compositeRule = $it.compositeRule = true;\n $it.createErrors = false;\n var $allErrorsOption;\n if ($it.opts.allErrors) {\n $allErrorsOption = $it.opts.allErrors;\n $it.opts.allErrors = false;\n }\n out += ' ' + (it.validate($it)) + ' ';\n $it.createErrors = true;\n if ($allErrorsOption) $it.opts.allErrors = $allErrorsOption;\n it.compositeRule = $it.compositeRule = $wasComposite;\n out += ' if (' + ($nextValid) + ') { ';\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('not') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should NOT be valid\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += ' } else { errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } ';\n if (it.opts.allErrors) {\n out += ' } ';\n }\n } else {\n out += ' var err = '; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('not') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should NOT be valid\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n if ($breakOnError) {\n out += ' if (false) { ';\n }\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate_oneOf(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $data = 'data' + ($dataLvl || '');\n var $valid = 'valid' + $lvl;\n var $errs = 'errs__' + $lvl;\n var $it = it.util.copy(it);\n var $closingBraces = '';\n $it.level++;\n var $nextValid = 'valid' + $it.level;\n var $currentBaseId = $it.baseId,\n $prevValid = 'prevValid' + $lvl,\n $passingSchemas = 'passingSchemas' + $lvl;\n out += 'var ' + ($errs) + ' = errors , ' + ($prevValid) + ' = false , ' + ($valid) + ' = false , ' + ($passingSchemas) + ' = null; ';\n var $wasComposite = it.compositeRule;\n it.compositeRule = $it.compositeRule = true;\n var arr1 = $schema;\n if (arr1) {\n var $sch, $i = -1,\n l1 = arr1.length - 1;\n while ($i < l1) {\n $sch = arr1[$i += 1];\n if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) {\n $it.schema = $sch;\n $it.schemaPath = $schemaPath + '[' + $i + ']';\n $it.errSchemaPath = $errSchemaPath + '/' + $i;\n out += ' ' + (it.validate($it)) + ' ';\n $it.baseId = $currentBaseId;\n } else {\n out += ' var ' + ($nextValid) + ' = true; ';\n }\n if ($i) {\n out += ' if (' + ($nextValid) + ' && ' + ($prevValid) + ') { ' + ($valid) + ' = false; ' + ($passingSchemas) + ' = [' + ($passingSchemas) + ', ' + ($i) + ']; } else { ';\n $closingBraces += '}';\n }\n out += ' if (' + ($nextValid) + ') { ' + ($valid) + ' = ' + ($prevValid) + ' = true; ' + ($passingSchemas) + ' = ' + ($i) + '; }';\n }\n }\n it.compositeRule = $it.compositeRule = $wasComposite;\n out += '' + ($closingBraces) + 'if (!' + ($valid) + ') { var err = '; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('oneOf') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { passingSchemas: ' + ($passingSchemas) + ' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should match exactly one schema in oneOf\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError(vErrors); ';\n } else {\n out += ' validate.errors = vErrors; return false; ';\n }\n }\n out += '} else { errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; }';\n if (it.opts.allErrors) {\n out += ' } ';\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate_pattern(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $data = 'data' + ($dataLvl || '');\n var $isData = it.opts.$data && $schema && $schema.$data,\n $schemaValue;\n if ($isData) {\n out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; ';\n $schemaValue = 'schema' + $lvl;\n } else {\n $schemaValue = $schema;\n }\n var $regexp = $isData ? '(new RegExp(' + $schemaValue + '))' : it.usePattern($schema);\n out += 'if ( ';\n if ($isData) {\n out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \\'string\\') || ';\n }\n out += ' !' + ($regexp) + '.test(' + ($data) + ') ) { ';\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('pattern') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { pattern: ';\n if ($isData) {\n out += '' + ($schemaValue);\n } else {\n out += '' + (it.util.toQuotedString($schema));\n }\n out += ' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should match pattern \"';\n if ($isData) {\n out += '\\' + ' + ($schemaValue) + ' + \\'';\n } else {\n out += '' + (it.util.escapeQuotes($schema));\n }\n out += '\"\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: ';\n if ($isData) {\n out += 'validate.schema' + ($schemaPath);\n } else {\n out += '' + (it.util.toQuotedString($schema));\n }\n out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += '} ';\n if ($breakOnError) {\n out += ' else { ';\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate_properties(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $data = 'data' + ($dataLvl || '');\n var $errs = 'errs__' + $lvl;\n var $it = it.util.copy(it);\n var $closingBraces = '';\n $it.level++;\n var $nextValid = 'valid' + $it.level;\n var $key = 'key' + $lvl,\n $idx = 'idx' + $lvl,\n $dataNxt = $it.dataLevel = it.dataLevel + 1,\n $nextData = 'data' + $dataNxt,\n $dataProperties = 'dataProperties' + $lvl;\n var $schemaKeys = Object.keys($schema || {}).filter(notProto),\n $pProperties = it.schema.patternProperties || {},\n $pPropertyKeys = Object.keys($pProperties).filter(notProto),\n $aProperties = it.schema.additionalProperties,\n $someProperties = $schemaKeys.length || $pPropertyKeys.length,\n $noAdditional = $aProperties === false,\n $additionalIsSchema = typeof $aProperties == 'object' && Object.keys($aProperties).length,\n $removeAdditional = it.opts.removeAdditional,\n $checkAdditional = $noAdditional || $additionalIsSchema || $removeAdditional,\n $ownProperties = it.opts.ownProperties,\n $currentBaseId = it.baseId;\n var $required = it.schema.required;\n if ($required && !(it.opts.$data && $required.$data) && $required.length < it.opts.loopRequired) {\n var $requiredHash = it.util.toHash($required);\n }\n\n function notProto(p) {\n return p !== '__proto__';\n }\n out += 'var ' + ($errs) + ' = errors;var ' + ($nextValid) + ' = true;';\n if ($ownProperties) {\n out += ' var ' + ($dataProperties) + ' = undefined;';\n }\n if ($checkAdditional) {\n if ($ownProperties) {\n out += ' ' + ($dataProperties) + ' = ' + ($dataProperties) + ' || Object.keys(' + ($data) + '); for (var ' + ($idx) + '=0; ' + ($idx) + '<' + ($dataProperties) + '.length; ' + ($idx) + '++) { var ' + ($key) + ' = ' + ($dataProperties) + '[' + ($idx) + ']; ';\n } else {\n out += ' for (var ' + ($key) + ' in ' + ($data) + ') { ';\n }\n if ($someProperties) {\n out += ' var isAdditional' + ($lvl) + ' = !(false ';\n if ($schemaKeys.length) {\n if ($schemaKeys.length > 8) {\n out += ' || validate.schema' + ($schemaPath) + '.hasOwnProperty(' + ($key) + ') ';\n } else {\n var arr1 = $schemaKeys;\n if (arr1) {\n var $propertyKey, i1 = -1,\n l1 = arr1.length - 1;\n while (i1 < l1) {\n $propertyKey = arr1[i1 += 1];\n out += ' || ' + ($key) + ' == ' + (it.util.toQuotedString($propertyKey)) + ' ';\n }\n }\n }\n }\n if ($pPropertyKeys.length) {\n var arr2 = $pPropertyKeys;\n if (arr2) {\n var $pProperty, $i = -1,\n l2 = arr2.length - 1;\n while ($i < l2) {\n $pProperty = arr2[$i += 1];\n out += ' || ' + (it.usePattern($pProperty)) + '.test(' + ($key) + ') ';\n }\n }\n }\n out += ' ); if (isAdditional' + ($lvl) + ') { ';\n }\n if ($removeAdditional == 'all') {\n out += ' delete ' + ($data) + '[' + ($key) + ']; ';\n } else {\n var $currentErrorPath = it.errorPath;\n var $additionalProperty = '\\' + ' + $key + ' + \\'';\n if (it.opts._errorDataPathProperty) {\n it.errorPath = it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers);\n }\n if ($noAdditional) {\n if ($removeAdditional) {\n out += ' delete ' + ($data) + '[' + ($key) + ']; ';\n } else {\n out += ' ' + ($nextValid) + ' = false; ';\n var $currErrSchemaPath = $errSchemaPath;\n $errSchemaPath = it.errSchemaPath + '/additionalProperties';\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('additionalProperties') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { additionalProperty: \\'' + ($additionalProperty) + '\\' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'';\n if (it.opts._errorDataPathProperty) {\n out += 'is an invalid additional property';\n } else {\n out += 'should NOT have additional properties';\n }\n out += '\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: false , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n $errSchemaPath = $currErrSchemaPath;\n if ($breakOnError) {\n out += ' break; ';\n }\n }\n } else if ($additionalIsSchema) {\n if ($removeAdditional == 'failing') {\n out += ' var ' + ($errs) + ' = errors; ';\n var $wasComposite = it.compositeRule;\n it.compositeRule = $it.compositeRule = true;\n $it.schema = $aProperties;\n $it.schemaPath = it.schemaPath + '.additionalProperties';\n $it.errSchemaPath = it.errSchemaPath + '/additionalProperties';\n $it.errorPath = it.opts._errorDataPathProperty ? it.errorPath : it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers);\n var $passData = $data + '[' + $key + ']';\n $it.dataPathArr[$dataNxt] = $key;\n var $code = it.validate($it);\n $it.baseId = $currentBaseId;\n if (it.util.varOccurences($code, $nextData) < 2) {\n out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' ';\n } else {\n out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' ';\n }\n out += ' if (!' + ($nextValid) + ') { errors = ' + ($errs) + '; if (validate.errors !== null) { if (errors) validate.errors.length = errors; else validate.errors = null; } delete ' + ($data) + '[' + ($key) + ']; } ';\n it.compositeRule = $it.compositeRule = $wasComposite;\n } else {\n $it.schema = $aProperties;\n $it.schemaPath = it.schemaPath + '.additionalProperties';\n $it.errSchemaPath = it.errSchemaPath + '/additionalProperties';\n $it.errorPath = it.opts._errorDataPathProperty ? it.errorPath : it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers);\n var $passData = $data + '[' + $key + ']';\n $it.dataPathArr[$dataNxt] = $key;\n var $code = it.validate($it);\n $it.baseId = $currentBaseId;\n if (it.util.varOccurences($code, $nextData) < 2) {\n out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' ';\n } else {\n out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' ';\n }\n if ($breakOnError) {\n out += ' if (!' + ($nextValid) + ') break; ';\n }\n }\n }\n it.errorPath = $currentErrorPath;\n }\n if ($someProperties) {\n out += ' } ';\n }\n out += ' } ';\n if ($breakOnError) {\n out += ' if (' + ($nextValid) + ') { ';\n $closingBraces += '}';\n }\n }\n var $useDefaults = it.opts.useDefaults && !it.compositeRule;\n if ($schemaKeys.length) {\n var arr3 = $schemaKeys;\n if (arr3) {\n var $propertyKey, i3 = -1,\n l3 = arr3.length - 1;\n while (i3 < l3) {\n $propertyKey = arr3[i3 += 1];\n var $sch = $schema[$propertyKey];\n if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) {\n var $prop = it.util.getProperty($propertyKey),\n $passData = $data + $prop,\n $hasDefault = $useDefaults && $sch.default !== undefined;\n $it.schema = $sch;\n $it.schemaPath = $schemaPath + $prop;\n $it.errSchemaPath = $errSchemaPath + '/' + it.util.escapeFragment($propertyKey);\n $it.errorPath = it.util.getPath(it.errorPath, $propertyKey, it.opts.jsonPointers);\n $it.dataPathArr[$dataNxt] = it.util.toQuotedString($propertyKey);\n var $code = it.validate($it);\n $it.baseId = $currentBaseId;\n if (it.util.varOccurences($code, $nextData) < 2) {\n $code = it.util.varReplace($code, $nextData, $passData);\n var $useData = $passData;\n } else {\n var $useData = $nextData;\n out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ';\n }\n if ($hasDefault) {\n out += ' ' + ($code) + ' ';\n } else {\n if ($requiredHash && $requiredHash[$propertyKey]) {\n out += ' if ( ' + ($useData) + ' === undefined ';\n if ($ownProperties) {\n out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \\'' + (it.util.escapeQuotes($propertyKey)) + '\\') ';\n }\n out += ') { ' + ($nextValid) + ' = false; ';\n var $currentErrorPath = it.errorPath,\n $currErrSchemaPath = $errSchemaPath,\n $missingProperty = it.util.escapeQuotes($propertyKey);\n if (it.opts._errorDataPathProperty) {\n it.errorPath = it.util.getPath($currentErrorPath, $propertyKey, it.opts.jsonPointers);\n }\n $errSchemaPath = it.errSchemaPath + '/required';\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('required') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \\'' + ($missingProperty) + '\\' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'';\n if (it.opts._errorDataPathProperty) {\n out += 'is a required property';\n } else {\n out += 'should have required property \\\\\\'' + ($missingProperty) + '\\\\\\'';\n }\n out += '\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n $errSchemaPath = $currErrSchemaPath;\n it.errorPath = $currentErrorPath;\n out += ' } else { ';\n } else {\n if ($breakOnError) {\n out += ' if ( ' + ($useData) + ' === undefined ';\n if ($ownProperties) {\n out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \\'' + (it.util.escapeQuotes($propertyKey)) + '\\') ';\n }\n out += ') { ' + ($nextValid) + ' = true; } else { ';\n } else {\n out += ' if (' + ($useData) + ' !== undefined ';\n if ($ownProperties) {\n out += ' && Object.prototype.hasOwnProperty.call(' + ($data) + ', \\'' + (it.util.escapeQuotes($propertyKey)) + '\\') ';\n }\n out += ' ) { ';\n }\n }\n out += ' ' + ($code) + ' } ';\n }\n }\n if ($breakOnError) {\n out += ' if (' + ($nextValid) + ') { ';\n $closingBraces += '}';\n }\n }\n }\n }\n if ($pPropertyKeys.length) {\n var arr4 = $pPropertyKeys;\n if (arr4) {\n var $pProperty, i4 = -1,\n l4 = arr4.length - 1;\n while (i4 < l4) {\n $pProperty = arr4[i4 += 1];\n var $sch = $pProperties[$pProperty];\n if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) {\n $it.schema = $sch;\n $it.schemaPath = it.schemaPath + '.patternProperties' + it.util.getProperty($pProperty);\n $it.errSchemaPath = it.errSchemaPath + '/patternProperties/' + it.util.escapeFragment($pProperty);\n if ($ownProperties) {\n out += ' ' + ($dataProperties) + ' = ' + ($dataProperties) + ' || Object.keys(' + ($data) + '); for (var ' + ($idx) + '=0; ' + ($idx) + '<' + ($dataProperties) + '.length; ' + ($idx) + '++) { var ' + ($key) + ' = ' + ($dataProperties) + '[' + ($idx) + ']; ';\n } else {\n out += ' for (var ' + ($key) + ' in ' + ($data) + ') { ';\n }\n out += ' if (' + (it.usePattern($pProperty)) + '.test(' + ($key) + ')) { ';\n $it.errorPath = it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers);\n var $passData = $data + '[' + $key + ']';\n $it.dataPathArr[$dataNxt] = $key;\n var $code = it.validate($it);\n $it.baseId = $currentBaseId;\n if (it.util.varOccurences($code, $nextData) < 2) {\n out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' ';\n } else {\n out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' ';\n }\n if ($breakOnError) {\n out += ' if (!' + ($nextValid) + ') break; ';\n }\n out += ' } ';\n if ($breakOnError) {\n out += ' else ' + ($nextValid) + ' = true; ';\n }\n out += ' } ';\n if ($breakOnError) {\n out += ' if (' + ($nextValid) + ') { ';\n $closingBraces += '}';\n }\n }\n }\n }\n }\n if ($breakOnError) {\n out += ' ' + ($closingBraces) + ' if (' + ($errs) + ' == errors) {';\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate_propertyNames(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $data = 'data' + ($dataLvl || '');\n var $errs = 'errs__' + $lvl;\n var $it = it.util.copy(it);\n var $closingBraces = '';\n $it.level++;\n var $nextValid = 'valid' + $it.level;\n out += 'var ' + ($errs) + ' = errors;';\n if ((it.opts.strictKeywords ? (typeof $schema == 'object' && Object.keys($schema).length > 0) || $schema === false : it.util.schemaHasRules($schema, it.RULES.all))) {\n $it.schema = $schema;\n $it.schemaPath = $schemaPath;\n $it.errSchemaPath = $errSchemaPath;\n var $key = 'key' + $lvl,\n $idx = 'idx' + $lvl,\n $i = 'i' + $lvl,\n $invalidName = '\\' + ' + $key + ' + \\'',\n $dataNxt = $it.dataLevel = it.dataLevel + 1,\n $nextData = 'data' + $dataNxt,\n $dataProperties = 'dataProperties' + $lvl,\n $ownProperties = it.opts.ownProperties,\n $currentBaseId = it.baseId;\n if ($ownProperties) {\n out += ' var ' + ($dataProperties) + ' = undefined; ';\n }\n if ($ownProperties) {\n out += ' ' + ($dataProperties) + ' = ' + ($dataProperties) + ' || Object.keys(' + ($data) + '); for (var ' + ($idx) + '=0; ' + ($idx) + '<' + ($dataProperties) + '.length; ' + ($idx) + '++) { var ' + ($key) + ' = ' + ($dataProperties) + '[' + ($idx) + ']; ';\n } else {\n out += ' for (var ' + ($key) + ' in ' + ($data) + ') { ';\n }\n out += ' var startErrs' + ($lvl) + ' = errors; ';\n var $passData = $key;\n var $wasComposite = it.compositeRule;\n it.compositeRule = $it.compositeRule = true;\n var $code = it.validate($it);\n $it.baseId = $currentBaseId;\n if (it.util.varOccurences($code, $nextData) < 2) {\n out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' ';\n } else {\n out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' ';\n }\n it.compositeRule = $it.compositeRule = $wasComposite;\n out += ' if (!' + ($nextValid) + ') { for (var ' + ($i) + '=startErrs' + ($lvl) + '; ' + ($i) + ' 0) || $propertySch === false : it.util.schemaHasRules($propertySch, it.RULES.all)))) {\n $required[$required.length] = $property;\n }\n }\n }\n } else {\n var $required = $schema;\n }\n }\n if ($isData || $required.length) {\n var $currentErrorPath = it.errorPath,\n $loopRequired = $isData || $required.length >= it.opts.loopRequired,\n $ownProperties = it.opts.ownProperties;\n if ($breakOnError) {\n out += ' var missing' + ($lvl) + '; ';\n if ($loopRequired) {\n if (!$isData) {\n out += ' var ' + ($vSchema) + ' = validate.schema' + ($schemaPath) + '; ';\n }\n var $i = 'i' + $lvl,\n $propertyPath = 'schema' + $lvl + '[' + $i + ']',\n $missingProperty = '\\' + ' + $propertyPath + ' + \\'';\n if (it.opts._errorDataPathProperty) {\n it.errorPath = it.util.getPathExpr($currentErrorPath, $propertyPath, it.opts.jsonPointers);\n }\n out += ' var ' + ($valid) + ' = true; ';\n if ($isData) {\n out += ' if (schema' + ($lvl) + ' === undefined) ' + ($valid) + ' = true; else if (!Array.isArray(schema' + ($lvl) + ')) ' + ($valid) + ' = false; else {';\n }\n out += ' for (var ' + ($i) + ' = 0; ' + ($i) + ' < ' + ($vSchema) + '.length; ' + ($i) + '++) { ' + ($valid) + ' = ' + ($data) + '[' + ($vSchema) + '[' + ($i) + ']] !== undefined ';\n if ($ownProperties) {\n out += ' && Object.prototype.hasOwnProperty.call(' + ($data) + ', ' + ($vSchema) + '[' + ($i) + ']) ';\n }\n out += '; if (!' + ($valid) + ') break; } ';\n if ($isData) {\n out += ' } ';\n }\n out += ' if (!' + ($valid) + ') { ';\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('required') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \\'' + ($missingProperty) + '\\' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'';\n if (it.opts._errorDataPathProperty) {\n out += 'is a required property';\n } else {\n out += 'should have required property \\\\\\'' + ($missingProperty) + '\\\\\\'';\n }\n out += '\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += ' } else { ';\n } else {\n out += ' if ( ';\n var arr2 = $required;\n if (arr2) {\n var $propertyKey, $i = -1,\n l2 = arr2.length - 1;\n while ($i < l2) {\n $propertyKey = arr2[$i += 1];\n if ($i) {\n out += ' || ';\n }\n var $prop = it.util.getProperty($propertyKey),\n $useData = $data + $prop;\n out += ' ( ( ' + ($useData) + ' === undefined ';\n if ($ownProperties) {\n out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \\'' + (it.util.escapeQuotes($propertyKey)) + '\\') ';\n }\n out += ') && (missing' + ($lvl) + ' = ' + (it.util.toQuotedString(it.opts.jsonPointers ? $propertyKey : $prop)) + ') ) ';\n }\n }\n out += ') { ';\n var $propertyPath = 'missing' + $lvl,\n $missingProperty = '\\' + ' + $propertyPath + ' + \\'';\n if (it.opts._errorDataPathProperty) {\n it.errorPath = it.opts.jsonPointers ? it.util.getPathExpr($currentErrorPath, $propertyPath, true) : $currentErrorPath + ' + ' + $propertyPath;\n }\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('required') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \\'' + ($missingProperty) + '\\' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'';\n if (it.opts._errorDataPathProperty) {\n out += 'is a required property';\n } else {\n out += 'should have required property \\\\\\'' + ($missingProperty) + '\\\\\\'';\n }\n out += '\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += ' } else { ';\n }\n } else {\n if ($loopRequired) {\n if (!$isData) {\n out += ' var ' + ($vSchema) + ' = validate.schema' + ($schemaPath) + '; ';\n }\n var $i = 'i' + $lvl,\n $propertyPath = 'schema' + $lvl + '[' + $i + ']',\n $missingProperty = '\\' + ' + $propertyPath + ' + \\'';\n if (it.opts._errorDataPathProperty) {\n it.errorPath = it.util.getPathExpr($currentErrorPath, $propertyPath, it.opts.jsonPointers);\n }\n if ($isData) {\n out += ' if (' + ($vSchema) + ' && !Array.isArray(' + ($vSchema) + ')) { var err = '; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('required') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \\'' + ($missingProperty) + '\\' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'';\n if (it.opts._errorDataPathProperty) {\n out += 'is a required property';\n } else {\n out += 'should have required property \\\\\\'' + ($missingProperty) + '\\\\\\'';\n }\n out += '\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if (' + ($vSchema) + ' !== undefined) { ';\n }\n out += ' for (var ' + ($i) + ' = 0; ' + ($i) + ' < ' + ($vSchema) + '.length; ' + ($i) + '++) { if (' + ($data) + '[' + ($vSchema) + '[' + ($i) + ']] === undefined ';\n if ($ownProperties) {\n out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', ' + ($vSchema) + '[' + ($i) + ']) ';\n }\n out += ') { var err = '; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('required') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \\'' + ($missingProperty) + '\\' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'';\n if (it.opts._errorDataPathProperty) {\n out += 'is a required property';\n } else {\n out += 'should have required property \\\\\\'' + ($missingProperty) + '\\\\\\'';\n }\n out += '\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } ';\n if ($isData) {\n out += ' } ';\n }\n } else {\n var arr3 = $required;\n if (arr3) {\n var $propertyKey, i3 = -1,\n l3 = arr3.length - 1;\n while (i3 < l3) {\n $propertyKey = arr3[i3 += 1];\n var $prop = it.util.getProperty($propertyKey),\n $missingProperty = it.util.escapeQuotes($propertyKey),\n $useData = $data + $prop;\n if (it.opts._errorDataPathProperty) {\n it.errorPath = it.util.getPath($currentErrorPath, $propertyKey, it.opts.jsonPointers);\n }\n out += ' if ( ' + ($useData) + ' === undefined ';\n if ($ownProperties) {\n out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \\'' + (it.util.escapeQuotes($propertyKey)) + '\\') ';\n }\n out += ') { var err = '; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('required') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \\'' + ($missingProperty) + '\\' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'';\n if (it.opts._errorDataPathProperty) {\n out += 'is a required property';\n } else {\n out += 'should have required property \\\\\\'' + ($missingProperty) + '\\\\\\'';\n }\n out += '\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } ';\n }\n }\n }\n }\n it.errorPath = $currentErrorPath;\n } else if ($breakOnError) {\n out += ' if (true) {';\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate_uniqueItems(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $data = 'data' + ($dataLvl || '');\n var $valid = 'valid' + $lvl;\n var $isData = it.opts.$data && $schema && $schema.$data,\n $schemaValue;\n if ($isData) {\n out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; ';\n $schemaValue = 'schema' + $lvl;\n } else {\n $schemaValue = $schema;\n }\n if (($schema || $isData) && it.opts.uniqueItems !== false) {\n if ($isData) {\n out += ' var ' + ($valid) + '; if (' + ($schemaValue) + ' === false || ' + ($schemaValue) + ' === undefined) ' + ($valid) + ' = true; else if (typeof ' + ($schemaValue) + ' != \\'boolean\\') ' + ($valid) + ' = false; else { ';\n }\n out += ' var i = ' + ($data) + '.length , ' + ($valid) + ' = true , j; if (i > 1) { ';\n var $itemType = it.schema.items && it.schema.items.type,\n $typeIsArray = Array.isArray($itemType);\n if (!$itemType || $itemType == 'object' || $itemType == 'array' || ($typeIsArray && ($itemType.indexOf('object') >= 0 || $itemType.indexOf('array') >= 0))) {\n out += ' outer: for (;i--;) { for (j = i; j--;) { if (equal(' + ($data) + '[i], ' + ($data) + '[j])) { ' + ($valid) + ' = false; break outer; } } } ';\n } else {\n out += ' var itemIndices = {}, item; for (;i--;) { var item = ' + ($data) + '[i]; ';\n var $method = 'checkDataType' + ($typeIsArray ? 's' : '');\n out += ' if (' + (it.util[$method]($itemType, 'item', it.opts.strictNumbers, true)) + ') continue; ';\n if ($typeIsArray) {\n out += ' if (typeof item == \\'string\\') item = \\'\"\\' + item; ';\n }\n out += ' if (typeof itemIndices[item] == \\'number\\') { ' + ($valid) + ' = false; j = itemIndices[item]; break; } itemIndices[item] = i; } ';\n }\n out += ' } ';\n if ($isData) {\n out += ' } ';\n }\n out += ' if (!' + ($valid) + ') { ';\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('uniqueItems') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { i: i, j: j } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should NOT have duplicate items (items ## \\' + j + \\' and \\' + i + \\' are identical)\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: ';\n if ($isData) {\n out += 'validate.schema' + ($schemaPath);\n } else {\n out += '' + ($schema);\n }\n out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += ' } ';\n if ($breakOnError) {\n out += ' else { ';\n }\n } else {\n if ($breakOnError) {\n out += ' if (true) { ';\n }\n }\n return out;\n}\n","'use strict';\nmodule.exports = function generate_validate(it, $keyword, $ruleType) {\n var out = '';\n var $async = it.schema.$async === true,\n $refKeywords = it.util.schemaHasRulesExcept(it.schema, it.RULES.all, '$ref'),\n $id = it.self._getId(it.schema);\n if (it.opts.strictKeywords) {\n var $unknownKwd = it.util.schemaUnknownRules(it.schema, it.RULES.keywords);\n if ($unknownKwd) {\n var $keywordsMsg = 'unknown keyword: ' + $unknownKwd;\n if (it.opts.strictKeywords === 'log') it.logger.warn($keywordsMsg);\n else throw new Error($keywordsMsg);\n }\n }\n if (it.isTop) {\n out += ' var validate = ';\n if ($async) {\n it.async = true;\n out += 'async ';\n }\n out += 'function(data, dataPath, parentData, parentDataProperty, rootData) { \\'use strict\\'; ';\n if ($id && (it.opts.sourceCode || it.opts.processCode)) {\n out += ' ' + ('/\\*# sourceURL=' + $id + ' */') + ' ';\n }\n }\n if (typeof it.schema == 'boolean' || !($refKeywords || it.schema.$ref)) {\n var $keyword = 'false schema';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $errorKeyword;\n var $data = 'data' + ($dataLvl || '');\n var $valid = 'valid' + $lvl;\n if (it.schema === false) {\n if (it.isTop) {\n $breakOnError = true;\n } else {\n out += ' var ' + ($valid) + ' = false; ';\n }\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ($errorKeyword || 'false schema') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'boolean schema is false\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: false , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n } else {\n if (it.isTop) {\n if ($async) {\n out += ' return data; ';\n } else {\n out += ' validate.errors = null; return true; ';\n }\n } else {\n out += ' var ' + ($valid) + ' = true; ';\n }\n }\n if (it.isTop) {\n out += ' }; return validate; ';\n }\n return out;\n }\n if (it.isTop) {\n var $top = it.isTop,\n $lvl = it.level = 0,\n $dataLvl = it.dataLevel = 0,\n $data = 'data';\n it.rootId = it.resolve.fullPath(it.self._getId(it.root.schema));\n it.baseId = it.baseId || it.rootId;\n delete it.isTop;\n it.dataPathArr = [\"\"];\n if (it.schema.default !== undefined && it.opts.useDefaults && it.opts.strictDefaults) {\n var $defaultMsg = 'default is ignored in the schema root';\n if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg);\n else throw new Error($defaultMsg);\n }\n out += ' var vErrors = null; ';\n out += ' var errors = 0; ';\n out += ' if (rootData === undefined) rootData = data; ';\n } else {\n var $lvl = it.level,\n $dataLvl = it.dataLevel,\n $data = 'data' + ($dataLvl || '');\n if ($id) it.baseId = it.resolve.url(it.baseId, $id);\n if ($async && !it.async) throw new Error('async schema in sync schema');\n out += ' var errs_' + ($lvl) + ' = errors;';\n }\n var $valid = 'valid' + $lvl,\n $breakOnError = !it.opts.allErrors,\n $closingBraces1 = '',\n $closingBraces2 = '';\n var $errorKeyword;\n var $typeSchema = it.schema.type,\n $typeIsArray = Array.isArray($typeSchema);\n if ($typeSchema && it.opts.nullable && it.schema.nullable === true) {\n if ($typeIsArray) {\n if ($typeSchema.indexOf('null') == -1) $typeSchema = $typeSchema.concat('null');\n } else if ($typeSchema != 'null') {\n $typeSchema = [$typeSchema, 'null'];\n $typeIsArray = true;\n }\n }\n if ($typeIsArray && $typeSchema.length == 1) {\n $typeSchema = $typeSchema[0];\n $typeIsArray = false;\n }\n if (it.schema.$ref && $refKeywords) {\n if (it.opts.extendRefs == 'fail') {\n throw new Error('$ref: validation keywords used in schema at path \"' + it.errSchemaPath + '\" (see option extendRefs)');\n } else if (it.opts.extendRefs !== true) {\n $refKeywords = false;\n it.logger.warn('$ref: keywords ignored in schema at path \"' + it.errSchemaPath + '\"');\n }\n }\n if (it.schema.$comment && it.opts.$comment) {\n out += ' ' + (it.RULES.all.$comment.code(it, '$comment'));\n }\n if ($typeSchema) {\n if (it.opts.coerceTypes) {\n var $coerceToTypes = it.util.coerceToTypes(it.opts.coerceTypes, $typeSchema);\n }\n var $rulesGroup = it.RULES.types[$typeSchema];\n if ($coerceToTypes || $typeIsArray || $rulesGroup === true || ($rulesGroup && !$shouldUseGroup($rulesGroup))) {\n var $schemaPath = it.schemaPath + '.type',\n $errSchemaPath = it.errSchemaPath + '/type';\n var $schemaPath = it.schemaPath + '.type',\n $errSchemaPath = it.errSchemaPath + '/type',\n $method = $typeIsArray ? 'checkDataTypes' : 'checkDataType';\n out += ' if (' + (it.util[$method]($typeSchema, $data, it.opts.strictNumbers, true)) + ') { ';\n if ($coerceToTypes) {\n var $dataType = 'dataType' + $lvl,\n $coerced = 'coerced' + $lvl;\n out += ' var ' + ($dataType) + ' = typeof ' + ($data) + '; var ' + ($coerced) + ' = undefined; ';\n if (it.opts.coerceTypes == 'array') {\n out += ' if (' + ($dataType) + ' == \\'object\\' && Array.isArray(' + ($data) + ') && ' + ($data) + '.length == 1) { ' + ($data) + ' = ' + ($data) + '[0]; ' + ($dataType) + ' = typeof ' + ($data) + '; if (' + (it.util.checkDataType(it.schema.type, $data, it.opts.strictNumbers)) + ') ' + ($coerced) + ' = ' + ($data) + '; } ';\n }\n out += ' if (' + ($coerced) + ' !== undefined) ; ';\n var arr1 = $coerceToTypes;\n if (arr1) {\n var $type, $i = -1,\n l1 = arr1.length - 1;\n while ($i < l1) {\n $type = arr1[$i += 1];\n if ($type == 'string') {\n out += ' else if (' + ($dataType) + ' == \\'number\\' || ' + ($dataType) + ' == \\'boolean\\') ' + ($coerced) + ' = \\'\\' + ' + ($data) + '; else if (' + ($data) + ' === null) ' + ($coerced) + ' = \\'\\'; ';\n } else if ($type == 'number' || $type == 'integer') {\n out += ' else if (' + ($dataType) + ' == \\'boolean\\' || ' + ($data) + ' === null || (' + ($dataType) + ' == \\'string\\' && ' + ($data) + ' && ' + ($data) + ' == +' + ($data) + ' ';\n if ($type == 'integer') {\n out += ' && !(' + ($data) + ' % 1)';\n }\n out += ')) ' + ($coerced) + ' = +' + ($data) + '; ';\n } else if ($type == 'boolean') {\n out += ' else if (' + ($data) + ' === \\'false\\' || ' + ($data) + ' === 0 || ' + ($data) + ' === null) ' + ($coerced) + ' = false; else if (' + ($data) + ' === \\'true\\' || ' + ($data) + ' === 1) ' + ($coerced) + ' = true; ';\n } else if ($type == 'null') {\n out += ' else if (' + ($data) + ' === \\'\\' || ' + ($data) + ' === 0 || ' + ($data) + ' === false) ' + ($coerced) + ' = null; ';\n } else if (it.opts.coerceTypes == 'array' && $type == 'array') {\n out += ' else if (' + ($dataType) + ' == \\'string\\' || ' + ($dataType) + ' == \\'number\\' || ' + ($dataType) + ' == \\'boolean\\' || ' + ($data) + ' == null) ' + ($coerced) + ' = [' + ($data) + ']; ';\n }\n }\n }\n out += ' else { ';\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ($errorKeyword || 'type') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { type: \\'';\n if ($typeIsArray) {\n out += '' + ($typeSchema.join(\",\"));\n } else {\n out += '' + ($typeSchema);\n }\n out += '\\' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should be ';\n if ($typeIsArray) {\n out += '' + ($typeSchema.join(\",\"));\n } else {\n out += '' + ($typeSchema);\n }\n out += '\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += ' } if (' + ($coerced) + ' !== undefined) { ';\n var $parentData = $dataLvl ? 'data' + (($dataLvl - 1) || '') : 'parentData',\n $parentDataProperty = $dataLvl ? it.dataPathArr[$dataLvl] : 'parentDataProperty';\n out += ' ' + ($data) + ' = ' + ($coerced) + '; ';\n if (!$dataLvl) {\n out += 'if (' + ($parentData) + ' !== undefined)';\n }\n out += ' ' + ($parentData) + '[' + ($parentDataProperty) + '] = ' + ($coerced) + '; } ';\n } else {\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ($errorKeyword || 'type') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { type: \\'';\n if ($typeIsArray) {\n out += '' + ($typeSchema.join(\",\"));\n } else {\n out += '' + ($typeSchema);\n }\n out += '\\' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should be ';\n if ($typeIsArray) {\n out += '' + ($typeSchema.join(\",\"));\n } else {\n out += '' + ($typeSchema);\n }\n out += '\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n }\n out += ' } ';\n }\n }\n if (it.schema.$ref && !$refKeywords) {\n out += ' ' + (it.RULES.all.$ref.code(it, '$ref')) + ' ';\n if ($breakOnError) {\n out += ' } if (errors === ';\n if ($top) {\n out += '0';\n } else {\n out += 'errs_' + ($lvl);\n }\n out += ') { ';\n $closingBraces2 += '}';\n }\n } else {\n var arr2 = it.RULES;\n if (arr2) {\n var $rulesGroup, i2 = -1,\n l2 = arr2.length - 1;\n while (i2 < l2) {\n $rulesGroup = arr2[i2 += 1];\n if ($shouldUseGroup($rulesGroup)) {\n if ($rulesGroup.type) {\n out += ' if (' + (it.util.checkDataType($rulesGroup.type, $data, it.opts.strictNumbers)) + ') { ';\n }\n if (it.opts.useDefaults) {\n if ($rulesGroup.type == 'object' && it.schema.properties) {\n var $schema = it.schema.properties,\n $schemaKeys = Object.keys($schema);\n var arr3 = $schemaKeys;\n if (arr3) {\n var $propertyKey, i3 = -1,\n l3 = arr3.length - 1;\n while (i3 < l3) {\n $propertyKey = arr3[i3 += 1];\n var $sch = $schema[$propertyKey];\n if ($sch.default !== undefined) {\n var $passData = $data + it.util.getProperty($propertyKey);\n if (it.compositeRule) {\n if (it.opts.strictDefaults) {\n var $defaultMsg = 'default is ignored for: ' + $passData;\n if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg);\n else throw new Error($defaultMsg);\n }\n } else {\n out += ' if (' + ($passData) + ' === undefined ';\n if (it.opts.useDefaults == 'empty') {\n out += ' || ' + ($passData) + ' === null || ' + ($passData) + ' === \\'\\' ';\n }\n out += ' ) ' + ($passData) + ' = ';\n if (it.opts.useDefaults == 'shared') {\n out += ' ' + (it.useDefault($sch.default)) + ' ';\n } else {\n out += ' ' + (JSON.stringify($sch.default)) + ' ';\n }\n out += '; ';\n }\n }\n }\n }\n } else if ($rulesGroup.type == 'array' && Array.isArray(it.schema.items)) {\n var arr4 = it.schema.items;\n if (arr4) {\n var $sch, $i = -1,\n l4 = arr4.length - 1;\n while ($i < l4) {\n $sch = arr4[$i += 1];\n if ($sch.default !== undefined) {\n var $passData = $data + '[' + $i + ']';\n if (it.compositeRule) {\n if (it.opts.strictDefaults) {\n var $defaultMsg = 'default is ignored for: ' + $passData;\n if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg);\n else throw new Error($defaultMsg);\n }\n } else {\n out += ' if (' + ($passData) + ' === undefined ';\n if (it.opts.useDefaults == 'empty') {\n out += ' || ' + ($passData) + ' === null || ' + ($passData) + ' === \\'\\' ';\n }\n out += ' ) ' + ($passData) + ' = ';\n if (it.opts.useDefaults == 'shared') {\n out += ' ' + (it.useDefault($sch.default)) + ' ';\n } else {\n out += ' ' + (JSON.stringify($sch.default)) + ' ';\n }\n out += '; ';\n }\n }\n }\n }\n }\n }\n var arr5 = $rulesGroup.rules;\n if (arr5) {\n var $rule, i5 = -1,\n l5 = arr5.length - 1;\n while (i5 < l5) {\n $rule = arr5[i5 += 1];\n if ($shouldUseRule($rule)) {\n var $code = $rule.code(it, $rule.keyword, $rulesGroup.type);\n if ($code) {\n out += ' ' + ($code) + ' ';\n if ($breakOnError) {\n $closingBraces1 += '}';\n }\n }\n }\n }\n }\n if ($breakOnError) {\n out += ' ' + ($closingBraces1) + ' ';\n $closingBraces1 = '';\n }\n if ($rulesGroup.type) {\n out += ' } ';\n if ($typeSchema && $typeSchema === $rulesGroup.type && !$coerceToTypes) {\n out += ' else { ';\n var $schemaPath = it.schemaPath + '.type',\n $errSchemaPath = it.errSchemaPath + '/type';\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ($errorKeyword || 'type') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { type: \\'';\n if ($typeIsArray) {\n out += '' + ($typeSchema.join(\",\"));\n } else {\n out += '' + ($typeSchema);\n }\n out += '\\' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should be ';\n if ($typeIsArray) {\n out += '' + ($typeSchema.join(\",\"));\n } else {\n out += '' + ($typeSchema);\n }\n out += '\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += ' } ';\n }\n }\n if ($breakOnError) {\n out += ' if (errors === ';\n if ($top) {\n out += '0';\n } else {\n out += 'errs_' + ($lvl);\n }\n out += ') { ';\n $closingBraces2 += '}';\n }\n }\n }\n }\n }\n if ($breakOnError) {\n out += ' ' + ($closingBraces2) + ' ';\n }\n if ($top) {\n if ($async) {\n out += ' if (errors === 0) return data; ';\n out += ' else throw new ValidationError(vErrors); ';\n } else {\n out += ' validate.errors = vErrors; ';\n out += ' return errors === 0; ';\n }\n out += ' }; return validate;';\n } else {\n out += ' var ' + ($valid) + ' = errors === errs_' + ($lvl) + ';';\n }\n\n function $shouldUseGroup($rulesGroup) {\n var rules = $rulesGroup.rules;\n for (var i = 0; i < rules.length; i++)\n if ($shouldUseRule(rules[i])) return true;\n }\n\n function $shouldUseRule($rule) {\n return it.schema[$rule.keyword] !== undefined || ($rule.implements && $ruleImplementsSomeKeyword($rule));\n }\n\n function $ruleImplementsSomeKeyword($rule) {\n var impl = $rule.implements;\n for (var i = 0; i < impl.length; i++)\n if (it.schema[impl[i]] !== undefined) return true;\n }\n return out;\n}\n","'use strict';\n\nvar IDENTIFIER = /^[a-z_$][a-z0-9_$-]*$/i;\nvar customRuleCode = require('./dotjs/custom');\nvar definitionSchema = require('./definition_schema');\n\nmodule.exports = {\n add: addKeyword,\n get: getKeyword,\n remove: removeKeyword,\n validate: validateKeyword\n};\n\n\n/**\n * Define custom keyword\n * @this Ajv\n * @param {String} keyword custom keyword, should be unique (including different from all standard, custom and macro keywords).\n * @param {Object} definition keyword definition object with properties `type` (type(s) which the keyword applies to), `validate` or `compile`.\n * @return {Ajv} this for method chaining\n */\nfunction addKeyword(keyword, definition) {\n /* jshint validthis: true */\n /* eslint no-shadow: 0 */\n var RULES = this.RULES;\n if (RULES.keywords[keyword])\n throw new Error('Keyword ' + keyword + ' is already defined');\n\n if (!IDENTIFIER.test(keyword))\n throw new Error('Keyword ' + keyword + ' is not a valid identifier');\n\n if (definition) {\n this.validateKeyword(definition, true);\n\n var dataType = definition.type;\n if (Array.isArray(dataType)) {\n for (var i=0; i= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\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\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\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 * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return 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 * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.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 var 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 var 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);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" 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 * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return (typeof payload === 'object') && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.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 var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var 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 var 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 var 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);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\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} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\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 * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar pkg = require('./../../package.json');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\nvar currentVerArr = pkg.version.split('.');\n\n/**\n * Compare package versions\n * @param {string} version\n * @param {string?} thanVersion\n * @returns {boolean}\n */\nfunction isOlderVersion(version, thanVersion) {\n var pkgVersionArr = thanVersion ? thanVersion.split('.') : currentVerArr;\n var destVer = version.split('.');\n for (var i = 0; i < 3; i++) {\n if (pkgVersionArr[i] > destVer[i]) {\n return true;\n } else if (pkgVersionArr[i] < destVer[i]) {\n return false;\n }\n }\n return false;\n}\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator\n * @param {string?} version\n * @param {string} message\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n var isDeprecated = version && isOlderVersion(version);\n\n function formatMessage(opt, desc) {\n return '[Axios v' + pkg.version + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new Error(formatMessage(opt, ' has been removed in ' + version));\n }\n\n if (isDeprecated && !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 * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new TypeError('options must be an object');\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new TypeError('option ' + opt + ' must be ' + result);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw Error('Unknown option ' + opt);\n }\n }\n}\n\nmodule.exports = {\n isOlderVersion: isOlderVersion,\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\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 && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\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 */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\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 */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\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 (var 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 for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\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 * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n 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 * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\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 * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","module.exports = { \"default\": require(\"core-js/library/fn/get-iterator\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/is-iterable\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/object/create\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/object/get-own-property-descriptor\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/object/get-prototype-of\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/object/keys\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/object/set-prototype-of\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/promise\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n if (key in obj) {\n (0, _defineProperty2.default)(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _assign = require(\"../core-js/object/assign\");\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _assign2.default || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _setPrototypeOf = require(\"../core-js/object/set-prototype-of\");\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _create = require(\"../core-js/object/create\");\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n }\n\n subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n};","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _isIterable2 = require(\"../core-js/is-iterable\");\n\nvar _isIterable3 = _interopRequireDefault(_isIterable2);\n\nvar _getIterator2 = require(\"../core-js/get-iterator\");\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = (0, _getIterator3.default)(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if ((0, _isIterable3.default)(Object(arr))) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();","\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\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","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\nvar possibleConstructorReturn = require(\"./possibleConstructorReturn.js\");\nfunction _callSuper(t, o, e) {\n return o = getPrototypeOf(o), possibleConstructorReturn(t, isNativeReflectConstruct() ? Reflect.construct(o, e || [], getPrototypeOf(t).constructor) : o.apply(t, e));\n}\nmodule.exports = _callSuper, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _extends() {\n return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(t) {\n return module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _getPrototypeOf(t);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && setPrototypeOf(t, e);\n}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(e) {\n return e && e.__esModule ? e : {\n \"default\": e\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (module.exports = _isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports)();\n}\nmodule.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var defineProperty = require(\"./defineProperty.js\");\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nmodule.exports = _objectSpread2, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(t, e) {\n return module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _setPrototypeOf(t, e);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// Axios v1.7.9 Copyright (c) 2024 Matt Zabriskie and contributors\n'use strict';\n\nfunction bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\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\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\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} 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}\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 let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || 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 return value != null && Number.isFinite(value = +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\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\nvar utils$1 = {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\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 setImmediate: _setImmediate,\n asap\n};\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 if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils$1.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$1.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype$1 = 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$1, '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$1);\n\n utils$1.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\n// eslint-disable-next-line strict\nvar httpAdapter = null;\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$1.isPlainObject(thing) || utils$1.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$1.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} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils$1.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils$1.toFlatObject(utils$1, {}, 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} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils$1.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 (FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils$1.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$1.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$1.isSpecCompliantForm(formData);\n\n if (!utils$1.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$1.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils$1.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils$1.isArrayBuffer(value) || utils$1.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} 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$1.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$1.isArray(value) && isFlatArray(value)) ||\n ((utils$1.isFileList(value) || utils$1.endsWith(key, '[]')) && (arr = utils$1.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$1.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$1.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$1.forEach(value, function each(el, key) {\n const result = !(utils$1.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils$1.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$1.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\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$1(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} params - The parameters to be converted to a FormData object.\n * @param {Object} 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$1);\n } : encode$1;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\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|Function)} options\n *\n * @returns {string} The formatted url\n */\nfunction 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 if (utils$1.isFunction(options)) {\n options = {\n serialize: options\n };\n } \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$1.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\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$1.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nvar InterceptorManager$1 = InterceptorManager;\n\nvar transitionalDefaults = {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n\nvar URLSearchParams$1 = typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n\nvar FormData$1 = typeof FormData !== 'undefined' ? FormData : null;\n\nvar Blob$1 = typeof Blob !== 'undefined' ? Blob : null;\n\nvar platform$1 = {\n isBrowser: true,\n classes: {\n URLSearchParams: URLSearchParams$1,\n FormData: FormData$1,\n Blob: Blob$1\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n\nconst hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\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 hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\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 */\nconst hasStandardBrowserWebWorkerEnv = (() => {\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\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nvar utils = /*#__PURE__*/Object.freeze({\n __proto__: null,\n hasBrowserEnv: hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv: hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv: hasStandardBrowserEnv,\n navigator: _navigator,\n origin: origin\n});\n\nvar platform = {\n ...utils,\n ...platform$1\n};\n\nfunction 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$1.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\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$1.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} 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 | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils$1.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils$1.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$1.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils$1.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils$1.isFormData(formData) && utils$1.isFunction(formData.entries)) {\n const obj = {};\n\n utils$1.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\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$1.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils$1.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', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils$1.isObject(data);\n\n if (isObjectPayload && utils$1.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils$1.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils$1.isArrayBuffer(data) ||\n utils$1.isBuffer(data) ||\n utils$1.isStream(data) ||\n utils$1.isFile(data) ||\n utils$1.isBlob(data) ||\n utils$1.isReadableStream(data)\n ) {\n return data;\n }\n if (utils$1.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils$1.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$1.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 (utils$1.isResponse(data) || utils$1.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils$1.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 'Content-Type': undefined\n }\n }\n};\n\nutils$1.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nvar defaults$1 = defaults;\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils$1.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 */\nvar parseHeaders = 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\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$1.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$1.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils$1.isString(value)) return;\n\n if (utils$1.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils$1.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$1.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$1.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$1.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils$1.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite);\n } else if(utils$1.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils$1.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\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$1.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$1.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils$1.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$1.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$1.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$1.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$1.forEach(this, (value, header) => {\n const key = utils$1.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$1.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils$1.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$1.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\n// reserved names hotfix\nutils$1.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils$1.freezeMethods(AxiosHeaders);\n\nvar AxiosHeaders$1 = AxiosHeaders;\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 */\nfunction transformData(fns, response) {\n const config = this || defaults$1;\n const context = response || config;\n const headers = AxiosHeaders$1.from(context.headers);\n let data = context.data;\n\n utils$1.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\nfunction isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\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$1.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\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 */\nfunction 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\nfunction parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\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\n/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn.apply(null, args);\n };\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs);\n }, threshold - passed);\n }\n }\n };\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nconst progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(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 lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n};\n\nconst progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n};\n\nconst asyncDecorator = (fn) => (...args) => utils$1.asap(() => fn(...args));\n\nvar isURLSameOrigin = platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n})(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n) : () => true;\n\nvar cookies = platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils$1.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils$1.isString(path) && cookie.push('path=' + path);\n\n utils$1.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\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 */\nfunction isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" 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\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 */\nfunction combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\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 */\nfunction buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders$1 ? { ...thing } : 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 */\nfunction mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils$1.isPlainObject(target) && utils$1.isPlainObject(source)) {\n return utils$1.merge.call({caseless}, target, source);\n } else if (utils$1.isPlainObject(source)) {\n return utils$1.merge({}, source);\n } else if (utils$1.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, prop , caseless) {\n if (!utils$1.isUndefined(b)) {\n return getMergedValue(a, b, prop , caseless);\n } else if (!utils$1.isUndefined(a)) {\n return getMergedValue(undefined, a, prop , caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils$1.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$1.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils$1.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 withXSRFToken: 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 , prop) => mergeDeepProperties(headersToObject(a), headersToObject(b),prop, true)\n };\n\n utils$1.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$1.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n\nvar resolveConfig = (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders$1.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils$1.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\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\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils$1.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n};\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nvar xhrAdapter = isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders$1.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, 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$1.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 // 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$1.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$1.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 (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\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(_config.url);\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\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n };\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT));\n }, timeout);\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n };\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils$1.asap(unsubscribe);\n\n return signal;\n }\n};\n\nvar composeSignals$1 = composeSignals;\n\nconst streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n};\n\nconst readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n};\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n};\n\nconst trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n };\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n};\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n};\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils$1.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils$1.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n });\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils$1.isBlob(body)) {\n return body.size;\n }\n\n if(utils$1.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if(utils$1.isArrayBufferView(body) || utils$1.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils$1.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils$1.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n};\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils$1.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n};\n\nvar fetchAdapter = isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals$1([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils$1.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader);\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils$1.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = \"credentials\" in Request.prototype;\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils$1.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils$1.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders$1.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n });\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n};\n\nutils$1.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\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils$1.isFunction(adapter) || adapter === null || adapter === false;\n\nvar adapters = {\n getAdapter: (adapters) => {\n adapters = utils$1.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n};\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 */\nfunction dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders$1.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$1.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$1.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$1.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n\nconst VERSION = \"1.7.9\";\n\nconst validators$1 = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators$1[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$1.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\nvalidators$1.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return 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\nvar validator = {\n assertOptions,\n validators: validators$1\n};\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$1(),\n response: new InterceptorManager$1()\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 async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack;\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\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$1.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 validator.assertOptions(config, {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken')\n }, true);\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils$1.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils$1.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders$1.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$1.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$1.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\nvar Axios$1 = Axios;\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 toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\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\nvar CancelToken$1 = CancelToken;\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 */\nfunction spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\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 */\nfunction isAxiosError(payload) {\n return utils$1.isObject(payload) && (payload.isAxiosError === true);\n}\n\nconst 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\nvar HttpStatusCode$1 = HttpStatusCode;\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$1(defaultConfig);\n const instance = bind(Axios$1.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils$1.extend(instance, Axios$1.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils$1.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$1);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios$1;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken$1;\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$1;\n\naxios.formToJSON = thing => formDataToJSON(utils$1.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode$1;\n\naxios.default = axios;\n\nmodule.exports = axios;\n//# sourceMappingURL=axios.cjs.map\n","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","import _Object$assign from \"@babel/runtime-corejs2/core-js/object/assign\";\nexport default function _extends() {\n _extends = _Object$assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","import _Object$create from \"@babel/runtime-corejs2/core-js/object/create\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = _Object$create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}","import _Object$keys from \"@babel/runtime-corejs2/core-js/object/keys\";\nexport default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n\n var sourceKeys = _Object$keys(source);\n\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nexport { _assertThisInitialized as default };","function asyncGeneratorStep(n, t, e, r, o, a, c) {\n try {\n var i = n[a](c),\n u = i.value;\n } catch (n) {\n return void e(n);\n }\n i.done ? t(u) : Promise.resolve(u).then(r, o);\n}\nfunction _asyncToGenerator(n) {\n return function () {\n var t = this,\n e = arguments;\n return new Promise(function (r, o) {\n var a = n.apply(t, e);\n function _next(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n);\n }\n function _throw(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n);\n }\n _next(void 0);\n });\n };\n}\nexport { _asyncToGenerator as default };","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nfunction _callSuper(t, o, e) {\n return o = getPrototypeOf(o), possibleConstructorReturn(t, isNativeReflectConstruct() ? Reflect.construct(o, e || [], getPrototypeOf(t).constructor) : o.apply(t, e));\n}\nexport { _callSuper as default };","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","import isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}\nexport { _construct as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nexport { _createClass as default };","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nfunction _createForOfIteratorHelper(r, e) {\n var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (!t) {\n if (Array.isArray(r) || (t = unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) {\n t && (r = t);\n var _n = 0,\n F = function F() {};\n return {\n s: F,\n n: function n() {\n return _n >= r.length ? {\n done: !0\n } : {\n done: !1,\n value: r[_n++]\n };\n },\n e: function e(r) {\n throw r;\n },\n f: F\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var o,\n a = !0,\n u = !1;\n return {\n s: function s() {\n t = t.call(r);\n },\n n: function n() {\n var r = t.next();\n return a = r.done, r;\n },\n e: function e(r) {\n u = !0, o = r;\n },\n f: function f() {\n try {\n a || null == t[\"return\"] || t[\"return\"]();\n } finally {\n if (u) throw o;\n }\n }\n };\n}\nexport { _createForOfIteratorHelper as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","function _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\nexport { _getPrototypeOf as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && setPrototypeOf(t, e);\n}\nexport { _inherits as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);\n}\nexport { _inheritsLoose as default };","function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}\nexport { _isNativeReflectConstruct as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nexport { _objectSpread2 as default };","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nexport { _objectWithoutProperties as default };","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nexport { _possibleConstructorReturn as default };","import _typeof from \"./typeof.js\";\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n };\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nexport { _regeneratorRuntime as default };","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","import superPropBase from \"./superPropBase.js\";\nfunction _get() {\n return _get = \"undefined\" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, r) {\n var p = superPropBase(e, t);\n if (p) {\n var n = Object.getOwnPropertyDescriptor(p, t);\n return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value;\n }\n }, _get.apply(null, arguments);\n}\nexport { _get as default };","import getPrototypeOf from \"./getPrototypeOf.js\";\nfunction _superPropBase(t, o) {\n for (; !{}.hasOwnProperty.call(t, o) && null !== (t = getPrototypeOf(t)););\n return t;\n}\nexport { _superPropBase as default };","import get from \"./get.js\";\nimport getPrototypeOf from \"./getPrototypeOf.js\";\nfunction _superPropGet(t, o, e, r) {\n var p = get(getPrototypeOf(1 & r ? t.prototype : t), o, e);\n return 2 & r && \"function\" == typeof p ? function (t) {\n return p.apply(e, t);\n } : p;\n}\nexport { _superPropGet as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _toArray(r) {\n return arrayWithHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableRest();\n}\nexport { _toArray as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nfunction _wrapNativeSuper(t) {\n var r = \"function\" == typeof Map ? new Map() : void 0;\n return _wrapNativeSuper = function _wrapNativeSuper(t) {\n if (null === t || !isNativeFunction(t)) return t;\n if (\"function\" != typeof t) throw new TypeError(\"Super expression must either be null or a function\");\n if (void 0 !== r) {\n if (r.has(t)) return r.get(t);\n r.set(t, Wrapper);\n }\n function Wrapper() {\n return construct(t, arguments, getPrototypeOf(this).constructor);\n }\n return Wrapper.prototype = Object.create(t.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n }), setPrototypeOf(Wrapper, t);\n }, _wrapNativeSuper(t);\n}\nexport { _wrapNativeSuper as default };","function _isNativeFunction(t) {\n try {\n return -1 !== Function.toString.call(t).indexOf(\"[native code]\");\n } catch (n) {\n return \"function\" == typeof t;\n }\n}\nexport { _isNativeFunction as default };"],"names":["Object","defineProperty","exports","value","_BondDataType","microsoft_bond_primitives_1","microsoft_bond_floatutils_1","microsoft_bond_utils_1","_Utf8_GetBytes","array","i","length","char","charCodeAt","push","_Base64_GetString","inArray","num","lookup","output","paddingBytes","length_1","temp","charAt","join","temp2","_Varint_GetBytes","_Varint64_GetBytes","low","high","_Double_GetBytes","BrowserChecker","_IsDataViewSupport","view","DataView","ArrayBuffer","setFloat64","getUint8","FloatUtils","_ConvertNumberToArray","_Zigzag_EncodeZigzag32","Number","_ToInt32","_Zigzag_EncodeZigzag64","tmpH","tmpL","res","UInt64","isDouble","this","_doubleZero","_floatZero","precisionBits","bias","minExponent","maxExponent","sign","Math","abs","intPart","floor","floatPart","len","buffer","Array","firstBit","exponent","lastBit","_doubleNegInifinity","_floatNegInifinity","_doubleInifinity","_floatInifinity","result","MemoryStream","_buffer","prototype","_WriteByte","byte","_ToByte","_Write","offset","count","_GetBuffer","bond_const_1","_Encoding","IO","Int64","CompactBinaryProtocolWriter","stream","_stream","_WriteBlob","blob","_WriteBool","_WriteContainerBegin","size","elementType","_WriteUInt8","_WriteUInt32","_WriteMapContainerBegin","keyType","valueType","_WriteDouble","_WriteFieldBegin","type","id","metadata","_WriteInt32","_WriteInt64","_WriteUInt64","_WriteString","_WriteStructEnd","isBase","_BT_STOP_BASE","_BT_STOP","_ToUInt32","_ToUInt8","numberStr","parseInt","_Equals","tmp","AWTClockSkewManager","clockSkewRefreshDurationInMins","_reset","allowRequestSending","_isFirstRequest","_clockSkewSet","_allowRequestSending","shouldAddClockSkewHeaders","_shouldAddClockSkewHeaders","getClockSkewHeaderValue","_clockSkewHeaderValue","setClockSkew","timeDeltaInMillis","_this","setTimeout","AWTKillSwitch","_killedTokenDictionary","setKillSwitchTenants","killTokens","killDuration","killedTokens","split","durationMs","Date","now","ex","isTenantKilled","tenantToken","undefined","AWTNotificationManager","addNotificationListener","listener","listeners","removeNotificationListener","index","indexOf","splice","eventsSent","events","_loop_1","this_1","eventsDropped","reason","_loop_2","this_2","eventsRetrying","_loop_3","this_3","eventsRejected","_loop_4","this_4","Enums_1","AWTRecordBatcher","_outboundQueue","_maxNumberOfEvents","_currentBatch","_currentNumEventsInBatch","addEventToBatch","event","priority","AWTEventPriority","Immediate_sync","immediateBatch","apiKey","flushBatch","hasBatch","AWTRetryPolicy","shouldRetryForStatus","httpStatusCode","getMillisToBackoffForRetry","retriesSoFar","waitDuration","randomBackoff","random","BaseBackoff","pow","min","Bond","AWTNotificationManager_1","Utils","RequestSizeLimitBytes","AWTSerializer","getPayloadBlob","requestDictionary","tokenCount","remainingRequest","requestFull","writer","token","_BT_MAP","_BT_STRING","_BT_LIST","hasOwnProperty","dataPackage","_BT_STRUCT","newGuid","_BT_INT64","numberToBondInt64","dpSizePos","dpSizeSerialized","currentStreamPos","writeEvent","default","AWTEventsRejectedReason","SizeLimitExceeded","_addNewDataPackageSize","payloadBlob","oldDpSize","streamPos","newRecordCountSerialized","j","slice","eventData","timestamp","name","propsString","propStringCount","propsInt64","propInt64Count","propsDouble","propDoubleCount","propsBool","propBoolCount","propsDate","propDateCount","piiProps","piiPropCount","ccProps","ccPropCount","key","properties","property","cc","pii","AWTPropertyType","String","Double","Boolean","toString","_BT_INT32","_BT_BOOL","_BT_DOUBLE","base64Encode","data","AWTStatsManager","initialize","sendStats","_sendStats","_isInitalized","_addStat","AWTEventsDroppedReason","NonRetryableStatus","MaxRetryLimit","QueueFull","InvalidEvent","KillSwitch","flush","teardown","eventReceived","tenantId","_stats","statName","StatsApiKey","getTenantId","AWTPiiKind","AWTCustomerContentKind","GuidRegex","NullValue","EventNameAndTypeRegex","EventNameDotRegex","PropertyNameRegex","beaconsSupported","uInt8ArraySupported","useXDR","isString","isNumber","isBoolean","isDate","msToTicks","timeInMs","isReactNative","navigator","product","twoDigit","n","isNotDefined","bond_value","replace","c","r","indexTenantId","substring","isBeaconsSupported","sendBeacon","isUint8ArrayAvailable","Uint8Array","userAgent","ua","toLowerCase","isSafariOrFirefox","isPriority","sanitizeProperty","test","Unspecified","isPropertyType","getCorrectType","NaN","getTime","sanitizePropertyType","isPii","isCustomerContent","getISOString","date","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","threeDigit","getUTCMilliseconds","useXDomainRequest","conn","XMLHttpRequest","withCredentials","XDomainRequest","DEVICE_ID_COOKIE","FIRSTLAUNCHTIME_COOKIE","BROWSERS","OPERATING_SYSTEMS","OSNAMEREGEX","VERSION_MAPPINGS","REGEX_VERSION","UNKNOWN","UNDEFINED","AWTAutoCollection","addPropertyStorageOverride","propertyStorage","_propertyStorage","autoCollect","semanticContext","disableCookies","_semanticContext","_disableCookies","_autoCollect","_autoCollectFromUserAgent","_deleteCookie","_areCookiesAvailable","_autoCollectDeviceId","checkAndSaveDeviceId","deviceId","oldDeviceId","_getData","flt","_saveData","_setFirstLaunchTime","setDeviceId","document","documentElement","setAppLanguage","lang","setUserLanguage","userLanguage","language","timeZone","getTimezoneOffset","minutes","hours","timeZonePrefix","setUserTimeZone","browserName","_getBrowserName","setDeviceBrowserName","setDeviceBrowserVersion","_getBrowserVersion","osName","_getOsName","setDeviceOsName","setDeviceOsVersion","_getOsVersion","_userAgentContainsString","isNaN","fltDate","setTime","firstLaunchTime","searchString","_getIeVersion","_getOtherVersion","classicIeVersionMatches","match","RegExp","ieVersionMatches","browserString","matches","_getGenericOsVersion","_getMacOsxVersion","ntVersionMatches","macOsxVersionInUserAgentMatches","versionString","delimiter","_getDelimiter","setProperty","expires","toUTCString","cookie","getProperty","ca","AWTEventProperties","_event","setName","getName","setType","getType","setTimestamp","timestampInEpochMillis","getTimestamp","setEventPriority","getEventPriority","NotSet","setPropertyWithPii","setPropertyWithCustomerContent","customerContent","getPropertyMap","getEvent","AWTSerializer_1","AWTRetryPolicy_1","AWTKillSwitch_1","AWTClockSkewManager_1","Version","AWTTransmissionManagerCore_1","Method","AWTHttpManager","_requestQueue","collectorUrl","_queueManager","_httpInterface","_urlString","FullVersionString","_killSwitch","_paused","_useBeacons","_activeConnections","_clockSkewManager","sendPOST","urlString","ontimeout","onerror","onload","sync","xdr","open","send","fetch","body","method","then","response","headerMap","headers","forEach","status","catch","error","xhr_1","_convertAllHeadersToMap","getAllResponseHeaders","e","hasIdleConnection","sendQueuedRequests","_sendRequest","shift","scheduleTimer","isCompletelyIdle","pause","resume","removeQueuedRequests","sendSynchronousRequest","request","High","retryCount","isTeardown","isSynchronous","addBackRequest","tokenCount_1","apikey_1","payloadResult","sendAttempt","_retryRequestIfNeeded","_handleRequestFinished","apikey","shouldRetry","backOffTransmission","success","clearBackOff","headersString","headersArray","header","Enums_2","AWTLogManagerSettings_1","AWTLogger_1","AWTAutoCollection_1","AWTLogManager","configuration","_isInitialized","defaultTenantToken","_overrideValuesFromConfig","_config","disableCookiesUsage","propertyStorageOverride","sessionEnabled","loggingEnabled","enableAutoUserSession","getLogger","logSession","AWTSessionState","Started","window","addEventListener","flushAndTeardown","getSemanticContext","callback","_isDestroyed","Ended","pauseTransmission","resumeTransmision","setTransmitProfile","profileName","loadTransmitProfiles","profiles","setContext","logManagerContext","setContextWithPii","setContextWithCustomerContent","_loggers","config","collectorUri","cacheMemorySizeLimitInNumberOfEvents","httpXHROverride","canSendStatEvent","eventName","AWTEventProperties_1","AWTSemanticContext_1","AWTLogManagerSettings","AWTStatsManager_1","AWTLogger","_apiKey","_contextProperties","_sessionStartTime","_createInitId","logEvent","sanitizeProperties","_logEvent","_getInternalEvent","state","sessionEvent","_addPropertiesToEvent","_sessionId","sessionDurationSec","_getSessionDurationFromTime","getSessionId","logFailure","signature","detail","category","failureEvent","logPageView","pageName","uri","referrerUri","pageViewEvent","_initIdMap","propertiesEvent","name_1","timeInSec","eventWithMetaData","contextProperties","_addContextIfAbsent","_setDefaultProperty","_getInitId","_getSequenceId","toISOString","Normal","_sendEvent","name_2","sendEvent","name_3","internalEvent","_sequenceIdMap","AWTHttpManager_1","AWTRecordBatcher_1","AWTQueueManager","_queueSizeLimit","xhrOverride","_isCurrentlyUploadingNow","_uploadNowQueue","_shouldDropEventsOnPause","_queueSize","_inboundQueues","Low","_addEmptyQueues","_batcher","_httpManager","addEvent","_dropEventWithPriorityOrLess","_addEventToProperQueue","sendEventsForPriorityAndAbove","_batchEvents","hasEvents","uploadNow","_uploadNow","shouldDropEventsOnPause","resumeTransmission","_removeFirstQueues","currentPriority","priorityToProcess","event_1","pop","_checkOutboundQueueEmptyAndSent","UI_IDTYPE","AWTSemanticContext","_allowDeviceFields","_properties","setAppId","appId","_addContext","setAppVersion","appVersion","appLanguage","deviceOsName","deviceOsVersion","deviceBrowserName","deviceBrowserVersion","setDeviceMake","deviceMake","setDeviceModel","deviceModel","setUserId","userId","userIdType","inferredUserIdType","SipAddress","AWTUserIdType","PhoneNumber","SmtpAddress","EmailAddress","Unknown","Skype","Identity","_addContextWithPii","setUserAdvertisingId","userAdvertisingId","userTimeZone","AWTTransmissionManager","setEventsHandler","eventsHandler","getEventsHandler","DataModels_1","AWTQueueManager_1","AWTLogManager_1","StatName","AWTTransmissionManagerCore","_eventHandler","timer","_profiles","_currentProfile","_timeout","_currentBackoffCount","_batchAndSendEvents","_timerCount","_newEventsAllowed","_initializeProfiles","stats","statKey","clearTimeout","_resetTransmitProfiles","timerMultiplier","ceil","currentTime","_lastUploadNowCall","AWT_REAL_TIME","AWT_NEAR_REAL_TIME","AWT_BEST_EFFORT","AWTTransmissionManager_1","AWT_COLLECTOR_URL_UNITED_STATES","AWT_COLLECTOR_URL_GERMANY","AWT_COLLECTOR_URL_JAPAN","AWT_COLLECTOR_URL_AUSTRALIA","AWT_COLLECTOR_URL_EUROPE","AWT_COLLECTOR_URL_USGOV_DOD","AWT_COLLECTOR_URL_USGOV_DOJ","module","arr","arr2","__esModule","isArray","arrayLikeToArray","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","done","Promise","fn","self","args","arguments","apply","err","instance","Constructor","TypeError","_defineProperties","target","props","descriptor","enumerable","configurable","writable","protoProps","staticProps","obj","iter","Symbol","iterator","from","objectWithoutPropertiesLoose","source","excluded","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","call","sourceKeys","keys","arrayWithHoles","iterableToArray","unsupportedIterableToArray","nonIterableRest","arrayWithoutHoles","nonIterableSpread","_typeof","constructor","o","minLen","compileSchema","Cache","SchemaObject","stableStringify","formats","rules","$dataMetaSchema","util","Ajv","validate","schemaKeyRef","v","getSchema","Error","schemaObj","_addSchema","_compile","valid","$async","errors","compile","schema","_meta","addSchema","_skipValidation","_getId","checkUnique","normalizeId","_schemas","addMetaSchema","skipValidation","validateSchema","throwOrLogError","$schema","_opts","defaultMeta","meta","META_SCHEMA_ID","logger","warn","message","errorsText","keyRef","_getSchemaObj","ref","root","baseId","_fragments","fragment","_getSchemaFragment","removeSchema","_removeAllSchemas","_refs","_cache","clear","del","cacheKey","serialize","addFormat","format","_formats","options","separator","dataVar","text","dataPath","shouldAddSchema","cached","get","addUsedSchema","recursiveMeta","willValidate","localRefs","ids","put","compiling","callValidate","currentOpts","_metaOpts","refs","refVal","_validate","compileAsync","customKeyword","addKeyword","add","getKeyword","removeKeyword","remove","validateKeyword","errorClasses","ValidationError","Validation","MissingRefError","MissingRef","META_IGNORE_OPTIONS","META_SUPPORT_DATA","opts","copy","log","noop","console","setLogger","cache","_loadingSchemas","_compilations","RULES","schemaId","_get$IdOrId","_get$Id","chooseGetId","loopRequired","Infinity","errorDataPath","_errorDataPathProperty","metaOpts","getMetaSchemaOptions","addInitialFormats","keywords","keyword","addInitialKeywords","$dataSchema","$data","$id","metaSchema","addDefaultMetaSchema","nullable","optsSchemas","schemas","addInitialSchemas","regex","loadSchema","p","loadMetaSchemaOf","_compileAsync","sch","$ref","missingSchema","added","missingRef","schemaPromise","removePromise","loadMissingSchema","url","fullPath","errorSubclass","Subclass","create","ajv","validation","DATE","DAYS","TIME","HOSTNAME","URI","URITEMPLATE","URL","UUID","JSON_POINTER","JSON_POINTER_URI_FRAGMENT","RELATIVE_JSON_POINTER","mode","str","year","month","day","isLeapYear","time","full","hour","minute","second","fast","email","hostname","ipv4","ipv6","uuid","dateTime","DATE_TIME_SEPARATOR","NOT_URI_FRAGMENT","Z_ANCHOR","validateGenerator","ucs2length","equal","checkCompiling","compIndex","endCompiling","patternCode","patterns","toQuotedString","defaultCode","refValCode","customRuleCode","vars","statement","code","patternsHash","defaults","defaultsHash","customRules","compilation","localCompile","cv","sourceCode","_schema","_root","isRoot","isTop","schemaPath","errSchemaPath","errorPath","resolveRef","usePattern","useDefault","useCustomRule","processCode","Function","makeValidate","_refVal","refCode","refIndex","resolvedRef","rootRefId","addLocalRef","localSchema","inlineRef","inlineRefs","refId","replaceLocalRef","removeLocalRef","inline","regexStr","valueStr","rule","parentSchema","it","deps","definition","dependencies","every","macro","traverse","resolveSchema","parse","refPath","_getFullPath","getFullPath","resolveRecursive","getJsonPointer","parsedRef","resolveUrl","baseIds","fullPaths","allKeys","jsonPtr","rootSchema","parentJsonPtr","parentKeyword","keyIndex","escapeFragment","PREVENT_SCOPE_CHANGE","toHash","parts","part","unescapeFragment","SIMPLE_INLINED","limit","checkNoRef","countKeys","item","normalize","TRAILING_SLASH_HASH","ruleModules","ALL","all","types","group","map","implKeywords","k","implements","$comment","concat","custom","pos","checkDataType","dataType","strictNumbers","negate","EQUAL","AND","OK","NOT","to","checkDataTypes","dataTypes","t","object","null","number","integer","coerceToTypes","optionCoerceTypes","COERCE_TO_TYPES","escapeQuotes","varOccurences","varReplace","expr","schemaHasRules","schemaHasRulesExcept","exceptKeyword","schemaUnknownRules","getPathExpr","currentPath","jsonPointers","joinPaths","getPath","prop","path","escapeJsonPointer","getData","lvl","paths","up","jsonPointer","segments","segment","unescapeJsonPointer","decodeURIComponent","encodeURIComponent","hash","IDENTIFIER","SINGLE_QUOTE","a","b","KEYWORDS","keywordsJsonPointers","JSON","stringify","anyOf","definitions","simpleTypes","statements","not","required","items","modifying","async","const","$keyword","$ruleType","$schemaValue","out","$lvl","level","$dataLvl","dataLevel","$schemaPath","$errSchemaPath","$breakOnError","allErrors","$isData","dataPathArr","$isMax","$exclusiveKeyword","$schemaExcl","$isDataExcl","$op","$notOp","$errorKeyword","$schemaValueExcl","$exclusive","$exclType","$exclIsNumber","$opStr","$opExpr","$$outStack","createErrors","messages","verbose","__err","compositeRule","unicode","$it","$closingBraces","$nextValid","$currentBaseId","$allSchemasEmpty","arr1","$sch","$i","l1","strictKeywords","$valid","$errs","$noEmptySchema","$wasComposite","$idx","$dataNxt","$nextData","$nonEmptySchema","$passData","$code","$compile","$inline","$macro","$ruleValidate","$validateCode","$rule","$definition","$rDef","$validateSchema","$ruleErrs","$ruleErr","$asyncKeyword","passContext","$parentData","$parentDataProperty","def_callRuleValidate","def_customError","$schemaDeps","$propertyDeps","$ownProperties","ownProperties","$property","$deps","$currentErrorPath","$propertyKey","$useData","$prop","$propertyPath","$missingProperty","i2","l2","$vSchema","$unknownFormats","unknownFormats","$allowUnknown","$format","$isObject","$formatType","$formatRef","$thenSch","$elseSch","$thenPresent","$elsePresent","$ifClause","allOf","contains","maximum","minimum","maxItems","minItems","maxLength","minLength","maxProperties","minProperties","multipleOf","oneOf","pattern","propertyNames","uniqueItems","$additionalItems","additionalItems","$currErrSchemaPath","multipleOfPrecision","$allErrorsOption","$prevValid","$passingSchemas","$key","$dataProperties","$schemaKeys","filter","notProto","$pProperties","patternProperties","$pPropertyKeys","$aProperties","additionalProperties","$someProperties","$noAdditional","$additionalIsSchema","$removeAdditional","removeAdditional","$checkAdditional","$required","$requiredHash","i1","$pProperty","$additionalProperty","$useDefaults","useDefaults","arr3","i3","l3","$hasDefault","arr4","i4","l4","$invalidName","$refCode","$refVal","$message","missingRefs","__callValidate","$propertySch","$loopRequired","$itemType","$typeIsArray","$method","$refKeywords","$unknownKwd","$keywordsMsg","$top","rootId","strictDefaults","$defaultMsg","$closingBraces1","$closingBraces2","$typeSchema","extendRefs","coerceTypes","$coerceToTypes","$rulesGroup","$shouldUseGroup","$dataType","$coerced","$type","arr5","i5","l5","$shouldUseRule","impl","$ruleImplementsSomeKeyword","definitionSchema","_addRule","ruleGroup","rg","throwError","_validateKeyword","utils","settle","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","createError","requestData","requestHeaders","responseType","isFormData","auth","username","password","unescape","Authorization","btoa","baseURL","onloadend","responseHeaders","responseText","statusText","toUpperCase","params","paramsSerializer","timeout","onreadystatechange","readyState","responseURL","onabort","timeoutErrorMessage","transitional","clarifyTimeoutError","isStandardBrowserEnv","xsrfValue","xsrfCookieName","read","xsrfHeaderName","val","setRequestHeader","isUndefined","onDownloadProgress","onUploadProgress","upload","cancelToken","promise","cancel","abort","bind","Axios","mergeConfig","createInstance","defaultConfig","context","extend","axios","instanceConfig","Cancel","CancelToken","isCancel","promises","spread","isAxiosError","__CANCEL__","executor","resolvePromise","throwIfRequested","InterceptorManager","dispatchRequest","validator","validators","interceptors","assertOptions","silentJSONParsing","boolean","forcedJSONParsing","requestInterceptorChain","synchronousRequestInterceptors","interceptor","runWhen","synchronous","unshift","fulfilled","rejected","responseInterceptorChain","chain","newConfig","onFulfilled","onRejected","getUri","handlers","use","eject","h","isAbsoluteURL","combineURLs","requestedURL","enhanceError","transformData","throwIfCancellationRequested","transformRequest","merge","common","adapter","transformResponse","toJSON","description","fileName","lineNumber","columnNumber","stack","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","directMergeKeys","getMergedValue","isPlainObject","mergeDeepProperties","axiosKeys","otherKeys","validateStatus","fns","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","process","getDefaultAdapter","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","isURLSearchParams","isObject","rawValue","parser","encoder","trim","stringifySafely","strictJSONParsing","maxContentLength","maxBodyLength","thisArg","encode","serializedParams","hashmarkIndex","relativeURL","write","domain","secure","toGMTString","payload","originURL","msie","urlParsingNode","createElement","resolveURL","href","setAttribute","protocol","host","search","port","pathname","location","requestURL","parsed","normalizedName","ignoreDuplicateOf","line","substr","pkg","thing","deprecatedWarnings","currentVerArr","version","isOlderVersion","thanVersion","pkgVersionArr","destVer","isDeprecated","formatMessage","opt","desc","allowUnknown","getPrototypeOf","isFunction","l","FormData","isView","pipe","URLSearchParams","assignValue","stripBOM","content","_defineProperty","_defineProperty2","defineProperties","_assign","_assign2","_setPrototypeOf2","_interopRequireDefault","_create2","_typeof3","subClass","superClass","__proto__","_typeof2","ReferenceError","_isIterable3","_getIterator3","_arr","_n","_d","_e","_s","_i","next","sliceIterator","_iterator2","_symbol2","byteLength","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","Arr","_byteLength","curByte","revLookup","fromByteArray","uint8","extraBytes","maxChunkLength","len2","encodeChunk","start","end","isNativeReflectConstruct","possibleConstructorReturn","Reflect","construct","toPropertyKey","_extends","assign","_getPrototypeOf","setPrototypeOf","_isNativeReflectConstruct","valueOf","u","f","ownKeys","getOwnPropertyDescriptor","getOwnPropertyDescriptors","assertThisInitialized","_setPrototypeOf","iterableToArrayLimit","toPrimitive","kindOf","kindOfTest","typeOfTest","toStringTag","isFileList","isReadableStream","isRequest","isResponse","isHeaders","allOwnKeys","getOwnPropertyNames","findKey","_key","_global","globalThis","g","isContextDefined","isTypedArray","TypedArray","isHTMLForm","isRegExp","reduceDescriptors","reducer","descriptors","reducedDescriptors","ret","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","isAsyncFn","_setImmediate","setImmediateSupported","postMessageSupported","setImmediate","callbacks","cb","postMessage","asap","queueMicrotask","nextTick","utils$1","kind","append","caseless","targetKey","inherits","superConstructor","toFlatObject","sourceObj","destObj","propFilter","merged","endsWith","position","lastIndex","toArray","forEachEntry","pair","matchAll","regExp","exec","hasOwnProp","freezeMethods","set","toObjectSet","arrayOrString","define","toCamelCase","m","p1","p2","toFiniteNumber","defaultValue","isFinite","global","generateString","alphabet","isSpecCompliantForm","toJSONObject","visit","reducedValue","isThenable","AxiosError","captureStackTrace","prototype$1","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","dots","predicates","toFormData","formData","metaTokens","indexes","option","visitor","defaultVisitor","useBlob","Blob","convertValue","Buffer","some","isFlatArray","el","exposedHelpers","build","encode$1","charMap","AxiosURLSearchParams","_pairs","_encode","serializeFn","InterceptorManager$1","transitionalDefaults","platform$1","isBrowser","classes","protocols","hasBrowserEnv","_navigator","hasStandardBrowserEnv","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","origin","platform","freeze","formDataToJSON","buildPath","isNumericKey","isLast","arrayToObject","entries","parsePropPath","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","helpers","isNode","toURLEncodedForm","formSerializer","_FormData","env","JSONRequested","ERR_BAD_RESPONSE","defaults$1","$internals","normalizeHeader","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","rawHeaders","tokens","tokensRE","parseTokens","has","matcher","deleted","deleteHeader","normalized","w","formatHeader","targets","asStrings","first","computed","accessor","accessors","defineAccessor","accessorName","methodName","arg1","arg2","arg3","buildAccessors","mapped","headerValue","AxiosHeaders$1","CanceledError","ERR_CANCELED","ERR_BAD_REQUEST","progressEventReducer","isDownloadStream","freq","bytesNotified","_speedometer","samplesCount","bytes","timestamps","firstSampleTS","head","tail","chunkLength","startedAt","bytesCount","passed","round","speedometer","lastArgs","threshold","invoke","throttle","loaded","total","lengthComputable","progressBytes","rate","progress","estimated","progressEventDecorator","throttled","asyncDecorator","isMSIE","headersToObject","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","withXSRFToken","decompress","beforeRedirect","transport","httpAgent","httpsAgent","socketPath","responseEncoding","configValue","resolveConfig","xhrAdapter","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","unsubscribe","signal","removeEventListener","ECONNABORTED","ERR_NETWORK","ETIMEDOUT","subscribe","aborted","parseProtocol","composeSignals$1","signals","controller","AbortController","streamChunk","chunk","chunkSize","readStream","asyncIterator","reader","getReader","trackStream","onProgress","onFinish","iterable","readBytes","_onFinish","ReadableStream","pull","close","loadedBytes","enqueue","return","highWaterMark","isFetchSupported","Request","Response","isReadableStreamSupported","encodeText","TextEncoder","arrayBuffer","supportsRequestStream","duplexAccessed","hasContentType","duplex","supportsResponseStream","resolvers","_","ERR_NOT_SUPPORT","resolveBodyLength","getContentLength","_request","getBodyLength","knownAdapters","http","xhr","fetchOptions","composedSignal","toAbortSignal","requestContentLength","contentTypeHeader","isCredentialsSupported","credentials","isStreamResponse","responseContentLength","responseData","renderReason","isResolvedHandle","adapters","nameOrAdapter","rejectedReasons","reasons","VERSION","validators$1","ERR_DEPRECATED","spelling","correctSpelling","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","configOrUrl","dummy","function","baseUrl","withXsrfToken","contextHeaders","generateHTTPMethod","isForm","Axios$1","_listeners","onfulfilled","_resolve","CancelToken$1","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","HttpStatusCode$1","formToJSON","getAdapter","_assertThisInitialized","_inheritsLoose","_objectWithoutPropertiesLoose","_arrayLikeToArray","_arrayWithHoles","_asyncToGenerator","_callSuper","_classCallCheck","_construct","_createClass","_createForOfIteratorHelper","F","s","_inherits","_iterableToArray","_nonIterableRest","_objectSpread2","_objectWithoutProperties","_possibleConstructorReturn","_regeneratorRuntime","wrap","Generator","Context","makeInvokeMethod","tryCatch","y","GeneratorFunction","GeneratorFunctionPrototype","d","values","defineIteratorMethods","_invoke","AsyncIterator","__await","callInvokeWithMethodAndArg","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","displayName","isGeneratorFunction","mark","awrap","reverse","prev","stop","rval","handle","complete","finish","delegateYield","_slicedToArray","_get","_superPropGet","_toArray","_toConsumableArray","_unsupportedIterableToArray","_wrapNativeSuper","Map","Wrapper"],"sourceRoot":""}