1 line
1.2 MiB
1 line
1.2 MiB
{"version":3,"file":"swagger-ui-es-bundle-core.js","mappings":"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","sources":["webpack://swagger-ui/external module \"react-immutable-pure-component\"","webpack://swagger-ui/./src/core/components/model.jsx","webpack://swagger-ui/./src/core/components/online-validator-badge.jsx","webpack://swagger-ui/external module \"remarkable/linkify\"","webpack://swagger-ui/external module \"dompurify\"","webpack://swagger-ui/./src/core/components/providers/markdown.jsx","webpack://swagger-ui/./src/core/plugins/all.js","webpack://swagger-ui/./src/core/plugins/auth/actions.js","webpack://swagger-ui/./src/core/plugins/auth/configs-extensions/wrap-actions.js","webpack://swagger-ui/./src/core/plugins/auth/index.js","webpack://swagger-ui/./src/core/plugins/auth/reducers.js","webpack://swagger-ui/./src/core/plugins/auth/selectors.js","webpack://swagger-ui/./src/core/plugins/auth/spec-extensions/wrap-actions.js","webpack://swagger-ui/./src/core/plugins/auth/wrap-actions.js","webpack://swagger-ui/./src/core/plugins/configs/actions.js","webpack://swagger-ui/./src/core/plugins/configs/helpers.js","webpack://swagger-ui/./src/core/plugins/configs/index.js","webpack://swagger-ui/./src/core/plugins/configs/reducers.js","webpack://swagger-ui/./src/core/plugins/configs/selectors.js","webpack://swagger-ui/./src/core/plugins/configs/spec-actions.js","webpack://swagger-ui/./src/core/plugins/deep-linking/helpers.js","webpack://swagger-ui/./src/core/plugins/deep-linking/index.js","webpack://swagger-ui/external module \"zenscroll\"","webpack://swagger-ui/./src/core/plugins/deep-linking/layout.js","webpack://swagger-ui/./src/core/plugins/deep-linking/operation-tag-wrapper.jsx","webpack://swagger-ui/./src/core/plugins/deep-linking/operation-wrapper.jsx","webpack://swagger-ui/./src/core/plugins/download-url.js","webpack://swagger-ui/./src/core/plugins/err/actions.js","webpack://swagger-ui/external module \"lodash/reduce\"","webpack://swagger-ui/./src/core/plugins/err/error-transformers/hook.js","webpack://swagger-ui/./src/core/plugins/err/error-transformers/transformers/not-of-type.js","webpack://swagger-ui/./src/core/plugins/err/error-transformers/transformers/parameter-oneof.js","webpack://swagger-ui/./src/core/plugins/err/index.js","webpack://swagger-ui/./src/core/plugins/err/reducers.js","webpack://swagger-ui/./src/core/plugins/err/selectors.js","webpack://swagger-ui/./src/core/plugins/filter/index.js","webpack://swagger-ui/./src/core/plugins/filter/opsFilter.js","webpack://swagger-ui/./src/core/plugins/layout/actions.js","webpack://swagger-ui/./src/core/plugins/layout/index.js","webpack://swagger-ui/./src/core/plugins/layout/reducers.js","webpack://swagger-ui/./src/core/plugins/layout/selectors.js","webpack://swagger-ui/./src/core/plugins/layout/spec-extensions/wrap-selector.js","webpack://swagger-ui/./src/core/plugins/logs/index.js","webpack://swagger-ui/./src/core/plugins/oas3/actions.js","webpack://swagger-ui/./src/core/plugins/oas3/auth-extensions/wrap-selectors.js","webpack://swagger-ui/./src/core/plugins/oas3/components/callbacks.jsx","webpack://swagger-ui/./src/core/plugins/oas3/components/http-auth.jsx","webpack://swagger-ui/./src/core/plugins/oas3/components/index.js","webpack://swagger-ui/./src/core/plugins/oas3/components/operation-link.jsx","webpack://swagger-ui/./src/core/plugins/oas3/components/operation-servers.jsx","webpack://swagger-ui/./src/core/plugins/oas3/components/request-body-editor.jsx","webpack://swagger-ui/./src/core/plugins/oas3/components/request-body.jsx","webpack://swagger-ui/./src/core/plugins/oas3/components/servers-container.jsx","webpack://swagger-ui/./src/core/plugins/oas3/components/servers.jsx","webpack://swagger-ui/./src/core/plugins/oas3/helpers.jsx","webpack://swagger-ui/./src/core/plugins/oas3/index.js","webpack://swagger-ui/./src/core/plugins/oas3/reducers.js","webpack://swagger-ui/./src/core/plugins/oas3/selectors.js","webpack://swagger-ui/./src/core/plugins/oas3/spec-extensions/selectors.js","webpack://swagger-ui/./src/core/plugins/oas3/spec-extensions/wrap-selectors.js","webpack://swagger-ui/./src/core/plugins/oas3/wrap-components/auth-item.jsx","webpack://swagger-ui/./src/core/plugins/oas3/wrap-components/index.js","webpack://swagger-ui/./src/core/plugins/oas3/wrap-components/json-schema-string.jsx","webpack://swagger-ui/./src/core/plugins/oas3/wrap-components/markdown.jsx","webpack://swagger-ui/./src/core/plugins/oas3/wrap-components/model.jsx","webpack://swagger-ui/./src/core/plugins/oas3/wrap-components/online-validator-badge.js","webpack://swagger-ui/./src/core/plugins/oas3/wrap-components/version-stamp.jsx","webpack://swagger-ui/./src/core/plugins/on-complete/index.js","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/repeat\"","webpack://swagger-ui/./src/core/plugins/request-snippets/fn.js","webpack://swagger-ui/./src/core/plugins/request-snippets/index.js","webpack://swagger-ui/./src/core/plugins/request-snippets/request-snippets.jsx","webpack://swagger-ui/./src/core/plugins/request-snippets/selectors.js","webpack://swagger-ui/./src/core/plugins/safe-render/components/error-boundary.jsx","webpack://swagger-ui/./src/core/plugins/safe-render/components/fallback.jsx","webpack://swagger-ui/./src/core/plugins/safe-render/fn.jsx","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/fill\"","webpack://swagger-ui/external module \"lodash/zipObject\"","webpack://swagger-ui/./src/core/plugins/safe-render/index.js","webpack://swagger-ui/external module \"randexp\"","webpack://swagger-ui/external module \"lodash/isEmpty\"","webpack://swagger-ui/./src/core/plugins/samples/fn.js","webpack://swagger-ui/./src/core/plugins/samples/index.js","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/promise\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/date/now\"","webpack://swagger-ui/external module \"lodash/isString\"","webpack://swagger-ui/external module \"lodash/debounce\"","webpack://swagger-ui/external module \"lodash/set\"","webpack://swagger-ui/./src/core/plugins/spec/actions.js","webpack://swagger-ui/./src/core/plugins/spec/index.js","webpack://swagger-ui/./src/core/plugins/spec/reducers.js","webpack://swagger-ui/./src/core/plugins/spec/selectors.js","webpack://swagger-ui/./src/core/plugins/spec/wrap-actions.js","webpack://swagger-ui/./src/core/plugins/swagger-js/configs-wrap-actions.js","webpack://swagger-ui/external module \"swagger-client/es/resolver\"","webpack://swagger-ui/external module \"swagger-client/es/execute\"","webpack://swagger-ui/external module \"swagger-client/es/http\"","webpack://swagger-ui/external module \"swagger-client/es/subtree-resolver\"","webpack://swagger-ui/./src/core/plugins/swagger-js/index.js","webpack://swagger-ui/./src/core/plugins/util/index.js","webpack://swagger-ui/./src/core/plugins/view/fn.js","webpack://swagger-ui/./src/core/plugins/view/index.js","webpack://swagger-ui/external module \"react-dom\"","webpack://swagger-ui/external module \"react-redux\"","webpack://swagger-ui/external module \"lodash/omit\"","webpack://swagger-ui/external module \"lodash/identity\"","webpack://swagger-ui/./src/core/plugins/view/root-injects.jsx","webpack://swagger-ui/external module \"react-syntax-highlighter/dist/esm/light\"","webpack://swagger-ui/external module \"react-syntax-highlighter/dist/esm/languages/hljs/javascript\"","webpack://swagger-ui/external module \"react-syntax-highlighter/dist/esm/languages/hljs/json\"","webpack://swagger-ui/external module \"react-syntax-highlighter/dist/esm/languages/hljs/xml\"","webpack://swagger-ui/external module \"react-syntax-highlighter/dist/esm/languages/hljs/bash\"","webpack://swagger-ui/external module \"react-syntax-highlighter/dist/esm/languages/hljs/yaml\"","webpack://swagger-ui/external module \"react-syntax-highlighter/dist/esm/languages/hljs/http\"","webpack://swagger-ui/external module \"react-syntax-highlighter/dist/esm/languages/hljs/powershell\"","webpack://swagger-ui/external module \"react-syntax-highlighter/dist/esm/styles/hljs/agate\"","webpack://swagger-ui/external module \"react-syntax-highlighter/dist/esm/styles/hljs/arta\"","webpack://swagger-ui/external module \"react-syntax-highlighter/dist/esm/styles/hljs/monokai\"","webpack://swagger-ui/external module \"react-syntax-highlighter/dist/esm/styles/hljs/nord\"","webpack://swagger-ui/external module \"react-syntax-highlighter/dist/esm/styles/hljs/obsidian\"","webpack://swagger-ui/external module \"react-syntax-highlighter/dist/esm/styles/hljs/tomorrow-night\"","webpack://swagger-ui/./src/core/syntax-highlighting.js","webpack://swagger-ui/external module \"@braintree/sanitize-url\"","webpack://swagger-ui/external module \"lodash/camelCase\"","webpack://swagger-ui/external module \"lodash/upperFirst\"","webpack://swagger-ui/external module \"lodash/find\"","webpack://swagger-ui/external module \"lodash/some\"","webpack://swagger-ui/external module \"lodash/eq\"","webpack://swagger-ui/external module \"css.escape\"","webpack://swagger-ui/./src/core/utils.js","webpack://swagger-ui/./src/core/utils/jsonParse.js","webpack://swagger-ui/./src/core/window.js","webpack://swagger-ui/./src/helpers/get-parameter-schema.js","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/find-index\"","webpack://swagger-ui/./src/helpers/memoizeN.js","webpack://swagger-ui/./node_modules/buffer/index.js","webpack://swagger-ui/./node_modules/core-js-pure/es/object/define-property.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/a-callable.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/an-object.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/classof-raw.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/create-non-enumerable-property.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/create-property-descriptor.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/define-global-property.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/descriptors.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/document-all.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/document-create-element.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/engine-user-agent.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/engine-v8-version.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/export.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/fails.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/function-apply.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/function-bind-context.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/function-bind-native.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/function-call.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/function-uncurry-this-clause.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/function-uncurry-this.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/get-built-in.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/get-method.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/global.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/has-own-property.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/ie8-dom-define.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/indexed-object.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/is-callable.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/is-forced.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/is-null-or-undefined.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/is-object.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/is-pure.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/is-symbol.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/object-define-property.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/object-get-own-property-descriptor.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/object-is-prototype-of.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/object-property-is-enumerable.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/ordinary-to-primitive.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/path.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/require-object-coercible.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/shared-store.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/shared.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/symbol-constructor-detection.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/to-indexed-object.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/to-object.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/to-primitive.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/to-property-key.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/try-to-string.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/uid.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/use-symbol-as-uid.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/v8-prototype-define-bug.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/well-known-symbol.js","webpack://swagger-ui/./node_modules/core-js-pure/modules/es.object.define-property.js","webpack://swagger-ui/./node_modules/core-js-pure/stable/object/define-property.js","webpack://swagger-ui/./node_modules/deep-extend/lib/deep-extend.js","webpack://swagger-ui/./node_modules/events/events.js","webpack://swagger-ui/./node_modules/inherits/inherits_browser.js","webpack://swagger-ui/./node_modules/process/browser.js","webpack://swagger-ui/./node_modules/randombytes/browser.js","webpack://swagger-ui/./node_modules/readable-stream/errors-browser.js","webpack://swagger-ui/./node_modules/readable-stream/lib/_stream_duplex.js","webpack://swagger-ui/./node_modules/readable-stream/lib/_stream_passthrough.js","webpack://swagger-ui/./node_modules/readable-stream/lib/_stream_readable.js","webpack://swagger-ui/./node_modules/readable-stream/lib/_stream_transform.js","webpack://swagger-ui/./node_modules/readable-stream/lib/_stream_writable.js","webpack://swagger-ui/./node_modules/readable-stream/lib/internal/streams/async_iterator.js","webpack://swagger-ui/./node_modules/readable-stream/lib/internal/streams/buffer_list.js","webpack://swagger-ui/./node_modules/readable-stream/lib/internal/streams/destroy.js","webpack://swagger-ui/./node_modules/readable-stream/lib/internal/streams/end-of-stream.js","webpack://swagger-ui/./node_modules/readable-stream/lib/internal/streams/from-browser.js","webpack://swagger-ui/./node_modules/readable-stream/lib/internal/streams/pipeline.js","webpack://swagger-ui/./node_modules/readable-stream/lib/internal/streams/state.js","webpack://swagger-ui/./node_modules/readable-stream/lib/internal/streams/stream-browser.js","webpack://swagger-ui/./node_modules/safe-buffer/index.js","webpack://swagger-ui/./node_modules/sha.js/hash.js","webpack://swagger-ui/./node_modules/sha.js/index.js","webpack://swagger-ui/./node_modules/sha.js/sha.js","webpack://swagger-ui/./node_modules/sha.js/sha1.js","webpack://swagger-ui/./node_modules/sha.js/sha224.js","webpack://swagger-ui/./node_modules/sha.js/sha256.js","webpack://swagger-ui/./node_modules/sha.js/sha384.js","webpack://swagger-ui/./node_modules/sha.js/sha512.js","webpack://swagger-ui/./node_modules/stream-browserify/index.js","webpack://swagger-ui/./node_modules/string_decoder/lib/string_decoder.js","webpack://swagger-ui/./node_modules/util-deprecate/browser.js","webpack://swagger-ui/./node_modules/xml/lib/escapeForXML.js","webpack://swagger-ui/./node_modules/xml/lib/xml.js","webpack://swagger-ui/./src/core/plugins/ sync \\.jsx","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/array/from\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/array/is-array\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/bind\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/concat\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/entries\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/every\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/filter\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/find\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/for-each\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/includes\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/index-of\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/keys\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/map\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/reduce\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/slice\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/some\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/sort\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/starts-with\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/trim\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/json/stringify\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/map\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/object/assign\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/object/keys\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/object/values\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/set-timeout\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/url\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/helpers/defineProperty\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/helpers/extends\"","webpack://swagger-ui/external module \"base64-js\"","webpack://swagger-ui/external module \"classnames\"","webpack://swagger-ui/external module \"ieee754\"","webpack://swagger-ui/external module \"immutable\"","webpack://swagger-ui/external module \"js-yaml\"","webpack://swagger-ui/external module \"lodash/get\"","webpack://swagger-ui/external module \"lodash/isFunction\"","webpack://swagger-ui/external module \"lodash/memoize\"","webpack://swagger-ui/external module \"prop-types\"","webpack://swagger-ui/external module \"react\"","webpack://swagger-ui/external module \"react-copy-to-clipboard\"","webpack://swagger-ui/external module \"react-immutable-proptypes\"","webpack://swagger-ui/external module \"redux\"","webpack://swagger-ui/external module \"remarkable\"","webpack://swagger-ui/external module \"reselect\"","webpack://swagger-ui/external module \"serialize-error\"","webpack://swagger-ui/external module \"swagger-client/es/helpers\"","webpack://swagger-ui/external module \"url-parse\"","webpack://swagger-ui/./node_modules/@babel/runtime-corejs3/core-js-stable/object/define-property.js","webpack://swagger-ui/webpack/bootstrap","webpack://swagger-ui/webpack/runtime/compat get default export","webpack://swagger-ui/webpack/runtime/define property getters","webpack://swagger-ui/webpack/runtime/global","webpack://swagger-ui/webpack/runtime/hasOwnProperty shorthand","webpack://swagger-ui/webpack/runtime/make namespace object","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/last-index-of\"","webpack://swagger-ui/external module \"redux-immutable\"","webpack://swagger-ui/external module \"lodash/merge\"","webpack://swagger-ui/./src/core/system.js","webpack://swagger-ui/./src/core/containers/OperationContainer.jsx","webpack://swagger-ui/./src/core/components/app.jsx","webpack://swagger-ui/./src/core/components/auth/authorization-popup.jsx","webpack://swagger-ui/./src/core/components/auth/authorize-btn.jsx","webpack://swagger-ui/./src/core/containers/authorize-btn.jsx","webpack://swagger-ui/./src/core/components/auth/authorize-operation-btn.jsx","webpack://swagger-ui/./src/core/components/auth/auths.jsx","webpack://swagger-ui/./src/core/components/auth/auth-item.jsx","webpack://swagger-ui/./src/core/components/auth/error.jsx","webpack://swagger-ui/./src/core/components/auth/api-key-auth.jsx","webpack://swagger-ui/./src/core/components/auth/basic-auth.jsx","webpack://swagger-ui/./src/core/components/example.jsx","webpack://swagger-ui/./src/core/components/examples-select.jsx","webpack://swagger-ui/./src/core/components/examples-select-value-retainer.jsx","webpack://swagger-ui/./src/core/components/auth/oauth2.jsx","webpack://swagger-ui/./src/core/oauth2-authorize.js","webpack://swagger-ui/./src/core/components/clear.jsx","webpack://swagger-ui/./src/core/components/live-response.jsx","webpack://swagger-ui/./src/core/components/operations.jsx","webpack://swagger-ui/./src/core/utils/url.js","webpack://swagger-ui/./src/core/components/operation-tag.jsx","webpack://swagger-ui/./src/core/components/operation.jsx","webpack://swagger-ui/external module \"lodash/toString\"","webpack://swagger-ui/./src/core/components/operation-summary.jsx","webpack://swagger-ui/./src/core/components/operation-summary-method.jsx","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/splice\"","webpack://swagger-ui/./src/core/components/operation-summary-path.jsx","webpack://swagger-ui/./src/core/components/operation-extensions.jsx","webpack://swagger-ui/./src/core/components/operation-extension-row.jsx","webpack://swagger-ui/external module \"js-file-download\"","webpack://swagger-ui/./src/core/components/highlight-code.jsx","webpack://swagger-ui/./src/core/components/responses.jsx","webpack://swagger-ui/./src/helpers/create-html-ready-id.js","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/values\"","webpack://swagger-ui/./src/core/components/response.jsx","webpack://swagger-ui/./src/core/components/response-extension.jsx","webpack://swagger-ui/external module \"xml-but-prettier\"","webpack://swagger-ui/external module \"lodash/toLower\"","webpack://swagger-ui/./src/core/components/response-body.jsx","webpack://swagger-ui/./src/core/components/parameters/parameters.jsx","webpack://swagger-ui/./src/core/components/parameter-extension.jsx","webpack://swagger-ui/./src/core/components/parameter-include-empty.jsx","webpack://swagger-ui/./src/core/components/parameter-row.jsx","webpack://swagger-ui/./src/core/components/execute.jsx","webpack://swagger-ui/./src/core/components/headers.jsx","webpack://swagger-ui/./src/core/components/errors.jsx","webpack://swagger-ui/./src/core/components/content-type.jsx","webpack://swagger-ui/./src/core/components/layout-utils.jsx","webpack://swagger-ui/./src/core/components/overview.jsx","webpack://swagger-ui/./src/core/components/initialized-input.jsx","webpack://swagger-ui/./src/core/components/info.jsx","webpack://swagger-ui/./src/core/containers/info.jsx","webpack://swagger-ui/./src/core/components/jump-to-path.jsx","webpack://swagger-ui/./src/core/components/copy-to-clipboard-btn.jsx","webpack://swagger-ui/./src/core/components/footer.jsx","webpack://swagger-ui/./src/core/containers/filter.jsx","webpack://swagger-ui/./src/core/components/param-body.jsx","webpack://swagger-ui/./src/core/components/curl.jsx","webpack://swagger-ui/./src/core/components/schemes.jsx","webpack://swagger-ui/./src/core/containers/schemes.jsx","webpack://swagger-ui/./src/core/components/model-collapse.jsx","webpack://swagger-ui/./src/core/components/model-example.jsx","webpack://swagger-ui/./src/core/components/model-wrapper.jsx","webpack://swagger-ui/./src/core/components/models.jsx","webpack://swagger-ui/./src/core/components/enum-model.jsx","webpack://swagger-ui/./src/core/components/object-model.jsx","webpack://swagger-ui/./src/core/components/array-model.jsx","webpack://swagger-ui/./src/core/components/primitive-model.jsx","webpack://swagger-ui/./src/core/components/property.jsx","webpack://swagger-ui/./src/core/components/try-it-out-button.jsx","webpack://swagger-ui/./src/core/components/version-pragma-filter.jsx","webpack://swagger-ui/./src/core/components/version-stamp.jsx","webpack://swagger-ui/./src/core/components/deep-link.jsx","webpack://swagger-ui/./src/core/components/svg-assets.jsx","webpack://swagger-ui/./src/core/components/layouts/base.jsx","webpack://swagger-ui/external module \"react-debounce-input\"","webpack://swagger-ui/./src/core/json-schema-components.jsx","webpack://swagger-ui/./src/core/presets/base.js","webpack://swagger-ui/./src/core/presets/apis.js","webpack://swagger-ui/./src/core/index.js","webpack://swagger-ui/./src/index.js"],"sourcesContent":["var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_immutable_pure_component_cbcfaebd__[\"default\"] });","import React from \"react\"\nimport ImmutablePureComponent from \"react-immutable-pure-component\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport PropTypes from \"prop-types\"\n\nconst decodeRefName = uri => {\n const unescaped = uri.replace(/~1/g, \"/\").replace(/~0/g, \"~\")\n\n try {\n return decodeURIComponent(unescaped)\n } catch {\n return unescaped\n }\n}\n\nexport default class Model extends ImmutablePureComponent {\n static propTypes = {\n schema: ImPropTypes.map.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n name: PropTypes.string,\n displayName: PropTypes.string,\n isRef: PropTypes.bool,\n required: PropTypes.bool,\n expandDepth: PropTypes.number,\n depth: PropTypes.number,\n specPath: ImPropTypes.list.isRequired,\n includeReadOnly: PropTypes.bool,\n includeWriteOnly: PropTypes.bool,\n }\n\n getModelName =( ref )=> {\n if ( ref.indexOf(\"#/definitions/\") !== -1 ) {\n return decodeRefName(ref.replace(/^.*#\\/definitions\\//, \"\"))\n }\n if ( ref.indexOf(\"#/components/schemas/\") !== -1 ) {\n return decodeRefName(ref.replace(/^.*#\\/components\\/schemas\\//, \"\"))\n }\n }\n\n getRefSchema =( model )=> {\n let { specSelectors } = this.props\n\n return specSelectors.findDefinition(model)\n }\n\n render () {\n let { getComponent, getConfigs, specSelectors, schema, required, name, isRef, specPath, displayName,\n includeReadOnly, includeWriteOnly} = this.props\n const ObjectModel = getComponent(\"ObjectModel\")\n const ArrayModel = getComponent(\"ArrayModel\")\n const PrimitiveModel = getComponent(\"PrimitiveModel\")\n let type = \"object\"\n let $$ref = schema && schema.get(\"$$ref\")\n\n // If we weren't passed a `name` but have a ref, grab the name from the ref\n if ( !name && $$ref ) {\n name = this.getModelName( $$ref )\n }\n // If we weren't passed a `schema` but have a ref, grab the schema from the ref\n if ( !schema && $$ref ) {\n schema = this.getRefSchema( name )\n }\n\n if(!schema) {\n return <span className=\"model model-title\">\n <span className=\"model-title__text\">{ displayName || name }</span>\n <img src={require(\"core/../img/rolling-load.svg\")} height={\"20px\"} width={\"20px\"} />\n </span>\n }\n\n const deprecated = specSelectors.isOAS3() && schema.get(\"deprecated\")\n isRef = isRef !== undefined ? isRef : !!$$ref\n type = schema && schema.get(\"type\") || type\n\n switch(type) {\n case \"object\":\n return <ObjectModel\n className=\"object\" { ...this.props }\n specPath={specPath}\n getConfigs={ getConfigs }\n schema={ schema }\n name={ name }\n deprecated={deprecated}\n isRef={ isRef }\n includeReadOnly = {includeReadOnly}\n includeWriteOnly = {includeWriteOnly}/>\n case \"array\":\n return <ArrayModel\n className=\"array\" { ...this.props }\n getConfigs={ getConfigs }\n schema={ schema }\n name={ name }\n deprecated={deprecated}\n required={ required }\n includeReadOnly = {includeReadOnly}\n includeWriteOnly = {includeWriteOnly}/>\n case \"string\":\n case \"number\":\n case \"integer\":\n case \"boolean\":\n default:\n return <PrimitiveModel\n { ...this.props }\n getComponent={ getComponent }\n getConfigs={ getConfigs }\n schema={ schema }\n name={ name }\n deprecated={deprecated}\n required={ required }/>\n }\n }\n}\n","import React from \"react\"\nimport URL from \"url-parse\"\n\nimport PropTypes from \"prop-types\"\nimport { sanitizeUrl, requiresValidationURL } from \"core/utils\"\nimport win from \"core/window\"\n\nexport default class OnlineValidatorBadge extends React.Component {\n static propTypes = {\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired\n }\n\n constructor(props, context) {\n super(props, context)\n let { getConfigs } = props\n let { validatorUrl } = getConfigs()\n this.state = {\n url: this.getDefinitionUrl(),\n validatorUrl: validatorUrl === undefined ? \"https://validator.swagger.io/validator\" : validatorUrl\n }\n }\n\n getDefinitionUrl = () => {\n // TODO: test this behavior by stubbing `window.location` in an Enzyme/JSDom env\n let { specSelectors } = this.props\n\n const urlObject = new URL(specSelectors.url(), win.location)\n return urlObject.toString()\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n let { getConfigs } = nextProps\n let { validatorUrl } = getConfigs()\n\n this.setState({\n url: this.getDefinitionUrl(),\n validatorUrl: validatorUrl === undefined ? \"https://validator.swagger.io/validator\" : validatorUrl\n })\n }\n\n render() {\n let { getConfigs } = this.props\n let { spec } = getConfigs()\n\n let sanitizedValidatorUrl = sanitizeUrl(this.state.validatorUrl)\n\n if ( typeof spec === \"object\" && Object.keys(spec).length) return null\n\n if (!this.state.url || !requiresValidationURL(this.state.validatorUrl)\n || !requiresValidationURL(this.state.url)) {\n return null\n }\n\n return (<span className=\"float-right\">\n <a target=\"_blank\" rel=\"noopener noreferrer\" href={`${ sanitizedValidatorUrl }/debug?url=${ encodeURIComponent(this.state.url) }`}>\n <ValidatorImage src={`${ sanitizedValidatorUrl }?url=${ encodeURIComponent(this.state.url) }`} alt=\"Online validator badge\"/>\n </a>\n </span>)\n }\n}\n\n\nclass ValidatorImage extends React.Component {\n static propTypes = {\n src: PropTypes.string,\n alt: PropTypes.string\n }\n\n constructor(props) {\n super(props)\n this.state = {\n loaded: false,\n error: false\n }\n }\n\n componentDidMount() {\n const img = new Image()\n img.onload = () => {\n this.setState({\n loaded: true\n })\n }\n img.onerror = () => {\n this.setState({\n error: true\n })\n }\n img.src = this.props.src\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.src !== this.props.src) {\n const img = new Image()\n img.onload = () => {\n this.setState({\n loaded: true\n })\n }\n img.onerror = () => {\n this.setState({\n error: true\n })\n }\n img.src = nextProps.src\n }\n }\n\n render() {\n if (this.state.error) {\n return <img alt={\"Error\"} />\n } else if (!this.state.loaded) {\n return null\n }\n return <img src={this.props.src} alt={this.props.alt} />\n }\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"linkify\"]: () => __WEBPACK_EXTERNAL_MODULE_remarkable_linkify_34829ba6__.linkify });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_dompurify__[\"default\"] });","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { Remarkable } from \"remarkable\"\nimport { linkify } from \"remarkable/linkify\"\nimport DomPurify from \"dompurify\"\nimport cx from \"classnames\"\n\nif (DomPurify.addHook) {\n DomPurify.addHook(\"beforeSanitizeElements\", function (current, ) {\n // Attach safe `rel` values to all elements that contain an `href`,\n // i.e. all anchors that are links.\n // We _could_ just look for elements that have a non-self target,\n // but applying it more broadly shouldn't hurt anything, and is safer.\n if (current.href) {\n current.setAttribute(\"rel\", \"noopener noreferrer\")\n }\n return current\n })\n}\n\nfunction Markdown({ source, className = \"\", getConfigs }) {\n if (typeof source !== \"string\") {\n return null\n }\n\n const md = new Remarkable({\n html: true,\n typographer: true,\n breaks: true,\n linkTarget: \"_blank\"\n }).use(linkify)\n\n md.core.ruler.disable([\"replacements\", \"smartquotes\"])\n\n const { useUnsafeMarkdown } = getConfigs()\n const html = md.render(source)\n const sanitized = sanitizer(html, { useUnsafeMarkdown })\n\n if (!source || !html || !sanitized) {\n return null\n }\n\n return (\n <div className={cx(className, \"markdown\")} dangerouslySetInnerHTML={{ __html: sanitized }}></div>\n )\n}\n\nMarkdown.propTypes = {\n source: PropTypes.string.isRequired,\n className: PropTypes.string,\n getConfigs: PropTypes.func,\n}\n\nMarkdown.defaultProps = {\n getConfigs: () => ({ useUnsafeMarkdown: false }),\n}\n\nexport default Markdown\n\nexport function sanitizer(str, { useUnsafeMarkdown = false } = {}) {\n const ALLOW_DATA_ATTR = useUnsafeMarkdown\n const FORBID_ATTR = useUnsafeMarkdown ? [] : [\"style\", \"class\"]\n\n if (useUnsafeMarkdown && !sanitizer.hasWarnedAboutDeprecation) {\n console.warn(`useUnsafeMarkdown display configuration parameter is deprecated since >3.26.0 and will be removed in v4.0.0.`)\n sanitizer.hasWarnedAboutDeprecation = true\n }\n\n return DomPurify.sanitize(str, {\n ADD_ATTR: [\"target\"],\n FORBID_TAGS: [\"style\", \"form\"],\n ALLOW_DATA_ATTR,\n FORBID_ATTR,\n })\n}\nsanitizer.hasWarnedAboutDeprecation = false\n","import { pascalCaseFilename } from \"core/utils\"\nimport SafeRender from \"core/plugins/safe-render\"\n\nconst request = require.context(\".\", true, /\\.jsx?$/)\n\nconst allPlugins = {}\n\nexport default allPlugins\n\nrequest.keys().forEach( function( key ){\n if( key === \"./index.js\" ) {\n return\n }\n\n // if( key.slice(2).indexOf(\"/\") > -1) {\n // // skip files in subdirs\n // return\n // }\n\n let mod = request(key)\n allPlugins[pascalCaseFilename(key)] = mod.default ? mod.default : mod\n})\n\nallPlugins.SafeRender = SafeRender\n","import parseUrl from \"url-parse\"\nimport win from \"core/window\"\nimport { btoa, buildFormData } from \"core/utils\"\n\nexport const SHOW_AUTH_POPUP = \"show_popup\"\nexport const AUTHORIZE = \"authorize\"\nexport const LOGOUT = \"logout\"\nexport const PRE_AUTHORIZE_OAUTH2 = \"pre_authorize_oauth2\"\nexport const AUTHORIZE_OAUTH2 = \"authorize_oauth2\"\nexport const VALIDATE = \"validate\"\nexport const CONFIGURE_AUTH = \"configure_auth\"\nexport const RESTORE_AUTHORIZATION = \"restore_authorization\"\n\nconst scopeSeparator = \" \"\n\nexport function showDefinitions(payload) {\n return {\n type: SHOW_AUTH_POPUP,\n payload: payload\n }\n}\n\nexport function authorize(payload) {\n return {\n type: AUTHORIZE,\n payload: payload\n }\n}\n\nexport const authorizeWithPersistOption = (payload) => ( { authActions } ) => {\n authActions.authorize(payload)\n authActions.persistAuthorizationIfNeeded()\n}\n\nexport function logout(payload) {\n return {\n type: LOGOUT,\n payload: payload\n }\n}\n\nexport const logoutWithPersistOption = (payload) => ( { authActions } ) => {\n authActions.logout(payload)\n authActions.persistAuthorizationIfNeeded()\n}\n\nexport const preAuthorizeImplicit = (payload) => ( { authActions, errActions } ) => {\n let { auth , token, isValid } = payload\n let { schema, name } = auth\n let flow = schema.get(\"flow\")\n\n // remove oauth2 property from window after redirect from authentication\n delete win.swaggerUIRedirectOauth2\n\n if ( flow !== \"accessCode\" && !isValid ) {\n errActions.newAuthErr( {\n authId: name,\n source: \"auth\",\n level: \"warning\",\n message: \"Authorization may be unsafe, passed state was changed in server Passed state wasn't returned from auth server\"\n })\n }\n\n if ( token.error ) {\n errActions.newAuthErr({\n authId: name,\n source: \"auth\",\n level: \"error\",\n message: JSON.stringify(token)\n })\n return\n }\n\n authActions.authorizeOauth2WithPersistOption({ auth, token })\n}\n\n\nexport function authorizeOauth2(payload) {\n return {\n type: AUTHORIZE_OAUTH2,\n payload: payload\n }\n}\n\n\nexport const authorizeOauth2WithPersistOption = (payload) => ( { authActions } ) => {\n authActions.authorizeOauth2(payload)\n authActions.persistAuthorizationIfNeeded()\n}\n\nexport const authorizePassword = ( auth ) => ( { authActions } ) => {\n let { schema, name, username, password, passwordType, clientId, clientSecret } = auth\n let form = {\n grant_type: \"password\",\n scope: auth.scopes.join(scopeSeparator),\n username,\n password\n }\n let query = {}\n let headers = {}\n\n switch (passwordType) {\n case \"request-body\":\n setClientIdAndSecret(form, clientId, clientSecret)\n break\n\n case \"basic\":\n headers.Authorization = \"Basic \" + btoa(clientId + \":\" + clientSecret)\n break\n default:\n console.warn(`Warning: invalid passwordType ${passwordType} was passed, not including client id and secret`)\n }\n\n return authActions.authorizeRequest({ body: buildFormData(form), url: schema.get(\"tokenUrl\"), name, headers, query, auth})\n}\n\nfunction setClientIdAndSecret(target, clientId, clientSecret) {\n if ( clientId ) {\n Object.assign(target, {client_id: clientId})\n }\n\n if ( clientSecret ) {\n Object.assign(target, {client_secret: clientSecret})\n }\n}\n\nexport const authorizeApplication = ( auth ) => ( { authActions } ) => {\n let { schema, scopes, name, clientId, clientSecret } = auth\n let headers = {\n Authorization: \"Basic \" + btoa(clientId + \":\" + clientSecret)\n }\n let form = {\n grant_type: \"client_credentials\",\n scope: scopes.join(scopeSeparator)\n }\n\n return authActions.authorizeRequest({body: buildFormData(form), name, url: schema.get(\"tokenUrl\"), auth, headers })\n}\n\nexport const authorizeAccessCodeWithFormParams = ( { auth, redirectUrl } ) => ( { authActions } ) => {\n let { schema, name, clientId, clientSecret, codeVerifier } = auth\n let form = {\n grant_type: \"authorization_code\",\n code: auth.code,\n client_id: clientId,\n client_secret: clientSecret,\n redirect_uri: redirectUrl,\n code_verifier: codeVerifier\n }\n\n return authActions.authorizeRequest({body: buildFormData(form), name, url: schema.get(\"tokenUrl\"), auth})\n}\n\nexport const authorizeAccessCodeWithBasicAuthentication = ( { auth, redirectUrl } ) => ( { authActions } ) => {\n let { schema, name, clientId, clientSecret, codeVerifier } = auth\n let headers = {\n Authorization: \"Basic \" + btoa(clientId + \":\" + clientSecret)\n }\n let form = {\n grant_type: \"authorization_code\",\n code: auth.code,\n client_id: clientId,\n redirect_uri: redirectUrl,\n code_verifier: codeVerifier\n }\n\n return authActions.authorizeRequest({body: buildFormData(form), name, url: schema.get(\"tokenUrl\"), auth, headers})\n}\n\nexport const authorizeRequest = ( data ) => ( { fn, getConfigs, authActions, errActions, oas3Selectors, specSelectors, authSelectors } ) => {\n let { body, query={}, headers={}, name, url, auth } = data\n\n let { additionalQueryStringParams } = authSelectors.getConfigs() || {}\n\n let parsedUrl\n\n if (specSelectors.isOAS3()) {\n let finalServerUrl = oas3Selectors.serverEffectiveValue(oas3Selectors.selectedServer())\n parsedUrl = parseUrl(url, finalServerUrl, true)\n } else {\n parsedUrl = parseUrl(url, specSelectors.url(), true)\n }\n\n if(typeof additionalQueryStringParams === \"object\") {\n parsedUrl.query = Object.assign({}, parsedUrl.query, additionalQueryStringParams)\n }\n\n const fetchUrl = parsedUrl.toString()\n\n let _headers = Object.assign({\n \"Accept\":\"application/json, text/plain, */*\",\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n \"X-Requested-With\": \"XMLHttpRequest\"\n }, headers)\n\n fn.fetch({\n url: fetchUrl,\n method: \"post\",\n headers: _headers,\n query: query,\n body: body,\n requestInterceptor: getConfigs().requestInterceptor,\n responseInterceptor: getConfigs().responseInterceptor\n })\n .then(function (response) {\n let token = JSON.parse(response.data)\n let error = token && ( token.error || \"\" )\n let parseError = token && ( token.parseError || \"\" )\n\n if ( !response.ok ) {\n errActions.newAuthErr( {\n authId: name,\n level: \"error\",\n source: \"auth\",\n message: response.statusText\n } )\n return\n }\n\n if ( error || parseError ) {\n errActions.newAuthErr({\n authId: name,\n level: \"error\",\n source: \"auth\",\n message: JSON.stringify(token)\n })\n return\n }\n\n authActions.authorizeOauth2WithPersistOption({ auth, token})\n })\n .catch(e => {\n let err = new Error(e)\n let message = err.message\n // swagger-js wraps the response (if available) into the e.response property;\n // investigate to check whether there are more details on why the authorization\n // request failed (according to RFC 6479).\n // See also https://github.com/swagger-api/swagger-ui/issues/4048\n if (e.response && e.response.data) {\n const errData = e.response.data\n try {\n const jsonResponse = typeof errData === \"string\" ? JSON.parse(errData) : errData\n if (jsonResponse.error)\n message += `, error: ${jsonResponse.error}`\n if (jsonResponse.error_description)\n message += `, description: ${jsonResponse.error_description}`\n } catch (jsonError) {\n // Ignore\n }\n }\n errActions.newAuthErr( {\n authId: name,\n level: \"error\",\n source: \"auth\",\n message: message\n } )\n })\n}\n\nexport function configureAuth(payload) {\n return {\n type: CONFIGURE_AUTH,\n payload: payload\n }\n}\n\nexport function restoreAuthorization(payload) {\n return {\n type: RESTORE_AUTHORIZATION,\n payload: payload\n }\n}\n\nexport const persistAuthorizationIfNeeded = () => ( { authSelectors, getConfigs } ) => {\n const configs = getConfigs()\n\n if (!configs.persistAuthorization) return\n\n // persist authorization to local storage\n const authorized = authSelectors.authorized().toJS()\n localStorage.setItem(\"authorized\", JSON.stringify(authorized))\n}\n\nexport const authPopup = (url, swaggerUIRedirectOauth2) => ( ) => {\n win.swaggerUIRedirectOauth2 = swaggerUIRedirectOauth2\n\n win.open(url)\n}\n","/**\n * @prettier\n */\nexport const loaded = (oriAction, system) => (payload) => {\n const { getConfigs, authActions } = system\n const configs = getConfigs()\n\n oriAction(payload)\n\n // check if we should restore authorization data from localStorage\n if (configs.persistAuthorization) {\n const authorized = localStorage.getItem(\"authorized\")\n if (authorized) {\n authActions.restoreAuthorization({\n authorized: JSON.parse(authorized),\n })\n }\n }\n}\n","import reducers from \"./reducers\"\nimport * as actions from \"./actions\"\nimport * as selectors from \"./selectors\"\nimport { execute as wrappedExecuteAction } from \"./spec-extensions/wrap-actions\"\nimport { loaded as wrappedLoadedAction } from \"./configs-extensions/wrap-actions\"\nimport { authorize as wrappedAuthorizeAction, logout as wrappedLogoutAction } from \"./wrap-actions\"\n\nexport default function() {\n return {\n afterLoad(system) {\n this.rootInjects = this.rootInjects || {}\n this.rootInjects.initOAuth = system.authActions.configureAuth\n this.rootInjects.preauthorizeApiKey = preauthorizeApiKey.bind(null, system)\n this.rootInjects.preauthorizeBasic = preauthorizeBasic.bind(null, system)\n },\n statePlugins: {\n auth: {\n reducers,\n actions,\n selectors,\n wrapActions: {\n authorize: wrappedAuthorizeAction,\n logout: wrappedLogoutAction,\n }\n },\n configs: {\n wrapActions: {\n loaded: wrappedLoadedAction,\n },\n },\n spec: {\n wrapActions: {\n execute: wrappedExecuteAction,\n },\n },\n }\n }\n}\n\nexport function preauthorizeBasic(system, key, username, password) {\n const {\n authActions: { authorize },\n specSelectors: { specJson, isOAS3 }\n } = system\n\n const definitionBase = isOAS3() ? [\"components\", \"securitySchemes\"] : [\"securityDefinitions\"]\n\n const schema = specJson().getIn([...definitionBase, key])\n\n if(!schema) {\n return null\n }\n\n return authorize({\n [key]: {\n value: {\n username,\n password,\n },\n schema: schema.toJS()\n }\n })\n}\n\nexport function preauthorizeApiKey(system, key, value) {\n const {\n authActions: { authorize },\n specSelectors: { specJson, isOAS3 }\n } = system\n\n const definitionBase = isOAS3() ? [\"components\", \"securitySchemes\"] : [\"securityDefinitions\"]\n\n const schema = specJson().getIn([...definitionBase, key])\n\n if(!schema) {\n return null\n }\n\n return authorize({\n [key]: {\n value,\n schema: schema.toJS()\n }\n })\n}\n","import { fromJS, Map } from \"immutable\"\nimport { btoa, isFunc } from \"core/utils\"\n\nimport {\n SHOW_AUTH_POPUP,\n AUTHORIZE,\n AUTHORIZE_OAUTH2,\n LOGOUT,\n CONFIGURE_AUTH,\n RESTORE_AUTHORIZATION\n} from \"./actions\"\n\nexport default {\n [SHOW_AUTH_POPUP]: (state, { payload } ) =>{\n return state.set( \"showDefinitions\", payload )\n },\n\n [AUTHORIZE]: (state, { payload } ) =>{\n let securities = fromJS(payload)\n let map = state.get(\"authorized\") || Map()\n\n // refactor withMutations\n securities.entrySeq().forEach( ([ key, security ]) => {\n if (!isFunc(security.getIn)) {\n return state.set(\"authorized\", map)\n }\n let type = security.getIn([\"schema\", \"type\"])\n\n if ( type === \"apiKey\" || type === \"http\" ) {\n map = map.set(key, security)\n } else if ( type === \"basic\" ) {\n let username = security.getIn([\"value\", \"username\"])\n let password = security.getIn([\"value\", \"password\"])\n\n map = map.setIn([key, \"value\"], {\n username: username,\n header: \"Basic \" + btoa(username + \":\" + password)\n })\n\n map = map.setIn([key, \"schema\"], security.get(\"schema\"))\n }\n })\n\n return state.set( \"authorized\", map )\n },\n\n [AUTHORIZE_OAUTH2]: (state, { payload } ) =>{\n let { auth, token } = payload\n let parsedAuth\n\n auth.token = Object.assign({}, token)\n parsedAuth = fromJS(auth)\n\n let map = state.get(\"authorized\") || Map()\n map = map.set(parsedAuth.get(\"name\"), parsedAuth)\n \n return state.set( \"authorized\", map )\n },\n\n [LOGOUT]: (state, { payload } ) =>{\n let result = state.get(\"authorized\").withMutations((authorized) => {\n payload.forEach((auth) => {\n authorized.delete(auth)\n })\n })\n\n return state.set(\"authorized\", result)\n },\n\n [CONFIGURE_AUTH]: (state, { payload } ) =>{\n return state.set(\"configs\", payload)\n },\n\n [RESTORE_AUTHORIZATION]: (state, { payload } ) =>{ \n return state.set(\"authorized\", fromJS(payload.authorized))\n },\n}\n","import { createSelector } from \"reselect\"\nimport { List, Map } from \"immutable\"\n\nconst state = state => state\n\nexport const shownDefinitions = createSelector(\n state,\n auth => auth.get( \"showDefinitions\" )\n)\n\nexport const definitionsToAuthorize = createSelector(\n state,\n () => ( { specSelectors } ) => {\n let definitions = specSelectors.securityDefinitions() || Map({})\n let list = List()\n\n //todo refactor\n definitions.entrySeq().forEach( ([ key, val ]) => {\n let map = Map()\n\n map = map.set(key, val)\n list = list.push(map)\n })\n\n return list\n }\n)\n\n\nexport const getDefinitionsByNames = ( state, securities ) => ( { specSelectors } ) => {\n console.warn(\"WARNING: getDefinitionsByNames is deprecated and will be removed in the next major version.\")\n let securityDefinitions = specSelectors.securityDefinitions()\n let result = List()\n\n securities.valueSeq().forEach( (names) => {\n let map = Map()\n names.entrySeq().forEach( ([name, scopes]) => {\n let definition = securityDefinitions.get(name)\n let allowedScopes\n\n if ( definition.get(\"type\") === \"oauth2\" && scopes.size ) {\n allowedScopes = definition.get(\"scopes\")\n\n allowedScopes.keySeq().forEach( (key) => {\n if ( !scopes.contains(key) ) {\n allowedScopes = allowedScopes.delete(key)\n }\n })\n\n definition = definition.set(\"allowedScopes\", allowedScopes)\n }\n\n map = map.set(name, definition)\n })\n\n result = result.push(map)\n })\n\n return result\n}\n\nexport const definitionsForRequirements = (state, securities = List()) => ({ authSelectors }) => {\n const allDefinitions = authSelectors.definitionsToAuthorize() || List()\n let result = List()\n allDefinitions.forEach( (definition) => {\n let security = securities.find(sec => sec.get(definition.keySeq().first()))\n if ( security ) {\n definition.forEach( (props, name) => {\n if ( props.get(\"type\") === \"oauth2\" ) {\n const securityScopes = security.get(name)\n let definitionScopes = props.get(\"scopes\")\n if( List.isList(securityScopes) && Map.isMap(definitionScopes) ) {\n definitionScopes.keySeq().forEach( (key) => {\n if ( !securityScopes.contains(key) ) {\n definitionScopes = definitionScopes.delete(key)\n }\n })\n definition = definition.set(name, props.set(\"scopes\", definitionScopes))\n }\n }\n })\n result = result.push(definition)\n }\n })\n return result\n}\n\nexport const authorized = createSelector(\n state,\n auth => auth.get(\"authorized\") || Map()\n)\n\n\nexport const isAuthorized = ( state, securities ) => ( { authSelectors } ) => {\n let authorized = authSelectors.authorized()\n\n if(!List.isList(securities)) {\n return null\n }\n\n return !!securities.toJS().filter( ( security ) => {\n let isAuthorized = true\n\n return Object.keys(security).map((key) => {\n return !isAuthorized || !!authorized.get(key)\n }).indexOf(false) === -1\n }).length\n}\n\nexport const getConfigs = createSelector(\n state,\n auth => auth.get( \"configs\" )\n)\n","// Add security to the final `execute` call ( via `extras` )\nexport const execute = ( oriAction, { authSelectors, specSelectors }) => ({ path, method, operation, extras }) => {\n let securities = {\n authorized: authSelectors.authorized() && authSelectors.authorized().toJS(),\n definitions: specSelectors.securityDefinitions() && specSelectors.securityDefinitions().toJS(),\n specSecurity: specSelectors.security() && specSelectors.security().toJS()\n }\n\n return oriAction({ path, method, operation, securities, ...extras })\n}\n","/**\n * @prettier\n */\n\n/**\n * `authorize` and `logout` wrapped actions provide capacity\n * to persist cookie based apiKey in document.cookie.\n *\n * `persistAuthorization` SwaggerUI options needs to set to `true`\n * for document.cookie persistence to work.\n */\nexport const authorize = (oriAction, system) => (payload) => {\n oriAction(payload)\n\n const configs = system.getConfigs()\n\n if (!configs.persistAuthorization) return\n\n // create cookie\n try {\n const [{ schema, value }] = Object.values(payload)\n const isApiKeyAuth = schema.get(\"type\") === \"apiKey\"\n const isInCookie = schema.get(\"in\") === \"cookie\"\n const isApiKeyInCookie = isApiKeyAuth && isInCookie\n\n if (isApiKeyInCookie) {\n document.cookie = `${schema.get(\"name\")}=${value}; SameSite=None; Secure`\n }\n } catch (error) {\n console.error(\n \"Error persisting cookie based apiKey in document.cookie.\",\n error\n )\n }\n}\n\nexport const logout = (oriAction, system) => (payload) => {\n const configs = system.getConfigs()\n const authorized = system.authSelectors.authorized()\n\n // deleting cookie\n try {\n if (configs.persistAuthorization && Array.isArray(payload)) {\n payload.forEach((authorizedName) => {\n const auth = authorized.get(authorizedName, {})\n const isApiKeyAuth = auth.getIn([\"schema\", \"type\"]) === \"apiKey\"\n const isInCookie = auth.getIn([\"schema\", \"in\"]) === \"cookie\"\n const isApiKeyInCookie = isApiKeyAuth && isInCookie\n\n if (isApiKeyInCookie) {\n const cookieName = auth.getIn([\"schema\", \"name\"])\n document.cookie = `${cookieName}=; Max-Age=-99999999`\n }\n })\n }\n } catch (error) {\n console.error(\n \"Error deleting cookie based apiKey from document.cookie.\",\n error\n )\n }\n\n oriAction(payload)\n}\n","export const UPDATE_CONFIGS = \"configs_update\"\nexport const TOGGLE_CONFIGS = \"configs_toggle\"\n\n// Update the configs, with a merge ( not deep )\nexport function update(configName, configValue) {\n return {\n type: UPDATE_CONFIGS,\n payload: {\n [configName]: configValue\n },\n }\n}\n\n// Toggle's the config, by name\nexport function toggle(configName) {\n return {\n type: TOGGLE_CONFIGS,\n payload: configName,\n }\n}\n\n\n// Hook\nexport const loaded = () => () => {\n // noop\n}\n","import YAML from \"js-yaml\"\n\nexport const parseYamlConfig = (yaml, system) => {\n try {\n return YAML.load(yaml)\n } catch(e) {\n if (system) {\n system.errActions.newThrownErr( new Error(e) )\n }\n return {}\n }\n}\n","import yamlConfig from \"root/swagger-config.yaml\"\nimport { parseYamlConfig } from \"./helpers\"\nimport * as actions from \"./actions\"\nimport * as specActions from \"./spec-actions\"\nimport * as selectors from \"./selectors\"\nimport reducers from \"./reducers\"\n\nconst specSelectors = {\n getLocalConfig: () => {\n return parseYamlConfig(yamlConfig)\n }\n}\n\n\nexport default function configsPlugin() {\n\n return {\n statePlugins: {\n spec: {\n actions: specActions,\n selectors: specSelectors,\n },\n configs: {\n reducers,\n actions,\n selectors,\n }\n }\n }\n}\n","import { fromJS } from \"immutable\"\n\nimport {\n\tUPDATE_CONFIGS,\n\tTOGGLE_CONFIGS,\n} from \"./actions\"\n\nexport default {\n\n [UPDATE_CONFIGS]: (state, action) => {\n return state.merge(fromJS(action.payload))\n },\n\n [TOGGLE_CONFIGS]: (state, action) => {\n const configName = action.payload\n const oriVal = state.get(configName)\n return state.set(configName, !oriVal)\n },\n\n}\n","// Just get the config value ( it can possibly be an immutable object)\nexport const get = (state, path) => {\n return state.getIn(Array.isArray(path) ? path : [path])\n}\n","import { parseYamlConfig } from \"./helpers\"\n\nexport const downloadConfig = (req) => (system) => {\n const {fn: { fetch }} = system\n\n return fetch(req)\n}\n\nexport const getConfigByUrl = (req, cb)=> ({ specActions }) => {\n if (req) {\n return specActions.downloadConfig(req).then(next, next)\n }\n\n function next(res) {\n if (res instanceof Error || res.status >= 400) {\n specActions.updateLoadingStatus(\"failedConfig\")\n specActions.updateLoadingStatus(\"failedConfig\")\n specActions.updateUrl(\"\")\n console.error(res.statusText + \" \" + req.url)\n cb(null)\n } else {\n cb(parseYamlConfig(res.text))\n }\n }\n}\n","export const setHash = (value) => {\n if(value) {\n return history.pushState(null, null, `#${value}`)\n } else {\n return window.location.hash = \"\"\n }\n}\n","import layout from \"./layout\"\nimport OperationWrapper from \"./operation-wrapper\"\nimport OperationTagWrapper from \"./operation-tag-wrapper\"\n\nexport default function() {\n return [layout, {\n statePlugins: {\n configs: {\n wrapActions: {\n loaded: (ori, system) => (...args) => {\n ori(...args)\n // location.hash was an UTF-16 String, here is required UTF-8\n const hash = decodeURIComponent(window.location.hash)\n system.layoutActions.parseDeepLinkHash(hash)\n }\n }\n }\n },\n wrapComponents: {\n operation: OperationWrapper,\n OperationTag: OperationTagWrapper,\n },\n }]\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_zenscroll__[\"default\"] });","import { setHash } from \"./helpers\"\nimport zenscroll from \"zenscroll\"\nimport { createDeepLinkPath } from \"core/utils\"\nimport Im, { fromJS } from \"immutable\"\n\nconst SCROLL_TO = \"layout_scroll_to\"\nconst CLEAR_SCROLL_TO = \"layout_clear_scroll\"\n\nexport const show = (ori, { getConfigs, layoutSelectors }) => (...args) => {\n ori(...args)\n\n if(!getConfigs().deepLinking) {\n return\n }\n\n try {\n let [tokenArray, shown] = args\n //Coerce in to array\n tokenArray = Array.isArray(tokenArray) ? tokenArray : [tokenArray]\n // Convert into something we can put in the URL hash\n // Or return empty, if we cannot\n const urlHashArray = layoutSelectors.urlHashArrayFromIsShownKey(tokenArray) // Will convert\n\n // No hash friendly list?\n if(!urlHashArray.length)\n return\n\n const [type, assetName] = urlHashArray\n\n if (!shown) {\n return setHash(\"/\")\n }\n\n if (urlHashArray.length === 2) {\n setHash(createDeepLinkPath(`/${encodeURIComponent(type)}/${encodeURIComponent(assetName)}`))\n } else if (urlHashArray.length === 1) {\n setHash(createDeepLinkPath(`/${encodeURIComponent(type)}`))\n }\n\n } catch (e) {\n // This functionality is not mission critical, so if something goes wrong\n // we'll just move on\n console.error(e) // eslint-disable-line no-console\n }\n}\n\nexport const scrollTo = (path) => {\n return {\n type: SCROLL_TO,\n payload: Array.isArray(path) ? path : [path]\n }\n}\n\nexport const parseDeepLinkHash = (rawHash) => ({ layoutActions, layoutSelectors, getConfigs }) => {\n\n if(!getConfigs().deepLinking) {\n return\n }\n\n if(rawHash) {\n let hash = rawHash.slice(1) // # is first character\n\n\n if(hash[0] === \"!\") {\n // Parse UI 2.x shebangs\n hash = hash.slice(1)\n }\n\n if(hash[0] === \"/\") {\n // \"/pet/addPet\" => \"pet/addPet\"\n // makes the split result cleaner\n // also handles forgotten leading slash\n hash = hash.slice(1)\n }\n\n const hashArray = hash.split(\"/\").map(val => (val || \"\"))\n\n const isShownKey = layoutSelectors.isShownKeyFromUrlHashArray(hashArray)\n\n const [type, tagId = \"\", maybeOperationId = \"\"] = isShownKey\n\n if(type === \"operations\") {\n // we're going to show an operation, so we need to expand the tag as well\n const tagIsShownKey = layoutSelectors.isShownKeyFromUrlHashArray([tagId])\n\n // If an `_` is present, trigger the legacy escaping behavior to be safe\n // TODO: remove this in v4.0, it is deprecated\n if(tagId.indexOf(\"_\") > -1) {\n console.warn(\"Warning: escaping deep link whitespace with `_` will be unsupported in v4.0, use `%20` instead.\")\n layoutActions.show(tagIsShownKey.map(val => val.replace(/_/g, \" \")), true)\n }\n\n layoutActions.show(tagIsShownKey, true)\n }\n\n // If an `_` is present, trigger the legacy escaping behavior to be safe\n // TODO: remove this in v4.0, it is deprecated\n if (tagId.indexOf(\"_\") > -1 || maybeOperationId.indexOf(\"_\") > -1) {\n console.warn(\"Warning: escaping deep link whitespace with `_` will be unsupported in v4.0, use `%20` instead.\")\n layoutActions.show(isShownKey.map(val => val.replace(/_/g, \" \")), true)\n }\n\n layoutActions.show(isShownKey, true)\n\n // Scroll to the newly expanded entity\n layoutActions.scrollTo(isShownKey)\n }\n}\n\nexport const readyToScroll = (isShownKey, ref) => (system) => {\n const scrollToKey = system.layoutSelectors.getScrollToKey()\n\n if(Im.is(scrollToKey, fromJS(isShownKey))) {\n system.layoutActions.scrollToElement(ref)\n system.layoutActions.clearScrollTo()\n }\n}\n\n// Scroll to \"ref\" (dom node) with the scrollbar on \"container\" or the nearest parent\nexport const scrollToElement = (ref, container) => (system) => {\n try {\n container = container || system.fn.getScrollParent(ref)\n let myScroller = zenscroll.createScroller(container)\n myScroller.to(ref)\n } catch(e) {\n console.error(e) // eslint-disable-line no-console\n }\n}\n\nexport const clearScrollTo = () => {\n return {\n type: CLEAR_SCROLL_TO,\n }\n}\n\n// From: https://stackoverflow.com/a/42543908/3933724\n// Modified to return html instead of body element as last resort\nfunction getScrollParent(element, includeHidden) {\n const LAST_RESORT = document.documentElement\n let style = getComputedStyle(element)\n const excludeStaticParent = style.position === \"absolute\"\n const overflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/\n\n if (style.position === \"fixed\")\n return LAST_RESORT\n for (let parent = element; (parent = parent.parentElement);) {\n style = getComputedStyle(parent)\n if (excludeStaticParent && style.position === \"static\") {\n continue\n }\n if (overflowRegex.test(style.overflow + style.overflowY + style.overflowX))\n return parent\n }\n\n return LAST_RESORT\n}\n\nexport default {\n fn: {\n getScrollParent,\n },\n statePlugins: {\n layout: {\n actions: {\n scrollToElement,\n scrollTo,\n clearScrollTo,\n readyToScroll,\n parseDeepLinkHash\n },\n selectors: {\n getScrollToKey(state) {\n return state.get(\"scrollToKey\")\n },\n isShownKeyFromUrlHashArray(state, urlHashArray) {\n const [tag, operationId] = urlHashArray\n // We only put operations in the URL\n if(operationId) {\n return [\"operations\", tag, operationId]\n } else if (tag) {\n return [\"operations-tag\", tag]\n }\n return []\n },\n urlHashArrayFromIsShownKey(state, isShownKey) {\n let [type, tag, operationId] = isShownKey\n // We only put operations in the URL\n if(type == \"operations\") {\n return [tag, operationId]\n } else if (type == \"operations-tag\") {\n return [tag]\n }\n return []\n },\n },\n reducers: {\n [SCROLL_TO](state, action) {\n return state.set(\"scrollToKey\", Im.fromJS(action.payload))\n },\n [CLEAR_SCROLL_TO](state) {\n return state.delete(\"scrollToKey\")\n }\n },\n wrapActions: {\n show\n }\n }\n }\n}\n","import React from \"react\"\nimport { PropTypes } from \"prop-types\"\n\nconst Wrapper = (Ori, system) => class OperationTagWrapper extends React.Component {\n\n static propTypes = {\n tag: PropTypes.object.isRequired,\n }\n\n onLoad = (ref) => {\n const { tag } = this.props\n const isShownKey = [\"operations-tag\", tag]\n system.layoutActions.readyToScroll(isShownKey, ref)\n }\n\n render() {\n return (\n <span ref={this.onLoad}>\n <Ori {...this.props} />\n </span>\n )\n }\n}\n\nexport default Wrapper\n","import React from \"react\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nconst Wrapper = (Ori, system) => class OperationWrapper extends React.Component {\n\n static propTypes = {\n operation: ImPropTypes.map.isRequired,\n }\n\n onLoad = (ref) => {\n const { operation } = this.props\n const { tag, operationId } = operation.toObject()\n let { isShownKey } = operation.toObject()\n isShownKey = isShownKey || [\"operations\", tag, operationId]\n system.layoutActions.readyToScroll(isShownKey, ref)\n }\n\n render() {\n return (\n <span ref={this.onLoad}>\n <Ori {...this.props} />\n </span>\n )\n }\n}\n\nexport default Wrapper\n","import { createSelector } from \"reselect\"\nimport { Map } from \"immutable\"\nimport win from \"../window\"\n\nexport default function downloadUrlPlugin (toolbox) {\n let { fn } = toolbox\n\n const actions = {\n download: (url)=> ({ errActions, specSelectors, specActions, getConfigs }) => {\n let { fetch } = fn\n const config = getConfigs()\n url = url || specSelectors.url()\n specActions.updateLoadingStatus(\"loading\")\n errActions.clear({source: \"fetch\"})\n fetch({\n url,\n loadSpec: true,\n requestInterceptor: config.requestInterceptor || (a => a),\n responseInterceptor: config.responseInterceptor || (a => a),\n credentials: \"same-origin\",\n headers: {\n \"Accept\": \"application/json,*/*\"\n }\n }).then(next,next)\n\n function next(res) {\n if(res instanceof Error || res.status >= 400) {\n specActions.updateLoadingStatus(\"failed\")\n errActions.newThrownErr(Object.assign( new Error((res.message || res.statusText) + \" \" + url), {source: \"fetch\"}))\n // Check if the failure was possibly due to CORS or mixed content\n if (!res.status && res instanceof Error) checkPossibleFailReasons()\n return\n }\n specActions.updateLoadingStatus(\"success\")\n specActions.updateSpec(res.text)\n if(specSelectors.url() !== url) {\n specActions.updateUrl(url)\n }\n }\n\n function checkPossibleFailReasons() {\n try {\n let specUrl\n\n if(\"URL\" in win ) {\n specUrl = new URL(url)\n } else {\n // legacy browser, use <a href> to parse the URL\n specUrl = document.createElement(\"a\")\n specUrl.href = url\n }\n\n if(specUrl.protocol !== \"https:\" && win.location.protocol === \"https:\") {\n const error = Object.assign(\n new Error(`Possible mixed-content issue? The page was loaded over https:// but a ${specUrl.protocol}// URL was specified. Check that you are not attempting to load mixed content.`),\n {source: \"fetch\"}\n )\n errActions.newThrownErr(error)\n return\n }\n if(specUrl.origin !== win.location.origin) {\n const error = Object.assign(\n new Error(`Possible cross-origin (CORS) issue? The URL origin (${specUrl.origin}) does not match the page (${win.location.origin}). Check the server returns the correct 'Access-Control-Allow-*' headers.`),\n {source: \"fetch\"}\n )\n errActions.newThrownErr(error)\n }\n } catch (e) {\n return\n }\n }\n\n },\n\n updateLoadingStatus: (status) => {\n let enums = [null, \"loading\", \"failed\", \"success\", \"failedConfig\"]\n if(enums.indexOf(status) === -1) {\n console.error(`Error: ${status} is not one of ${JSON.stringify(enums)}`)\n }\n\n return {\n type: \"spec_update_loading_status\",\n payload: status\n }\n }\n }\n\n let reducers = {\n \"spec_update_loading_status\": (state, action) => {\n return (typeof action.payload === \"string\")\n ? state.set(\"loadingStatus\", action.payload)\n : state\n }\n }\n\n let selectors = {\n loadingStatus: createSelector(\n state => {\n return state || Map()\n },\n spec => spec.get(\"loadingStatus\") || null\n )\n }\n\n return {\n statePlugins: {\n spec: { actions, reducers, selectors }\n }\n }\n}\n","import { serializeError } from \"serialize-error\"\n\nexport const NEW_THROWN_ERR = \"err_new_thrown_err\"\nexport const NEW_THROWN_ERR_BATCH = \"err_new_thrown_err_batch\"\nexport const NEW_SPEC_ERR = \"err_new_spec_err\"\nexport const NEW_SPEC_ERR_BATCH = \"err_new_spec_err_batch\"\nexport const NEW_AUTH_ERR = \"err_new_auth_err\"\nexport const CLEAR = \"err_clear\"\nexport const CLEAR_BY = \"err_clear_by\"\n\nexport function newThrownErr(err) {\n return {\n type: NEW_THROWN_ERR,\n payload: serializeError(err)\n }\n}\n\nexport function newThrownErrBatch(errors) {\n return {\n type: NEW_THROWN_ERR_BATCH,\n payload: errors\n }\n}\n\nexport function newSpecErr(err) {\n return {\n type: NEW_SPEC_ERR,\n payload: err\n }\n}\n\nexport function newSpecErrBatch(errArray) {\n return {\n type: NEW_SPEC_ERR_BATCH,\n payload: errArray\n }\n}\n\nexport function newAuthErr(err) {\n return {\n type: NEW_AUTH_ERR,\n payload: err\n }\n}\n\nexport function clear(filter = {}) {\n // filter looks like: {type: 'spec'}, {source: 'parser'}\n return {\n type: CLEAR,\n payload: filter\n }\n}\n\nexport function clearBy(filter = () => true) {\n // filter is a function\n return {\n type: CLEAR_BY,\n payload: filter\n }\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_reduce_11e69996__[\"default\"] });","import reduce from \"lodash/reduce\"\nimport * as NotOfType from \"./transformers/not-of-type\"\nimport * as ParameterOneOf from \"./transformers/parameter-oneof\"\n\nconst errorTransformers = [\n NotOfType,\n ParameterOneOf\n]\n\nexport default function transformErrors (errors) {\n // Dev note: unimplemented artifact where\n // jsSpec: system.specSelectors.specJson().toJS()\n // regardless, to be compliant with redux@4, instead of calling the store method here,\n // jsSpec should be pass down as an argument,\n let inputs = {\n jsSpec: {}\n }\n\n let transformedErrors = reduce(errorTransformers, (result, transformer) => {\n try {\n let newlyTransformedErrors = transformer.transform(result, inputs)\n return newlyTransformedErrors.filter(err => !!err) // filter removed errors\n } catch(e) {\n console.error(\"Transformer error:\", e)\n return result\n }\n }, errors)\n\n return transformedErrors\n .filter(err => !!err) // filter removed errors\n .map(err => {\n if(!err.get(\"line\") && err.get(\"path\")) {\n // TODO: re-resolve line number if we've transformed it away\n }\n return err\n })\n\n}\n","export function transform(errors) {\n // JSONSchema refers to the current object being validated\n // as 'instance'. This isn't helpful to users, so we remove it.\n return errors\n .map(err => {\n let seekStr = \"is not of a type(s)\"\n let i = err.get(\"message\").indexOf(seekStr)\n if(i > -1) {\n let types = err.get(\"message\").slice(i + seekStr.length).split(\",\")\n return err.set(\"message\", err.get(\"message\").slice(0, i) + makeNewMessage(types))\n } else {\n return err\n }\n })\n}\n\nfunction makeNewMessage(types) {\n return types.reduce((p, c, i, arr) => {\n if(i === arr.length - 1 && arr.length > 1) {\n return p + \"or \" + c\n } else if(arr[i+1] && arr.length > 2) {\n return p + c + \", \"\n } else if(arr[i+1]) {\n return p + c + \" \"\n } else {\n return p + c\n }\n }, \"should be a\")\n}\n","import get from \"lodash/get\"\nimport { fromJS } from \"immutable\"\n\nexport function transform(errors, { jsSpec }) {\n // LOOK HERE THIS TRANSFORMER IS CURRENTLY DISABLED 😃\n // TODO: finish implementing, fix flattening problem\n /* eslint-disable no-unreachable */\n return errors\n\n\n // JSONSchema gives us very little to go on\n let searchStr = \"is not exactly one from <#/definitions/parameter>,<#/definitions/jsonReference>\"\n return errors\n .map(err => {\n let message = err.get(\"message\")\n let isParameterOneOfError = message.indexOf(searchStr) > -1\n if(isParameterOneOfError) {\n // try to find what's wrong\n return createTailoredParameterError(err, jsSpec)\n } else {\n return err\n }\n })\n .flatten(true) // shallow Immutable flatten\n}\n\nconst VALID_IN_VALUES = [\"path\", \"query\", \"header\", \"body\", \"formData\"]\nconst VALID_COLLECTIONFORMAT_VALUES = [\"csv\", \"ssv\", \"tsv\", \"pipes\", \"multi\"]\n\nfunction createTailoredParameterError(err, jsSpec) {\n let newErrs = []\n let parameter = get(jsSpec, err.get(\"path\"))\n\n // find addressable cases\n if(parameter.in && VALID_IN_VALUES.indexOf(parameter.in) === -1) {\n let message = `Wrong value for the \"in\" keyword. Expected one of: ${VALID_IN_VALUES.join(\", \")}.`\n newErrs.push({\n message,\n path: err.get(\"path\") + \".in\",\n type: \"spec\",\n source: \"structural\",\n level: \"error\"\n })\n }\n\n if(parameter.collectionFormat && VALID_COLLECTIONFORMAT_VALUES.indexOf(parameter.collectionFormat) === -1) {\n let message = `Wrong value for the \"collectionFormat\" keyword. Expected one of: ${VALID_COLLECTIONFORMAT_VALUES.join(\", \")}.`\n newErrs.push({\n message,\n path: err.get(\"path\") + \".collectionFormat\",\n type: \"spec\",\n source: \"structural\",\n level: \"error\"\n })\n }\n\n return newErrs.length ? fromJS(newErrs) : err // fall back to making no changes\n\n}\n","import makeReducers from \"./reducers\"\nimport * as actions from \"./actions\"\nimport * as selectors from \"./selectors\"\n\nexport default function(system) {\n return {\n statePlugins: {\n err: {\n reducers: makeReducers(system),\n actions,\n selectors\n }\n }\n }\n}\n","import {\n NEW_THROWN_ERR,\n NEW_THROWN_ERR_BATCH,\n NEW_SPEC_ERR,\n NEW_SPEC_ERR_BATCH,\n NEW_AUTH_ERR,\n CLEAR,\n CLEAR_BY,\n} from \"./actions\"\n\nimport { fromJS, List } from \"immutable\"\n\nimport transformErrors from \"./error-transformers/hook\"\n\nlet DEFAULT_ERROR_STRUCTURE = {\n // defaults\n line: 0,\n level: \"error\",\n message: \"Unknown error\"\n}\n\nexport default function() {\n return {\n [NEW_THROWN_ERR]: (state, { payload }) => {\n let error = Object.assign(DEFAULT_ERROR_STRUCTURE, payload, {type: \"thrown\"})\n return state\n .update(\"errors\", errors => (errors || List()).push( fromJS( error )) )\n .update(\"errors\", errors => transformErrors(errors))\n },\n\n [NEW_THROWN_ERR_BATCH]: (state, { payload }) => {\n payload = payload.map(err => {\n return fromJS(Object.assign(DEFAULT_ERROR_STRUCTURE, err, { type: \"thrown\" }))\n })\n return state\n .update(\"errors\", errors => (errors || List()).concat( fromJS( payload )) )\n .update(\"errors\", errors => transformErrors(errors))\n },\n\n [NEW_SPEC_ERR]: (state, { payload }) => {\n let error = fromJS(payload)\n error = error.set(\"type\", \"spec\")\n return state\n .update(\"errors\", errors => (errors || List()).push( fromJS(error)).sortBy(err => err.get(\"line\")) )\n .update(\"errors\", errors => transformErrors(errors))\n },\n\n [NEW_SPEC_ERR_BATCH]: (state, { payload }) => {\n payload = payload.map(err => {\n return fromJS(Object.assign(DEFAULT_ERROR_STRUCTURE, err, { type: \"spec\" }))\n })\n return state\n .update(\"errors\", errors => (errors || List()).concat(fromJS(payload)))\n .update(\"errors\", errors => transformErrors(errors))\n },\n\n [NEW_AUTH_ERR]: (state, { payload }) => {\n let error = fromJS(Object.assign({}, payload))\n\n error = error.set(\"type\", \"auth\")\n return state\n .update(\"errors\", errors => (errors || List()).push( fromJS(error)) )\n .update(\"errors\", errors => transformErrors(errors))\n },\n\n [CLEAR]: (state, { payload }) => {\n if(!payload || !state.get(\"errors\")) {\n return state\n }\n\n let newErrors = state.get(\"errors\")\n .filter(err => {\n return err.keySeq().every(k => {\n const errValue = err.get(k)\n const filterValue = payload[k]\n\n if(!filterValue) return true\n\n return errValue !== filterValue\n })\n })\n return state.merge({\n errors: newErrors\n })\n },\n\n [CLEAR_BY]: (state, { payload }) => {\n if(!payload || typeof payload !== \"function\") {\n return state\n }\n let newErrors = state.get(\"errors\")\n .filter(err => {\n return payload(err)\n })\n return state.merge({\n errors: newErrors\n })\n }\n }\n}\n","import { List } from \"immutable\"\nimport { createSelector } from \"reselect\"\n\nconst state = state => state\n\nexport const allErrors = createSelector(\n state,\n err => err.get(\"errors\", List())\n)\n\nexport const lastError = createSelector(\n allErrors,\n all => all.last()\n)\n\n","import opsFilter from \"./opsFilter\"\n\nexport default function() {\n return {\n fn: {\n opsFilter\n }\n }\n}\n","export default function(taggedOps, phrase) {\n return taggedOps.filter((tagObj, tag) => tag.indexOf(phrase) !== -1)\n}\n","import { normalizeArray } from \"core/utils\"\n\nexport const UPDATE_LAYOUT = \"layout_update_layout\"\nexport const UPDATE_FILTER = \"layout_update_filter\"\nexport const UPDATE_MODE = \"layout_update_mode\"\nexport const SHOW = \"layout_show\"\n\n// export const ONLY_SHOW = \"layout_only_show\"\n\nexport function updateLayout(layout) {\n return {\n type: UPDATE_LAYOUT,\n payload: layout\n }\n}\n\nexport function updateFilter(filter) {\n return {\n type: UPDATE_FILTER,\n payload: filter\n }\n}\n\nexport function show(thing, shown=true) {\n thing = normalizeArray(thing)\n return {\n type: SHOW,\n payload: {thing, shown}\n }\n}\n\n// Simple string key-store, used for\nexport function changeMode(thing, mode=\"\") {\n thing = normalizeArray(thing)\n return {\n type: UPDATE_MODE,\n payload: {thing, mode}\n }\n}\n","import reducers from \"./reducers\"\nimport * as actions from \"./actions\"\nimport * as selectors from \"./selectors\"\nimport * as wrapSelectors from \"./spec-extensions/wrap-selector\"\n\nexport default function() {\n return {\n statePlugins: {\n layout: {\n reducers,\n actions,\n selectors\n },\n spec: {\n wrapSelectors\n }\n }\n }\n}\n","import { fromJS } from \"immutable\"\nimport {\n UPDATE_LAYOUT,\n UPDATE_FILTER,\n UPDATE_MODE,\n SHOW\n} from \"./actions\"\n\nexport default {\n\n [UPDATE_LAYOUT]: (state, action) => state.set(\"layout\", action.payload),\n\n [UPDATE_FILTER]: (state, action) => state.set(\"filter\", action.payload),\n\n [SHOW]: (state, action) => {\n const isShown = action.payload.shown\n // This is one way to serialize an array, another (preferred) is to convert to json-pointer\n // TODO: use json-pointer serilization instead of fromJS(...), for performance\n const thingToShow = fromJS(action.payload.thing)\n // This is a map of paths to bools\n // eg: [one, two] => true\n // eg: [one] => false\n return state.update(\"shown\", fromJS({}), a => a.set(thingToShow, isShown))\n },\n\n [UPDATE_MODE]: (state, action) => {\n let thing = action.payload.thing\n let mode = action.payload.mode\n return state.setIn([\"modes\"].concat(thing), (mode || \"\") + \"\")\n }\n\n}\n","import { createSelector } from \"reselect\"\nimport { normalizeArray } from \"core/utils\"\nimport { fromJS } from \"immutable\"\n\nconst state = state => state\n\nexport const current = state => state.get(\"layout\")\n\nexport const currentFilter = state => state.get(\"filter\")\n\nexport const isShown = (state, thing, def) => {\n thing = normalizeArray(thing)\n return state.get(\"shown\", fromJS({})).get(fromJS(thing), def)\n}\n\nexport const whatMode = (state, thing, def=\"\") => {\n thing = normalizeArray(thing)\n return state.getIn([\"modes\", ...thing], def)\n}\n\nexport const showSummary = createSelector(\n state,\n state => !isShown(state, \"editor\")\n)\n","\nexport const taggedOperations = (oriSelector, system) => (state, ...args) => {\n let taggedOps = oriSelector(state, ...args)\n\n const { fn, layoutSelectors, getConfigs } = system.getSystem()\n const configs = getConfigs()\n const { maxDisplayedTags } = configs\n\n // Filter, if requested\n let filter = layoutSelectors.currentFilter()\n if (filter) {\n if (filter !== true && filter !== \"true\" && filter !== \"false\") {\n taggedOps = fn.opsFilter(taggedOps, filter)\n }\n }\n // Limit to [max] items, if specified\n if (maxDisplayedTags && !isNaN(maxDisplayedTags) && maxDisplayedTags >= 0) {\n taggedOps = taggedOps.slice(0, maxDisplayedTags)\n }\n\n return taggedOps\n}\n","export default function ({configs}) {\n\n const levels = {\n \"debug\": 0,\n \"info\": 1,\n \"log\": 2,\n \"warn\": 3,\n \"error\": 4\n }\n\n const getLevel = (level) => levels[level] || -1\n\n let { logLevel } = configs\n let logLevelInt = getLevel(logLevel)\n\n function log(level, ...args) {\n if(getLevel(level) >= logLevelInt)\n // eslint-disable-next-line no-console\n console[level](...args)\n }\n\n log.warn = log.bind(null, \"warn\")\n log.error = log.bind(null, \"error\")\n log.info = log.bind(null, \"info\")\n log.debug = log.bind(null, \"debug\")\n\n return { rootInjects: { log } }\n}\n","// Actions conform to FSA (flux-standard-actions)\n// {type: string,payload: Any|Error, meta: obj, error: bool}\n\nexport const UPDATE_SELECTED_SERVER = \"oas3_set_servers\"\nexport const UPDATE_REQUEST_BODY_VALUE = \"oas3_set_request_body_value\"\nexport const UPDATE_REQUEST_BODY_VALUE_RETAIN_FLAG = \"oas3_set_request_body_retain_flag\"\nexport const UPDATE_REQUEST_BODY_INCLUSION = \"oas3_set_request_body_inclusion\"\nexport const UPDATE_ACTIVE_EXAMPLES_MEMBER = \"oas3_set_active_examples_member\"\nexport const UPDATE_REQUEST_CONTENT_TYPE = \"oas3_set_request_content_type\"\nexport const UPDATE_RESPONSE_CONTENT_TYPE = \"oas3_set_response_content_type\"\nexport const UPDATE_SERVER_VARIABLE_VALUE = \"oas3_set_server_variable_value\"\nexport const SET_REQUEST_BODY_VALIDATE_ERROR = \"oas3_set_request_body_validate_error\"\nexport const CLEAR_REQUEST_BODY_VALIDATE_ERROR = \"oas3_clear_request_body_validate_error\"\nexport const CLEAR_REQUEST_BODY_VALUE = \"oas3_clear_request_body_value\"\n\nexport function setSelectedServer (selectedServerUrl, namespace) {\n return {\n type: UPDATE_SELECTED_SERVER,\n payload: {selectedServerUrl, namespace}\n }\n}\n\nexport function setRequestBodyValue ({ value, pathMethod }) {\n return {\n type: UPDATE_REQUEST_BODY_VALUE,\n payload: { value, pathMethod }\n }\n}\n\nexport const setRetainRequestBodyValueFlag = ({ value, pathMethod }) => {\n return {\n type: UPDATE_REQUEST_BODY_VALUE_RETAIN_FLAG,\n payload: { value, pathMethod }\n }\n}\n\n\nexport function setRequestBodyInclusion ({ value, pathMethod, name }) {\n return {\n type: UPDATE_REQUEST_BODY_INCLUSION,\n payload: { value, pathMethod, name }\n }\n}\n\nexport function setActiveExamplesMember ({ name, pathMethod, contextType, contextName }) {\n return {\n type: UPDATE_ACTIVE_EXAMPLES_MEMBER,\n payload: { name, pathMethod, contextType, contextName }\n }\n}\n\nexport function setRequestContentType ({ value, pathMethod }) {\n return {\n type: UPDATE_REQUEST_CONTENT_TYPE,\n payload: { value, pathMethod }\n }\n}\n\nexport function setResponseContentType ({ value, path, method }) {\n return {\n type: UPDATE_RESPONSE_CONTENT_TYPE,\n payload: { value, path, method }\n }\n}\n\nexport function setServerVariableValue ({ server, namespace, key, val }) {\n return {\n type: UPDATE_SERVER_VARIABLE_VALUE,\n payload: { server, namespace, key, val }\n }\n}\n\nexport const setRequestBodyValidateError = ({ path, method, validationErrors }) => {\n return {\n type: SET_REQUEST_BODY_VALIDATE_ERROR,\n payload: { path, method, validationErrors }\n }\n}\n\nexport const clearRequestBodyValidateError = ({ path, method }) => {\n return {\n type: CLEAR_REQUEST_BODY_VALIDATE_ERROR,\n payload: { path, method }\n }\n}\n\nexport const initRequestBodyValidateError = ({ pathMethod } ) => {\n return {\n type: CLEAR_REQUEST_BODY_VALIDATE_ERROR,\n payload: { path: pathMethod[0], method: pathMethod[1] }\n }\n}\n\nexport const clearRequestBodyValue = ({ pathMethod }) => {\n return {\n type: CLEAR_REQUEST_BODY_VALUE,\n payload: { pathMethod }\n }\n}\n","import { createSelector } from \"reselect\"\nimport { List, Map, fromJS } from \"immutable\"\nimport { isOAS3 as isOAS3Helper } from \"../helpers\"\n\n\n// Helpers\n\nconst state = state => state\n\nfunction onlyOAS3(selector) {\n return (ori, system) => (...args) => {\n const spec = system.getSystem().specSelectors.specJson()\n if(isOAS3Helper(spec)) {\n // Pass the spec plugin state to Reselect to trigger on securityDefinitions update\n let resolvedSchemes = system.getState().getIn([\"spec\", \"resolvedSubtrees\",\n \"components\", \"securitySchemes\"])\n return selector(system, resolvedSchemes, ...args)\n } else {\n return ori(...args)\n }\n }\n}\n\nexport const definitionsToAuthorize = onlyOAS3(createSelector(\n state,\n ({specSelectors}) => specSelectors.securityDefinitions(),\n (system, definitions) => {\n // Coerce our OpenAPI 3.0 definitions into monoflow definitions\n // that look like Swagger2 definitions.\n let list = List()\n\n if(!definitions) {\n return list\n }\n\n definitions.entrySeq().forEach( ([ defName, definition ]) => {\n const type = definition.get(\"type\")\n\n if(type === \"oauth2\") {\n definition.get(\"flows\").entrySeq().forEach(([flowKey, flowVal]) => {\n let translatedDef = fromJS({\n flow: flowKey,\n authorizationUrl: flowVal.get(\"authorizationUrl\"),\n tokenUrl: flowVal.get(\"tokenUrl\"),\n scopes: flowVal.get(\"scopes\"),\n type: definition.get(\"type\"),\n description: definition.get(\"description\")\n })\n\n list = list.push(new Map({\n [defName]: translatedDef.filter((v) => {\n // filter out unset values, sometimes `authorizationUrl`\n // and `tokenUrl` come out as `undefined` in the data\n return v !== undefined\n })\n }))\n })\n }\n if(type === \"http\" || type === \"apiKey\") {\n list = list.push(new Map({\n [defName]: definition\n }))\n }\n if(type === \"openIdConnect\" && definition.get(\"openIdConnectData\")) {\n let oidcData = definition.get(\"openIdConnectData\")\n let grants = oidcData.get(\"grant_types_supported\") || [\"authorization_code\", \"implicit\"]\n grants.forEach((grant) => {\n // Convert from OIDC list of scopes to the OAS-style map with empty descriptions\n let translatedScopes = oidcData.get(\"scopes_supported\") &&\n oidcData.get(\"scopes_supported\").reduce((acc, cur) => acc.set(cur, \"\"), new Map())\n\n let translatedDef = fromJS({\n flow: grant,\n authorizationUrl: oidcData.get(\"authorization_endpoint\"),\n tokenUrl: oidcData.get(\"token_endpoint\"),\n scopes: translatedScopes,\n type: \"oauth2\",\n openIdConnectUrl: definition.get(\"openIdConnectUrl\")\n })\n\n list = list.push(new Map({\n [defName]: translatedDef.filter((v) => {\n // filter out unset values, sometimes `authorizationUrl`\n // and `tokenUrl` come out as `undefined` in the data\n return v !== undefined\n })\n }))\n })\n }\n })\n\n return list\n }\n))\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { fromJS } from \"immutable\"\n\nconst Callbacks = (props) => {\n let { callbacks, getComponent, specPath } = props\n // const Markdown = getComponent(\"Markdown\", true)\n const OperationContainer = getComponent(\"OperationContainer\", true)\n\n if(!callbacks) {\n return <span>No callbacks</span>\n }\n\n let callbackElements = callbacks.entrySeq().map(([callbackName, callback]) => {\n return <div key={callbackName}>\n <h2>{callbackName}</h2>\n { callback.entrySeq().map(([pathItemName, pathItem]) => {\n if(pathItemName === \"$$ref\") {\n return null\n }\n return <div key={pathItemName}>\n { pathItem.entrySeq().map(([method, operation]) => {\n if(method === \"$$ref\") {\n return null\n }\n let op = fromJS({\n operation\n })\n return <OperationContainer\n {...props}\n op={op}\n key={method}\n tag=\"callbacks\"\n method={method}\n path={pathItemName}\n specPath={specPath.push(callbackName, pathItemName, method)}\n allowTryItOut={false}\n />\n }) }\n </div>\n }) }\n </div>\n })\n return <div>\n {callbackElements}\n </div>\n}\n\nCallbacks.propTypes = {\n getComponent: PropTypes.func.isRequired,\n callbacks: ImPropTypes.iterable.isRequired,\n specPath: ImPropTypes.list.isRequired,\n}\n\nexport default Callbacks\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class HttpAuth extends React.Component {\n static propTypes = {\n authorized: PropTypes.object,\n getComponent: PropTypes.func.isRequired,\n errSelectors: PropTypes.object.isRequired,\n schema: PropTypes.object.isRequired,\n name: PropTypes.string.isRequired,\n onChange: PropTypes.func\n }\n\n constructor(props, context) {\n super(props, context)\n let { name, schema } = this.props\n let value = this.getValue()\n\n this.state = {\n name: name,\n schema: schema,\n value: value\n }\n }\n\n getValue () {\n let { name, authorized } = this.props\n\n return authorized && authorized.getIn([name, \"value\"])\n }\n\n onChange =(e) => {\n let { onChange } = this.props\n let { value, name } = e.target\n\n let newValue = Object.assign({}, this.state.value)\n\n if(name) {\n newValue[name] = value\n } else {\n newValue = value\n }\n\n this.setState({ value: newValue }, () => onChange(this.state))\n\n }\n\n render() {\n let { schema, getComponent, errSelectors, name } = this.props\n const Input = getComponent(\"Input\")\n const Row = getComponent(\"Row\")\n const Col = getComponent(\"Col\")\n const AuthError = getComponent(\"authError\")\n const Markdown = getComponent(\"Markdown\", true)\n const JumpToPath = getComponent(\"JumpToPath\", true)\n\n const scheme = (schema.get(\"scheme\") || \"\").toLowerCase()\n let value = this.getValue()\n let errors = errSelectors.allErrors().filter( err => err.get(\"authId\") === name)\n\n if(scheme === \"basic\") {\n let username = value ? value.get(\"username\") : null\n return <div>\n <h4>\n <code>{ name || schema.get(\"name\") }</code> \n (http, Basic)\n <JumpToPath path={[ \"securityDefinitions\", name ]} />\n </h4>\n { username && <h6>Authorized</h6> }\n <Row>\n <Markdown source={ schema.get(\"description\") } />\n </Row>\n <Row>\n <label>Username:</label>\n {\n username ? <code> { username } </code>\n : <Col><Input type=\"text\" required=\"required\" name=\"username\" aria-label=\"auth-basic-username\" onChange={ this.onChange } autoFocus/></Col>\n }\n </Row>\n <Row>\n <label>Password:</label>\n {\n username ? <code> ****** </code>\n : <Col><Input autoComplete=\"new-password\"\n name=\"password\"\n type=\"password\"\n aria-label=\"auth-basic-password\"\n onChange={ this.onChange }/></Col>\n }\n </Row>\n {\n errors.valueSeq().map( (error, key) => {\n return <AuthError error={ error }\n key={ key }/>\n } )\n }\n </div>\n }\n\n if(scheme === \"bearer\") {\n return (\n <div>\n <h4>\n <code>{ name || schema.get(\"name\") }</code> \n (http, Bearer)\n <JumpToPath path={[ \"securityDefinitions\", name ]} />\n </h4>\n { value && <h6>Authorized</h6>}\n <Row>\n <Markdown source={ schema.get(\"description\") } />\n </Row>\n <Row>\n <label>Value:</label>\n {\n value ? <code> ****** </code>\n : <Col><Input type=\"text\" aria-label=\"auth-bearer-value\" onChange={ this.onChange } autoFocus/></Col>\n }\n </Row>\n {\n errors.valueSeq().map( (error, key) => {\n return <AuthError error={ error }\n key={ key }/>\n } )\n }\n </div>\n )\n }\n return <div>\n <em><b>{name}</b> HTTP authentication: unsupported scheme {`'${scheme}'`}</em>\n </div>\n }\n}\n","import Callbacks from \"./callbacks\"\nimport RequestBody from \"./request-body\"\nimport OperationLink from \"./operation-link\"\nimport Servers from \"./servers\"\nimport ServersContainer from \"./servers-container\"\nimport RequestBodyEditor from \"./request-body-editor\"\nimport HttpAuth from \"./http-auth\"\nimport OperationServers from \"./operation-servers\"\n\nexport default {\n Callbacks,\n HttpAuth,\n RequestBody,\n Servers,\n ServersContainer,\n RequestBodyEditor,\n OperationServers,\n operationLink: OperationLink\n}\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nclass OperationLink extends Component {\n render() {\n const { link, name, getComponent } = this.props\n\n const Markdown = getComponent(\"Markdown\", true)\n\n let targetOp = link.get(\"operationId\") || link.get(\"operationRef\")\n let parameters = link.get(\"parameters\") && link.get(\"parameters\").toJS()\n let description = link.get(\"description\")\n\n return <div className=\"operation-link\">\n <div className=\"description\">\n <b><code>{name}</code></b>\n { description ? <Markdown source={description}></Markdown> : null }\n </div>\n <pre>\n Operation `{targetOp}`<br /><br />\n Parameters {padString(0, JSON.stringify(parameters, null, 2)) || \"{}\"}<br />\n </pre>\n </div>\n }\n\n}\n\nfunction padString(n, string) {\n if(typeof string !== \"string\") { return \"\" }\n return string\n .split(\"\\n\")\n .map((line, i) => i > 0 ? Array(n + 1).join(\" \") + line : line)\n .join(\"\\n\")\n}\n\nOperationLink.propTypes = {\n getComponent: PropTypes.func.isRequired,\n link: ImPropTypes.orderedMap.isRequired,\n name: PropTypes.String\n}\n\nexport default OperationLink\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nexport default class OperationServers extends React.Component {\n static propTypes = {\n // for self\n path: PropTypes.string.isRequired,\n method: PropTypes.string.isRequired,\n operationServers: ImPropTypes.list,\n pathServers: ImPropTypes.list,\n setSelectedServer: PropTypes.func.isRequired,\n setServerVariableValue: PropTypes.func.isRequired,\n getSelectedServer: PropTypes.func.isRequired,\n getServerVariable: PropTypes.func.isRequired,\n getEffectiveServerValue: PropTypes.func.isRequired,\n\n // utils\n getComponent: PropTypes.func.isRequired\n }\n\n setSelectedServer = (server) => {\n const { path, method } = this.props\n // FIXME: we should be keeping up with this in props/state upstream of us\n // instead of cheating™ with `forceUpdate`\n this.forceUpdate()\n return this.props.setSelectedServer(server, `${path}:${method}`)\n }\n\n setServerVariableValue = (obj) => {\n const { path, method } = this.props\n // FIXME: we should be keeping up with this in props/state upstream of us\n // instead of cheating™ with `forceUpdate`\n this.forceUpdate()\n return this.props.setServerVariableValue({\n ...obj,\n namespace: `${path}:${method}`\n })\n }\n\n getSelectedServer = () => {\n const { path, method } = this.props\n return this.props.getSelectedServer(`${path}:${method}`)\n }\n\n getServerVariable = (server, key) => {\n const { path, method } = this.props\n return this.props.getServerVariable({\n namespace: `${path}:${method}`,\n server\n }, key)\n }\n\n getEffectiveServerValue = (server) => {\n const { path, method } = this.props\n return this.props.getEffectiveServerValue({\n server,\n namespace: `${path}:${method}`\n })\n }\n\n render() {\n const {\n // for self\n operationServers,\n pathServers,\n\n // util\n getComponent\n } = this.props\n\n if(!operationServers && !pathServers) {\n return null\n }\n\n const Servers = getComponent(\"Servers\")\n\n const serversToDisplay = operationServers || pathServers\n const displaying = operationServers ? \"operation\" : \"path\"\n\n return <div className=\"opblock-section operation-servers\">\n <div className=\"opblock-section-header\">\n <div className=\"tab-header\">\n <h4 className=\"opblock-title\">Servers</h4>\n </div>\n </div>\n <div className=\"opblock-description-wrapper\">\n <h4 className=\"message\">\n These {displaying}-level options override the global server options.\n </h4>\n <Servers\n servers={serversToDisplay}\n currentServer={this.getSelectedServer()}\n setSelectedServer={this.setSelectedServer}\n setServerVariableValue={this.setServerVariableValue}\n getServerVariable={this.getServerVariable}\n getEffectiveServerValue={this.getEffectiveServerValue}\n />\n </div>\n </div>\n }\n}\n","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport cx from \"classnames\"\nimport { stringify } from \"core/utils\"\n\nconst NOOP = Function.prototype\n\nexport default class RequestBodyEditor extends PureComponent {\n\n static propTypes = {\n onChange: PropTypes.func,\n getComponent: PropTypes.func.isRequired,\n value: PropTypes.string,\n defaultValue: PropTypes.string,\n errors: PropTypes.array,\n }\n\n static defaultProps = {\n onChange: NOOP,\n userHasEditedBody: false,\n }\n\n constructor(props, context) {\n super(props, context)\n\n this.state = {\n value: stringify(props.value) || props.defaultValue\n }\n\n // this is the glue that makes sure our initial value gets set as the\n // current request body value\n // TODO: achieve this in a selector instead\n props.onChange(props.value)\n }\n\n applyDefaultValue = (nextProps) => {\n const { onChange, defaultValue } = (nextProps ? nextProps : this.props)\n\n this.setState({\n value: defaultValue\n })\n\n return onChange(defaultValue)\n }\n\n onChange = (value) => {\n this.props.onChange(stringify(value))\n }\n\n onDomChange = e => {\n const inputValue = e.target.value\n\n this.setState({\n value: inputValue,\n }, () => this.onChange(inputValue))\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if(\n this.props.value !== nextProps.value &&\n nextProps.value !== this.state.value\n ) {\n\n this.setState({\n value: stringify(nextProps.value)\n })\n }\n\n\n\n if(!nextProps.value && nextProps.defaultValue && !!this.state.value) {\n // if new value is falsy, we have a default, AND the falsy value didn't\n // come from us originally\n this.applyDefaultValue(nextProps)\n }\n }\n\n render() {\n let {\n getComponent,\n errors,\n } = this.props\n\n let {\n value\n } = this.state\n\n let isInvalid = errors.size > 0 ? true : false\n const TextArea = getComponent(\"TextArea\")\n\n return (\n <div className=\"body-param\">\n <TextArea\n className={cx(\"body-param__text\", { invalid: isInvalid } )}\n title={errors.size ? errors.join(\", \") : \"\"}\n value={value}\n onChange={ this.onDomChange }\n />\n </div>\n )\n\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { Map, OrderedMap, List } from \"immutable\"\nimport { getCommonExtensions, getSampleSchema, stringify, isEmptyValue } from \"core/utils\"\nimport { getKnownSyntaxHighlighterLanguage } from \"core/utils/jsonParse\"\n\nexport const getDefaultRequestBodyValue = (requestBody, mediaType, activeExamplesKey) => {\n const mediaTypeValue = requestBody.getIn([\"content\", mediaType])\n const schema = mediaTypeValue.get(\"schema\").toJS()\n\n const hasExamplesKey = mediaTypeValue.get(\"examples\") !== undefined\n const exampleSchema = mediaTypeValue.get(\"example\")\n const mediaTypeExample = hasExamplesKey\n ? mediaTypeValue.getIn([\n \"examples\",\n activeExamplesKey,\n \"value\"\n ])\n : exampleSchema\n\n const exampleValue = getSampleSchema(\n schema,\n mediaType,\n {\n includeWriteOnly: true\n },\n mediaTypeExample\n )\n return stringify(exampleValue)\n}\n\n\n\nconst RequestBody = ({\n userHasEditedBody,\n requestBody,\n requestBodyValue,\n requestBodyInclusionSetting,\n requestBodyErrors,\n getComponent,\n getConfigs,\n specSelectors,\n fn,\n contentType,\n isExecute,\n specPath,\n onChange,\n onChangeIncludeEmpty,\n activeExamplesKey,\n updateActiveExamplesKey,\n setRetainRequestBodyValueFlag\n}) => {\n const handleFile = (e) => {\n onChange(e.target.files[0])\n }\n const setIsIncludedOptions = (key) => {\n let options = {\n key,\n shouldDispatchInit: false,\n defaultValue: true\n }\n let currentInclusion = requestBodyInclusionSetting.get(key, \"no value\")\n if (currentInclusion === \"no value\") {\n options.shouldDispatchInit = true\n // future: can get/set defaultValue from a config setting\n }\n return options\n }\n\n const Markdown = getComponent(\"Markdown\", true)\n const ModelExample = getComponent(\"modelExample\")\n const RequestBodyEditor = getComponent(\"RequestBodyEditor\")\n const HighlightCode = getComponent(\"highlightCode\")\n const ExamplesSelectValueRetainer = getComponent(\"ExamplesSelectValueRetainer\")\n const Example = getComponent(\"Example\")\n const ParameterIncludeEmpty = getComponent(\"ParameterIncludeEmpty\")\n\n const { showCommonExtensions } = getConfigs()\n\n const requestBodyDescription = (requestBody && requestBody.get(\"description\")) || null\n const requestBodyContent = (requestBody && requestBody.get(\"content\")) || new OrderedMap()\n contentType = contentType || requestBodyContent.keySeq().first() || \"\"\n\n const mediaTypeValue = requestBodyContent.get(contentType, OrderedMap())\n const schemaForMediaType = mediaTypeValue.get(\"schema\", OrderedMap())\n const rawExamplesOfMediaType = mediaTypeValue.get(\"examples\", null)\n const sampleForMediaType = rawExamplesOfMediaType?.map((container, key) => {\n const val = container?.get(\"value\", null)\n if(val) {\n container = container.set(\"value\", getDefaultRequestBodyValue(\n requestBody,\n contentType,\n key,\n ), val)\n }\n return container\n })\n\n const handleExamplesSelect = (key /*, { isSyntheticChange } */) => {\n updateActiveExamplesKey(key)\n }\n requestBodyErrors = List.isList(requestBodyErrors) ? requestBodyErrors : List()\n\n if(!mediaTypeValue.size) {\n return null\n }\n\n const isObjectContent = mediaTypeValue.getIn([\"schema\", \"type\"]) === \"object\"\n const isBinaryFormat = mediaTypeValue.getIn([\"schema\", \"format\"]) === \"binary\"\n const isBase64Format = mediaTypeValue.getIn([\"schema\", \"format\"]) === \"base64\"\n\n if(\n contentType === \"application/octet-stream\"\n || contentType.indexOf(\"image/\") === 0\n || contentType.indexOf(\"audio/\") === 0\n || contentType.indexOf(\"video/\") === 0\n || isBinaryFormat\n || isBase64Format\n ) {\n const Input = getComponent(\"Input\")\n\n if(!isExecute) {\n return <i>\n Example values are not available for <code>{contentType}</code> media types.\n </i>\n }\n\n return <Input type={\"file\"} onChange={handleFile} />\n }\n\n if (\n isObjectContent &&\n (\n contentType === \"application/x-www-form-urlencoded\" ||\n contentType.indexOf(\"multipart/\") === 0\n ) &&\n schemaForMediaType.get(\"properties\", OrderedMap()).size > 0\n ) {\n const JsonSchemaForm = getComponent(\"JsonSchemaForm\")\n const ParameterExt = getComponent(\"ParameterExt\")\n const bodyProperties = schemaForMediaType.get(\"properties\", OrderedMap())\n requestBodyValue = Map.isMap(requestBodyValue) ? requestBodyValue : OrderedMap()\n\n return <div className=\"table-container\">\n { requestBodyDescription &&\n <Markdown source={requestBodyDescription} />\n }\n <table>\n <tbody>\n {\n Map.isMap(bodyProperties) && bodyProperties.entrySeq().map(([key, prop]) => {\n if (prop.get(\"readOnly\")) return\n\n let commonExt = showCommonExtensions ? getCommonExtensions(prop) : null\n const required = schemaForMediaType.get(\"required\", List()).includes(key)\n const type = prop.get(\"type\")\n const format = prop.get(\"format\")\n const description = prop.get(\"description\")\n const currentValue = requestBodyValue.getIn([key, \"value\"])\n const currentErrors = requestBodyValue.getIn([key, \"errors\"]) || requestBodyErrors\n const included = requestBodyInclusionSetting.get(key) || false\n\n const useInitialValFromSchemaSamples = prop.has(\"default\")\n || prop.has(\"example\")\n || prop.hasIn([\"items\", \"example\"])\n || prop.hasIn([\"items\", \"default\"])\n const useInitialValFromEnum = prop.has(\"enum\") && (prop.get(\"enum\").size === 1 || required)\n const useInitialValue = useInitialValFromSchemaSamples || useInitialValFromEnum\n\n let initialValue = \"\"\n if (type === \"array\" && !useInitialValue) {\n initialValue = []\n }\n if (type === \"object\" || useInitialValue) {\n // TODO: what about example or examples from requestBody could be passed as exampleOverride\n initialValue = getSampleSchema(prop, false, {\n includeWriteOnly: true\n })\n }\n\n if (typeof initialValue !== \"string\" && type === \"object\") {\n initialValue = stringify(initialValue)\n }\n if (typeof initialValue === \"string\" && type === \"array\") {\n initialValue = JSON.parse(initialValue)\n }\n\n const isFile = type === \"string\" && (format === \"binary\" || format === \"base64\")\n\n return <tr key={key} className=\"parameters\" data-property-name={key}>\n <td className=\"parameters-col_name\">\n <div className={required ? \"parameter__name required\" : \"parameter__name\"}>\n { key }\n { !required ? null : <span> *</span> }\n </div>\n <div className=\"parameter__type\">\n { type }\n { format && <span className=\"prop-format\">(${format})</span>}\n {!showCommonExtensions || !commonExt.size ? null : commonExt.entrySeq().map(([key, v]) => <ParameterExt key={`${key}-${v}`} xKey={key} xVal={v} />)}\n </div>\n <div className=\"parameter__deprecated\">\n { prop.get(\"deprecated\") ? \"deprecated\": null }\n </div>\n </td>\n <td className=\"parameters-col_description\">\n <Markdown source={ description }></Markdown>\n {isExecute ? <div>\n <JsonSchemaForm\n fn={fn}\n dispatchInitialValue={!isFile}\n schema={prop}\n description={key}\n getComponent={getComponent}\n value={currentValue === undefined ? initialValue : currentValue}\n required = { required }\n errors = { currentErrors }\n onChange={(value) => {\n onChange(value, [key])\n }}\n />\n {required ? null : (\n <ParameterIncludeEmpty\n onChange={(value) => onChangeIncludeEmpty(key, value)}\n isIncluded={included}\n isIncludedOptions={setIsIncludedOptions(key)}\n isDisabled={Array.isArray(currentValue) ? currentValue.length !== 0 : !isEmptyValue(currentValue)}\n />\n )}\n </div> : null }\n </td>\n </tr>\n })\n }\n </tbody>\n </table>\n </div>\n }\n\n const sampleRequestBody = getDefaultRequestBodyValue(\n requestBody,\n contentType,\n activeExamplesKey,\n )\n let language = null\n let testValueForJson = getKnownSyntaxHighlighterLanguage(sampleRequestBody)\n if (testValueForJson) {\n language = \"json\"\n }\n\n return <div>\n { requestBodyDescription &&\n <Markdown source={requestBodyDescription} />\n }\n {\n sampleForMediaType ? (\n <ExamplesSelectValueRetainer\n userHasEditedBody={userHasEditedBody}\n examples={sampleForMediaType}\n currentKey={activeExamplesKey}\n currentUserInputValue={requestBodyValue}\n onSelect={handleExamplesSelect}\n updateValue={onChange}\n defaultToFirstExample={true}\n getComponent={getComponent}\n setRetainRequestBodyValueFlag={setRetainRequestBodyValueFlag}\n />\n ) : null\n }\n {\n isExecute ? (\n <div>\n <RequestBodyEditor\n value={requestBodyValue}\n errors={requestBodyErrors}\n defaultValue={sampleRequestBody}\n onChange={onChange}\n getComponent={getComponent}\n />\n </div>\n ) : (\n <ModelExample\n getComponent={ getComponent }\n getConfigs={ getConfigs }\n specSelectors={ specSelectors }\n expandDepth={1}\n isExecute={isExecute}\n schema={mediaTypeValue.get(\"schema\")}\n specPath={specPath.push(\"content\", contentType)}\n example={\n <HighlightCode\n className=\"body-param__example\"\n getConfigs={getConfigs}\n language={language}\n value={stringify(requestBodyValue) || sampleRequestBody}\n />\n }\n includeWriteOnly={true}\n />\n )\n }\n {\n sampleForMediaType ? (\n <Example\n example={sampleForMediaType.get(activeExamplesKey)}\n getComponent={getComponent}\n getConfigs={getConfigs}\n />\n ) : null\n }\n </div>\n}\n\nRequestBody.propTypes = {\n userHasEditedBody: PropTypes.bool.isRequired,\n requestBody: ImPropTypes.orderedMap.isRequired,\n requestBodyValue: ImPropTypes.orderedMap.isRequired,\n requestBodyInclusionSetting: ImPropTypes.Map.isRequired,\n requestBodyErrors: ImPropTypes.list.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n fn: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n contentType: PropTypes.string,\n isExecute: PropTypes.bool.isRequired,\n onChange: PropTypes.func.isRequired,\n onChangeIncludeEmpty: PropTypes.func.isRequired,\n specPath: PropTypes.array.isRequired,\n activeExamplesKey: PropTypes.string,\n updateActiveExamplesKey: PropTypes.func,\n setRetainRequestBodyValueFlag: PropTypes.func,\n oas3Actions: PropTypes.object.isRequired\n}\n\nexport default RequestBody\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class ServersContainer extends React.Component {\n\n static propTypes = {\n specSelectors: PropTypes.object.isRequired,\n oas3Selectors: PropTypes.object.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n }\n\n render () {\n const {specSelectors, oas3Selectors, oas3Actions, getComponent} = this.props\n\n const servers = specSelectors.servers()\n\n const Servers = getComponent(\"Servers\")\n\n return servers && servers.size ? (\n <div>\n <span className=\"servers-title\">Servers</span>\n <Servers\n servers={servers}\n currentServer={oas3Selectors.selectedServer()}\n setSelectedServer={oas3Actions.setSelectedServer}\n setServerVariableValue={oas3Actions.setServerVariableValue}\n getServerVariable={oas3Selectors.serverVariableValue}\n getEffectiveServerValue={oas3Selectors.serverEffectiveValue}\n />\n </div> ) : null\n }\n}","import React from \"react\"\nimport { OrderedMap } from \"immutable\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nexport default class Servers extends React.Component {\n\n static propTypes = {\n servers: ImPropTypes.list.isRequired,\n currentServer: PropTypes.string.isRequired,\n setSelectedServer: PropTypes.func.isRequired,\n setServerVariableValue: PropTypes.func.isRequired,\n getServerVariable: PropTypes.func.isRequired,\n getEffectiveServerValue: PropTypes.func.isRequired\n }\n\n componentDidMount() {\n let { servers, currentServer } = this.props\n\n if(currentServer) {\n return\n }\n\n // fire 'change' event to set default 'value' of select\n this.setServer(servers.first()?.get(\"url\"))\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n let {\n servers,\n setServerVariableValue,\n getServerVariable\n } = nextProps\n if (this.props.currentServer !== nextProps.currentServer || this.props.servers !== nextProps.servers) {\n // Server has changed, we may need to set default values\n let currentServerDefinition = servers\n .find(v => v.get(\"url\") === nextProps.currentServer)\n let prevServerDefinition = this.props.servers\n .find(v => v.get(\"url\") === this.props.currentServer) || OrderedMap()\n \n if(!currentServerDefinition) {\n return this.setServer(servers.first().get(\"url\"))\n }\n \n let prevServerVariableDefs = prevServerDefinition.get(\"variables\") || OrderedMap()\n let prevServerVariableDefaultKey = prevServerVariableDefs.find(v => v.get(\"default\")) || OrderedMap()\n let prevServerVariableDefaultValue = prevServerVariableDefaultKey.get(\"default\")\n \n let currentServerVariableDefs = currentServerDefinition.get(\"variables\") || OrderedMap()\n let currentServerVariableDefaultKey = currentServerVariableDefs.find(v => v.get(\"default\")) || OrderedMap()\n let currentServerVariableDefaultValue = currentServerVariableDefaultKey.get(\"default\")\n \n currentServerVariableDefs.map((val, key) => {\n let currentValue = getServerVariable(nextProps.currentServer, key)\n \n // note: it is possible for both key/val to be the same across definitions,\n // but we will try to detect a change in default values between definitions\n // only set the default value if the user hasn't set one yet\n // or if the definition appears to have changed\n if (!currentValue || prevServerVariableDefaultValue !== currentServerVariableDefaultValue) {\n setServerVariableValue({\n server: nextProps.currentServer,\n key,\n val: val.get(\"default\") || \"\"\n })\n }\n })\n }\n }\n\n onServerChange =( e ) => {\n this.setServer( e.target.value )\n\n // set default variable values\n }\n\n onServerVariableValueChange = ( e ) => {\n let {\n setServerVariableValue,\n currentServer\n } = this.props\n\n let variableName = e.target.getAttribute(\"data-variable\")\n let newVariableValue = e.target.value\n\n if(typeof setServerVariableValue === \"function\") {\n setServerVariableValue({\n server: currentServer,\n key: variableName,\n val: newVariableValue\n })\n }\n }\n\n setServer = ( value ) => {\n let { setSelectedServer } = this.props\n\n setSelectedServer(value)\n }\n\n render() {\n let { servers,\n currentServer,\n getServerVariable,\n getEffectiveServerValue\n } = this.props\n\n\n let currentServerDefinition = servers.find(s => s.get(\"url\") === currentServer) || OrderedMap()\n\n let currentServerVariableDefs = currentServerDefinition.get(\"variables\") || OrderedMap()\n\n let shouldShowVariableUI = currentServerVariableDefs.size !== 0\n\n return (\n <div className=\"servers\">\n <label htmlFor=\"servers\">\n <select onChange={ this.onServerChange } value={currentServer}>\n { servers.valueSeq().map(\n ( server ) =>\n <option\n value={ server.get(\"url\") }\n key={ server.get(\"url\") }>\n { server.get(\"url\") }\n { server.get(\"description\") && ` - ${server.get(\"description\")}` }\n </option>\n ).toArray()}\n </select>\n </label>\n { shouldShowVariableUI ?\n <div>\n\n <div className={\"computed-url\"}>\n Computed URL:\n <code>\n {getEffectiveServerValue(currentServer)}\n </code>\n </div>\n <h4>Server variables</h4>\n <table>\n <tbody>\n {\n currentServerVariableDefs.entrySeq().map(([name, val]) => {\n return <tr key={name}>\n <td>{name}</td>\n <td>\n { val.get(\"enum\") ?\n <select data-variable={name} onChange={this.onServerVariableValueChange}>\n {val.get(\"enum\").map(enumValue => {\n return <option\n selected={enumValue === getServerVariable(currentServer, name)}\n key={enumValue}\n value={enumValue}>\n {enumValue}\n </option>\n })}\n </select> :\n <input\n type={\"text\"}\n value={getServerVariable(currentServer, name) || \"\"}\n onChange={this.onServerVariableValueChange}\n data-variable={name}\n ></input>\n }\n </td>\n </tr>\n })\n }\n </tbody>\n </table>\n </div>: null\n }\n </div>\n )\n }\n}\n","import React from \"react\"\n\nexport function isOAS3(jsSpec) {\n const oasVersion = jsSpec.get(\"openapi\")\n if(typeof oasVersion !== \"string\") {\n return false\n }\n\n // we gate against `3.1` because we want to explicitly opt into supporting it\n // at some point in the future -- KS, 7/2018\n\n // starts with, but is not `3.0.` exactly\n return oasVersion.startsWith(\"3.0.\") && oasVersion.length > 4\n}\n\nexport function isSwagger2(jsSpec) {\n const swaggerVersion = jsSpec.get(\"swagger\")\n if(typeof swaggerVersion !== \"string\") {\n return false\n }\n\n return swaggerVersion.startsWith(\"2.0\")\n}\n\nexport function OAS3ComponentWrapFactory(Component) {\n return (Ori, system) => (props) => {\n if(system && system.specSelectors && system.specSelectors.specJson) {\n const spec = system.specSelectors.specJson()\n\n if(isOAS3(spec)) {\n return <Component {...props} {...system} Ori={Ori}></Component>\n } else {\n return <Ori {...props}></Ori>\n }\n } else {\n console.warn(\"OAS3 wrapper: couldn't get spec\")\n return null\n }\n }\n}\n","// import reducers from \"./reducers\"\n// import * as actions from \"./actions\"\nimport * as specWrapSelectors from \"./spec-extensions/wrap-selectors\"\nimport * as authWrapSelectors from \"./auth-extensions/wrap-selectors\"\nimport * as specSelectors from \"./spec-extensions/selectors\"\nimport components from \"./components\"\nimport wrapComponents from \"./wrap-components\"\nimport * as oas3Actions from \"./actions\"\nimport * as oas3Selectors from \"./selectors\"\nimport oas3Reducers from \"./reducers\"\n\nexport default function() {\n return {\n components,\n wrapComponents,\n statePlugins: {\n spec: {\n wrapSelectors: specWrapSelectors,\n selectors: specSelectors\n },\n auth: {\n wrapSelectors: authWrapSelectors\n },\n oas3: {\n actions: oas3Actions,\n reducers: oas3Reducers,\n selectors: oas3Selectors,\n }\n }\n }\n}\n","import { fromJS, Map } from \"immutable\"\n\nimport {\n UPDATE_SELECTED_SERVER,\n UPDATE_REQUEST_BODY_VALUE,\n UPDATE_REQUEST_BODY_INCLUSION,\n UPDATE_ACTIVE_EXAMPLES_MEMBER,\n UPDATE_REQUEST_CONTENT_TYPE,\n UPDATE_SERVER_VARIABLE_VALUE,\n UPDATE_RESPONSE_CONTENT_TYPE,\n SET_REQUEST_BODY_VALIDATE_ERROR,\n CLEAR_REQUEST_BODY_VALIDATE_ERROR,\n CLEAR_REQUEST_BODY_VALUE, UPDATE_REQUEST_BODY_VALUE_RETAIN_FLAG,\n} from \"./actions\"\n\nexport default {\n [UPDATE_SELECTED_SERVER]: (state, { payload: { selectedServerUrl, namespace } } ) =>{\n const path = namespace ? [ namespace, \"selectedServer\"] : [ \"selectedServer\"]\n return state.setIn( path, selectedServerUrl)\n },\n [UPDATE_REQUEST_BODY_VALUE]: (state, { payload: { value, pathMethod } } ) =>{\n let [path, method] = pathMethod\n if (!Map.isMap(value)) {\n // context: application/json is always a String (instead of Map)\n return state.setIn( [ \"requestData\", path, method, \"bodyValue\" ], value)\n }\n let currentVal = state.getIn([\"requestData\", path, method, \"bodyValue\"]) || Map()\n if (!Map.isMap(currentVal)) {\n // context: user switch from application/json to application/x-www-form-urlencoded\n currentVal = Map()\n }\n let newVal\n const [...valueKeys] = value.keys()\n valueKeys.forEach((valueKey) => {\n let valueKeyVal = value.getIn([valueKey])\n if (!currentVal.has(valueKey)) {\n newVal = currentVal.setIn([valueKey, \"value\"], valueKeyVal)\n } else if (!Map.isMap(valueKeyVal)) {\n // context: user input will be received as String\n newVal = currentVal.setIn([valueKey, \"value\"], valueKeyVal)\n }\n })\n return state.setIn([\"requestData\", path, method, \"bodyValue\"], newVal)\n },\n [UPDATE_REQUEST_BODY_VALUE_RETAIN_FLAG]: (state, { payload: { value, pathMethod } } ) =>{\n let [path, method] = pathMethod\n return state.setIn([\"requestData\", path, method, \"retainBodyValue\"], value)\n },\n [UPDATE_REQUEST_BODY_INCLUSION]: (state, { payload: { value, pathMethod, name } } ) =>{\n let [path, method] = pathMethod\n return state.setIn( [ \"requestData\", path, method, \"bodyInclusion\", name ], value)\n },\n [UPDATE_ACTIVE_EXAMPLES_MEMBER]: (state, { payload: { name, pathMethod, contextType, contextName } } ) =>{\n let [path, method] = pathMethod\n return state.setIn( [ \"examples\", path, method, contextType, contextName, \"activeExample\" ], name)\n },\n [UPDATE_REQUEST_CONTENT_TYPE]: (state, { payload: { value, pathMethod } } ) =>{\n let [path, method] = pathMethod\n return state.setIn( [ \"requestData\", path, method, \"requestContentType\" ], value)\n },\n [UPDATE_RESPONSE_CONTENT_TYPE]: (state, { payload: { value, path, method } } ) =>{\n return state.setIn( [ \"requestData\", path, method, \"responseContentType\" ], value)\n },\n [UPDATE_SERVER_VARIABLE_VALUE]: (state, { payload: { server, namespace, key, val } } ) =>{\n const path = namespace ? [ namespace, \"serverVariableValues\", server, key ] : [ \"serverVariableValues\", server, key ]\n return state.setIn(path, val)\n },\n [SET_REQUEST_BODY_VALIDATE_ERROR]: (state, { payload: { path, method, validationErrors } } ) => {\n let errors = []\n errors.push(\"Required field is not provided\")\n if (validationErrors.missingBodyValue) {\n // context: is application/json or application/xml, where typeof (missing) bodyValue = String\n return state.setIn([\"requestData\", path, method, \"errors\"], fromJS(errors))\n }\n if (validationErrors.missingRequiredKeys && validationErrors.missingRequiredKeys.length > 0) {\n // context: is application/x-www-form-urlencoded, with list of missing keys\n const { missingRequiredKeys } = validationErrors\n return state.updateIn([\"requestData\", path, method, \"bodyValue\"], fromJS({}), missingKeyValues => {\n return missingRequiredKeys.reduce((bodyValue, currentMissingKey) => {\n return bodyValue.setIn([currentMissingKey, \"errors\"], fromJS(errors))\n }, missingKeyValues)\n })\n }\n console.warn(\"unexpected result: SET_REQUEST_BODY_VALIDATE_ERROR\")\n return state\n },\n [CLEAR_REQUEST_BODY_VALIDATE_ERROR]: (state, { payload: { path, method } }) => {\n const requestBodyValue = state.getIn([\"requestData\", path, method, \"bodyValue\"])\n if (!Map.isMap(requestBodyValue)) {\n return state.setIn([\"requestData\", path, method, \"errors\"], fromJS([]))\n }\n const [...valueKeys] = requestBodyValue.keys()\n if (!valueKeys) {\n return state\n }\n return state.updateIn([\"requestData\", path, method, \"bodyValue\"], fromJS({}), bodyValues => {\n return valueKeys.reduce((bodyValue, curr) => {\n return bodyValue.setIn([curr, \"errors\"], fromJS([]))\n }, bodyValues)\n })\n },\n [CLEAR_REQUEST_BODY_VALUE]: (state, { payload: { pathMethod }}) => {\n let [path, method] = pathMethod\n const requestBodyValue = state.getIn([\"requestData\", path, method, \"bodyValue\"])\n if (!requestBodyValue) {\n return state\n }\n if (!Map.isMap(requestBodyValue)) {\n return state.setIn([\"requestData\", path, method, \"bodyValue\"], \"\")\n }\n return state.setIn([\"requestData\", path, method, \"bodyValue\"], Map())\n }\n}\n","import { OrderedMap, Map, List } from \"immutable\"\nimport { isOAS3 as isOAS3Helper } from \"./helpers\"\nimport { getDefaultRequestBodyValue } from \"./components/request-body\"\nimport { stringify } from \"../../utils\"\n\n// Helpers\n\nconst onlyOAS3 =\n (selector) =>\n (state, ...args) =>\n (system) => {\n const spec = system.getSystem().specSelectors.specJson()\n\n if (isOAS3Helper(spec)) {\n const selectedValue = selector(state, ...args)\n return typeof selectedValue === \"function\"\n ? selectedValue(system)\n : selectedValue\n } else {\n return null\n }\n }\n\n\nfunction validateRequestBodyIsRequired(selector) {\n return (...args) => (system) => {\n const specJson = system.getSystem().specSelectors.specJson()\n const argsList = [...args]\n // expect argsList[0] = state\n let pathMethod = argsList[1] || []\n let isOas3RequestBodyRequired = specJson.getIn([\"paths\", ...pathMethod, \"requestBody\", \"required\"])\n\n if (isOas3RequestBodyRequired) {\n return selector(...args)\n } else {\n // validation pass b/c not required\n return true\n }\n }\n}\n\nconst validateRequestBodyValueExists = (state, pathMethod) => {\n pathMethod = pathMethod || []\n let oas3RequestBodyValue = state.getIn([\"requestData\", ...pathMethod, \"bodyValue\"])\n // context: bodyValue can be a String, or a Map\n if (!oas3RequestBodyValue) {\n return false\n }\n // validation pass if String is not empty, or if Map exists\n return true\n}\n\n\nexport const selectedServer = onlyOAS3((state, namespace) => {\n const path = namespace ? [namespace, \"selectedServer\"] : [\"selectedServer\"]\n return state.getIn(path) || \"\"\n }\n)\n\nexport const requestBodyValue = onlyOAS3((state, path, method) => {\n return state.getIn([\"requestData\", path, method, \"bodyValue\"]) || null\n }\n)\n\nexport const shouldRetainRequestBodyValue = onlyOAS3((state, path, method) => {\n return state.getIn([\"requestData\", path, method, \"retainBodyValue\"]) || false\n }\n)\n\nexport const selectDefaultRequestBodyValue = (state, path, method) => (system) => {\n const {oas3Selectors, specSelectors} = system.getSystem()\n const spec = specSelectors.specJson()\n if(isOAS3Helper(spec)) {\n const currentMediaType = oas3Selectors.requestContentType(path, method)\n if (currentMediaType) {\n return getDefaultRequestBodyValue(\n specSelectors.specResolvedSubtree([\"paths\", path, method, \"requestBody\"]),\n currentMediaType,\n oas3Selectors.activeExamplesMember(\n path, method,\n \"requestBody\",\n \"requestBody\",\n )\n )\n }\n }\n return null\n}\n\nexport const hasUserEditedBody = onlyOAS3((state, path, method) => (system) => {\n const {oas3Selectors, specSelectors} = system.getSystem()\n\n let userHasEditedBody = false\n const currentMediaType = oas3Selectors.requestContentType(path, method)\n let userEditedRequestBody = oas3Selectors.requestBodyValue(path, method)\n const requestBody = specSelectors.specResolvedSubtree([\n \"paths\",\n path,\n method,\n \"requestBody\",\n ])\n\n /**\n * The only request body that can currently be edited is for Path Items that are direct values of OpenAPI.paths.\n * Path Item contained within the Callback Object or OpenAPI.webhooks (OpenAPI 3.1.0) have `Try it out`\n * disabled and thus body cannot be edited.\n */\n if (!requestBody) {\n return false\n }\n\n if (Map.isMap(userEditedRequestBody)) {\n // context is not application/json media-type\n userEditedRequestBody = stringify(userEditedRequestBody.mapEntries((kv) => Map.isMap(kv[1]) ? [kv[0], kv[1].get(\"value\")] : kv).toJS())\n }\n if(List.isList(userEditedRequestBody)) {\n userEditedRequestBody = stringify(userEditedRequestBody)\n }\n if (currentMediaType) {\n const currentMediaTypeDefaultBodyValue = getDefaultRequestBodyValue(\n requestBody,\n currentMediaType,\n oas3Selectors.activeExamplesMember(\n path, method,\n \"requestBody\",\n \"requestBody\",\n )\n )\n userHasEditedBody = !!userEditedRequestBody && userEditedRequestBody !== currentMediaTypeDefaultBodyValue\n }\n return userHasEditedBody\n\n})\n\nexport const requestBodyInclusionSetting = onlyOAS3((state, path, method) => {\n return state.getIn([\"requestData\", path, method, \"bodyInclusion\"]) || Map()\n }\n)\n\nexport const requestBodyErrors = onlyOAS3((state, path, method) => {\n return state.getIn([\"requestData\", path, method, \"errors\"]) || null\n }\n)\n\nexport const activeExamplesMember = onlyOAS3((state, path, method, type, name) => {\n return state.getIn([\"examples\", path, method, type, name, \"activeExample\"]) || null\n }\n)\n\nexport const requestContentType = onlyOAS3((state, path, method) => {\n return state.getIn([\"requestData\", path, method, \"requestContentType\"]) || null\n }\n)\n\nexport const responseContentType = onlyOAS3((state, path, method) => {\n return state.getIn([\"requestData\", path, method, \"responseContentType\"]) || null\n }\n)\n\nexport const serverVariableValue = onlyOAS3((state, locationData, key) => {\n let path\n\n // locationData may take one of two forms, for backwards compatibility\n // Object: ({server, namespace?}) or String:(server)\n if(typeof locationData !== \"string\") {\n const { server, namespace } = locationData\n if(namespace) {\n path = [namespace, \"serverVariableValues\", server, key]\n } else {\n path = [\"serverVariableValues\", server, key]\n }\n } else {\n const server = locationData\n path = [\"serverVariableValues\", server, key]\n }\n\n return state.getIn(path) || null\n }\n)\n\nexport const serverVariables = onlyOAS3((state, locationData) => {\n let path\n\n // locationData may take one of two forms, for backwards compatibility\n // Object: ({server, namespace?}) or String:(server)\n if(typeof locationData !== \"string\") {\n const { server, namespace } = locationData\n if(namespace) {\n path = [namespace, \"serverVariableValues\", server]\n } else {\n path = [\"serverVariableValues\", server]\n }\n } else {\n const server = locationData\n path = [\"serverVariableValues\", server]\n }\n\n return state.getIn(path) || OrderedMap()\n }\n)\n\nexport const serverEffectiveValue = onlyOAS3((state, locationData) => {\n var varValues, serverValue\n\n // locationData may take one of two forms, for backwards compatibility\n // Object: ({server, namespace?}) or String:(server)\n if(typeof locationData !== \"string\") {\n const { server, namespace } = locationData\n serverValue = server\n if(namespace) {\n varValues = state.getIn([namespace, \"serverVariableValues\", serverValue])\n } else {\n varValues = state.getIn([\"serverVariableValues\", serverValue])\n }\n } else {\n serverValue = locationData\n varValues = state.getIn([\"serverVariableValues\", serverValue])\n }\n\n varValues = varValues || OrderedMap()\n let str = serverValue\n\n varValues.map((val, key) => {\n str = str.replace(new RegExp(`{${key}}`, \"g\"), val)\n })\n\n return str\n }\n)\n\nexport const validateBeforeExecute = validateRequestBodyIsRequired(\n (state, pathMethod) => validateRequestBodyValueExists(state, pathMethod)\n)\n\nexport const validateShallowRequired = (state, { oas3RequiredRequestBodyContentType, oas3RequestContentType, oas3RequestBodyValue} ) => {\n let missingRequiredKeys = []\n // context: json => String; urlencoded, form-data => Map\n if (!Map.isMap(oas3RequestBodyValue)) {\n return missingRequiredKeys\n }\n let requiredKeys = []\n // Cycle through list of possible contentTypes for matching contentType and defined requiredKeys\n Object.keys(oas3RequiredRequestBodyContentType.requestContentType).forEach((contentType) => {\n if (contentType === oas3RequestContentType) {\n let contentTypeVal = oas3RequiredRequestBodyContentType.requestContentType[contentType]\n contentTypeVal.forEach((requiredKey) => {\n if (requiredKeys.indexOf(requiredKey) < 0 ) {\n requiredKeys.push(requiredKey)\n }\n })\n }\n })\n requiredKeys.forEach((key) => {\n let requiredKeyValue = oas3RequestBodyValue.getIn([key, \"value\"])\n if (!requiredKeyValue) {\n missingRequiredKeys.push(key)\n }\n })\n return missingRequiredKeys\n}\n","import { createSelector } from \"reselect\"\nimport { Map } from \"immutable\"\nimport { isOAS3 as isOAS3Helper, isSwagger2 as isSwagger2Helper } from \"../helpers\"\n\n\n// Helpers\n\nfunction onlyOAS3(selector) {\n return () => (system, ...args) => {\n const spec = system.getSystem().specSelectors.specJson()\n if(isOAS3Helper(spec)) {\n return selector(...args)\n } else {\n return null\n }\n }\n}\n\nconst state = state => {\n return state || Map()\n}\n\nconst specJson = createSelector(\n state,\n spec => spec.get(\"json\", Map())\n)\n\nconst specResolved = createSelector(\n state,\n spec => spec.get(\"resolved\", Map())\n)\n\nconst spec = state => {\n let res = specResolved(state)\n if(res.count() < 1)\n res = specJson(state)\n return res\n}\n\n// New selectors\n\nexport const servers = onlyOAS3(createSelector(\n spec,\n spec => spec.getIn([\"servers\"]) || Map()\n))\n\nexport const isSwagger2 = (ori, system) => () => {\n const spec = system.getSystem().specSelectors.specJson()\n return isSwagger2Helper(spec)\n}\n","import { createSelector } from \"reselect\"\nimport { specJsonWithResolvedSubtrees } from \"../../spec/selectors\"\nimport { Map } from \"immutable\"\nimport { isOAS3 as isOAS3Helper, isSwagger2 as isSwagger2Helper } from \"../helpers\"\n\n\n// Helpers\n\nfunction onlyOAS3(selector) {\n return (ori, system) => (...args) => {\n const spec = system.getSystem().specSelectors.specJson()\n if(isOAS3Helper(spec)) {\n return selector(...args)\n } else {\n return ori(...args)\n }\n }\n}\n\nconst state = state => {\n return state || Map()\n}\n\nconst nullSelector = createSelector(() => null)\n\nconst OAS3NullSelector = onlyOAS3(nullSelector)\n\nconst specJson = createSelector(\n state,\n spec => spec.get(\"json\", Map())\n)\n\nconst specResolved = createSelector(\n state,\n spec => spec.get(\"resolved\", Map())\n)\n\nconst spec = state => {\n let res = specResolved(state)\n if(res.count() < 1)\n res = specJson(state)\n return res\n}\n\n// Wrappers\n\nexport const definitions = onlyOAS3(createSelector(\n spec,\n spec => {\n const res = spec.getIn([\"components\", \"schemas\"])\n return Map.isMap(res) ? res : Map()\n }\n))\n\nexport const hasHost = onlyOAS3((state) => {\n return spec(state).hasIn([\"servers\", 0])\n})\n\nexport const securityDefinitions = onlyOAS3(createSelector(\n specJsonWithResolvedSubtrees,\n spec => spec.getIn([\"components\", \"securitySchemes\"]) || null\n))\n\nexport const host = OAS3NullSelector\nexport const basePath = OAS3NullSelector\nexport const consumes = OAS3NullSelector\nexport const produces = OAS3NullSelector\nexport const schemes = OAS3NullSelector\n\n// New selectors\n\nexport const servers = onlyOAS3(createSelector(\n spec,\n spec => spec.getIn([\"servers\"]) || Map()\n))\n\nexport const isOAS3 = (ori, system) => () => {\n const spec = system.getSystem().specSelectors.specJson()\n return isOAS3Helper(Map.isMap(spec) ? spec : Map())\n}\n\nexport const isSwagger2 = (ori, system) => () => {\n const spec = system.getSystem().specSelectors.specJson()\n return isSwagger2Helper(Map.isMap(spec) ? spec : Map())\n}\n","import React from \"react\"\nimport { OAS3ComponentWrapFactory } from \"../helpers\"\n\nexport default OAS3ComponentWrapFactory(({ Ori, ...props }) => {\n const {\n schema, getComponent, errSelectors, authorized, onAuthChange, name\n } = props\n\n const HttpAuth = getComponent(\"HttpAuth\")\n const type = schema.get(\"type\")\n\n if(type === \"http\") {\n return <HttpAuth key={ name }\n schema={ schema }\n name={ name }\n errSelectors={ errSelectors }\n authorized={ authorized }\n getComponent={ getComponent }\n onChange={ onAuthChange }/>\n } else {\n return <Ori {...props} />\n }\n})\n","import Markdown from \"./markdown\"\nimport AuthItem from \"./auth-item\"\nimport VersionStamp from \"./version-stamp\"\nimport OnlineValidatorBadge from \"./online-validator-badge\"\nimport Model from \"./model\"\nimport JsonSchema_string from \"./json-schema-string\"\n\nexport default {\n Markdown,\n AuthItem,\n JsonSchema_string,\n VersionStamp,\n model: Model,\n onlineValidatorBadge: OnlineValidatorBadge,\n}\n","import React from \"react\"\nimport { OAS3ComponentWrapFactory } from \"../helpers\"\n\nexport default OAS3ComponentWrapFactory(({ Ori, ...props }) => {\n const {\n schema,\n getComponent,\n errors,\n onChange\n } = props\n\n const format = schema && schema.get ? schema.get(\"format\") : null\n const type = schema && schema.get ? schema.get(\"type\") : null\n const Input = getComponent(\"Input\")\n\n if(type && type === \"string\" && (format && (format === \"binary\" || format === \"base64\"))) {\n return <Input type=\"file\"\n className={ errors.length ? \"invalid\" : \"\"}\n title={ errors.length ? errors : \"\"}\n onChange={(e) => {\n onChange(e.target.files[0])\n }}\n disabled={Ori.isDisabled}/>\n } else {\n return <Ori {...props} />\n }\n})\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport cx from \"classnames\"\nimport { Remarkable } from \"remarkable\"\nimport { OAS3ComponentWrapFactory } from \"../helpers\"\nimport { sanitizer } from \"core/components/providers/markdown\"\n\nconst parser = new Remarkable(\"commonmark\")\nparser.block.ruler.enable([\"table\"])\nparser.set({ linkTarget: \"_blank\" })\n\nexport const Markdown = ({ source, className = \"\", getConfigs }) => {\n if(typeof source !== \"string\") {\n return null\n }\n\n if ( source ) {\n const { useUnsafeMarkdown } = getConfigs()\n const html = parser.render(source)\n const sanitized = sanitizer(html, { useUnsafeMarkdown })\n\n let trimmed\n\n if(typeof sanitized === \"string\") {\n trimmed = sanitized.trim()\n }\n\n return (\n <div\n dangerouslySetInnerHTML={{\n __html: trimmed\n }}\n className={cx(className, \"renderedMarkdown\")}\n />\n )\n }\n return null\n}\nMarkdown.propTypes = {\n source: PropTypes.string,\n className: PropTypes.string,\n getConfigs: PropTypes.func,\n}\n\nMarkdown.defaultProps = {\n getConfigs: () => ({ useUnsafeMarkdown: false }),\n}\n\nexport default OAS3ComponentWrapFactory(Markdown)\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { OAS3ComponentWrapFactory } from \"../helpers\"\nimport Model from \"core/components/model\"\n\nclass ModelComponent extends Component {\n static propTypes = {\n schema: PropTypes.object.isRequired,\n name: PropTypes.string,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n expandDepth: PropTypes.number,\n includeReadOnly: PropTypes.bool,\n includeWriteOnly: PropTypes.bool,\n }\n\n render(){\n let { getConfigs, schema } = this.props\n let classes = [\"model-box\"]\n let isDeprecated = schema.get(\"deprecated\") === true\n let message = null\n\n if(isDeprecated) {\n classes.push(\"deprecated\")\n message = <span className=\"model-deprecated-warning\">Deprecated:</span>\n }\n\n return <div className={classes.join(\" \")}>\n {message}\n <Model { ...this.props }\n getConfigs={ getConfigs }\n depth={ 1 }\n expandDepth={ this.props.expandDepth || 0 }\n />\n </div>\n }\n}\n\nexport default OAS3ComponentWrapFactory(ModelComponent)\n","import { OAS3ComponentWrapFactory } from \"../helpers\"\nimport OnlineValidatorBadge from \"core/components/online-validator-badge\"\n\n// OAS3 spec is now supported by the online validator.\nexport default OAS3ComponentWrapFactory(OnlineValidatorBadge)\n","import React from \"react\"\nimport { OAS3ComponentWrapFactory } from \"../helpers\"\n\nexport default OAS3ComponentWrapFactory((props) => {\n const { Ori } = props\n\n return <span>\n <Ori {...props} />\n <small className=\"version-stamp\">\n <pre className=\"version\">OAS3</pre>\n </small>\n </span>\n})\n","let engaged = false\n\nexport default function() {\n\n return {\n statePlugins: {\n spec: {\n wrapActions: {\n updateSpec: (ori) => (...args) => {\n engaged = true\n return ori(...args)\n },\n updateJsonSpec: (ori, system) => (...args) => {\n const cb = system.getConfigs().onComplete\n if(engaged && typeof cb === \"function\") {\n // call `onComplete` on next tick, which allows React to\n // reconcile the DOM before we notify the user\n setTimeout(cb, 0)\n engaged = false\n }\n\n return ori(...args)\n }\n }\n }\n }\n }\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_repeat_18ab8b74__[\"default\"] });","import win from \"../../window\"\nimport { Map } from \"immutable\"\n\n/**\n * if duplicate key name existed from FormData entries,\n * we mutated the key name by appending a hashIdx\n * @param {String} k - possibly mutated key name\n * @return {String} - src key name\n */\nconst extractKey = (k) => {\n const hashIdx = \"_**[]\"\n if (k.indexOf(hashIdx) < 0) {\n return k\n }\n return k.split(hashIdx)[0].trim()\n}\n\nconst escapeShell = (str) => {\n if (str === \"-d \") {\n return str\n }\n // eslint-disable-next-line no-useless-escape\n if (!/^[_\\/-]/g.test(str))\n return (\"'\" + str\n .replace(/'/g, \"'\\\\''\") + \"'\")\n else\n return str\n}\n\nconst escapeCMD = (str) => {\n str = str\n .replace(/\\^/g, \"^^\")\n .replace(/\\\\\"/g, \"\\\\\\\\\\\"\")\n .replace(/\"/g, \"\\\"\\\"\")\n .replace(/\\n/g, \"^\\n\")\n if (str === \"-d \") {\n return str\n .replace(/-d /g, \"-d ^\\n\")\n }\n // eslint-disable-next-line no-useless-escape\n if (!/^[_\\/-]/g.test(str))\n return \"\\\"\" + str + \"\\\"\"\n else\n return str\n}\n\nconst escapePowershell = (str) => {\n if (str === \"-d \") {\n return str\n }\n if (/\\n/.test(str)) {\n return \"@\\\"\\n\" + str.replace(/\"/g, \"\\\\\\\"\").replace(/`/g, \"``\").replace(/\\$/, \"`$\") + \"\\n\\\"@\"\n }\n // eslint-disable-next-line no-useless-escape\n if (!/^[_\\/-]/g.test(str))\n return \"'\" + str\n .replace(/\"/g, \"\\\"\\\"\")\n .replace(/'/g, \"''\") + \"'\"\n else\n return str\n}\n\nfunction getStringBodyOfMap(request) {\n let curlifyToJoin = []\n for (let [k, v] of request.get(\"body\").entrySeq()) {\n let extractedKey = extractKey(k)\n if (v instanceof win.File) {\n curlifyToJoin.push(` \"${extractedKey}\": {\\n \"name\": \"${v.name}\"${v.type ? `,\\n \"type\": \"${v.type}\"` : \"\"}\\n }`)\n } else {\n curlifyToJoin.push(` \"${extractedKey}\": ${JSON.stringify(v, null, 2).replace(/(\\r\\n|\\r|\\n)/g, \"\\n \")}`)\n }\n }\n return `{\\n${curlifyToJoin.join(\",\\n\")}\\n}`\n}\n\nconst curlify = (request, escape, newLine, ext = \"\") => {\n let isMultipartFormDataRequest = false\n let curlified = \"\"\n const addWords = (...args) => curlified += \" \" + args.map(escape).join(\" \")\n const addWordsWithoutLeadingSpace = (...args) => curlified += args.map(escape).join(\" \")\n const addNewLine = () => curlified += ` ${newLine}`\n const addIndent = (level = 1) => curlified += \" \".repeat(level)\n let headers = request.get(\"headers\")\n curlified += \"curl\" + ext\n\n if (request.has(\"curlOptions\")) {\n addWords(...request.get(\"curlOptions\"))\n }\n\n addWords(\"-X\", request.get(\"method\"))\n\n addNewLine()\n addIndent()\n addWordsWithoutLeadingSpace(`${request.get(\"url\")}`)\n\n if (headers && headers.size) {\n for (let p of request.get(\"headers\").entries()) {\n addNewLine()\n addIndent()\n let [h, v] = p\n addWordsWithoutLeadingSpace(\"-H\", `${h}: ${v}`)\n isMultipartFormDataRequest = isMultipartFormDataRequest || /^content-type$/i.test(h) && /^multipart\\/form-data$/i.test(v)\n }\n }\n\n const body = request.get(\"body\")\n if (body) {\n if (isMultipartFormDataRequest && [\"POST\", \"PUT\", \"PATCH\"].includes(request.get(\"method\"))) {\n for (let [k, v] of body.entrySeq()) {\n let extractedKey = extractKey(k)\n addNewLine()\n addIndent()\n addWordsWithoutLeadingSpace(\"-F\")\n if (v instanceof win.File) {\n addWords(`${extractedKey}=@${v.name}${v.type ? `;type=${v.type}` : \"\"}`)\n } else {\n addWords(`${extractedKey}=${v}`)\n }\n }\n } else if(body instanceof win.File) {\n addNewLine()\n addIndent()\n addWordsWithoutLeadingSpace(`--data-binary '@${body.name}'`)\n } else {\n addNewLine()\n addIndent()\n addWordsWithoutLeadingSpace(\"-d \")\n let reqBody = body\n if (!Map.isMap(reqBody)) {\n if (typeof reqBody !== \"string\") {\n reqBody = JSON.stringify(reqBody)\n }\n addWordsWithoutLeadingSpace(reqBody)\n } else {\n addWordsWithoutLeadingSpace(getStringBodyOfMap(request))\n }\n }\n } else if (!body && request.get(\"method\") === \"POST\") {\n addNewLine()\n addIndent()\n addWordsWithoutLeadingSpace(\"-d ''\")\n }\n\n return curlified\n}\n\n// eslint-disable-next-line camelcase\nexport const requestSnippetGenerator_curl_powershell = (request) => {\n return curlify(request, escapePowershell, \"`\\n\", \".exe\")\n}\n\n// eslint-disable-next-line camelcase\nexport const requestSnippetGenerator_curl_bash = (request) => {\n return curlify(request, escapeShell, \"\\\\\\n\")\n}\n\n// eslint-disable-next-line camelcase\nexport const requestSnippetGenerator_curl_cmd = (request) => {\n return curlify(request, escapeCMD, \"^\\n\")\n}\n","import * as fn from \"./fn\"\nimport * as selectors from \"./selectors\"\nimport RequestSnippets from \"./request-snippets\"\nexport default () => {\n return {\n components: {\n RequestSnippets\n },\n fn,\n statePlugins: {\n requestSnippets: {\n selectors\n }\n }\n }\n}\n","import React, { useRef, useEffect, useState } from \"react\"\nimport PropTypes from \"prop-types\"\nimport get from \"lodash/get\"\nimport isFunction from \"lodash/isFunction\"\nimport { CopyToClipboard } from \"react-copy-to-clipboard\"\nimport { SyntaxHighlighter, getStyle } from \"core/syntax-highlighting\"\n\nconst style = {\n cursor: \"pointer\",\n lineHeight: 1,\n display: \"inline-flex\",\n backgroundColor: \"rgb(250, 250, 250)\",\n paddingBottom: \"0\",\n paddingTop: \"0\",\n border: \"1px solid rgb(51, 51, 51)\",\n borderRadius: \"4px 4px 0 0\",\n boxShadow: \"none\",\n borderBottom: \"none\"\n}\n\nconst activeStyle = {\n cursor: \"pointer\",\n lineHeight: 1,\n display: \"inline-flex\",\n backgroundColor: \"rgb(51, 51, 51)\",\n boxShadow: \"none\",\n border: \"1px solid rgb(51, 51, 51)\",\n paddingBottom: \"0\",\n paddingTop: \"0\",\n borderRadius: \"4px 4px 0 0\",\n marginTop: \"-5px\",\n marginRight: \"-5px\",\n marginLeft: \"-5px\",\n zIndex: \"9999\",\n borderBottom: \"none\"\n}\n\nconst RequestSnippets = ({ request, requestSnippetsSelectors, getConfigs }) => {\n const config = isFunction(getConfigs) ? getConfigs() : null\n const canSyntaxHighlight = get(config, \"syntaxHighlight\") !== false && get(config, \"syntaxHighlight.activated\", true)\n const rootRef = useRef(null)\n\n const [activeLanguage, setActiveLanguage] = useState(requestSnippetsSelectors.getSnippetGenerators()?.keySeq().first())\n const [isExpanded, setIsExpanded] = useState(requestSnippetsSelectors?.getDefaultExpanded())\n useEffect(() => {\n const doIt = () => {\n\n }\n doIt()\n }, [])\n useEffect(() => {\n const childNodes = Array\n .from(rootRef.current.childNodes)\n .filter(node => !!node.nodeType && node.classList?.contains(\"curl-command\"))\n // eslint-disable-next-line no-use-before-define\n childNodes.forEach(node => node.addEventListener(\"mousewheel\", handlePreventYScrollingBeyondElement, { passive: false }))\n\n return () => {\n // eslint-disable-next-line no-use-before-define\n childNodes.forEach(node => node.removeEventListener(\"mousewheel\", handlePreventYScrollingBeyondElement))\n }\n }, [request])\n\n const snippetGenerators = requestSnippetsSelectors.getSnippetGenerators()\n const activeGenerator = snippetGenerators.get(activeLanguage)\n const snippet = activeGenerator.get(\"fn\")(request)\n\n const handleGenChange = (key) => {\n const needsChange = activeLanguage !== key\n if (needsChange) {\n setActiveLanguage(key)\n }\n }\n\n const handleSetIsExpanded = () => {\n setIsExpanded(!isExpanded)\n }\n\n const handleGetBtnStyle = (key) => {\n if (key === activeLanguage) {\n return activeStyle\n }\n return style\n }\n\n const handlePreventYScrollingBeyondElement = (e) => {\n const { target, deltaY } = e\n const { scrollHeight: contentHeight, offsetHeight: visibleHeight, scrollTop } = target\n const scrollOffset = visibleHeight + scrollTop\n const isElementScrollable = contentHeight > visibleHeight\n const isScrollingPastTop = scrollTop === 0 && deltaY < 0\n const isScrollingPastBottom = scrollOffset >= contentHeight && deltaY > 0\n\n if (isElementScrollable && (isScrollingPastTop || isScrollingPastBottom)) {\n e.preventDefault()\n }\n }\n\n const SnippetComponent = canSyntaxHighlight\n ? <SyntaxHighlighter\n language={activeGenerator.get(\"syntax\")}\n className=\"curl microlight\"\n style={getStyle(get(config, \"syntaxHighlight.theme\"))}\n >\n {snippet}\n </SyntaxHighlighter>\n :\n <textarea readOnly={true} className=\"curl\" value={snippet}></textarea>\n\n return (\n <div className=\"request-snippets\" ref={rootRef}>\n <div style={{ width: \"100%\", display: \"flex\", justifyContent: \"flex-start\", alignItems: \"center\", marginBottom: \"15px\" }}>\n <h4\n onClick={() => handleSetIsExpanded()}\n style={{ cursor: \"pointer\" }}\n >Snippets</h4>\n <button\n onClick={() => handleSetIsExpanded()}\n style={{ border: \"none\", background: \"none\" }}\n title={isExpanded ? \"Collapse operation\" : \"Expand operation\"}\n >\n <svg className=\"arrow\" width=\"10\" height=\"10\">\n <use href={isExpanded ? \"#large-arrow-down\" : \"#large-arrow\"} xlinkHref={isExpanded ? \"#large-arrow-down\" : \"#large-arrow\"} />\n </svg>\n </button>\n </div>\n {\n isExpanded && <div className=\"curl-command\">\n <div style={{ paddingLeft: \"15px\", paddingRight: \"10px\", width: \"100%\", display: \"flex\" }}>\n {\n snippetGenerators.entrySeq().map(([key, gen]) => {\n return (<div style={handleGetBtnStyle(key)} className=\"btn\" key={key} onClick={() => handleGenChange(key)}>\n <h4 style={key === activeLanguage ? { color: \"white\", } : {}}>{gen.get(\"title\")}</h4>\n </div>)\n })\n }\n </div>\n <div className=\"copy-to-clipboard\">\n <CopyToClipboard text={snippet}>\n <button />\n </CopyToClipboard>\n </div>\n <div>\n {SnippetComponent}\n </div>\n </div>\n }\n </div>\n ) \n}\n\nRequestSnippets.propTypes = {\n request: PropTypes.object.isRequired,\n requestSnippetsSelectors: PropTypes.object.isRequired,\n getConfigs: PropTypes.object.isRequired,\n requestSnippetsActions: PropTypes.object,\n}\n\nexport default RequestSnippets\n","import { createSelector } from \"reselect\"\nimport { Map } from \"immutable\"\n\nconst state = state => state || Map()\n\nexport const getGenerators = createSelector(\n state,\n state => {\n const languageKeys = state\n .get(\"languages\")\n const generators = state\n .get(\"generators\", Map())\n if(!languageKeys || languageKeys.isEmpty()) {\n return generators\n }\n return generators\n .filter((v, key) => languageKeys.includes(key))\n }\n)\n\nexport const getSnippetGenerators = (state) => ({ fn }) => {\n const getGenFn = (key) => fn[`requestSnippetGenerator_${key}`]\n return getGenerators(state)\n .map((gen, key) => {\n const genFn = getGenFn(key)\n if(typeof genFn !== \"function\") {\n return null\n }\n\n return gen.set(\"fn\", genFn)\n })\n .filter(v => v)\n}\n\nexport const getActiveLanguage = createSelector(\n state,\n state => state\n .get(\"activeLanguage\")\n)\n\nexport const getDefaultExpanded = createSelector(\n state,\n state => state\n .get(\"defaultExpanded\")\n)\n","import PropTypes from \"prop-types\"\nimport React, { Component } from \"react\"\n\nimport { componentDidCatch } from \"../fn\"\nimport Fallback from \"./fallback\"\n\nexport class ErrorBoundary extends Component {\n static getDerivedStateFromError(error) {\n return { hasError: true, error }\n }\n\n constructor(...args) {\n super(...args)\n this.state = { hasError: false, error: null }\n }\n\n componentDidCatch(error, errorInfo) {\n this.props.fn.componentDidCatch(error, errorInfo)\n }\n\n render() {\n const { getComponent, targetName, children } = this.props\n\n if (this.state.hasError) {\n const FallbackComponent = getComponent(\"Fallback\")\n return <FallbackComponent name={targetName} />\n }\n\n return children\n }\n}\nErrorBoundary.propTypes = {\n targetName: PropTypes.string,\n getComponent: PropTypes.func,\n fn: PropTypes.object,\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ])\n}\nErrorBoundary.defaultProps = {\n targetName: \"this component\",\n getComponent: () => Fallback,\n fn: {\n componentDidCatch,\n },\n children: null,\n}\n\nexport default ErrorBoundary\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nconst Fallback = ({ name }) => (\n <div className=\"fallback\">\n 😱 <i>Could not render { name === \"t\" ? \"this component\" : name }, see the console.</i>\n </div>\n)\nFallback.propTypes = {\n name: PropTypes.string.isRequired,\n}\n\nexport default Fallback\n","import React, { Component } from \"react\"\n\nexport const componentDidCatch = console.error\n\nconst isClassComponent = component => component.prototype && component.prototype.isReactComponent\n\nexport const withErrorBoundary = (getSystem) => (WrappedComponent) => {\n const { getComponent, fn } = getSystem()\n const ErrorBoundary = getComponent(\"ErrorBoundary\")\n const targetName = fn.getDisplayName(WrappedComponent)\n\n class WithErrorBoundary extends Component {\n render() {\n return (\n <ErrorBoundary targetName={targetName} getComponent={getComponent} fn={fn}>\n <WrappedComponent {...this.props} {...this.context} />\n </ErrorBoundary>\n )\n }\n }\n WithErrorBoundary.displayName = `WithErrorBoundary(${targetName})`\n if (isClassComponent(WrappedComponent)) {\n /**\n * We need to handle case of class components defining a `mapStateToProps` public method.\n * Components with `mapStateToProps` public method cannot be wrapped.\n */\n WithErrorBoundary.prototype.mapStateToProps = WrappedComponent.prototype.mapStateToProps\n }\n\n return WithErrorBoundary\n}\n\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_fill_07ef3114__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_zipObject_c74f1c14__[\"default\"] });","import zipObject from \"lodash/zipObject\"\n\nimport ErrorBoundary from \"./components/error-boundary\"\nimport Fallback from \"./components/fallback\"\nimport { componentDidCatch, withErrorBoundary } from \"./fn\"\n\nconst safeRenderPlugin = ({componentList = [], fullOverride = false} = {}) => ({ getSystem }) => {\n const defaultComponentList = [\n \"App\",\n \"BaseLayout\",\n \"VersionPragmaFilter\",\n \"InfoContainer\",\n \"ServersContainer\",\n \"SchemesContainer\",\n \"AuthorizeBtnContainer\",\n \"FilterContainer\",\n \"Operations\",\n \"OperationContainer\",\n \"parameters\",\n \"responses\",\n \"OperationServers\",\n \"Models\",\n \"ModelWrapper\",\n ]\n const mergedComponentList = fullOverride ? componentList : [...defaultComponentList, ...componentList]\n const wrapFactory = (Original, { fn }) => fn.withErrorBoundary(Original)\n const wrapComponents = zipObject(mergedComponentList, Array(mergedComponentList.length).fill(wrapFactory))\n\n return {\n fn: {\n componentDidCatch,\n withErrorBoundary: withErrorBoundary(getSystem),\n },\n components: {\n ErrorBoundary,\n Fallback,\n },\n wrapComponents,\n }\n}\n\nexport default safeRenderPlugin\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_randexp__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_isEmpty_e109fd6b__[\"default\"] });","import XML from \"xml\"\nimport RandExp from \"randexp\"\nimport isEmpty from \"lodash/isEmpty\"\nimport { objectify, isFunc, normalizeArray, deeplyStripKey } from \"core/utils\"\n\nimport memoizeN from \"../../../helpers/memoizeN\"\n\nconst generateStringFromRegex = (pattern) => {\n try {\n const randexp = new RandExp(pattern)\n return randexp.gen()\n } catch (e) {\n // Invalid regex should not cause a crash (regex syntax varies across languages)\n return \"string\"\n }\n}\n\nconst primitives = {\n \"string\": (schema) => schema.pattern ? generateStringFromRegex(schema.pattern) : \"string\",\n \"string_email\": () => \"user@example.com\",\n \"string_date-time\": () => new Date().toISOString(),\n \"string_date\": () => new Date().toISOString().substring(0, 10),\n \"string_uuid\": () => \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"string_hostname\": () => \"example.com\",\n \"string_ipv4\": () => \"198.51.100.42\",\n \"string_ipv6\": () => \"2001:0db8:5b96:0000:0000:426f:8e17:642a\",\n \"number\": () => 0,\n \"number_float\": () => 0.0,\n \"integer\": () => 0,\n \"boolean\": (schema) => typeof schema.default === \"boolean\" ? schema.default : true\n}\n\nconst primitive = (schema) => {\n schema = objectify(schema)\n let { type, format } = schema\n\n let fn = primitives[`${type}_${format}`] || primitives[type]\n\n if(isFunc(fn))\n return fn(schema)\n\n return \"Unknown Type: \" + schema.type\n}\n\n// do a couple of quick sanity tests to ensure the value\n// looks like a $$ref that swagger-client generates.\nconst sanitizeRef = (value) => deeplyStripKey(value, \"$$ref\", (val) =>\n typeof val === \"string\" && val.indexOf(\"#\") > -1)\n\nconst objectContracts = [\"maxProperties\", \"minProperties\"]\nconst arrayContracts = [\"minItems\", \"maxItems\"]\nconst numberContracts = [\n \"minimum\",\n \"maximum\",\n \"exclusiveMinimum\",\n \"exclusiveMaximum\"\n]\nconst stringContracts = [\"minLength\", \"maxLength\"]\n\nconst liftSampleHelper = (oldSchema, target, config = {}) => {\n const setIfNotDefinedInTarget = (key) => {\n if(target[key] === undefined && oldSchema[key] !== undefined) {\n target[key] = oldSchema[key]\n }\n }\n\n [\n \"example\",\n \"default\",\n \"enum\",\n \"xml\",\n \"type\",\n ...objectContracts,\n ...arrayContracts,\n ...numberContracts,\n ...stringContracts,\n ].forEach(key => setIfNotDefinedInTarget(key))\n\n if(oldSchema.required !== undefined && Array.isArray(oldSchema.required)) {\n if(target.required === undefined || !target.required.length) {\n target.required = []\n }\n oldSchema.required.forEach(key => {\n if(target.required.includes(key)) {\n return\n }\n target.required.push(key)\n })\n }\n if(oldSchema.properties) {\n if(!target.properties) {\n target.properties = {}\n }\n let props = objectify(oldSchema.properties)\n for (let propName in props) {\n if (!Object.prototype.hasOwnProperty.call(props, propName)) {\n continue\n }\n if ( props[propName] && props[propName].deprecated ) {\n continue\n }\n if ( props[propName] && props[propName].readOnly && !config.includeReadOnly ) {\n continue\n }\n if ( props[propName] && props[propName].writeOnly && !config.includeWriteOnly ) {\n continue\n }\n if(!target.properties[propName]) {\n target.properties[propName] = props[propName]\n if(!oldSchema.required && Array.isArray(oldSchema.required) && oldSchema.required.indexOf(propName) !== -1) {\n if(!target.required) {\n target.required = [propName]\n } else {\n target.required.push(propName)\n }\n }\n }\n }\n }\n if(oldSchema.items) {\n if(!target.items) {\n target.items = {}\n }\n target.items = liftSampleHelper(oldSchema.items, target.items, config)\n }\n\n return target\n}\n\nexport const sampleFromSchemaGeneric = (schema, config={}, exampleOverride = undefined, respectXML = false) => {\n if(schema && isFunc(schema.toJS))\n schema = schema.toJS()\n let usePlainValue = exampleOverride !== undefined || schema && schema.example !== undefined || schema && schema.default !== undefined\n // first check if there is the need of combining this schema with others required by allOf\n const hasOneOf = !usePlainValue && schema && schema.oneOf && schema.oneOf.length > 0\n const hasAnyOf = !usePlainValue && schema && schema.anyOf && schema.anyOf.length > 0\n if(!usePlainValue && (hasOneOf || hasAnyOf)) {\n const schemaToAdd = objectify(hasOneOf\n ? schema.oneOf[0]\n : schema.anyOf[0]\n )\n liftSampleHelper(schemaToAdd, schema, config)\n if(!schema.xml && schemaToAdd.xml) {\n schema.xml = schemaToAdd.xml\n }\n if(schema.example !== undefined && schemaToAdd.example !== undefined) {\n usePlainValue = true\n } else if(schemaToAdd.properties) {\n if(!schema.properties) {\n schema.properties = {}\n }\n let props = objectify(schemaToAdd.properties)\n for (let propName in props) {\n if (!Object.prototype.hasOwnProperty.call(props, propName)) {\n continue\n }\n if ( props[propName] && props[propName].deprecated ) {\n continue\n }\n if ( props[propName] && props[propName].readOnly && !config.includeReadOnly ) {\n continue\n }\n if ( props[propName] && props[propName].writeOnly && !config.includeWriteOnly ) {\n continue\n }\n if(!schema.properties[propName]) {\n schema.properties[propName] = props[propName]\n if(!schemaToAdd.required && Array.isArray(schemaToAdd.required) && schemaToAdd.required.indexOf(propName) !== -1) {\n if(!schema.required) {\n schema.required = [propName]\n } else {\n schema.required.push(propName)\n }\n }\n }\n }\n }\n }\n const _attr = {}\n let { xml, type, example, properties, additionalProperties, items } = schema || {}\n let { includeReadOnly, includeWriteOnly } = config\n xml = xml || {}\n let { name, prefix, namespace } = xml\n let displayName\n let res = {}\n\n // set xml naming and attributes\n if(respectXML) {\n name = name || \"notagname\"\n // add prefix to name if exists\n displayName = (prefix ? prefix + \":\" : \"\") + name\n if ( namespace ) {\n //add prefix to namespace if exists\n let namespacePrefix = prefix ? ( \"xmlns:\" + prefix ) : \"xmlns\"\n _attr[namespacePrefix] = namespace\n }\n }\n\n // init xml default response sample obj\n if(respectXML) {\n res[displayName] = []\n }\n\n const schemaHasAny = (keys) => keys.some(key => Object.prototype.hasOwnProperty.call(schema, key))\n // try recover missing type\n if(schema && !type) {\n if(properties || additionalProperties || schemaHasAny(objectContracts)) {\n type = \"object\"\n } else if(items || schemaHasAny(arrayContracts)) {\n type = \"array\"\n } else if(schemaHasAny(numberContracts)) {\n type = \"number\"\n schema.type = \"number\"\n } else if(!usePlainValue && !schema.enum){\n // implicit cover schemaHasAny(stringContracts) or A schema without a type matches any data type is:\n // components:\n // schemas:\n // AnyValue:\n // anyOf:\n // - type: string\n // - type: number\n // - type: integer\n // - type: boolean\n // - type: array\n // items: {}\n // - type: object\n //\n // which would resolve to type: string\n type = \"string\"\n schema.type = \"string\"\n }\n }\n\n const handleMinMaxItems = (sampleArray) => {\n if (schema?.maxItems !== null && schema?.maxItems !== undefined) {\n sampleArray = sampleArray.slice(0, schema?.maxItems)\n }\n if (schema?.minItems !== null && schema?.minItems !== undefined) {\n let i = 0\n while (sampleArray.length < schema?.minItems) {\n sampleArray.push(sampleArray[i++ % sampleArray.length])\n }\n }\n return sampleArray\n }\n\n // add to result helper init for xml or json\n const props = objectify(properties)\n let addPropertyToResult\n let propertyAddedCounter = 0\n\n const hasExceededMaxProperties = () => schema\n && schema.maxProperties !== null && schema.maxProperties !== undefined\n && propertyAddedCounter >= schema.maxProperties\n\n const requiredPropertiesToAdd = () => {\n if(!schema || !schema.required) {\n return 0\n }\n let addedCount = 0\n if(respectXML) {\n schema.required.forEach(key => addedCount +=\n res[key] === undefined\n ? 0\n : 1\n )\n } else {\n schema.required.forEach(key => addedCount +=\n res[displayName]?.find(x => x[key] !== undefined) === undefined\n ? 0\n : 1\n )\n }\n return schema.required.length - addedCount\n }\n\n const isOptionalProperty = (propName) => {\n if(!schema || !schema.required || !schema.required.length) {\n return true\n }\n return !schema.required.includes(propName)\n }\n\n const canAddProperty = (propName) => {\n if(!schema || schema.maxProperties === null || schema.maxProperties === undefined) {\n return true\n }\n if(hasExceededMaxProperties()) {\n return false\n }\n if(!isOptionalProperty(propName)) {\n return true\n }\n return (schema.maxProperties - propertyAddedCounter - requiredPropertiesToAdd()) > 0\n }\n\n if(respectXML) {\n addPropertyToResult = (propName, overrideE = undefined) => {\n if(schema && props[propName]) {\n // case it is an xml attribute\n props[propName].xml = props[propName].xml || {}\n\n if (props[propName].xml.attribute) {\n const enumAttrVal = Array.isArray(props[propName].enum)\n ? props[propName].enum[0]\n : undefined\n const attrExample = props[propName].example\n const attrDefault = props[propName].default\n\n if(attrExample !== undefined) {\n _attr[props[propName].xml.name || propName] = attrExample\n } else if(attrDefault !== undefined) {\n _attr[props[propName].xml.name || propName] = attrDefault\n } else if(enumAttrVal !== undefined) {\n _attr[props[propName].xml.name || propName] = enumAttrVal\n } else {\n _attr[props[propName].xml.name || propName] = primitive(props[propName])\n }\n\n return\n }\n props[propName].xml.name = props[propName].xml.name || propName\n } else if(!props[propName] && additionalProperties !== false) {\n // case only additionalProperty that is not defined in schema\n props[propName] = {\n xml: {\n name: propName\n }\n }\n }\n\n let t = sampleFromSchemaGeneric(schema && props[propName] || undefined, config, overrideE, respectXML)\n if(!canAddProperty(propName)) {\n return\n }\n\n propertyAddedCounter++\n if (Array.isArray(t)) {\n res[displayName] = res[displayName].concat(t)\n } else {\n res[displayName].push(t)\n }\n }\n } else {\n addPropertyToResult = (propName, overrideE) => {\n if(!canAddProperty(propName)) {\n return\n }\n if(Object.prototype.hasOwnProperty.call(schema, \"discriminator\") &&\n schema.discriminator &&\n Object.prototype.hasOwnProperty.call(schema.discriminator, \"mapping\") &&\n schema.discriminator.mapping &&\n Object.prototype.hasOwnProperty.call(schema, \"$$ref\") &&\n schema.$$ref &&\n schema.discriminator.propertyName === propName) {\n for (let pair in schema.discriminator.mapping){\n if (schema.$$ref.search(schema.discriminator.mapping[pair]) !== -1) {\n res[propName] = pair\n break\n }\n }\n } else {\n res[propName] = sampleFromSchemaGeneric(props[propName], config, overrideE, respectXML)\n }\n propertyAddedCounter++\n }\n }\n\n // check for plain value and if found use it to generate sample from it\n if(usePlainValue) {\n let sample\n if(exampleOverride !== undefined) {\n sample = sanitizeRef(exampleOverride)\n } else if(example !== undefined) {\n sample = sanitizeRef(example)\n } else {\n sample = sanitizeRef(schema.default)\n }\n\n // if json just return\n if(!respectXML) {\n // spacial case yaml parser can not know about\n if(typeof sample === \"number\" && type === \"string\") {\n return `${sample}`\n }\n // return if sample does not need any parsing\n if(typeof sample !== \"string\" || type === \"string\") {\n return sample\n }\n // check if sample is parsable or just a plain string\n try {\n return JSON.parse(sample)\n } catch(e) {\n // sample is just plain string return it\n return sample\n }\n }\n\n // recover missing type\n if(!schema) {\n type = Array.isArray(sample) ? \"array\" : typeof sample\n }\n\n // generate xml sample recursively for array case\n if(type === \"array\") {\n if (!Array.isArray(sample)) {\n if(typeof sample === \"string\") {\n return sample\n }\n sample = [sample]\n }\n const itemSchema = schema\n ? schema.items\n : undefined\n if(itemSchema) {\n itemSchema.xml = itemSchema.xml || xml || {}\n itemSchema.xml.name = itemSchema.xml.name || xml.name\n }\n let itemSamples = sample\n .map(s => sampleFromSchemaGeneric(itemSchema, config, s, respectXML))\n itemSamples = handleMinMaxItems(itemSamples)\n if(xml.wrapped) {\n res[displayName] = itemSamples\n if (!isEmpty(_attr)) {\n res[displayName].push({_attr: _attr})\n }\n }\n else {\n res = itemSamples\n }\n return res\n }\n\n // generate xml sample recursively for object case\n if(type === \"object\") {\n // case literal example\n if(typeof sample === \"string\") {\n return sample\n }\n for (let propName in sample) {\n if (!Object.prototype.hasOwnProperty.call(sample, propName)) {\n continue\n }\n if (schema && props[propName] && props[propName].readOnly && !includeReadOnly) {\n continue\n }\n if (schema && props[propName] && props[propName].writeOnly && !includeWriteOnly) {\n continue\n }\n if (schema && props[propName] && props[propName].xml && props[propName].xml.attribute) {\n _attr[props[propName].xml.name || propName] = sample[propName]\n continue\n }\n addPropertyToResult(propName, sample[propName])\n }\n if (!isEmpty(_attr)) {\n res[displayName].push({_attr: _attr})\n }\n\n return res\n }\n\n res[displayName] = !isEmpty(_attr) ? [{_attr: _attr}, sample] : sample\n return res\n }\n\n // use schema to generate sample\n\n if(type === \"object\") {\n for (let propName in props) {\n if (!Object.prototype.hasOwnProperty.call(props, propName)) {\n continue\n }\n if ( props[propName] && props[propName].deprecated ) {\n continue\n }\n if ( props[propName] && props[propName].readOnly && !includeReadOnly ) {\n continue\n }\n if ( props[propName] && props[propName].writeOnly && !includeWriteOnly ) {\n continue\n }\n addPropertyToResult(propName)\n }\n if (respectXML && _attr) {\n res[displayName].push({_attr: _attr})\n }\n\n if(hasExceededMaxProperties()) {\n return res\n }\n\n if ( additionalProperties === true ) {\n if(respectXML) {\n res[displayName].push({additionalProp: \"Anything can be here\"})\n } else {\n res.additionalProp1 = {}\n }\n propertyAddedCounter++\n } else if ( additionalProperties ) {\n const additionalProps = objectify(additionalProperties)\n const additionalPropSample = sampleFromSchemaGeneric(additionalProps, config, undefined, respectXML)\n\n if(respectXML && additionalProps.xml && additionalProps.xml.name && additionalProps.xml.name !== \"notagname\")\n {\n res[displayName].push(additionalPropSample)\n } else {\n const toGenerateCount = schema.minProperties !== null && schema.minProperties !== undefined && propertyAddedCounter < schema.minProperties\n ? schema.minProperties - propertyAddedCounter\n : 3\n for (let i = 1; i <= toGenerateCount; i++) {\n if(hasExceededMaxProperties()) {\n return res\n }\n if(respectXML) {\n const temp = {}\n temp[\"additionalProp\" + i] = additionalPropSample[\"notagname\"]\n res[displayName].push(temp)\n } else {\n res[\"additionalProp\" + i] = additionalPropSample\n }\n propertyAddedCounter++\n }\n }\n }\n return res\n }\n\n if(type === \"array\") {\n if (!items) {\n return\n }\n\n let sampleArray\n if(respectXML) {\n items.xml = items.xml || schema?.xml || {}\n items.xml.name = items.xml.name || xml.name\n }\n\n if(Array.isArray(items.anyOf)) {\n sampleArray = items.anyOf.map(i => sampleFromSchemaGeneric(liftSampleHelper(items, i, config), config, undefined, respectXML))\n } else if(Array.isArray(items.oneOf)) {\n sampleArray = items.oneOf.map(i => sampleFromSchemaGeneric(liftSampleHelper(items, i, config), config, undefined, respectXML))\n } else if(!respectXML || respectXML && xml.wrapped) {\n sampleArray = [sampleFromSchemaGeneric(items, config, undefined, respectXML)]\n } else {\n return sampleFromSchemaGeneric(items, config, undefined, respectXML)\n }\n sampleArray = handleMinMaxItems(sampleArray)\n if(respectXML && xml.wrapped) {\n res[displayName] = sampleArray\n if (!isEmpty(_attr)) {\n res[displayName].push({_attr: _attr})\n }\n return res\n }\n return sampleArray\n }\n\n let value\n if (schema && Array.isArray(schema.enum)) {\n //display enum first value\n value = normalizeArray(schema.enum)[0]\n } else if(schema) {\n // display schema default\n value = primitive(schema)\n if(typeof value === \"number\") {\n let min = schema.minimum\n if(min !== undefined && min !== null) {\n if(schema.exclusiveMinimum) {\n min++\n }\n value = min\n }\n let max = schema.maximum\n if(max !== undefined && max !== null) {\n if(schema.exclusiveMaximum) {\n max--\n }\n value = max\n }\n }\n if(typeof value === \"string\") {\n if (schema.maxLength !== null && schema.maxLength !== undefined) {\n value = value.slice(0, schema.maxLength)\n }\n if (schema.minLength !== null && schema.minLength !== undefined) {\n let i = 0\n while (value.length < schema.minLength) {\n value += value[i++ % value.length]\n }\n }\n }\n } else {\n return\n }\n if (type === \"file\") {\n return\n }\n\n if(respectXML) {\n res[displayName] = !isEmpty(_attr) ? [{_attr: _attr}, value] : value\n return res\n }\n\n return value\n}\n\nexport const inferSchema = (thing) => {\n if(thing.schema)\n thing = thing.schema\n\n if(thing.properties) {\n thing.type = \"object\"\n }\n\n return thing // Hopefully this will have something schema like in it... `type` for example\n}\n\nexport const createXMLExample = (schema, config, o) => {\n const json = sampleFromSchemaGeneric(schema, config, o, true)\n if (!json) { return }\n if(typeof json === \"string\") {\n return json\n }\n return XML(json, { declaration: true, indent: \"\\t\" })\n}\n\nexport const sampleFromSchema = (schema, config, o) =>\n sampleFromSchemaGeneric(schema, config, o, false)\n\nconst resolver = (arg1, arg2, arg3) => [arg1, JSON.stringify(arg2), JSON.stringify(arg3)]\n\nexport const memoizedCreateXMLExample = memoizeN(createXMLExample, resolver)\n\nexport const memoizedSampleFromSchema = memoizeN(sampleFromSchema, resolver)\n","import * as fn from \"./fn\"\n\nexport default function () {\n return { fn }\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_promise_047dc8e8__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_date_now_1bf78713__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_isString_e6fa8a5b__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_debounce_3540babe__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_set_b4b15ee5__[\"default\"] });","import YAML, { JSON_SCHEMA } from \"js-yaml\"\nimport { Map } from \"immutable\"\nimport parseUrl from \"url-parse\"\nimport { serializeError } from \"serialize-error\"\nimport isString from \"lodash/isString\"\nimport debounce from \"lodash/debounce\"\nimport set from \"lodash/set\"\nimport { paramToValue, isEmptyValue } from \"core/utils\"\n\n// Actions conform to FSA (flux-standard-actions)\n// {type: string,payload: Any|Error, meta: obj, error: bool}\n\nexport const UPDATE_SPEC = \"spec_update_spec\"\nexport const UPDATE_URL = \"spec_update_url\"\nexport const UPDATE_JSON = \"spec_update_json\"\nexport const UPDATE_PARAM = \"spec_update_param\"\nexport const UPDATE_EMPTY_PARAM_INCLUSION = \"spec_update_empty_param_inclusion\"\nexport const VALIDATE_PARAMS = \"spec_validate_param\"\nexport const SET_RESPONSE = \"spec_set_response\"\nexport const SET_REQUEST = \"spec_set_request\"\nexport const SET_MUTATED_REQUEST = \"spec_set_mutated_request\"\nexport const LOG_REQUEST = \"spec_log_request\"\nexport const CLEAR_RESPONSE = \"spec_clear_response\"\nexport const CLEAR_REQUEST = \"spec_clear_request\"\nexport const CLEAR_VALIDATE_PARAMS = \"spec_clear_validate_param\"\nexport const UPDATE_OPERATION_META_VALUE = \"spec_update_operation_meta_value\"\nexport const UPDATE_RESOLVED = \"spec_update_resolved\"\nexport const UPDATE_RESOLVED_SUBTREE = \"spec_update_resolved_subtree\"\nexport const SET_SCHEME = \"set_scheme\"\n\nconst toStr = (str) => isString(str) ? str : \"\"\n\nexport function updateSpec(spec) {\n const cleanSpec = (toStr(spec)).replace(/\\t/g, \" \")\n if(typeof spec === \"string\") {\n return {\n type: UPDATE_SPEC,\n payload: cleanSpec\n }\n }\n}\n\nexport function updateResolved(spec) {\n return {\n type: UPDATE_RESOLVED,\n payload: spec\n }\n}\n\nexport function updateUrl(url) {\n return {type: UPDATE_URL, payload: url}\n}\n\nexport function updateJsonSpec(json) {\n return {type: UPDATE_JSON, payload: json}\n}\n\nexport const parseToJson = (str) => ({specActions, specSelectors, errActions}) => {\n let { specStr } = specSelectors\n\n let json = null\n try {\n str = str || specStr()\n errActions.clear({ source: \"parser\" })\n json = YAML.load(str, { schema: JSON_SCHEMA })\n } catch(e) {\n // TODO: push error to state\n console.error(e)\n return errActions.newSpecErr({\n source: \"parser\",\n level: \"error\",\n message: e.reason,\n line: e.mark && e.mark.line ? e.mark.line + 1 : undefined\n })\n }\n if(json && typeof json === \"object\") {\n return specActions.updateJsonSpec(json)\n }\n return {}\n}\n\nlet hasWarnedAboutResolveSpecDeprecation = false\n\nexport const resolveSpec = (json, url) => ({specActions, specSelectors, errActions, fn: { fetch, resolve, AST = {} }, getConfigs}) => {\n if(!hasWarnedAboutResolveSpecDeprecation) {\n console.warn(`specActions.resolveSpec is deprecated since v3.10.0 and will be removed in v4.0.0; use requestResolvedSubtree instead!`)\n hasWarnedAboutResolveSpecDeprecation = true\n }\n\n const {\n modelPropertyMacro,\n parameterMacro,\n requestInterceptor,\n responseInterceptor\n } = getConfigs()\n\n if(typeof(json) === \"undefined\") {\n json = specSelectors.specJson()\n }\n if(typeof(url) === \"undefined\") {\n url = specSelectors.url()\n }\n\n let getLineNumberForPath = AST.getLineNumberForPath ? AST.getLineNumberForPath : () => undefined\n\n let specStr = specSelectors.specStr()\n\n return resolve({\n fetch,\n spec: json,\n baseDoc: url,\n modelPropertyMacro,\n parameterMacro,\n requestInterceptor,\n responseInterceptor\n }).then( ({spec, errors}) => {\n errActions.clear({\n type: \"thrown\"\n })\n if(Array.isArray(errors) && errors.length > 0) {\n let preparedErrors = errors\n .map(err => {\n console.error(err)\n err.line = err.fullPath ? getLineNumberForPath(specStr, err.fullPath) : null\n err.path = err.fullPath ? err.fullPath.join(\".\") : null\n err.level = \"error\"\n err.type = \"thrown\"\n err.source = \"resolver\"\n Object.defineProperty(err, \"message\", { enumerable: true, value: err.message })\n return err\n })\n errActions.newThrownErrBatch(preparedErrors)\n }\n\n return specActions.updateResolved(spec)\n })\n}\n\nlet requestBatch = []\n\nconst debResolveSubtrees = debounce(async () => {\n const system = requestBatch.system // Just a reference to the \"latest\" system\n\n if(!system) {\n console.error(\"debResolveSubtrees: don't have a system to operate on, aborting.\")\n return\n }\n const {\n errActions,\n errSelectors,\n fn: {\n resolveSubtree,\n fetch,\n AST = {}\n },\n specSelectors,\n specActions,\n } = system\n\n if(!resolveSubtree) {\n console.error(\"Error: Swagger-Client did not provide a `resolveSubtree` method, doing nothing.\")\n return\n }\n\n let getLineNumberForPath = AST.getLineNumberForPath ? AST.getLineNumberForPath : () => undefined\n\n const specStr = specSelectors.specStr()\n\n const {\n modelPropertyMacro,\n parameterMacro,\n requestInterceptor,\n responseInterceptor\n } = system.getConfigs()\n\n try {\n var batchResult = await requestBatch.reduce(async (prev, path) => {\n const { resultMap, specWithCurrentSubtrees } = await prev\n const { errors, spec } = await resolveSubtree(specWithCurrentSubtrees, path, {\n baseDoc: specSelectors.url(),\n modelPropertyMacro,\n parameterMacro,\n requestInterceptor,\n responseInterceptor\n })\n\n if(errSelectors.allErrors().size) {\n errActions.clearBy(err => {\n // keep if...\n return err.get(\"type\") !== \"thrown\" // it's not a thrown error\n || err.get(\"source\") !== \"resolver\" // it's not a resolver error\n || !err.get(\"fullPath\").every((key, i) => key === path[i] || path[i] === undefined) // it's not within the path we're resolving\n })\n }\n\n if(Array.isArray(errors) && errors.length > 0) {\n let preparedErrors = errors\n .map(err => {\n err.line = err.fullPath ? getLineNumberForPath(specStr, err.fullPath) : null\n err.path = err.fullPath ? err.fullPath.join(\".\") : null\n err.level = \"error\"\n err.type = \"thrown\"\n err.source = \"resolver\"\n Object.defineProperty(err, \"message\", { enumerable: true, value: err.message })\n return err\n })\n errActions.newThrownErrBatch(preparedErrors)\n }\n\n if (spec && specSelectors.isOAS3() && path[0] === \"components\" && path[1] === \"securitySchemes\") {\n // Resolve OIDC URLs if present\n await Promise.all(Object.values(spec)\n .filter((scheme) => scheme.type === \"openIdConnect\")\n .map(async (oidcScheme) => {\n const req = {\n url: oidcScheme.openIdConnectUrl,\n requestInterceptor: requestInterceptor,\n responseInterceptor: responseInterceptor\n }\n try {\n const res = await fetch(req)\n if (res instanceof Error || res.status >= 400) {\n console.error(res.statusText + \" \" + req.url)\n } else {\n oidcScheme.openIdConnectData = JSON.parse(res.text)\n }\n } catch (e) {\n console.error(e)\n }\n }))\n }\n set(resultMap, path, spec)\n set(specWithCurrentSubtrees, path, spec)\n\n return {\n resultMap,\n specWithCurrentSubtrees\n }\n }, Promise.resolve({\n resultMap: (specSelectors.specResolvedSubtree([]) || Map()).toJS(),\n specWithCurrentSubtrees: specSelectors.specJson().toJS()\n }))\n\n delete requestBatch.system\n requestBatch = [] // Clear stack\n } catch(e) {\n console.error(e)\n }\n\n specActions.updateResolvedSubtree([], batchResult.resultMap)\n}, 35)\n\nexport const requestResolvedSubtree = path => system => {\n // poor-man's array comparison\n // if this ever inadequate, this should be rewritten to use Im.List\n const isPathAlreadyBatched = requestBatch\n .map(arr => arr.join(\"@@\"))\n .indexOf(path.join(\"@@\")) > -1\n\n if(isPathAlreadyBatched) {\n return\n }\n\n requestBatch.push(path)\n requestBatch.system = system\n debResolveSubtrees()\n}\n\nexport function changeParam( path, paramName, paramIn, value, isXml ){\n return {\n type: UPDATE_PARAM,\n payload:{ path, value, paramName, paramIn, isXml }\n }\n}\n\nexport function changeParamByIdentity( pathMethod, param, value, isXml ){\n return {\n type: UPDATE_PARAM,\n payload:{ path: pathMethod, param, value, isXml }\n }\n}\n\nexport const updateResolvedSubtree = (path, value) => {\n return {\n type: UPDATE_RESOLVED_SUBTREE,\n payload: { path, value }\n }\n}\n\nexport const invalidateResolvedSubtreeCache = () => {\n return {\n type: UPDATE_RESOLVED_SUBTREE,\n payload: {\n path: [],\n value: Map()\n }\n }\n}\n\nexport const validateParams = ( payload, isOAS3 ) =>{\n return {\n type: VALIDATE_PARAMS,\n payload:{\n pathMethod: payload,\n isOAS3\n }\n }\n}\n\nexport const updateEmptyParamInclusion = ( pathMethod, paramName, paramIn, includeEmptyValue ) =>{\n return {\n type: UPDATE_EMPTY_PARAM_INCLUSION,\n payload:{\n pathMethod,\n paramName,\n paramIn,\n includeEmptyValue\n }\n }\n}\n\nexport function clearValidateParams( payload ){\n return {\n type: CLEAR_VALIDATE_PARAMS,\n payload:{ pathMethod: payload }\n }\n}\n\nexport function changeConsumesValue(path, value) {\n return {\n type: UPDATE_OPERATION_META_VALUE,\n payload:{ path, value, key: \"consumes_value\" }\n }\n}\n\nexport function changeProducesValue(path, value) {\n return {\n type: UPDATE_OPERATION_META_VALUE,\n payload:{ path, value, key: \"produces_value\" }\n }\n}\n\nexport const setResponse = ( path, method, res ) => {\n return {\n payload: { path, method, res },\n type: SET_RESPONSE\n }\n}\n\nexport const setRequest = ( path, method, req ) => {\n return {\n payload: { path, method, req },\n type: SET_REQUEST\n }\n}\n\nexport const setMutatedRequest = ( path, method, req ) => {\n return {\n payload: { path, method, req },\n type: SET_MUTATED_REQUEST\n }\n}\n\n// This is for debugging, remove this comment if you depend on this action\nexport const logRequest = (req) => {\n return {\n payload: req,\n type: LOG_REQUEST\n }\n}\n\n// Actually fire the request via fn.execute\n// (For debugging) and ease of testing\nexport const executeRequest = (req) =>\n ({fn, specActions, specSelectors, getConfigs, oas3Selectors}) => {\n let { pathName, method, operation } = req\n let { requestInterceptor, responseInterceptor } = getConfigs()\n\n\n let op = operation.toJS()\n\n // ensure that explicitly-included params are in the request\n\n if (operation && operation.get(\"parameters\")) {\n operation.get(\"parameters\")\n .filter(param => param && param.get(\"allowEmptyValue\") === true)\n .forEach(param => {\n if (specSelectors.parameterInclusionSettingFor([pathName, method], param.get(\"name\"), param.get(\"in\"))) {\n req.parameters = req.parameters || {}\n const paramValue = paramToValue(param, req.parameters)\n\n // if the value is falsy or an empty Immutable iterable...\n if(!paramValue || (paramValue && paramValue.size === 0)) {\n // set it to empty string, so Swagger Client will treat it as\n // present but empty.\n req.parameters[param.get(\"name\")] = \"\"\n }\n }\n })\n }\n\n // if url is relative, parseUrl makes it absolute by inferring from `window.location`\n req.contextUrl = parseUrl(specSelectors.url()).toString()\n\n if(op && op.operationId) {\n req.operationId = op.operationId\n } else if(op && pathName && method) {\n req.operationId = fn.opId(op, pathName, method)\n }\n\n if(specSelectors.isOAS3()) {\n const namespace = `${pathName}:${method}`\n\n req.server = oas3Selectors.selectedServer(namespace) || oas3Selectors.selectedServer()\n\n const namespaceVariables = oas3Selectors.serverVariables({\n server: req.server,\n namespace\n }).toJS()\n const globalVariables = oas3Selectors.serverVariables({ server: req.server }).toJS()\n\n req.serverVariables = Object.keys(namespaceVariables).length ? namespaceVariables : globalVariables\n\n req.requestContentType = oas3Selectors.requestContentType(pathName, method)\n req.responseContentType = oas3Selectors.responseContentType(pathName, method) || \"*/*\"\n const requestBody = oas3Selectors.requestBodyValue(pathName, method)\n const requestBodyInclusionSetting = oas3Selectors.requestBodyInclusionSetting(pathName, method)\n\n if(requestBody && requestBody.toJS) {\n req.requestBody = requestBody\n .map(\n (val) => {\n if (Map.isMap(val)) {\n return val.get(\"value\")\n }\n return val\n }\n )\n .filter(\n (value, key) => (Array.isArray(value)\n ? value.length !== 0\n : !isEmptyValue(value)\n ) || requestBodyInclusionSetting.get(key)\n )\n .toJS()\n } else {\n req.requestBody = requestBody\n }\n }\n\n let parsedRequest = Object.assign({}, req)\n parsedRequest = fn.buildRequest(parsedRequest)\n\n specActions.setRequest(req.pathName, req.method, parsedRequest)\n\n let requestInterceptorWrapper = async (r) => {\n let mutatedRequest = await requestInterceptor.apply(this, [r])\n let parsedMutatedRequest = Object.assign({}, mutatedRequest)\n specActions.setMutatedRequest(req.pathName, req.method, parsedMutatedRequest)\n return mutatedRequest\n }\n\n req.requestInterceptor = requestInterceptorWrapper\n req.responseInterceptor = responseInterceptor\n\n // track duration of request\n const startTime = Date.now()\n\n\n return fn.execute(req)\n .then( res => {\n res.duration = Date.now() - startTime\n specActions.setResponse(req.pathName, req.method, res)\n } )\n .catch(\n err => {\n // console.error(err)\n if(err.message === \"Failed to fetch\") {\n err.name = \"\"\n err.message = \"**Failed to fetch.** \\n**Possible Reasons:** \\n - CORS \\n - Network Failure \\n - URL scheme must be \\\"http\\\" or \\\"https\\\" for CORS request.\"\n }\n specActions.setResponse(req.pathName, req.method, {\n error: true, err: serializeError(err)\n })\n }\n )\n }\n\n\n// I'm using extras as a way to inject properties into the final, `execute` method - It's not great. Anyone have a better idea? @ponelat\nexport const execute = ( { path, method, ...extras }={} ) => (system) => {\n let { fn:{fetch}, specSelectors, specActions } = system\n let spec = specSelectors.specJsonWithResolvedSubtrees().toJS()\n let scheme = specSelectors.operationScheme(path, method)\n let { requestContentType, responseContentType } = specSelectors.contentTypeValues([path, method]).toJS()\n let isXml = /xml/i.test(requestContentType)\n let parameters = specSelectors.parameterValues([path, method], isXml).toJS()\n\n return specActions.executeRequest({\n ...extras,\n fetch,\n spec,\n pathName: path,\n method, parameters,\n requestContentType,\n scheme,\n responseContentType\n })\n}\n\nexport function clearResponse (path, method) {\n return {\n type: CLEAR_RESPONSE,\n payload:{ path, method }\n }\n}\n\nexport function clearRequest (path, method) {\n return {\n type: CLEAR_REQUEST,\n payload:{ path, method }\n }\n}\n\nexport function setScheme (scheme, path, method) {\n return {\n type: SET_SCHEME,\n payload: { scheme, path, method }\n }\n}\n","import reducers from \"./reducers\"\nimport * as actions from \"./actions\"\nimport * as selectors from \"./selectors\"\nimport * as wrapActions from \"./wrap-actions\"\n\nexport default function() {\n return {\n statePlugins: {\n spec: {\n wrapActions,\n reducers,\n actions,\n selectors\n }\n }\n }\n}\n","import { fromJS, List } from \"immutable\"\nimport { fromJSOrdered, validateParam, paramToValue } from \"core/utils\"\nimport win from \"../../window\"\n\n// selector-in-reducer is suboptimal, but `operationWithMeta` is more of a helper\nimport {\n specJsonWithResolvedSubtrees,\n parameterValues,\n parameterInclusionSettingFor,\n} from \"./selectors\"\n\nimport {\n UPDATE_SPEC,\n UPDATE_URL,\n UPDATE_JSON,\n UPDATE_PARAM,\n UPDATE_EMPTY_PARAM_INCLUSION,\n VALIDATE_PARAMS,\n SET_RESPONSE,\n SET_REQUEST,\n SET_MUTATED_REQUEST,\n UPDATE_RESOLVED,\n UPDATE_RESOLVED_SUBTREE,\n UPDATE_OPERATION_META_VALUE,\n CLEAR_RESPONSE,\n CLEAR_REQUEST,\n CLEAR_VALIDATE_PARAMS,\n SET_SCHEME\n} from \"./actions\"\nimport { paramToIdentifier } from \"../../utils\"\n\nexport default {\n\n [UPDATE_SPEC]: (state, action) => {\n return (typeof action.payload === \"string\")\n ? state.set(\"spec\", action.payload)\n : state\n },\n\n [UPDATE_URL]: (state, action) => {\n return state.set(\"url\", action.payload+\"\")\n },\n\n [UPDATE_JSON]: (state, action) => {\n return state.set(\"json\", fromJSOrdered(action.payload))\n },\n\n [UPDATE_RESOLVED]: (state, action) => {\n return state.setIn([\"resolved\"], fromJSOrdered(action.payload))\n },\n\n [UPDATE_RESOLVED_SUBTREE]: (state, action) => {\n const { value, path } = action.payload\n return state.setIn([\"resolvedSubtrees\", ...path], fromJSOrdered(value))\n },\n\n [UPDATE_PARAM]: ( state, {payload} ) => {\n let { path: pathMethod, paramName, paramIn, param, value, isXml } = payload\n\n let paramKey = param ? paramToIdentifier(param) : `${paramIn}.${paramName}`\n\n const valueKey = isXml ? \"value_xml\" : \"value\"\n\n return state.setIn(\n [\"meta\", \"paths\", ...pathMethod, \"parameters\", paramKey, valueKey],\n value\n )\n },\n\n [UPDATE_EMPTY_PARAM_INCLUSION]: ( state, {payload} ) => {\n let { pathMethod, paramName, paramIn, includeEmptyValue } = payload\n\n if(!paramName || !paramIn) {\n console.warn(\"Warning: UPDATE_EMPTY_PARAM_INCLUSION could not generate a paramKey.\")\n return state\n }\n\n const paramKey = `${paramIn}.${paramName}`\n\n return state.setIn(\n [\"meta\", \"paths\", ...pathMethod, \"parameter_inclusions\", paramKey],\n includeEmptyValue\n )\n },\n\n [VALIDATE_PARAMS]: ( state, { payload: { pathMethod, isOAS3 } } ) => {\n const op = specJsonWithResolvedSubtrees(state).getIn([\"paths\", ...pathMethod])\n const paramValues = parameterValues(state, pathMethod).toJS()\n\n return state.updateIn([\"meta\", \"paths\", ...pathMethod, \"parameters\"], fromJS({}), paramMeta => {\n return op.get(\"parameters\", List()).reduce((res, param) => {\n const value = paramToValue(param, paramValues)\n const isEmptyValueIncluded = parameterInclusionSettingFor(state, pathMethod, param.get(\"name\"), param.get(\"in\"))\n const errors = validateParam(param, value, {\n bypassRequiredCheck: isEmptyValueIncluded,\n isOAS3,\n })\n return res.setIn([paramToIdentifier(param), \"errors\"], fromJS(errors))\n }, paramMeta)\n })\n },\n [CLEAR_VALIDATE_PARAMS]: ( state, { payload: { pathMethod } } ) => {\n return state.updateIn( [ \"meta\", \"paths\", ...pathMethod, \"parameters\" ], fromJS([]), parameters => {\n return parameters.map(param => param.set(\"errors\", fromJS([])))\n })\n },\n\n [SET_RESPONSE]: (state, { payload: { res, path, method } } ) =>{\n let result\n if ( res.error ) {\n result = Object.assign({\n error: true,\n name: res.err.name,\n message: res.err.message,\n statusCode: res.err.statusCode\n }, res.err.response)\n } else {\n result = res\n }\n\n // Ensure headers\n result.headers = result.headers || {}\n\n let newState = state.setIn( [ \"responses\", path, method ], fromJSOrdered(result) )\n\n // ImmutableJS messes up Blob. Needs to reset its value.\n if (win.Blob && res.data instanceof win.Blob) {\n newState = newState.setIn( [ \"responses\", path, method, \"text\" ], res.data)\n }\n return newState\n },\n\n [SET_REQUEST]: (state, { payload: { req, path, method } } ) =>{\n return state.setIn( [ \"requests\", path, method ], fromJSOrdered(req))\n },\n\n [SET_MUTATED_REQUEST]: (state, { payload: { req, path, method } } ) =>{\n return state.setIn( [ \"mutatedRequests\", path, method ], fromJSOrdered(req))\n },\n\n [UPDATE_OPERATION_META_VALUE]: (state, { payload: { path, value, key } }) => {\n // path is a pathMethod tuple... can't change the name now.\n let operationPath = [\"paths\", ...path]\n let metaPath = [\"meta\", \"paths\", ...path]\n\n if(\n !state.getIn([\"json\", ...operationPath])\n && !state.getIn([\"resolved\", ...operationPath])\n && !state.getIn([\"resolvedSubtrees\", ...operationPath])\n ) {\n // do nothing if the operation does not exist\n return state\n }\n\n return state.setIn([...metaPath, key], fromJS(value))\n },\n\n [CLEAR_RESPONSE]: (state, { payload: { path, method } } ) =>{\n return state.deleteIn( [ \"responses\", path, method ])\n },\n\n [CLEAR_REQUEST]: (state, { payload: { path, method } } ) =>{\n return state.deleteIn( [ \"requests\", path, method ])\n },\n\n [SET_SCHEME]: (state, { payload: { scheme, path, method } } ) =>{\n if ( path && method ) {\n return state.setIn( [ \"scheme\", path, method ], scheme)\n }\n\n if (!path && !method) {\n return state.setIn( [ \"scheme\", \"_defaultScheme\" ], scheme)\n }\n\n }\n\n}\n","import { createSelector } from \"reselect\"\nimport { sorters } from \"core/utils\"\nimport { fromJS, Set, Map, OrderedMap, List } from \"immutable\"\nimport { paramToIdentifier } from \"../../utils\"\n\nconst DEFAULT_TAG = \"default\"\n\nconst OPERATION_METHODS = [\n \"get\", \"put\", \"post\", \"delete\", \"options\", \"head\", \"patch\", \"trace\"\n]\n\nconst state = state => {\n return state || Map()\n}\n\nexport const lastError = createSelector(\n state,\n spec => spec.get(\"lastError\")\n)\n\nexport const url = createSelector(\n state,\n spec => spec.get(\"url\")\n)\n\nexport const specStr = createSelector(\n state,\n spec => spec.get(\"spec\") || \"\"\n)\n\nexport const specSource = createSelector(\n state,\n spec => spec.get(\"specSource\") || \"not-editor\"\n)\n\nexport const specJson = createSelector(\n state,\n spec => spec.get(\"json\", Map())\n)\n\nexport const specResolved = createSelector(\n state,\n spec => spec.get(\"resolved\", Map())\n)\n\nexport const specResolvedSubtree = (state, path) => {\n return state.getIn([\"resolvedSubtrees\", ...path], undefined)\n}\n\nconst mergerFn = (oldVal, newVal) => {\n if(Map.isMap(oldVal) && Map.isMap(newVal)) {\n if(newVal.get(\"$$ref\")) {\n // resolver artifacts indicated that this key was directly resolved\n // so we should drop the old value entirely\n return newVal\n }\n\n return OrderedMap().mergeWith(\n mergerFn,\n oldVal,\n newVal\n )\n }\n\n return newVal\n}\n\nexport const specJsonWithResolvedSubtrees = createSelector(\n state,\n spec => OrderedMap().mergeWith(\n mergerFn,\n spec.get(\"json\"),\n spec.get(\"resolvedSubtrees\")\n )\n)\n\n// Default Spec ( as an object )\nexport const spec = state => {\n let res = specJson(state)\n return res\n}\n\nexport const isOAS3 = createSelector(\n // isOAS3 is stubbed out here to work around an issue with injecting more selectors\n // in the OAS3 plugin, and to ensure that the function is always available.\n // It's not perfect, but our hybrid (core+plugin code) implementation for OAS3\n // needs this. //KS\n spec,\n\t() => false\n)\n\nexport const info = createSelector(\n spec,\n\tspec => returnSelfOrNewMap(spec && spec.get(\"info\"))\n)\n\nexport const externalDocs = createSelector(\n spec,\n\tspec => returnSelfOrNewMap(spec && spec.get(\"externalDocs\"))\n)\n\nexport const version = createSelector(\n\tinfo,\n\tinfo => info && info.get(\"version\")\n)\n\nexport const semver = createSelector(\n\tversion,\n\tversion => /v?([0-9]*)\\.([0-9]*)\\.([0-9]*)/i.exec(version).slice(1)\n)\n\nexport const paths = createSelector(\n\tspecJsonWithResolvedSubtrees,\n\tspec => spec.get(\"paths\")\n)\n\nexport const operations = createSelector(\n paths,\n paths => {\n if(!paths || paths.size < 1)\n return List()\n\n let list = List()\n\n if(!paths || !paths.forEach) {\n return List()\n }\n\n paths.forEach((path, pathName) => {\n if(!path || !path.forEach) {\n return {}\n }\n path.forEach((operation, method) => {\n if(OPERATION_METHODS.indexOf(method) < 0) {\n return\n }\n list = list.push(fromJS({\n path: pathName,\n method,\n operation,\n id: `${method}-${pathName}`\n }))\n })\n })\n\n return list\n }\n)\n\nexport const consumes = createSelector(\n spec,\n spec => Set(spec.get(\"consumes\"))\n)\n\nexport const produces = createSelector(\n spec,\n spec => Set(spec.get(\"produces\"))\n)\n\nexport const security = createSelector(\n spec,\n spec => spec.get(\"security\", List())\n)\n\nexport const securityDefinitions = createSelector(\n spec,\n spec => spec.get(\"securityDefinitions\")\n)\n\n\nexport const findDefinition = ( state, name ) => {\n const resolvedRes = state.getIn([\"resolvedSubtrees\", \"definitions\", name], null)\n const unresolvedRes = state.getIn([\"json\", \"definitions\", name], null)\n return resolvedRes || unresolvedRes || null\n}\n\nexport const definitions = createSelector(\n spec,\n spec => {\n const res = spec.get(\"definitions\")\n return Map.isMap(res) ? res : Map()\n }\n)\n\nexport const basePath = createSelector(\n spec,\n spec => spec.get(\"basePath\")\n)\n\nexport const host = createSelector(\n spec,\n spec => spec.get(\"host\")\n)\n\nexport const schemes = createSelector(\n spec,\n spec => spec.get(\"schemes\", Map())\n)\n\nexport const operationsWithRootInherited = createSelector(\n operations,\n consumes,\n produces,\n (operations, consumes, produces) => {\n return operations.map( ops => ops.update(\"operation\", op => {\n if(op) {\n if(!Map.isMap(op)) { return }\n return op.withMutations( op => {\n if ( !op.get(\"consumes\") ) {\n op.update(\"consumes\", a => Set(a).merge(consumes))\n }\n if ( !op.get(\"produces\") ) {\n op.update(\"produces\", a => Set(a).merge(produces))\n }\n return op\n })\n } else {\n // return something with Immutable methods\n return Map()\n }\n\n }))\n }\n)\n\nexport const tags = createSelector(\n spec,\n json => {\n const tags = json.get(\"tags\", List())\n return List.isList(tags) ? tags.filter(tag => Map.isMap(tag)) : List()\n }\n)\n\nexport const tagDetails = (state, tag) => {\n let currentTags = tags(state) || List()\n return currentTags.filter(Map.isMap).find(t => t.get(\"name\") === tag, Map())\n}\n\nexport const operationsWithTags = createSelector(\n operationsWithRootInherited,\n tags,\n (operations, tags) => {\n return operations.reduce( (taggedMap, op) => {\n let tags = Set(op.getIn([\"operation\",\"tags\"]))\n if(tags.count() < 1)\n return taggedMap.update(DEFAULT_TAG, List(), ar => ar.push(op))\n return tags.reduce( (res, tag) => res.update(tag, List(), (ar) => ar.push(op)), taggedMap )\n }, tags.reduce( (taggedMap, tag) => {\n return taggedMap.set(tag.get(\"name\"), List())\n } , OrderedMap()))\n }\n)\n\nexport const taggedOperations = (state) => ({ getConfigs }) => {\n let { tagsSorter, operationsSorter } = getConfigs()\n return operationsWithTags(state)\n .sortBy(\n (val, key) => key, // get the name of the tag to be passed to the sorter\n (tagA, tagB) => {\n let sortFn = (typeof tagsSorter === \"function\" ? tagsSorter : sorters.tagsSorter[ tagsSorter ])\n return (!sortFn ? null : sortFn(tagA, tagB))\n }\n )\n .map((ops, tag) => {\n let sortFn = (typeof operationsSorter === \"function\" ? operationsSorter : sorters.operationsSorter[ operationsSorter ])\n let operations = (!sortFn ? ops : ops.sort(sortFn))\n\n return Map({ tagDetails: tagDetails(state, tag), operations: operations })\n })\n}\n\nexport const responses = createSelector(\n state,\n state => state.get( \"responses\", Map() )\n)\n\nexport const requests = createSelector(\n state,\n state => state.get( \"requests\", Map() )\n)\n\nexport const mutatedRequests = createSelector(\n state,\n state => state.get( \"mutatedRequests\", Map() )\n)\n\nexport const responseFor = (state, path, method) => {\n return responses(state).getIn([path, method], null)\n}\n\nexport const requestFor = (state, path, method) => {\n return requests(state).getIn([path, method], null)\n}\n\nexport const mutatedRequestFor = (state, path, method) => {\n return mutatedRequests(state).getIn([path, method], null)\n}\n\nexport const allowTryItOutFor = () => {\n // This is just a hook for now.\n return true\n}\n\nexport const parameterWithMetaByIdentity = (state, pathMethod, param) => {\n const opParams = specJsonWithResolvedSubtrees(state).getIn([\"paths\", ...pathMethod, \"parameters\"], OrderedMap())\n const metaParams = state.getIn([\"meta\", \"paths\", ...pathMethod, \"parameters\"], OrderedMap())\n\n const mergedParams = opParams.map((currentParam) => {\n const inNameKeyedMeta = metaParams.get(`${param.get(\"in\")}.${param.get(\"name\")}`)\n const hashKeyedMeta = metaParams.get(`${param.get(\"in\")}.${param.get(\"name\")}.hash-${param.hashCode()}`)\n return OrderedMap().merge(\n currentParam,\n inNameKeyedMeta,\n hashKeyedMeta\n )\n })\n return mergedParams.find(curr => curr.get(\"in\") === param.get(\"in\") && curr.get(\"name\") === param.get(\"name\"), OrderedMap())\n}\n\nexport const parameterInclusionSettingFor = (state, pathMethod, paramName, paramIn) => {\n const paramKey = `${paramIn}.${paramName}`\n return state.getIn([\"meta\", \"paths\", ...pathMethod, \"parameter_inclusions\", paramKey], false)\n}\n\n\nexport const parameterWithMeta = (state, pathMethod, paramName, paramIn) => {\n const opParams = specJsonWithResolvedSubtrees(state).getIn([\"paths\", ...pathMethod, \"parameters\"], OrderedMap())\n const currentParam = opParams.find(param => param.get(\"in\") === paramIn && param.get(\"name\") === paramName, OrderedMap())\n return parameterWithMetaByIdentity(state, pathMethod, currentParam)\n}\n\nexport const operationWithMeta = (state, path, method) => {\n const op = specJsonWithResolvedSubtrees(state).getIn([\"paths\", path, method], OrderedMap())\n const meta = state.getIn([\"meta\", \"paths\", path, method], OrderedMap())\n\n const mergedParams = op.get(\"parameters\", List()).map((param) => {\n return parameterWithMetaByIdentity(state, [path, method], param)\n })\n\n return OrderedMap()\n .merge(op, meta)\n .set(\"parameters\", mergedParams)\n}\n\n// Get the parameter value by parameter name\nexport function getParameter(state, pathMethod, name, inType) {\n pathMethod = pathMethod || []\n let params = state.getIn([\"meta\", \"paths\", ...pathMethod, \"parameters\"], fromJS([]))\n return params.find( (p) => {\n return Map.isMap(p) && p.get(\"name\") === name && p.get(\"in\") === inType\n }) || Map() // Always return a map\n}\n\nexport const hasHost = createSelector(\n spec,\n spec => {\n const host = spec.get(\"host\")\n return typeof host === \"string\" && host.length > 0 && host[0] !== \"/\"\n }\n)\n\n// Get the parameter values, that the user filled out\nexport function parameterValues(state, pathMethod, isXml) {\n pathMethod = pathMethod || []\n let paramValues = operationWithMeta(state, ...pathMethod).get(\"parameters\", List())\n return paramValues.reduce( (hash, p) => {\n let value = isXml && p.get(\"in\") === \"body\" ? p.get(\"value_xml\") : p.get(\"value\")\n return hash.set(paramToIdentifier(p, { allowHashes: false }), value)\n }, fromJS({}))\n}\n\n// True if any parameter includes `in: ?`\nexport function parametersIncludeIn(parameters, inValue=\"\") {\n if(List.isList(parameters)) {\n return parameters.some( p => Map.isMap(p) && p.get(\"in\") === inValue )\n }\n}\n\n// True if any parameter includes `type: ?`\nexport function parametersIncludeType(parameters, typeValue=\"\") {\n if(List.isList(parameters)) {\n return parameters.some( p => Map.isMap(p) && p.get(\"type\") === typeValue )\n }\n}\n\n// Get the consumes/produces value that the user selected\nexport function contentTypeValues(state, pathMethod) {\n pathMethod = pathMethod || []\n let op = specJsonWithResolvedSubtrees(state).getIn([\"paths\", ...pathMethod], fromJS({}))\n let meta = state.getIn([\"meta\", \"paths\", ...pathMethod], fromJS({}))\n let producesValue = currentProducesFor(state, pathMethod)\n\n const parameters = op.get(\"parameters\") || new List()\n\n const requestContentType = (\n meta.get(\"consumes_value\") ? meta.get(\"consumes_value\")\n : parametersIncludeType(parameters, \"file\") ? \"multipart/form-data\"\n : parametersIncludeType(parameters, \"formData\") ? \"application/x-www-form-urlencoded\"\n : undefined\n )\n\n return fromJS({\n requestContentType,\n responseContentType: producesValue\n })\n}\n\n// Get the currently selected produces value for an operation\nexport function currentProducesFor(state, pathMethod) {\n pathMethod = pathMethod || []\n\n const operation = specJsonWithResolvedSubtrees(state).getIn([ \"paths\", ...pathMethod], null)\n\n if(operation === null) {\n // return nothing if the operation does not exist\n return\n }\n\n const currentProducesValue = state.getIn([\"meta\", \"paths\", ...pathMethod, \"produces_value\"], null)\n const firstProducesArrayItem = operation.getIn([\"produces\", 0], null)\n\n return currentProducesValue || firstProducesArrayItem || \"application/json\"\n\n}\n\n// Get the produces options for an operation\nexport function producesOptionsFor(state, pathMethod) {\n pathMethod = pathMethod || []\n\n const spec = specJsonWithResolvedSubtrees(state)\n const operation = spec.getIn([ \"paths\", ...pathMethod], null)\n\n if(operation === null) {\n // return nothing if the operation does not exist\n return\n }\n\n const [path] = pathMethod\n\n const operationProduces = operation.get(\"produces\", null)\n const pathItemProduces = spec.getIn([\"paths\", path, \"produces\"], null)\n const globalProduces = spec.getIn([\"produces\"], null)\n\n return operationProduces || pathItemProduces || globalProduces\n}\n\n// Get the consumes options for an operation\nexport function consumesOptionsFor(state, pathMethod) {\n pathMethod = pathMethod || []\n\n const spec = specJsonWithResolvedSubtrees(state)\n const operation = spec.getIn([\"paths\", ...pathMethod], null)\n\n if (operation === null) {\n // return nothing if the operation does not exist\n return\n }\n\n const [path] = pathMethod\n\n const operationConsumes = operation.get(\"consumes\", null)\n const pathItemConsumes = spec.getIn([\"paths\", path, \"consumes\"], null)\n const globalConsumes = spec.getIn([\"consumes\"], null)\n\n return operationConsumes || pathItemConsumes || globalConsumes\n}\n\nexport const operationScheme = ( state, path, method ) => {\n let url = state.get(\"url\")\n let matchResult = url.match(/^([a-z][a-z0-9+\\-.]*):/)\n let urlScheme = Array.isArray(matchResult) ? matchResult[1] : null\n\n return state.getIn([\"scheme\", path, method]) || state.getIn([\"scheme\", \"_defaultScheme\"]) || urlScheme || \"\"\n}\n\nexport const canExecuteScheme = ( state, path, method ) => {\n return [\"http\", \"https\"].indexOf(operationScheme(state, path, method)) > -1\n}\n\nexport const validationErrors = (state, pathMethod) => {\n pathMethod = pathMethod || []\n let paramValues = state.getIn([\"meta\", \"paths\", ...pathMethod, \"parameters\"], fromJS([]))\n const result = []\n\n paramValues.forEach( (p) => {\n let errors = p.get(\"errors\")\n if ( errors && errors.count() ) {\n errors.forEach( e => result.push(e))\n }\n })\n\n return result\n}\n\nexport const validateBeforeExecute = (state, pathMethod) => {\n return validationErrors(state, pathMethod).length === 0\n}\n\nexport const getOAS3RequiredRequestBodyContentType = (state, pathMethod) => {\n let requiredObj = {\n requestBody: false,\n requestContentType: {}\n }\n let requestBody = state.getIn([\"resolvedSubtrees\", \"paths\", ...pathMethod, \"requestBody\"], fromJS([]))\n if (requestBody.size < 1) {\n return requiredObj\n }\n if (requestBody.getIn([\"required\"])) {\n requiredObj.requestBody = requestBody.getIn([\"required\"])\n }\n requestBody.getIn([\"content\"]).entrySeq().forEach((contentType) => { // e.g application/json\n const key = contentType[0]\n if (contentType[1].getIn([\"schema\", \"required\"])) {\n const val = contentType[1].getIn([\"schema\", \"required\"]).toJS()\n requiredObj.requestContentType[key] = val\n }\n })\n return requiredObj\n}\n\nexport const isMediaTypeSchemaPropertiesEqual = ( state, pathMethod, currentMediaType, targetMediaType) => {\n if((currentMediaType || targetMediaType) && currentMediaType === targetMediaType ) {\n return true\n }\n let requestBodyContent = state.getIn([\"resolvedSubtrees\", \"paths\", ...pathMethod, \"requestBody\", \"content\"], fromJS([]))\n if (requestBodyContent.size < 2 || !currentMediaType || !targetMediaType) {\n // nothing to compare\n return false\n }\n let currentMediaTypeSchemaProperties = requestBodyContent.getIn([currentMediaType, \"schema\", \"properties\"], fromJS([]))\n let targetMediaTypeSchemaProperties = requestBodyContent.getIn([targetMediaType, \"schema\", \"properties\"], fromJS([]))\n return !!currentMediaTypeSchemaProperties.equals(targetMediaTypeSchemaProperties)\n}\n\nfunction returnSelfOrNewMap(obj) {\n // returns obj if obj is an Immutable map, else returns a new Map\n return Map.isMap(obj) ? obj : new Map()\n}\n","import get from \"lodash/get\"\n\nexport const updateSpec = (ori, {specActions}) => (...args) => {\n ori(...args)\n specActions.parseToJson(...args)\n}\n\nexport const updateJsonSpec = (ori, {specActions}) => (...args) => {\n ori(...args)\n\n specActions.invalidateResolvedSubtreeCache()\n\n // Trigger resolution of any path-level $refs.\n const [json] = args\n const pathItems = get(json, [\"paths\"]) || {}\n const pathItemKeys = Object.keys(pathItems)\n\n pathItemKeys.forEach(k => {\n const val = get(pathItems, [k])\n\n if(val.$ref) {\n specActions.requestResolvedSubtree([\"paths\", k])\n }\n })\n\n // Trigger resolution of any securitySchemes-level $refs.\n specActions.requestResolvedSubtree([\"components\", \"securitySchemes\"])\n}\n\n// Log the request ( just for debugging, shouldn't affect prod )\nexport const executeRequest = (ori, { specActions }) => (req) => {\n specActions.logRequest(req)\n return ori(req)\n}\n\nexport const validateParams = (ori, { specSelectors }) => (req) => {\n return ori(req, specSelectors.isOAS3())\n}\n","export const loaded = (ori, system) => (...args) => {\n ori(...args)\n const value = system.getConfigs().withCredentials\n \n if(value !== undefined) {\n system.fn.fetch.withCredentials = typeof value === \"string\" ? (value === \"true\") : !!value\n }\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_swagger_client_es_resolver_f879c638__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"buildRequest\"]: () => __WEBPACK_EXTERNAL_MODULE_swagger_client_es_execute_d486d3d6__.buildRequest, [\"execute\"]: () => __WEBPACK_EXTERNAL_MODULE_swagger_client_es_execute_d486d3d6__.execute });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_swagger_client_es_http_69655560__[\"default\"], [\"makeHttp\"]: () => __WEBPACK_EXTERNAL_MODULE_swagger_client_es_http_69655560__.makeHttp, [\"serializeRes\"]: () => __WEBPACK_EXTERNAL_MODULE_swagger_client_es_http_69655560__.serializeRes });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_swagger_client_es_subtree_resolver_741cb9d9__[\"default\"] });","import resolve from \"swagger-client/es/resolver\"\nimport { execute, buildRequest } from \"swagger-client/es/execute\"\nimport Http, { makeHttp, serializeRes } from \"swagger-client/es/http\"\nimport resolveSubtree from \"swagger-client/es/subtree-resolver\"\nimport { opId } from \"swagger-client/es/helpers\"\nimport { loaded } from \"./configs-wrap-actions\"\n\nexport default function({ configs, getConfigs }) {\n return {\n fn: {\n fetch: makeHttp(Http, configs.preFetch, configs.postFetch),\n buildRequest,\n execute,\n resolve,\n resolveSubtree: (obj, path, opts, ...rest) => {\n if(opts === undefined) {\n const freshConfigs = getConfigs()\n opts = {\n modelPropertyMacro: freshConfigs.modelPropertyMacro,\n parameterMacro: freshConfigs.parameterMacro,\n requestInterceptor: freshConfigs.requestInterceptor,\n responseInterceptor: freshConfigs.responseInterceptor\n }\n }\n\n return resolveSubtree(obj, path, opts, ...rest)\n },\n serializeRes,\n opId\n },\n statePlugins: {\n configs: {\n wrapActions: {\n loaded,\n }\n }\n },\n }\n}\n","import { shallowEqualKeys } from \"core/utils\"\n\nexport default function() {\n return {\n fn: { shallowEqualKeys }\n }\n}\n","export const getDisplayName = (WrappedComponent) => WrappedComponent.displayName || WrappedComponent.name || \"Component\"\n","import { memoize } from \"core/utils\"\n\nimport { getComponent, render, withMappedContainer } from \"./root-injects\"\nimport { getDisplayName } from \"./fn\"\nimport memoizeN from \"../../../helpers/memoizeN\"\n\nconst memoizeForGetComponent = (fn) => {\n const resolver = (...args) => JSON.stringify(args)\n return memoize(fn, resolver)\n}\n\nconst memoizeForWithMappedContainer = (fn) => {\n const resolver = (...args) => args\n return memoizeN(fn, resolver)\n}\n\nconst viewPlugin = ({getComponents, getStore, getSystem}) => {\n // getComponent should be passed into makeMappedContainer, _already_ memoized... otherwise we have a big performance hit ( think, really big )\n const memGetComponent = memoizeForGetComponent(getComponent(getSystem, getStore, getComponents))\n const memMakeMappedContainer = memoizeForWithMappedContainer(withMappedContainer(getSystem, getStore, memGetComponent))\n\n return {\n rootInjects: {\n getComponent: memGetComponent,\n makeMappedContainer: memMakeMappedContainer,\n render: render(getSystem, getStore, getComponent, getComponents),\n },\n fn: {\n getDisplayName,\n },\n }\n}\n\nexport default viewPlugin\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_dom_7dac9eee__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"Provider\"]: () => __WEBPACK_EXTERNAL_MODULE_react_redux_87be03b0__.Provider, [\"connect\"]: () => __WEBPACK_EXTERNAL_MODULE_react_redux_87be03b0__.connect });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_omit_d930e0f3__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_identity_75ffe4a7__[\"default\"] });","import React, { Component } from \"react\"\nimport ReactDOM from \"react-dom\"\nimport { compose } from \"redux\"\nimport { connect, Provider } from \"react-redux\"\nimport omit from \"lodash/omit\"\nimport identity from \"lodash/identity\"\n\nconst withSystem = (getSystem) => (WrappedComponent) => {\n const { fn } = getSystem()\n\n class WithSystem extends Component {\n render() {\n return <WrappedComponent {...getSystem()} {...this.props} {...this.context} />\n }\n }\n WithSystem.displayName = `WithSystem(${fn.getDisplayName(WrappedComponent)})`\n return WithSystem\n}\n\nconst withRoot = (getSystem, reduxStore) => (WrappedComponent) => {\n const { fn } = getSystem()\n\n class WithRoot extends Component {\n render() {\n return (\n <Provider store={reduxStore}>\n <WrappedComponent {...this.props} {...this.context} />\n </Provider>\n )\n }\n }\n WithRoot.displayName = `WithRoot(${fn.getDisplayName(WrappedComponent)})`\n return WithRoot\n}\n\nconst withConnect = (getSystem, WrappedComponent, reduxStore) => {\n const mapStateToProps = (state, ownProps) => {\n const props = {...ownProps, ...getSystem()}\n const customMapStateToProps = WrappedComponent.prototype?.mapStateToProps || (state => ({state}))\n return customMapStateToProps(state, props)\n }\n\n return compose(\n reduxStore ? withRoot(getSystem, reduxStore) : identity,\n connect(mapStateToProps),\n withSystem(getSystem),\n )(WrappedComponent)\n}\n\nconst handleProps = (getSystem, mapping, props, oldProps) => {\n for (const prop in mapping) {\n const fn = mapping[prop]\n\n if (typeof fn === \"function\") {\n fn(props[prop], oldProps[prop], getSystem())\n }\n }\n}\n\nexport const withMappedContainer = (getSystem, getStore, memGetComponent) => (componentName, mapping) => {\n const { fn } = getSystem()\n const WrappedComponent = memGetComponent(componentName, \"root\")\n\n class WithMappedContainer extends Component {\n constructor(props, context) {\n super(props, context)\n handleProps(getSystem, mapping, props, {})\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n handleProps(getSystem, mapping, nextProps, this.props)\n }\n\n render() {\n const cleanProps = omit(this.props, mapping ? Object.keys(mapping) : [])\n return <WrappedComponent {...cleanProps} />\n }\n }\n WithMappedContainer.displayName = `WithMappedContainer(${fn.getDisplayName(WrappedComponent)})`\n return WithMappedContainer\n}\n\nexport const render = (getSystem, getStore, getComponent, getComponents) => (domNode) => {\n const App = getComponent(getSystem, getStore, getComponents)(\"App\", \"root\")\n ReactDOM.render(<App/>, domNode)\n}\n\nexport const getComponent = (getSystem, getStore, getComponents) => (componentName, container, config = {}) => {\n\n if (typeof componentName !== \"string\")\n throw new TypeError(\"Need a string, to fetch a component. Was given a \" + typeof componentName)\n\n // getComponent has a config object as a third, optional parameter\n // using the config object requires the presence of the second parameter, container\n // e.g. getComponent(\"JsonSchema_string_whatever\", false, { failSilently: true })\n const component = getComponents(componentName)\n\n if (!component) {\n if (!config.failSilently) {\n getSystem().log.warn(\"Could not find component:\", componentName)\n }\n return null\n }\n\n if(!container) {\n return component\n }\n\n if(container === \"root\") {\n return withConnect(getSystem, component, getStore())\n }\n\n // container == truthy\n return withConnect(getSystem, component)\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_light_746e1958__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_javascript_e22911f7__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_json_b876afc5__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_xml_a81c807b__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_bash_1621c621__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_yaml_02838f34__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_http_4e924b23__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_powershell_d51eb4f6__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_agate_99a46aa2__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_arta_570691fc__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_monokai_2529bafb__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_nord_5bfa1099__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_obsidian_a278dd52__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_tomorrow_night_63765df9__[\"default\"] });","import SyntaxHighlighter from \"react-syntax-highlighter/dist/esm/light\"\nimport js from \"react-syntax-highlighter/dist/esm/languages/hljs/javascript\"\nimport json from \"react-syntax-highlighter/dist/esm/languages/hljs/json\"\nimport xml from \"react-syntax-highlighter/dist/esm/languages/hljs/xml\"\nimport bash from \"react-syntax-highlighter/dist/esm/languages/hljs/bash\"\nimport yaml from \"react-syntax-highlighter/dist/esm/languages/hljs/yaml\"\nimport http from \"react-syntax-highlighter/dist/esm/languages/hljs/http\"\nimport powershell from \"react-syntax-highlighter/dist/esm/languages/hljs/powershell\"\nimport javascript from \"react-syntax-highlighter/dist/esm/languages/hljs/javascript\"\n\nimport agate from \"react-syntax-highlighter/dist/esm/styles/hljs/agate\"\nimport arta from \"react-syntax-highlighter/dist/esm/styles/hljs/arta\"\nimport monokai from \"react-syntax-highlighter/dist/esm/styles/hljs/monokai\"\nimport nord from \"react-syntax-highlighter/dist/esm/styles/hljs/nord\"\nimport obsidian from \"react-syntax-highlighter/dist/esm/styles/hljs/obsidian\"\nimport tomorrowNight from \"react-syntax-highlighter/dist/esm/styles/hljs/tomorrow-night\"\n\nSyntaxHighlighter.registerLanguage(\"json\", json)\nSyntaxHighlighter.registerLanguage(\"js\", js)\nSyntaxHighlighter.registerLanguage(\"xml\", xml)\nSyntaxHighlighter.registerLanguage(\"yaml\", yaml)\nSyntaxHighlighter.registerLanguage(\"http\", http)\nSyntaxHighlighter.registerLanguage(\"bash\", bash)\nSyntaxHighlighter.registerLanguage(\"powershell\", powershell)\nSyntaxHighlighter.registerLanguage(\"javascript\", javascript)\n\nconst styles = {agate, arta, monokai, nord, obsidian, \"tomorrow-night\": tomorrowNight}\nexport const availableStyles = Object.keys(styles)\n\nexport const getStyle = name => {\n if (!availableStyles.includes(name)) {\n console.warn(`Request style '${name}' is not available, returning default instead`)\n return agate\n }\n return styles[name]\n}\n\nexport {SyntaxHighlighter, styles}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"sanitizeUrl\"]: () => __WEBPACK_EXTERNAL_MODULE__braintree_sanitize_url_2340607f__.sanitizeUrl });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_camelCase_81fadc19__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_upperFirst_9993ecb4__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_find_e8ecc2cb__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_some_5cd47809__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_eq_b41b823a__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_css_escape_2d301448__[\"default\"] });","/*\n ATTENTION! This file (but not the functions within) is deprecated.\n\n You should probably add a new file to `./helpers/` instead of adding a new\n function here.\n\n One-function-per-file is a better pattern than what we have here.\n\n If you're refactoring something in here, feel free to break it out to a file\n in `./helpers` if you have the time.\n*/\n\nimport Im, { fromJS, Set } from \"immutable\"\nimport { sanitizeUrl as braintreeSanitizeUrl } from \"@braintree/sanitize-url\"\nimport camelCase from \"lodash/camelCase\"\nimport upperFirst from \"lodash/upperFirst\"\nimport _memoize from \"lodash/memoize\"\nimport find from \"lodash/find\"\nimport some from \"lodash/some\"\nimport eq from \"lodash/eq\"\nimport isFunction from \"lodash/isFunction\"\nimport { memoizedSampleFromSchema, memoizedCreateXMLExample } from \"core/plugins/samples/fn\"\nimport win from \"./window\"\nimport cssEscape from \"css.escape\"\nimport getParameterSchema from \"../helpers/get-parameter-schema\"\nimport randomBytes from \"randombytes\"\nimport shaJs from \"sha.js\"\nimport YAML, { JSON_SCHEMA } from \"js-yaml\"\n\n\nconst DEFAULT_RESPONSE_KEY = \"default\"\n\nexport const isImmutable = (maybe) => Im.Iterable.isIterable(maybe)\n\nexport function objectify (thing) {\n if(!isObject(thing))\n return {}\n if(isImmutable(thing))\n return thing.toJS()\n return thing\n}\n\nexport function arrayify (thing) {\n if(!thing)\n return []\n\n if(thing.toArray)\n return thing.toArray()\n\n return normalizeArray(thing)\n}\n\nexport function fromJSOrdered(js) {\n if (isImmutable(js)) {\n return js // Can't do much here\n }\n if (js instanceof win.File) {\n return js\n }\n if (!isObject(js)) {\n return js\n }\n if (Array.isArray(js)) {\n return Im.Seq(js).map(fromJSOrdered).toList()\n }\n if (isFunction(js.entries)) {\n // handle multipart/form-data\n const objWithHashedKeys = createObjWithHashedKeys(js)\n return Im.OrderedMap(objWithHashedKeys).map(fromJSOrdered)\n }\n return Im.OrderedMap(js).map(fromJSOrdered)\n}\n\n/**\n * Convert a FormData object into plain object\n * Append a hashIdx and counter to the key name, if multiple exists\n * if single, key name = <original>\n * if multiple, key name = <original><hashIdx><count>\n * @example <caption>single entry for vegetable</caption>\n * fdObj.entries.vegtables: \"carrot\"\n * // returns newObj.vegetables : \"carrot\"\n * @example <caption>multiple entries for fruits[]</caption>\n * fdObj.entries.fruits[]: \"apple\"\n * // returns newObj.fruits[]_**[]1 : \"apple\"\n * fdObj.entries.fruits[]: \"banana\"\n * // returns newObj.fruits[]_**[]2 : \"banana\"\n * fdObj.entries.fruits[]: \"grape\"\n * // returns newObj.fruits[]_**[]3 : \"grape\"\n * @param {FormData} fdObj - a FormData object\n * @return {Object} - a plain object\n */\nexport function createObjWithHashedKeys (fdObj) {\n if (!isFunction(fdObj.entries)) {\n return fdObj // not a FormData object with iterable\n }\n const newObj = {}\n const hashIdx = \"_**[]\" // our internal identifier\n const trackKeys = {}\n for (let pair of fdObj.entries()) {\n if (!newObj[pair[0]] && !(trackKeys[pair[0]] && trackKeys[pair[0]].containsMultiple)) {\n newObj[pair[0]] = pair[1] // first key name: no hash required\n } else {\n if (!trackKeys[pair[0]]) {\n // initiate tracking key for multiple\n trackKeys[pair[0]] = {\n containsMultiple: true,\n length: 1\n }\n // \"reassign\" first pair to matching hashed format for multiple\n let hashedKeyFirst = `${pair[0]}${hashIdx}${trackKeys[pair[0]].length}`\n newObj[hashedKeyFirst] = newObj[pair[0]]\n // remove non-hashed key of multiple\n delete newObj[pair[0]] // first\n }\n trackKeys[pair[0]].length += 1\n let hashedKeyCurrent = `${pair[0]}${hashIdx}${trackKeys[pair[0]].length}`\n newObj[hashedKeyCurrent] = pair[1]\n }\n }\n return newObj\n}\n\nexport function bindToState(obj, state) {\n\tvar newObj = {}\n\tObject.keys(obj)\n .filter(key => typeof obj[key] === \"function\")\n .forEach(key => newObj[key] = obj[key].bind(null, state))\n\treturn newObj\n}\n\nexport function normalizeArray(arr) {\n if(Array.isArray(arr))\n return arr\n return [arr]\n}\n\nexport function isFn(fn) {\n return typeof fn === \"function\"\n}\n\nexport function isObject(obj) {\n return !!obj && typeof obj === \"object\"\n}\n\nexport function isFunc(thing) {\n return typeof(thing) === \"function\"\n}\n\nexport function isArray(thing) {\n return Array.isArray(thing)\n}\n\n// I've changed memoize libs more than once, so I'm using this a way to make that simpler\nexport const memoize = _memoize\n\nexport function objMap(obj, fn) {\n return Object.keys(obj).reduce((newObj, key) => {\n newObj[key] = fn(obj[key], key)\n return newObj\n }, {})\n}\n\nexport function objReduce(obj, fn) {\n return Object.keys(obj).reduce((newObj, key) => {\n let res = fn(obj[key], key)\n if(res && typeof res === \"object\")\n Object.assign(newObj, res)\n return newObj\n }, {})\n}\n\n// Redux middleware that exposes the system to async actions (like redux-thunk, but with out system instead of (dispatch, getState)\nexport function systemThunkMiddleware(getSystem) {\n return ({ dispatch, getState }) => { // eslint-disable-line no-unused-vars\n return next => action => {\n if (typeof action === \"function\") {\n return action(getSystem())\n }\n\n return next(action)\n }\n }\n}\n\nexport function defaultStatusCode ( responses ) {\n let codes = responses.keySeq()\n return codes.contains(DEFAULT_RESPONSE_KEY) ? DEFAULT_RESPONSE_KEY : codes.filter( key => (key+\"\")[0] === \"2\").sort().first()\n}\n\n\n/**\n * Returns an Immutable List, safely\n * @param {Immutable.Iterable} iterable the iterable to get the key from\n * @param {String|[String]} key either an array of keys, or a single key\n * @returns {Immutable.List} either iterable.get(keys) or an empty Immutable.List\n */\nexport function getList(iterable, keys) {\n if(!Im.Iterable.isIterable(iterable)) {\n return Im.List()\n }\n let val = iterable.getIn(Array.isArray(keys) ? keys : [keys])\n return Im.List.isList(val) ? val : Im.List()\n}\n\n/**\n * Take an immutable map, and convert to a list.\n * Where the keys are merged with the value objects\n * @param {Immutable.Map} map, the map to convert\n * @param {String} key the key to use, when merging the `key`\n * @returns {Immutable.List}\n */\nexport function mapToList(map, keyNames=\"key\", collectedKeys=Im.Map()) {\n if(!Im.Map.isMap(map) || !map.size) {\n return Im.List()\n }\n\n if(!Array.isArray(keyNames)) {\n keyNames = [ keyNames ]\n }\n\n if(keyNames.length < 1) {\n return map.merge(collectedKeys)\n }\n\n // I need to avoid `flatMap` from merging in the Maps, as well as the lists\n let list = Im.List()\n let keyName = keyNames[0]\n for(let entry of map.entries()) {\n let [key, val] = entry\n let nextList = mapToList(val, keyNames.slice(1), collectedKeys.set(keyName, key))\n if(Im.List.isList(nextList)) {\n list = list.concat(nextList)\n } else {\n list = list.push(nextList)\n }\n }\n\n return list\n}\n\nexport function extractFileNameFromContentDispositionHeader(value){\n let patterns = [\n /filename\\*=[^']+'\\w*'\"([^\"]+)\";?/i,\n /filename\\*=[^']+'\\w*'([^;]+);?/i,\n /filename=\"([^;]*);?\"/i,\n /filename=([^;]*);?/i\n ]\n\n let responseFilename\n patterns.some(regex => {\n responseFilename = regex.exec(value)\n return responseFilename !== null\n })\n\n if (responseFilename !== null && responseFilename.length > 1) {\n try {\n return decodeURIComponent(responseFilename[1])\n } catch(e) {\n console.error(e)\n }\n }\n\n return null\n}\n\n// PascalCase, aka UpperCamelCase\nexport function pascalCase(str) {\n return upperFirst(camelCase(str))\n}\n\n// Remove the ext of a filename, and pascalCase it\nexport function pascalCaseFilename(filename) {\n return pascalCase(filename.replace(/\\.[^./]*$/, \"\"))\n}\n\n// Check if ...\n// - new props\n// - If immutable, use .is()\n// - if in explicit objectList, then compare using _.eq\n// - else use ===\nexport const propChecker = (props, nextProps, objectList=[], ignoreList=[]) => {\n\n if(Object.keys(props).length !== Object.keys(nextProps).length) {\n return true\n }\n\n return (\n some(props, (a, name) => {\n if(ignoreList.includes(name)) {\n return false\n }\n let b = nextProps[name]\n\n if(Im.Iterable.isIterable(a)) {\n return !Im.is(a,b)\n }\n\n // Not going to compare objects\n if(typeof a === \"object\" && typeof b === \"object\") {\n return false\n }\n\n return a !== b\n })\n || objectList.some( objectPropName => !eq(props[objectPropName], nextProps[objectPropName])))\n}\n\nexport const validateMaximum = ( val, max ) => {\n if (val > max) {\n return `Value must be less than ${max}`\n }\n}\n\nexport const validateMinimum = ( val, min ) => {\n if (val < min) {\n return `Value must be greater than ${min}`\n }\n}\n\nexport const validateNumber = ( val ) => {\n if (!/^-?\\d+(\\.?\\d+)?$/.test(val)) {\n return \"Value must be a number\"\n }\n}\n\nexport const validateInteger = ( val ) => {\n if (!/^-?\\d+$/.test(val)) {\n return \"Value must be an integer\"\n }\n}\n\nexport const validateFile = ( val ) => {\n if ( val && !(val instanceof win.File) ) {\n return \"Value must be a file\"\n }\n}\n\nexport const validateBoolean = ( val ) => {\n if ( !(val === \"true\" || val === \"false\" || val === true || val === false) ) {\n return \"Value must be a boolean\"\n }\n}\n\nexport const validateString = ( val ) => {\n if ( val && typeof val !== \"string\" ) {\n return \"Value must be a string\"\n }\n}\n\nexport const validateDateTime = (val) => {\n if (isNaN(Date.parse(val))) {\n return \"Value must be a DateTime\"\n }\n}\n\nexport const validateGuid = (val) => {\n val = val.toString().toLowerCase()\n if (!/^[{(]?[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}[)}]?$/.test(val)) {\n return \"Value must be a Guid\"\n }\n}\n\nexport const validateMaxLength = (val, max) => {\n if (val.length > max) {\n return `Value must be no longer than ${max} character${max !== 1 ? \"s\" : \"\"}`\n }\n}\n\nexport const validateUniqueItems = (val, uniqueItems) => {\n if (!val) {\n return\n }\n if (uniqueItems === \"true\" || uniqueItems === true) {\n const list = fromJS(val)\n const set = list.toSet()\n const hasDuplicates = val.length > set.size\n if(hasDuplicates) {\n let errorsPerIndex = Set()\n list.forEach((item, i) => {\n if(list.filter(v => isFunc(v.equals) ? v.equals(item) : v === item).size > 1) {\n errorsPerIndex = errorsPerIndex.add(i)\n }\n })\n if(errorsPerIndex.size !== 0) {\n return errorsPerIndex.map(i => ({index: i, error: \"No duplicates allowed.\"})).toArray()\n }\n }\n }\n}\n\nexport const validateMinItems = (val, min) => {\n if (!val && min >= 1 || val && val.length < min) {\n return `Array must contain at least ${min} item${min === 1 ? \"\" : \"s\"}`\n }\n}\n\nexport const validateMaxItems = (val, max) => {\n if (val && val.length > max) {\n return `Array must not contain more then ${max} item${max === 1 ? \"\" : \"s\"}`\n }\n}\n\nexport const validateMinLength = (val, min) => {\n if (val.length < min) {\n return `Value must be at least ${min} character${min !== 1 ? \"s\" : \"\"}`\n }\n}\n\nexport const validatePattern = (val, rxPattern) => {\n var patt = new RegExp(rxPattern)\n if (!patt.test(val)) {\n return \"Value must follow pattern \" + rxPattern\n }\n}\n\nfunction validateValueBySchema(value, schema, requiredByParam, bypassRequiredCheck, parameterContentMediaType) {\n if(!schema) return []\n let errors = []\n let nullable = schema.get(\"nullable\")\n let requiredBySchema = schema.get(\"required\")\n let maximum = schema.get(\"maximum\")\n let minimum = schema.get(\"minimum\")\n let type = schema.get(\"type\")\n let format = schema.get(\"format\")\n let maxLength = schema.get(\"maxLength\")\n let minLength = schema.get(\"minLength\")\n let uniqueItems = schema.get(\"uniqueItems\")\n let maxItems = schema.get(\"maxItems\")\n let minItems = schema.get(\"minItems\")\n let pattern = schema.get(\"pattern\")\n\n const schemaRequiresValue = requiredByParam || requiredBySchema === true\n const hasValue = value !== undefined && value !== null\n const isValidEmpty = !schemaRequiresValue && !hasValue\n\n const needsExplicitConstraintValidation = hasValue && type === \"array\"\n\n const requiresFurtherValidation =\n schemaRequiresValue\n || needsExplicitConstraintValidation\n || !isValidEmpty\n\n const isValidNullable = nullable && value === null\n\n // will not be included in the request or [schema / value] does not [allow / require] further analysis.\n const noFurtherValidationNeeded =\n isValidNullable\n || !type\n || !requiresFurtherValidation\n\n if(noFurtherValidationNeeded) {\n return []\n }\n\n // Further this point the parameter is considered worth to validate\n let stringCheck = type === \"string\" && value\n let arrayCheck = type === \"array\" && Array.isArray(value) && value.length\n let arrayListCheck = type === \"array\" && Im.List.isList(value) && value.count()\n let arrayStringCheck = type === \"array\" && typeof value === \"string\" && value\n let fileCheck = type === \"file\" && value instanceof win.File\n let booleanCheck = type === \"boolean\" && (value || value === false)\n let numberCheck = type === \"number\" && (value || value === 0)\n let integerCheck = type === \"integer\" && (value || value === 0)\n let objectCheck = type === \"object\" && typeof value === \"object\" && value !== null\n let objectStringCheck = type === \"object\" && typeof value === \"string\" && value\n\n const allChecks = [\n stringCheck, arrayCheck, arrayListCheck, arrayStringCheck, fileCheck,\n booleanCheck, numberCheck, integerCheck, objectCheck, objectStringCheck,\n ]\n\n const passedAnyCheck = allChecks.some(v => !!v)\n\n if (schemaRequiresValue && !passedAnyCheck && !bypassRequiredCheck) {\n errors.push(\"Required field is not provided\")\n return errors\n }\n if (\n type === \"object\" &&\n (parameterContentMediaType === null ||\n parameterContentMediaType === \"application/json\")\n ) {\n let objectVal = value\n if(typeof value === \"string\") {\n try {\n objectVal = JSON.parse(value)\n } catch (e) {\n errors.push(\"Parameter string value must be valid JSON\")\n return errors\n }\n }\n if(schema && schema.has(\"required\") && isFunc(requiredBySchema.isList) && requiredBySchema.isList()) {\n requiredBySchema.forEach(key => {\n if(objectVal[key] === undefined) {\n errors.push({ propKey: key, error: \"Required property not found\" })\n }\n })\n }\n if(schema && schema.has(\"properties\")) {\n schema.get(\"properties\").forEach((val, key) => {\n const errs = validateValueBySchema(objectVal[key], val, false, bypassRequiredCheck, parameterContentMediaType)\n errors.push(...errs\n .map((error) => ({ propKey: key, error })))\n })\n }\n }\n\n if (pattern) {\n let err = validatePattern(value, pattern)\n if (err) errors.push(err)\n }\n\n if (minItems) {\n if (type === \"array\") {\n let err = validateMinItems(value, minItems)\n if (err) errors.push(err)\n }\n }\n\n if (maxItems) {\n if (type === \"array\") {\n let err = validateMaxItems(value, maxItems)\n if (err) errors.push({ needRemove: true, error: err })\n }\n }\n\n if (uniqueItems) {\n if (type === \"array\") {\n let errorPerItem = validateUniqueItems(value, uniqueItems)\n if (errorPerItem) errors.push(...errorPerItem)\n }\n }\n\n if (maxLength || maxLength === 0) {\n let err = validateMaxLength(value, maxLength)\n if (err) errors.push(err)\n }\n\n if (minLength) {\n let err = validateMinLength(value, minLength)\n if (err) errors.push(err)\n }\n\n if (maximum || maximum === 0) {\n let err = validateMaximum(value, maximum)\n if (err) errors.push(err)\n }\n\n if (minimum || minimum === 0) {\n let err = validateMinimum(value, minimum)\n if (err) errors.push(err)\n }\n\n if (type === \"string\") {\n let err\n if (format === \"date-time\") {\n err = validateDateTime(value)\n } else if (format === \"uuid\") {\n err = validateGuid(value)\n } else {\n err = validateString(value)\n }\n if (!err) return errors\n errors.push(err)\n } else if (type === \"boolean\") {\n let err = validateBoolean(value)\n if (!err) return errors\n errors.push(err)\n } else if (type === \"number\") {\n let err = validateNumber(value)\n if (!err) return errors\n errors.push(err)\n } else if (type === \"integer\") {\n let err = validateInteger(value)\n if (!err) return errors\n errors.push(err)\n } else if (type === \"array\") {\n if (!(arrayCheck || arrayListCheck)) {\n return errors\n }\n if(value) {\n value.forEach((item, i) => {\n const errs = validateValueBySchema(item, schema.get(\"items\"), false, bypassRequiredCheck, parameterContentMediaType)\n errors.push(...errs\n .map((err) => ({ index: i, error: err })))\n })\n }\n } else if (type === \"file\") {\n let err = validateFile(value)\n if (!err) return errors\n errors.push(err)\n }\n\n return errors\n}\n\n// validation of parameters before execute\nexport const validateParam = (param, value, { isOAS3 = false, bypassRequiredCheck = false } = {}) => {\n\n let paramRequired = param.get(\"required\")\n\n let { schema: paramDetails, parameterContentMediaType } = getParameterSchema(param, { isOAS3 })\n\n return validateValueBySchema(value, paramDetails, paramRequired, bypassRequiredCheck, parameterContentMediaType)\n}\n\nconst getXmlSampleSchema = (schema, config, exampleOverride) => {\n if (schema && !schema.xml) {\n schema.xml = {}\n }\n if (schema && !schema.xml.name) {\n if (!schema.$$ref && (schema.type || schema.items || schema.properties || schema.additionalProperties)) {\n return \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<!-- XML example cannot be generated; root element name is undefined -->\"\n }\n if (schema.$$ref) {\n let match = schema.$$ref.match(/\\S*\\/(\\S+)$/)\n schema.xml.name = match[1]\n }\n }\n\n return memoizedCreateXMLExample(schema, config, exampleOverride)\n}\n\nconst shouldStringifyTypesConfig = [\n {\n when: /json/,\n shouldStringifyTypes: [\"string\"]\n }\n]\n\nconst defaultStringifyTypes = [\"object\"]\n\nconst getStringifiedSampleForSchema = (schema, config, contentType, exampleOverride) => {\n const res = memoizedSampleFromSchema(schema, config, exampleOverride)\n const resType = typeof res\n\n const typesToStringify = shouldStringifyTypesConfig.reduce(\n (types, nextConfig) => nextConfig.when.test(contentType)\n ? [...types, ...nextConfig.shouldStringifyTypes]\n : types,\n defaultStringifyTypes)\n\n return some(typesToStringify, x => x === resType)\n ? JSON.stringify(res, null, 2)\n : res\n}\n\nconst getYamlSampleSchema = (schema, config, contentType, exampleOverride) => {\n const jsonExample = getStringifiedSampleForSchema(schema, config, contentType, exampleOverride)\n let yamlString\n try {\n yamlString = YAML.dump(YAML.load(jsonExample), {\n\n lineWidth: -1 // don't generate line folds\n }, { schema: JSON_SCHEMA })\n if(yamlString[yamlString.length - 1] === \"\\n\") {\n yamlString = yamlString.slice(0, yamlString.length - 1)\n }\n } catch (e) {\n console.error(e)\n return \"error: could not generate yaml example\"\n }\n return yamlString\n .replace(/\\t/g, \" \")\n}\n\nexport const getSampleSchema = (schema, contentType=\"\", config={}, exampleOverride = undefined) => {\n if(schema && isFunc(schema.toJS))\n schema = schema.toJS()\n if(exampleOverride && isFunc(exampleOverride.toJS))\n exampleOverride = exampleOverride.toJS()\n\n if (/xml/.test(contentType)) {\n return getXmlSampleSchema(schema, config, exampleOverride)\n }\n if (/(yaml|yml)/.test(contentType)) {\n return getYamlSampleSchema(schema, config, contentType, exampleOverride)\n }\n return getStringifiedSampleForSchema(schema, config, contentType, exampleOverride)\n}\n\nexport const parseSearch = () => {\n let map = {}\n let search = win.location.search\n\n if(!search)\n return {}\n\n if ( search != \"\" ) {\n let params = search.substr(1).split(\"&\")\n\n for (let i in params) {\n if (!Object.prototype.hasOwnProperty.call(params, i)) {\n continue\n }\n i = params[i].split(\"=\")\n map[decodeURIComponent(i[0])] = (i[1] && decodeURIComponent(i[1])) || \"\"\n }\n }\n\n return map\n}\n\nexport const serializeSearch = (searchMap) => {\n return Object.keys(searchMap).map(k => {\n return encodeURIComponent(k) + \"=\" + encodeURIComponent(searchMap[k])\n }).join(\"&\")\n}\n\nexport const btoa = (str) => {\n let buffer\n\n if (str instanceof Buffer) {\n buffer = str\n } else {\n buffer = Buffer.from(str.toString(), \"utf-8\")\n }\n\n return buffer.toString(\"base64\")\n}\n\nexport const sorters = {\n operationsSorter: {\n alpha: (a, b) => a.get(\"path\").localeCompare(b.get(\"path\")),\n method: (a, b) => a.get(\"method\").localeCompare(b.get(\"method\"))\n },\n tagsSorter: {\n alpha: (a, b) => a.localeCompare(b)\n }\n}\n\nexport const buildFormData = (data) => {\n let formArr = []\n\n for (let name in data) {\n let val = data[name]\n if (val !== undefined && val !== \"\") {\n formArr.push([name, \"=\", encodeURIComponent(val).replace(/%20/g,\"+\")].join(\"\"))\n }\n }\n return formArr.join(\"&\")\n}\n\n// Is this really required as a helper? Perhaps. TODO: expose the system of presets.apis in docs, so we know what is supported\nexport const shallowEqualKeys = (a,b, keys) => {\n return !!find(keys, (key) => {\n return eq(a[key], b[key])\n })\n}\n\nexport function sanitizeUrl(url) {\n if(typeof url !== \"string\" || url === \"\") {\n return \"\"\n }\n\n return braintreeSanitizeUrl(url)\n}\n\nexport function requiresValidationURL(uri) {\n if (!uri || uri.indexOf(\"localhost\") >= 0 || uri.indexOf(\"127.0.0.1\") >= 0 || uri === \"none\") {\n return false\n }\n return true\n}\n\n\nexport function getAcceptControllingResponse(responses) {\n if(!Im.OrderedMap.isOrderedMap(responses)) {\n // wrong type!\n return null\n }\n\n if(!responses.size) {\n // responses is empty\n return null\n }\n\n const suitable2xxResponse = responses.find((res, k) => {\n return k.startsWith(\"2\") && Object.keys(res.get(\"content\") || {}).length > 0\n })\n\n // try to find a suitable `default` responses\n const defaultResponse = responses.get(\"default\") || Im.OrderedMap()\n const defaultResponseMediaTypes = (defaultResponse.get(\"content\") || Im.OrderedMap()).keySeq().toJS()\n const suitableDefaultResponse = defaultResponseMediaTypes.length ? defaultResponse : null\n\n return suitable2xxResponse || suitableDefaultResponse\n}\n\n// suitable for use in URL fragments\nexport const createDeepLinkPath = (str) => typeof str == \"string\" || str instanceof String ? str.trim().replace(/\\s/g, \"%20\") : \"\"\n// suitable for use in CSS classes and ids\nexport const escapeDeepLinkPath = (str) => cssEscape( createDeepLinkPath(str).replace(/%20/g, \"_\") )\n\nexport const getExtensions = (defObj) => defObj.filter((v, k) => /^x-/.test(k))\nexport const getCommonExtensions = (defObj) => defObj.filter((v, k) => /^pattern|maxLength|minLength|maximum|minimum/.test(k))\n\n// Deeply strips a specific key from an object.\n//\n// `predicate` can be used to discriminate the stripping further,\n// by preserving the key's place in the object based on its value.\nexport function deeplyStripKey(input, keyToStrip, predicate = () => true) {\n if(typeof input !== \"object\" || Array.isArray(input) || input === null || !keyToStrip) {\n return input\n }\n\n const obj = Object.assign({}, input)\n\n Object.keys(obj).forEach(k => {\n if(k === keyToStrip && predicate(obj[k], k)) {\n delete obj[k]\n return\n }\n obj[k] = deeplyStripKey(obj[k], keyToStrip, predicate)\n })\n\n return obj\n}\n\nexport function stringify(thing) {\n if (typeof thing === \"string\") {\n return thing\n }\n\n if (thing && thing.toJS) {\n thing = thing.toJS()\n }\n\n if (typeof thing === \"object\" && thing !== null) {\n try {\n return JSON.stringify(thing, null, 2)\n }\n catch (e) {\n return String(thing)\n }\n }\n\n if(thing === null || thing === undefined) {\n return \"\"\n }\n\n return thing.toString()\n}\n\nexport function numberToString(thing) {\n if(typeof thing === \"number\") {\n return thing.toString()\n }\n\n return thing\n}\n\nexport function paramToIdentifier(param, { returnAll = false, allowHashes = true } = {}) {\n if(!Im.Map.isMap(param)) {\n throw new Error(\"paramToIdentifier: received a non-Im.Map parameter as input\")\n }\n const paramName = param.get(\"name\")\n const paramIn = param.get(\"in\")\n\n let generatedIdentifiers = []\n\n // Generate identifiers in order of most to least specificity\n\n if (param && param.hashCode && paramIn && paramName && allowHashes) {\n generatedIdentifiers.push(`${paramIn}.${paramName}.hash-${param.hashCode()}`)\n }\n\n if(paramIn && paramName) {\n generatedIdentifiers.push(`${paramIn}.${paramName}`)\n }\n\n generatedIdentifiers.push(paramName)\n\n // Return the most preferred identifier, or all if requested\n\n return returnAll ? generatedIdentifiers : (generatedIdentifiers[0] || \"\")\n}\n\nexport function paramToValue(param, paramValues) {\n const allIdentifiers = paramToIdentifier(param, { returnAll: true })\n\n // Map identifiers to values in the provided value hash, filter undefined values,\n // and return the first value found\n const values = allIdentifiers\n .map(id => {\n return paramValues[id]\n })\n .filter(value => value !== undefined)\n\n return values[0]\n}\n\n// adapted from https://auth0.com/docs/flows/guides/auth-code-pkce/includes/create-code-verifier\nexport function generateCodeVerifier() {\n return b64toB64UrlEncoded(\n randomBytes(32).toString(\"base64\")\n )\n}\n\nexport function createCodeChallenge(codeVerifier) {\n return b64toB64UrlEncoded(\n shaJs(\"sha256\")\n .update(codeVerifier)\n .digest(\"base64\")\n )\n}\n\nfunction b64toB64UrlEncoded(str) {\n return str\n .replace(/\\+/g, \"-\")\n .replace(/\\//g, \"_\")\n .replace(/=/g, \"\")\n}\n\nexport const isEmptyValue = (value) => {\n if (!value) {\n return true\n }\n\n if (isImmutable(value) && value.isEmpty()) {\n return true\n }\n\n return false\n}\n","export function canJsonParse(str) {\n try {\n let testValueForJson = JSON.parse(str)\n return testValueForJson ? true : false\n } catch (e) {\n // exception: string is not valid json\n return null\n }\n}\n\nexport function getKnownSyntaxHighlighterLanguage(val) {\n // to start, only check for json. can expand as needed in future\n const isValidJson = canJsonParse(val)\n return isValidJson ? \"json\" : null\n}\n","function makeWindow() {\n var win = {\n location: {},\n history: {},\n open: () => {},\n close: () => {},\n File: function() {}\n }\n\n if(typeof window === \"undefined\") {\n return win\n }\n\n try {\n win = window\n var props = [\"File\", \"Blob\", \"FormData\"]\n for (var prop of props) {\n if (prop in window) {\n win[prop] = window[prop]\n }\n }\n } catch( e ) {\n console.error(e)\n }\n\n return win\n}\n\nexport default makeWindow()\n","/**\n * @prettier\n */\n\nimport Im from \"immutable\"\n\nconst swagger2SchemaKeys = Im.Set.of(\n \"type\",\n \"format\",\n \"items\",\n \"default\",\n \"maximum\",\n \"exclusiveMaximum\",\n \"minimum\",\n \"exclusiveMinimum\",\n \"maxLength\",\n \"minLength\",\n \"pattern\",\n \"maxItems\",\n \"minItems\",\n \"uniqueItems\",\n \"enum\",\n \"multipleOf\"\n)\n\n/**\n * @typedef {Object} ParameterSchemaDescriptor\n * @property {Immutable.Map} schema - the parameter schema\n * @property {string|null} parameterContentMediaType - the effective media type, for `content`-based OpenAPI 3.0 Parameters, or `null` otherwise\n */\n\n/**\n * Get the effective schema value for a parameter, or an empty Immutable.Map if\n * no suitable schema can be found.\n *\n * Supports OpenAPI 3.0 `Parameter.content` priority -- since a Parameter Object\n * cannot have both `schema` and `content`, this function ignores `schema` when\n * `content` is present.\n *\n * @param {Immutable.Map} parameter The parameter to identify a schema for\n * @param {object} config\n * @param {boolean} config.isOAS3 Whether the parameter is from an OpenAPI 2.0\n * or OpenAPI 3.0 definition\n * @return {ParameterSchemaDescriptor} Information about the parameter schema\n */\nexport default function getParameterSchema(parameter, { isOAS3 } = {}) {\n // Return empty Map if `parameter` isn't a Map\n if (!Im.Map.isMap(parameter)) {\n return {\n schema: Im.Map(),\n parameterContentMediaType: null,\n }\n }\n\n if (!isOAS3) {\n // Swagger 2.0\n if (parameter.get(\"in\") === \"body\") {\n return {\n schema: parameter.get(\"schema\", Im.Map()),\n parameterContentMediaType: null,\n }\n } else {\n return {\n schema: parameter.filter((v, k) => swagger2SchemaKeys.includes(k)),\n parameterContentMediaType: null,\n }\n }\n }\n\n // If we've reached here, the parameter is OpenAPI 3.0\n\n if (parameter.get(\"content\")) {\n const parameterContentMediaTypes = parameter\n .get(\"content\", Im.Map({}))\n .keySeq()\n\n const parameterContentMediaType = parameterContentMediaTypes.first()\n\n return {\n schema: parameter.getIn(\n [\"content\", parameterContentMediaType, \"schema\"],\n Im.Map()\n ),\n parameterContentMediaType,\n }\n }\n\n return {\n schema: parameter.get(\"schema\") ? parameter.get(\"schema\", Im.Map()): Im.Map(),\n parameterContentMediaType: null,\n }\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_find_index_99e05360__[\"default\"] });","import memoize from \"lodash/memoize\"\n\n/**\n * This function is extension on top of lodash.memoize.\n * It uses all the arguments of the `fn` as the cache key instead of just the first one.\n * If resolver is provided, it determines the cache key for\n * storing the result based on the arguments provided to the memoized function.\n */\n\nconst shallowArrayEquals = (a) => (b) => {\n return Array.isArray(a) && Array.isArray(b)\n && a.length === b.length\n && a.every((val, index) => val === b[index])\n}\n\nconst list = (...args) => args\n\nclass Cache extends Map {\n delete(key) {\n const keys = Array.from(this.keys())\n const foundKey = keys.find(shallowArrayEquals(key))\n return super.delete(foundKey)\n }\n\n get(key) {\n const keys = Array.from(this.keys())\n const foundKey = keys.find(shallowArrayEquals(key))\n return super.get(foundKey)\n }\n\n has(key) {\n const keys = Array.from(this.keys())\n return keys.findIndex(shallowArrayEquals(key)) !== -1\n }\n}\n\nconst memoizeN = (fn, resolver = list) => {\n const { Cache: OriginalCache } = memoize\n memoize.Cache = Cache\n\n const memoized = memoize(fn, resolver)\n\n memoize.Cache = OriginalCache\n\n return memoized\n}\n\nexport default memoizeN\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nconst base64 = require('base64-js')\nconst ieee754 = require('ieee754')\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return '<Buffer ' + str + '>'\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n","require('../../modules/es.object.define-property');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nvar defineProperty = module.exports = function defineProperty(it, key, desc) {\n return Object.defineProperty(it, key, desc);\n};\n\nif (Object.defineProperty.sham) defineProperty.sham = true;\n","var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","var isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","module.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar isCallable = require('../internals/is-callable');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar isForced = require('../internals/is-forced');\nvar path = require('../internals/path');\nvar bind = require('../internals/function-bind-context');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\n\nvar wrapConstructor = function (NativeConstructor) {\n var Wrapper = function (a, b, c) {\n if (this instanceof Wrapper) {\n switch (arguments.length) {\n case 0: return new NativeConstructor();\n case 1: return new NativeConstructor(a);\n case 2: return new NativeConstructor(a, b);\n } return new NativeConstructor(a, b, c);\n } return apply(NativeConstructor, this, arguments);\n };\n Wrapper.prototype = NativeConstructor.prototype;\n return Wrapper;\n};\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var PROTO = options.proto;\n\n var nativeSource = GLOBAL ? global : STATIC ? global[TARGET] : (global[TARGET] || {}).prototype;\n\n var target = GLOBAL ? path : path[TARGET] || createNonEnumerableProperty(path, TARGET, {})[TARGET];\n var targetPrototype = target.prototype;\n\n var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE;\n var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor;\n\n for (key in source) {\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contains in native\n USE_NATIVE = !FORCED && nativeSource && hasOwn(nativeSource, key);\n\n targetProperty = target[key];\n\n if (USE_NATIVE) if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(nativeSource, key);\n nativeProperty = descriptor && descriptor.value;\n } else nativeProperty = nativeSource[key];\n\n // export native or implementation\n sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key];\n\n if (USE_NATIVE && typeof targetProperty == typeof sourceProperty) continue;\n\n // bind methods to global for calling from export context\n if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, global);\n // wrap global constructors for prevent changs in this version\n else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty);\n // make static versions for prototype methods\n else if (PROTO && isCallable(sourceProperty)) resultProperty = uncurryThis(sourceProperty);\n // default case\n else resultProperty = sourceProperty;\n\n // add a flag to not completely full polyfills\n if (options.sham || (sourceProperty && sourceProperty.sham) || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(resultProperty, 'sham', true);\n }\n\n createNonEnumerableProperty(target, key, resultProperty);\n\n if (PROTO) {\n VIRTUAL_PROTOTYPE = TARGET + 'Prototype';\n if (!hasOwn(path, VIRTUAL_PROTOTYPE)) {\n createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {});\n }\n // export virtual prototype methods\n createNonEnumerableProperty(path[VIRTUAL_PROTOTYPE], key, sourceProperty);\n // export real prototype methods\n if (options.real && targetPrototype && (FORCED || !targetPrototype[key])) {\n createNonEnumerableProperty(targetPrototype, key, sourceProperty);\n }\n }\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","var uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (variable) {\n return isCallable(variable) ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","var $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","var isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = true;\n","var getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","module.exports = {};\n","var isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.28.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.28.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","var call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\n// eslint-disable-next-line es/no-object-defineproperty -- safe\n$({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty, sham: !DESCRIPTORS }, {\n defineProperty: defineProperty\n});\n","var parent = require('../../es/object/define-property');\n\nmodule.exports = parent;\n","/*!\n * @description Recursive object extending\n * @author Viacheslav Lotsmanov <lotsmanov89@gmail.com>\n * @license MIT\n *\n * The MIT License (MIT)\n *\n * Copyright (c) 2013-2018 Viacheslav Lotsmanov\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n'use strict';\n\nfunction isSpecificValue(val) {\n\treturn (\n\t\tval instanceof Buffer\n\t\t|| val instanceof Date\n\t\t|| val instanceof RegExp\n\t) ? true : false;\n}\n\nfunction cloneSpecificValue(val) {\n\tif (val instanceof Buffer) {\n\t\tvar x = Buffer.alloc\n\t\t\t? Buffer.alloc(val.length)\n\t\t\t: new Buffer(val.length);\n\t\tval.copy(x);\n\t\treturn x;\n\t} else if (val instanceof Date) {\n\t\treturn new Date(val.getTime());\n\t} else if (val instanceof RegExp) {\n\t\treturn new RegExp(val);\n\t} else {\n\t\tthrow new Error('Unexpected situation');\n\t}\n}\n\n/**\n * Recursive cloning array.\n */\nfunction deepCloneArray(arr) {\n\tvar clone = [];\n\tarr.forEach(function (item, index) {\n\t\tif (typeof item === 'object' && item !== null) {\n\t\t\tif (Array.isArray(item)) {\n\t\t\t\tclone[index] = deepCloneArray(item);\n\t\t\t} else if (isSpecificValue(item)) {\n\t\t\t\tclone[index] = cloneSpecificValue(item);\n\t\t\t} else {\n\t\t\t\tclone[index] = deepExtend({}, item);\n\t\t\t}\n\t\t} else {\n\t\t\tclone[index] = item;\n\t\t}\n\t});\n\treturn clone;\n}\n\nfunction safeGetProperty(object, property) {\n\treturn property === '__proto__' ? undefined : object[property];\n}\n\n/**\n * Extening object that entered in first argument.\n *\n * Returns extended object or false if have no target object or incorrect type.\n *\n * If you wish to clone source object (without modify it), just use empty new\n * object as first argument, like this:\n * deepExtend({}, yourObj_1, [yourObj_N]);\n */\nvar deepExtend = module.exports = function (/*obj_1, [obj_2], [obj_N]*/) {\n\tif (arguments.length < 1 || typeof arguments[0] !== 'object') {\n\t\treturn false;\n\t}\n\n\tif (arguments.length < 2) {\n\t\treturn arguments[0];\n\t}\n\n\tvar target = arguments[0];\n\n\t// convert arguments to array and cut off target object\n\tvar args = Array.prototype.slice.call(arguments, 1);\n\n\tvar val, src, clone;\n\n\targs.forEach(function (obj) {\n\t\t// skip argument if isn't an object, is null, or is an array\n\t\tif (typeof obj !== 'object' || obj === null || Array.isArray(obj)) {\n\t\t\treturn;\n\t\t}\n\n\t\tObject.keys(obj).forEach(function (key) {\n\t\t\tsrc = safeGetProperty(target, key); // source value\n\t\t\tval = safeGetProperty(obj, key); // new value\n\n\t\t\t// recursion prevention\n\t\t\tif (val === target) {\n\t\t\t\treturn;\n\n\t\t\t/**\n\t\t\t * if new value isn't object then just overwrite by new value\n\t\t\t * instead of extending.\n\t\t\t */\n\t\t\t} else if (typeof val !== 'object' || val === null) {\n\t\t\t\ttarget[key] = val;\n\t\t\t\treturn;\n\n\t\t\t// just clone arrays (and recursive clone objects inside)\n\t\t\t} else if (Array.isArray(val)) {\n\t\t\t\ttarget[key] = deepCloneArray(val);\n\t\t\t\treturn;\n\n\t\t\t// custom cloning and overwrite for specific objects\n\t\t\t} else if (isSpecificValue(val)) {\n\t\t\t\ttarget[key] = cloneSpecificValue(val);\n\t\t\t\treturn;\n\n\t\t\t// overwrite by new value if source isn't object or array\n\t\t\t} else if (typeof src !== 'object' || src === null || Array.isArray(src)) {\n\t\t\t\ttarget[key] = deepExtend({}, val);\n\t\t\t\treturn;\n\n\t\t\t// source value and new value is objects both, extending...\n\t\t\t} else {\n\t\t\t\ttarget[key] = deepExtend(src, val);\n\t\t\t\treturn;\n\t\t\t}\n\t\t});\n\t});\n\n\treturn target;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","'use strict'\n\n// limit of Crypto.getRandomValues()\n// https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues\nvar MAX_BYTES = 65536\n\n// Node supports requesting up to this number of bytes\n// https://github.com/nodejs/node/blob/master/lib/internal/crypto/random.js#L48\nvar MAX_UINT32 = 4294967295\n\nfunction oldBrowser () {\n throw new Error('Secure random number generation is not supported by this browser.\\nUse Chrome, Firefox or Internet Explorer 11')\n}\n\nvar Buffer = require('safe-buffer').Buffer\nvar crypto = global.crypto || global.msCrypto\n\nif (crypto && crypto.getRandomValues) {\n module.exports = randomBytes\n} else {\n module.exports = oldBrowser\n}\n\nfunction randomBytes (size, cb) {\n // phantomjs needs to throw\n if (size > MAX_UINT32) throw new RangeError('requested too many random bytes')\n\n var bytes = Buffer.allocUnsafe(size)\n\n if (size > 0) { // getRandomValues fails on IE if size == 0\n if (size > MAX_BYTES) { // this is the max bytes crypto.getRandomValues\n // can do at once see https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues\n for (var generated = 0; generated < size; generated += MAX_BYTES) {\n // buffer.slice automatically checks if the end is past the end of\n // the buffer so we don't have to here\n crypto.getRandomValues(bytes.slice(generated, generated + MAX_BYTES))\n }\n } else {\n crypto.getRandomValues(bytes)\n }\n }\n\n if (typeof cb === 'function') {\n return process.nextTick(function () {\n cb(null, bytes)\n })\n }\n\n return bytes\n}\n","'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar codes = {};\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inheritsLoose(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n\n return NodeError;\n }(Base);\n\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n }\n\n msg += \". Received type \".concat(typeof actual);\n return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n return 'The ' + name + ' method is not implemented';\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n return 'Unknown encoding: ' + arg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\nmodule.exports.codes = codes;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n'use strict';\n\n/*<replacement>*/\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n};\n/*</replacement>*/\n\nmodule.exports = Duplex;\nconst Readable = require('./_stream_readable');\nconst Writable = require('./_stream_writable');\nrequire('inherits')(Duplex, Readable);\n{\n // Allow the keys array to be GC'ed.\n const keys = objectKeys(Writable.prototype);\n for (var v = 0; v < keys.length; v++) {\n const method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once('end', onend);\n }\n }\n}\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get() {\n return this._writableState.length;\n }\n});\n\n// the no-half-open enforcer\nfunction onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n process.nextTick(onEndNT, this);\n}\nfunction onEndNT(self) {\n self.end();\n}\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n'use strict';\n\nmodule.exports = PassThrough;\nconst Transform = require('./_stream_transform');\nrequire('inherits')(PassThrough, Transform);\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n Transform.call(this, options);\n}\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nmodule.exports = Readable;\n\n/*<replacement>*/\nvar Duplex;\n/*</replacement>*/\n\nReadable.ReadableState = ReadableState;\n\n/*<replacement>*/\nconst EE = require('events').EventEmitter;\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/*</replacement>*/\n\n/*<replacement>*/\nvar Stream = require('./internal/streams/stream');\n/*</replacement>*/\n\nconst Buffer = require('buffer').Buffer;\nconst OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/*<replacement>*/\nconst debugUtil = require('util');\nlet debug;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/*</replacement>*/\n\nconst BufferList = require('./internal/streams/buffer_list');\nconst destroyImpl = require('./internal/streams/destroy');\nconst _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\nconst _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;\n\n// Lazy loaded to improve the startup performance.\nlet StringDecoder;\nlet createReadableStreamAsyncIterator;\nlet from;\nrequire('inherits')(Readable, Stream);\nconst errorOrDestroy = destroyImpl.errorOrDestroy;\nconst kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\nfunction ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex);\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true;\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = options.emitClose !== false;\n\n // Should .destroy() be called after 'end' (and potentially 'finish')\n this.autoDestroy = !!options.autoDestroy;\n\n // has it been destroyed\n this.destroyed = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n if (!(this instanceof Readable)) return new Readable(options);\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n const isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex);\n\n // legacy\n this.readable = true;\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n Stream.call(this);\n}\nObject.defineProperty(Readable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get() {\n if (this._readableState === undefined) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug('readableAddChunk', chunk);\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n }\n\n // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit('data', chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n if (state.needReadable) emitReadable(stream);\n }\n maybeReadMore(stream, state);\n}\nfunction chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n }\n return er;\n}\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n const decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder;\n // If setEncoding(null), decoder.encoding equals utf8\n this._readableState.encoding = this._readableState.decoder.encoding;\n\n // Iterate over current buffer to convert already stored Buffers:\n let p = this._readableState.buffer.head;\n let content = '';\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n this._readableState.buffer.clear();\n if (content !== '') this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n};\n\n// Don't raise the hwm > 1GB\nconst MAX_HWM = 0x40000000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this);\n }\n if (ret !== null) this.emit('data', ret);\n return ret;\n};\nfunction onEofChunk(stream, state) {\n debug('onEofChunk');\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n if (state.sync) {\n // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n emitReadable(stream);\n } else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n debug('emitReadable', state.needReadable, state.emittedReadable);\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n}\nfunction emitReadable_(stream) {\n var state = stream._readableState;\n debug('emitReadable_', state.destroyed, state.length, state.ended);\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit('readable');\n state.emittedReadable = false;\n }\n\n // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n const len = state.length;\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n dest.on('unpipe', onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n var ret = dest.write(chunk);\n debug('dest.write', ret);\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n return dest;\n};\nfunction pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n };\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n for (var i = 0; i < len; i++) dests[i].emit('unpipe', this, {\n hasUnpiped: false\n });\n return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n const res = Stream.prototype.on.call(this, ev, fn);\n const state = this._readableState;\n if (ev === 'data') {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0;\n\n // Try start flowing on next tick if stream isn't explicitly paused\n if (state.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug('on readable', state.length, state.reading);\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\nReadable.prototype.removeListener = function (ev, fn) {\n const res = Stream.prototype.removeListener.call(this, ev, fn);\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n return res;\n};\nReadable.prototype.removeAllListeners = function (ev) {\n const res = Stream.prototype.removeAllListeners.apply(this, arguments);\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n return res;\n};\nfunction updateReadableListening(self) {\n const state = self._readableState;\n state.readableListening = self.listenerCount('readable') > 0;\n if (state.resumeScheduled && !state.paused) {\n // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true;\n\n // crude way to check if we should resume\n } else if (self.listenerCount('data') > 0) {\n self.resume();\n }\n}\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n state.paused = false;\n return this;\n};\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\nfunction resume_(stream, state) {\n debug('resume', state.reading);\n if (!state.reading) {\n stream.read(0);\n }\n state.resumeScheduled = false;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (this._readableState.flowing !== false) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n this._readableState.paused = true;\n return this;\n};\nfunction flow(stream) {\n const state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null);\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n var state = this._readableState;\n var paused = false;\n stream.on('end', () => {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) this.push(chunk);\n }\n this.push(null);\n });\n stream.on('data', chunk => {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n var ret = this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n this._read = n => {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n return this;\n};\nif (typeof Symbol === 'function') {\n Readable.prototype[Symbol.asyncIterator] = function () {\n if (createReadableStreamAsyncIterator === undefined) {\n createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');\n }\n return createReadableStreamAsyncIterator(this);\n };\n}\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n});\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get() {\n return this._readableState.length;\n }\n});\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n}\nfunction endReadable(stream) {\n var state = stream._readableState;\n debug('endReadable', state.endEmitted);\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length);\n\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n const wState = stream._writableState;\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n}\nif (typeof Symbol === 'function') {\n Readable.from = function (iterable, opts) {\n if (from === undefined) {\n from = require('./internal/streams/from');\n }\n return from(Readable, iterable, opts);\n };\n}\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n'use strict';\n\nmodule.exports = Transform;\nconst _require$codes = require('../errors').codes,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\nconst Duplex = require('./_stream_duplex');\nrequire('inherits')(Transform, Duplex);\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n if (cb === null) {\n return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n }\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null)\n // single equals check for both `null` and `undefined`\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n if (typeof options.flush === 'function') this._flush = options.flush;\n }\n\n // When the writable side finishes, then flush out anything remaining.\n this.on('prefinish', prefinish);\n}\nfunction prefinish() {\n if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n this._flush((er, data) => {\n done(this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\nTransform.prototype._destroy = function (err, cb) {\n Duplex.prototype._destroy.call(this, err, err2 => {\n cb(err2);\n });\n};\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n if (data != null)\n // single equals check for both `null` and `undefined`\n stream.push(data);\n\n // TODO(BridgeAR): Write a test for these two error cases\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n'use strict';\n\nmodule.exports = Writable;\n\n/* <replacement> */\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n}\n\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction CorkedRequest(state) {\n this.next = null;\n this.entry = null;\n this.finish = () => {\n onCorkedFinish(this, state);\n };\n}\n/* </replacement> */\n\n/*<replacement>*/\nvar Duplex;\n/*</replacement>*/\n\nWritable.WritableState = WritableState;\n\n/*<replacement>*/\nconst internalUtil = {\n deprecate: require('util-deprecate')\n};\n/*</replacement>*/\n\n/*<replacement>*/\nvar Stream = require('./internal/streams/stream');\n/*</replacement>*/\n\nconst Buffer = require('buffer').Buffer;\nconst OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\nconst destroyImpl = require('./internal/streams/destroy');\nconst _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\nconst _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\nconst errorOrDestroy = destroyImpl.errorOrDestroy;\nrequire('inherits')(Writable, Stream);\nfunction nop() {}\nfunction WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;\n\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n\n // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex);\n\n // if _final has been called\n this.finalCalled = false;\n\n // drain event flag.\n this.needDrain = false;\n // at the start of calling end()\n this.ending = false;\n // when end() has been called, and returned\n this.ended = false;\n // when 'finish' is emitted\n this.finished = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0;\n\n // a flag to see when we're in the middle of a write.\n this.writing = false;\n\n // when true all writes will be buffered until .uncork() call\n this.corked = 0;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false;\n\n // the callback that's passed to _write(chunk,cb)\n this.onwrite = function (er) {\n onwrite(stream, er);\n };\n\n // the callback that the user supplies to write(chunk,encoding,cb)\n this.writecb = null;\n\n // the amount that is being written when _write is called.\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n\n // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n this.pendingcb = 0;\n\n // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n this.prefinished = false;\n\n // True if the error was already emitted and should not be thrown again\n this.errorEmitted = false;\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = options.emitClose !== false;\n\n // Should .destroy() be called after 'finish' (and potentially 'end')\n this.autoDestroy = !!options.autoDestroy;\n\n // count buffered requests\n this.bufferedRequestCount = 0;\n\n // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n this.corkedRequestsFree = new CorkedRequest(this);\n}\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n};\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})();\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function realHasInstance(object) {\n return object instanceof this;\n };\n}\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5\n const isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex);\n\n // legacy.\n this.writable = true;\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n if (typeof options.writev === 'function') this._writev = options.writev;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n if (typeof options.final === 'function') this._final = options.final;\n }\n Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\nfunction writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END();\n // TODO: defer error events consistently everywhere, not just the cb\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n}\n\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction validChunk(stream, state, chunk, cb) {\n var er;\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== 'string' && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n }\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n return true;\n}\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n if (typeof cb !== 'function') cb = nop;\n if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n};\nWritable.prototype.cork = function () {\n this._writableState.corked++;\n};\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n return chunk;\n}\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark;\n // we must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true;\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk,\n encoding,\n isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n return ret;\n}\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n process.nextTick(cb, er);\n // this can emit finish, and it will always happen\n // after error\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n // this can emit finish, but finish must\n // always follow error\n finishMaybe(stream, state);\n }\n}\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state) || stream.destroyed;\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) {\n break;\n }\n }\n if (entry === null) state.lastBufferedRequest = null;\n }\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\nWritable.prototype._writev = null;\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\n // .end() fully uncorks\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n\n // ignore unnecessary end() calls.\n if (!state.ending) endWritable(this, state, cb);\n return this;\n};\nObject.defineProperty(Writable.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get() {\n return this._writableState.length;\n }\n});\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\nfunction callFinal(stream, state) {\n stream._final(err => {\n state.pendingcb--;\n if (err) {\n errorOrDestroy(stream, err);\n }\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well\n const rState = stream._readableState;\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n return need;\n}\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n }\n state.ended = true;\n stream.writable = false;\n}\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n\n // reuse the free corkReq.\n state.corkedRequestsFree.next = corkReq;\n}\nObject.defineProperty(Writable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get() {\n if (this._writableState === undefined) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._writableState.destroyed = value;\n }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\nWritable.prototype._destroy = function (err, cb) {\n cb(err);\n};","'use strict';\n\nconst finished = require('./end-of-stream');\nconst kLastResolve = Symbol('lastResolve');\nconst kLastReject = Symbol('lastReject');\nconst kError = Symbol('error');\nconst kEnded = Symbol('ended');\nconst kLastPromise = Symbol('lastPromise');\nconst kHandlePromise = Symbol('handlePromise');\nconst kStream = Symbol('stream');\nfunction createIterResult(value, done) {\n return {\n value,\n done\n };\n}\nfunction readAndResolve(iter) {\n const resolve = iter[kLastResolve];\n if (resolve !== null) {\n const data = iter[kStream].read();\n // we defer if data is null\n // we can be expecting either 'end' or\n // 'error'\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n}\nfunction onReadable(iter) {\n // we wait for the next tick, because it might\n // emit an error with process.nextTick\n process.nextTick(readAndResolve, iter);\n}\nfunction wrapForNext(lastPromise, iter) {\n return (resolve, reject) => {\n lastPromise.then(() => {\n if (iter[kEnded]) {\n resolve(createIterResult(undefined, true));\n return;\n }\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n}\nconst AsyncIteratorPrototype = Object.getPrototypeOf(function () {});\nconst ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf({\n get stream() {\n return this[kStream];\n },\n next() {\n // if we have detected an error in the meanwhile\n // reject straight away\n const error = this[kError];\n if (error !== null) {\n return Promise.reject(error);\n }\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(undefined, true));\n }\n if (this[kStream].destroyed) {\n // We need to defer via nextTick because if .destroy(err) is\n // called, the error will be emitted via nextTick, and\n // we cannot guarantee that there is no error lingering around\n // waiting to be emitted.\n return new Promise((resolve, reject) => {\n process.nextTick(() => {\n if (this[kError]) {\n reject(this[kError]);\n } else {\n resolve(createIterResult(undefined, true));\n }\n });\n });\n }\n\n // if we have multiple next() calls\n // we will wait for the previous Promise to finish\n // this logic is optimized to support for await loops,\n // where next() is only called once at a time\n const lastPromise = this[kLastPromise];\n let promise;\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n // fast path needed to support multiple this.push()\n // without triggering the next() queue\n const data = this[kStream].read();\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n promise = new Promise(this[kHandlePromise]);\n }\n this[kLastPromise] = promise;\n return promise;\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n return() {\n // destroy(err, cb) is a private API\n // we can guarantee we have that here, because we control the\n // Readable class this is attached to\n return new Promise((resolve, reject) => {\n this[kStream].destroy(null, err => {\n if (err) {\n reject(err);\n return;\n }\n resolve(createIterResult(undefined, true));\n });\n });\n }\n}, AsyncIteratorPrototype);\nconst createReadableStreamAsyncIterator = stream => {\n const iterator = Object.create(ReadableStreamAsyncIteratorPrototype, {\n [kStream]: {\n value: stream,\n writable: true\n },\n [kLastResolve]: {\n value: null,\n writable: true\n },\n [kLastReject]: {\n value: null,\n writable: true\n },\n [kError]: {\n value: null,\n writable: true\n },\n [kEnded]: {\n value: stream._readableState.endEmitted,\n writable: true\n },\n // the function passed to new Promise\n // is cached so we avoid allocating a new\n // closure at every run\n [kHandlePromise]: {\n value: (resolve, reject) => {\n const data = iterator[kStream].read();\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }\n });\n iterator[kLastPromise] = null;\n finished(stream, err => {\n if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n const reject = iterator[kLastReject];\n // reject if we are waiting for data in the Promise\n // returned by next() and store the error\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n iterator[kError] = err;\n return;\n }\n const resolve = iterator[kLastResolve];\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(undefined, true));\n }\n iterator[kEnded] = true;\n });\n stream.on('readable', onReadable.bind(null, iterator));\n return iterator;\n};\nmodule.exports = createReadableStreamAsyncIterator;","'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nconst _require = require('buffer'),\n Buffer = _require.Buffer;\nconst _require2 = require('util'),\n inspect = _require2.inspect;\nconst custom = inspect && inspect.custom || 'inspect';\nfunction copyBuffer(src, target, offset) {\n Buffer.prototype.copy.call(src, target, offset);\n}\nmodule.exports = class BufferList {\n constructor() {\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n push(v) {\n const entry = {\n data: v,\n next: null\n };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n unshift(v) {\n const entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n shift() {\n if (this.length === 0) return;\n const ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n }\n clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n while (p = p.next) ret += s + p.data;\n return ret;\n }\n concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n const ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n }\n\n // Consumes a specified amount of bytes or characters from the buffered data.\n consume(n, hasStrings) {\n var ret;\n if (n < this.head.data.length) {\n // `slice` is the same for buffers and strings.\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n // First chunk is a perfect match.\n ret = this.shift();\n } else {\n // Result spans more than one buffer.\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n return ret;\n }\n first() {\n return this.head.data;\n }\n\n // Consumes a specified amount of characters from the buffered data.\n _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n const str = p.data;\n const nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Consumes a specified amount of bytes from the buffered data.\n _getBuffer(n) {\n const ret = Buffer.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n const buf = p.data;\n const nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Make sure the linked list only shows the minimal necessary information.\n [custom](_, options) {\n return inspect(this, _objectSpread(_objectSpread({}, options), {}, {\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n }));\n }\n};","'use strict';\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n const readableDestroyed = this._readableState && this._readableState.destroyed;\n const writableDestroyed = this._writableState && this._writableState.destroyed;\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n return this;\n }\n\n // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n\n // if this is a duplex stream mark the writable part as destroyed as well\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n this._destroy(err || null, err => {\n if (!cb && err) {\n if (!this._writableState) {\n process.nextTick(emitErrorAndCloseNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, this, err);\n } else {\n process.nextTick(emitCloseNT, this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, this);\n }\n });\n return this;\n}\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n\n const rState = stream._readableState;\n const wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\nmodule.exports = {\n destroy,\n undestroy,\n errorOrDestroy\n};","// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n\n'use strict';\n\nconst ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;\nfunction once(callback) {\n let called = false;\n return function () {\n if (called) return;\n called = true;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n callback.apply(this, args);\n };\n}\nfunction noop() {}\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n let readable = opts.readable || opts.readable !== false && stream.readable;\n let writable = opts.writable || opts.writable !== false && stream.writable;\n const onlegacyfinish = () => {\n if (!stream.writable) onfinish();\n };\n var writableEnded = stream._writableState && stream._writableState.finished;\n const onfinish = () => {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n const onend = () => {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n const onerror = err => {\n callback.call(stream, err);\n };\n const onclose = () => {\n let err;\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n const onrequest = () => {\n stream.req.on('finish', onfinish);\n };\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\nmodule.exports = eos;","module.exports = function () {\n throw new Error('Readable.from is not available in the browser')\n};\n","// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n\n'use strict';\n\nlet eos;\nfunction once(callback) {\n let called = false;\n return function () {\n if (called) return;\n called = true;\n callback(...arguments);\n };\n}\nconst _require$codes = require('../../../errors').codes,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\nfunction noop(err) {\n // Rethrow the error if it exists to avoid swallowing it\n if (err) throw err;\n}\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\nfunction destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n let closed = false;\n stream.on('close', () => {\n closed = true;\n });\n if (eos === undefined) eos = require('./end-of-stream');\n eos(stream, {\n readable: reading,\n writable: writing\n }, err => {\n if (err) return callback(err);\n closed = true;\n callback();\n });\n let destroyed = false;\n return err => {\n if (closed) return;\n if (destroyed) return;\n destroyed = true;\n\n // request.destroy just do .end - .abort is what we want\n if (isRequest(stream)) return stream.abort();\n if (typeof stream.destroy === 'function') return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED('pipe'));\n };\n}\nfunction call(fn) {\n fn();\n}\nfunction pipe(from, to) {\n return from.pipe(to);\n}\nfunction popCallback(streams) {\n if (!streams.length) return noop;\n if (typeof streams[streams.length - 1] !== 'function') return noop;\n return streams.pop();\n}\nfunction pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n const callback = popCallback(streams);\n if (Array.isArray(streams[0])) streams = streams[0];\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS('streams');\n }\n let error;\n const destroys = streams.map(function (stream, i) {\n const reading = i < streams.length - 1;\n const writing = i > 0;\n return destroyer(stream, reading, writing, function (err) {\n if (!error) error = err;\n if (err) destroys.forEach(call);\n if (reading) return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n}\nmodule.exports = pipeline;","'use strict';\n\nconst ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE;\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n const hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n const name = isDuplex ? duplexKey : 'highWaterMark';\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n return Math.floor(hwm);\n }\n\n // Default value\n return state.objectMode ? 16 : 16 * 1024;\n}\nmodule.exports = {\n getHighWaterMark\n};","module.exports = require('events').EventEmitter;\n","/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","var Buffer = require('safe-buffer').Buffer\n\n// prototype class for hash functions\nfunction Hash (blockSize, finalSize) {\n this._block = Buffer.alloc(blockSize)\n this._finalSize = finalSize\n this._blockSize = blockSize\n this._len = 0\n}\n\nHash.prototype.update = function (data, enc) {\n if (typeof data === 'string') {\n enc = enc || 'utf8'\n data = Buffer.from(data, enc)\n }\n\n var block = this._block\n var blockSize = this._blockSize\n var length = data.length\n var accum = this._len\n\n for (var offset = 0; offset < length;) {\n var assigned = accum % blockSize\n var remainder = Math.min(length - offset, blockSize - assigned)\n\n for (var i = 0; i < remainder; i++) {\n block[assigned + i] = data[offset + i]\n }\n\n accum += remainder\n offset += remainder\n\n if ((accum % blockSize) === 0) {\n this._update(block)\n }\n }\n\n this._len += length\n return this\n}\n\nHash.prototype.digest = function (enc) {\n var rem = this._len % this._blockSize\n\n this._block[rem] = 0x80\n\n // zero (rem + 1) trailing bits, where (rem + 1) is the smallest\n // non-negative solution to the equation (length + 1 + (rem + 1)) === finalSize mod blockSize\n this._block.fill(0, rem + 1)\n\n if (rem >= this._finalSize) {\n this._update(this._block)\n this._block.fill(0)\n }\n\n var bits = this._len * 8\n\n // uint32\n if (bits <= 0xffffffff) {\n this._block.writeUInt32BE(bits, this._blockSize - 4)\n\n // uint64\n } else {\n var lowBits = (bits & 0xffffffff) >>> 0\n var highBits = (bits - lowBits) / 0x100000000\n\n this._block.writeUInt32BE(highBits, this._blockSize - 8)\n this._block.writeUInt32BE(lowBits, this._blockSize - 4)\n }\n\n this._update(this._block)\n var hash = this._hash()\n\n return enc ? hash.toString(enc) : hash\n}\n\nHash.prototype._update = function () {\n throw new Error('_update must be implemented by subclass')\n}\n\nmodule.exports = Hash\n","var exports = module.exports = function SHA (algorithm) {\n algorithm = algorithm.toLowerCase()\n\n var Algorithm = exports[algorithm]\n if (!Algorithm) throw new Error(algorithm + ' is not supported (we accept pull requests)')\n\n return new Algorithm()\n}\n\nexports.sha = require('./sha')\nexports.sha1 = require('./sha1')\nexports.sha224 = require('./sha224')\nexports.sha256 = require('./sha256')\nexports.sha384 = require('./sha384')\nexports.sha512 = require('./sha512')\n","/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined\n * in FIPS PUB 180-1\n * This source code is derived from sha1.js of the same repository.\n * The difference between SHA-0 and SHA-1 is just a bitwise rotate left\n * operation was added.\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha, Hash)\n\nSha.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n}\n\nSha.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha\n","/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined\n * in FIPS PUB 180-1\n * Version 2.1a Copyright Paul Johnston 2000 - 2002.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for details.\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha1 () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha1, Hash)\n\nSha1.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl1 (num) {\n return (num << 1) | (num >>> 31)\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha1.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = rotl1(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16])\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n}\n\nSha1.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha1\n","/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = require('inherits')\nvar Sha256 = require('./sha256')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar W = new Array(64)\n\nfunction Sha224 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha224, Sha256)\n\nSha224.prototype.init = function () {\n this._a = 0xc1059ed8\n this._b = 0x367cd507\n this._c = 0x3070dd17\n this._d = 0xf70e5939\n this._e = 0xffc00b31\n this._f = 0x68581511\n this._g = 0x64f98fa7\n this._h = 0xbefa4fa4\n\n return this\n}\n\nSha224.prototype._hash = function () {\n var H = Buffer.allocUnsafe(28)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n\n return H\n}\n\nmodule.exports = Sha224\n","/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5,\n 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,\n 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,\n 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,\n 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC,\n 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,\n 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7,\n 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,\n 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,\n 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,\n 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3,\n 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,\n 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5,\n 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,\n 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,\n 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2\n]\n\nvar W = new Array(64)\n\nfunction Sha256 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha256, Hash)\n\nSha256.prototype.init = function () {\n this._a = 0x6a09e667\n this._b = 0xbb67ae85\n this._c = 0x3c6ef372\n this._d = 0xa54ff53a\n this._e = 0x510e527f\n this._f = 0x9b05688c\n this._g = 0x1f83d9ab\n this._h = 0x5be0cd19\n\n return this\n}\n\nfunction ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x) {\n return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10)\n}\n\nfunction sigma1 (x) {\n return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7)\n}\n\nfunction gamma0 (x) {\n return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ (x >>> 3)\n}\n\nfunction gamma1 (x) {\n return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ (x >>> 10)\n}\n\nSha256.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n var f = this._f | 0\n var g = this._g | 0\n var h = this._h | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 64; ++i) W[i] = (gamma1(W[i - 2]) + W[i - 7] + gamma0(W[i - 15]) + W[i - 16]) | 0\n\n for (var j = 0; j < 64; ++j) {\n var T1 = (h + sigma1(e) + ch(e, f, g) + K[j] + W[j]) | 0\n var T2 = (sigma0(a) + maj(a, b, c)) | 0\n\n h = g\n g = f\n f = e\n e = (d + T1) | 0\n d = c\n c = b\n b = a\n a = (T1 + T2) | 0\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n this._f = (f + this._f) | 0\n this._g = (g + this._g) | 0\n this._h = (h + this._h) | 0\n}\n\nSha256.prototype._hash = function () {\n var H = Buffer.allocUnsafe(32)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n H.writeInt32BE(this._h, 28)\n\n return H\n}\n\nmodule.exports = Sha256\n","var inherits = require('inherits')\nvar SHA512 = require('./sha512')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar W = new Array(160)\n\nfunction Sha384 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha384, SHA512)\n\nSha384.prototype.init = function () {\n this._ah = 0xcbbb9d5d\n this._bh = 0x629a292a\n this._ch = 0x9159015a\n this._dh = 0x152fecd8\n this._eh = 0x67332667\n this._fh = 0x8eb44a87\n this._gh = 0xdb0c2e0d\n this._hh = 0x47b5481d\n\n this._al = 0xc1059ed8\n this._bl = 0x367cd507\n this._cl = 0x3070dd17\n this._dl = 0xf70e5939\n this._el = 0xffc00b31\n this._fl = 0x68581511\n this._gl = 0x64f98fa7\n this._hl = 0xbefa4fa4\n\n return this\n}\n\nSha384.prototype._hash = function () {\n var H = Buffer.allocUnsafe(48)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n\n return H\n}\n\nmodule.exports = Sha384\n","var inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n]\n\nvar W = new Array(160)\n\nfunction Sha512 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha512, Hash)\n\nSha512.prototype.init = function () {\n this._ah = 0x6a09e667\n this._bh = 0xbb67ae85\n this._ch = 0x3c6ef372\n this._dh = 0xa54ff53a\n this._eh = 0x510e527f\n this._fh = 0x9b05688c\n this._gh = 0x1f83d9ab\n this._hh = 0x5be0cd19\n\n this._al = 0xf3bcc908\n this._bl = 0x84caa73b\n this._cl = 0xfe94f82b\n this._dl = 0x5f1d36f1\n this._el = 0xade682d1\n this._fl = 0x2b3e6c1f\n this._gl = 0xfb41bd6b\n this._hl = 0x137e2179\n\n return this\n}\n\nfunction Ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x, xl) {\n return (x >>> 28 | xl << 4) ^ (xl >>> 2 | x << 30) ^ (xl >>> 7 | x << 25)\n}\n\nfunction sigma1 (x, xl) {\n return (x >>> 14 | xl << 18) ^ (x >>> 18 | xl << 14) ^ (xl >>> 9 | x << 23)\n}\n\nfunction Gamma0 (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7)\n}\n\nfunction Gamma0l (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7 | xl << 25)\n}\n\nfunction Gamma1 (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6)\n}\n\nfunction Gamma1l (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6 | xl << 26)\n}\n\nfunction getCarry (a, b) {\n return (a >>> 0) < (b >>> 0) ? 1 : 0\n}\n\nSha512.prototype._update = function (M) {\n var W = this._w\n\n var ah = this._ah | 0\n var bh = this._bh | 0\n var ch = this._ch | 0\n var dh = this._dh | 0\n var eh = this._eh | 0\n var fh = this._fh | 0\n var gh = this._gh | 0\n var hh = this._hh | 0\n\n var al = this._al | 0\n var bl = this._bl | 0\n var cl = this._cl | 0\n var dl = this._dl | 0\n var el = this._el | 0\n var fl = this._fl | 0\n var gl = this._gl | 0\n var hl = this._hl | 0\n\n for (var i = 0; i < 32; i += 2) {\n W[i] = M.readInt32BE(i * 4)\n W[i + 1] = M.readInt32BE(i * 4 + 4)\n }\n for (; i < 160; i += 2) {\n var xh = W[i - 15 * 2]\n var xl = W[i - 15 * 2 + 1]\n var gamma0 = Gamma0(xh, xl)\n var gamma0l = Gamma0l(xl, xh)\n\n xh = W[i - 2 * 2]\n xl = W[i - 2 * 2 + 1]\n var gamma1 = Gamma1(xh, xl)\n var gamma1l = Gamma1l(xl, xh)\n\n // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]\n var Wi7h = W[i - 7 * 2]\n var Wi7l = W[i - 7 * 2 + 1]\n\n var Wi16h = W[i - 16 * 2]\n var Wi16l = W[i - 16 * 2 + 1]\n\n var Wil = (gamma0l + Wi7l) | 0\n var Wih = (gamma0 + Wi7h + getCarry(Wil, gamma0l)) | 0\n Wil = (Wil + gamma1l) | 0\n Wih = (Wih + gamma1 + getCarry(Wil, gamma1l)) | 0\n Wil = (Wil + Wi16l) | 0\n Wih = (Wih + Wi16h + getCarry(Wil, Wi16l)) | 0\n\n W[i] = Wih\n W[i + 1] = Wil\n }\n\n for (var j = 0; j < 160; j += 2) {\n Wih = W[j]\n Wil = W[j + 1]\n\n var majh = maj(ah, bh, ch)\n var majl = maj(al, bl, cl)\n\n var sigma0h = sigma0(ah, al)\n var sigma0l = sigma0(al, ah)\n var sigma1h = sigma1(eh, el)\n var sigma1l = sigma1(el, eh)\n\n // t1 = h + sigma1 + ch + K[j] + W[j]\n var Kih = K[j]\n var Kil = K[j + 1]\n\n var chh = Ch(eh, fh, gh)\n var chl = Ch(el, fl, gl)\n\n var t1l = (hl + sigma1l) | 0\n var t1h = (hh + sigma1h + getCarry(t1l, hl)) | 0\n t1l = (t1l + chl) | 0\n t1h = (t1h + chh + getCarry(t1l, chl)) | 0\n t1l = (t1l + Kil) | 0\n t1h = (t1h + Kih + getCarry(t1l, Kil)) | 0\n t1l = (t1l + Wil) | 0\n t1h = (t1h + Wih + getCarry(t1l, Wil)) | 0\n\n // t2 = sigma0 + maj\n var t2l = (sigma0l + majl) | 0\n var t2h = (sigma0h + majh + getCarry(t2l, sigma0l)) | 0\n\n hh = gh\n hl = gl\n gh = fh\n gl = fl\n fh = eh\n fl = el\n el = (dl + t1l) | 0\n eh = (dh + t1h + getCarry(el, dl)) | 0\n dh = ch\n dl = cl\n ch = bh\n cl = bl\n bh = ah\n bl = al\n al = (t1l + t2l) | 0\n ah = (t1h + t2h + getCarry(al, t1l)) | 0\n }\n\n this._al = (this._al + al) | 0\n this._bl = (this._bl + bl) | 0\n this._cl = (this._cl + cl) | 0\n this._dl = (this._dl + dl) | 0\n this._el = (this._el + el) | 0\n this._fl = (this._fl + fl) | 0\n this._gl = (this._gl + gl) | 0\n this._hl = (this._hl + hl) | 0\n\n this._ah = (this._ah + ah + getCarry(this._al, al)) | 0\n this._bh = (this._bh + bh + getCarry(this._bl, bl)) | 0\n this._ch = (this._ch + ch + getCarry(this._cl, cl)) | 0\n this._dh = (this._dh + dh + getCarry(this._dl, dl)) | 0\n this._eh = (this._eh + eh + getCarry(this._el, el)) | 0\n this._fh = (this._fh + fh + getCarry(this._fl, fl)) | 0\n this._gh = (this._gh + gh + getCarry(this._gl, gl)) | 0\n this._hh = (this._hh + hh + getCarry(this._hl, hl)) | 0\n}\n\nSha512.prototype._hash = function () {\n var H = Buffer.allocUnsafe(64)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n writeInt64BE(this._gh, this._gl, 48)\n writeInt64BE(this._hh, this._hl, 56)\n\n return H\n}\n\nmodule.exports = Sha512\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nmodule.exports = Stream;\n\nvar EE = require('events').EventEmitter;\nvar inherits = require('inherits');\n\ninherits(Stream, EE);\nStream.Readable = require('readable-stream/lib/_stream_readable.js');\nStream.Writable = require('readable-stream/lib/_stream_writable.js');\nStream.Duplex = require('readable-stream/lib/_stream_duplex.js');\nStream.Transform = require('readable-stream/lib/_stream_transform.js');\nStream.PassThrough = require('readable-stream/lib/_stream_passthrough.js');\nStream.finished = require('readable-stream/lib/internal/streams/end-of-stream.js')\nStream.pipeline = require('readable-stream/lib/internal/streams/pipeline.js')\n\n// Backwards-compat with node 0.4.x\nStream.Stream = Stream;\n\n\n\n// old-style streams. Note that the pipe method (the only relevant\n// part of this class) is overridden in the Readable class.\n\nfunction Stream() {\n EE.call(this);\n}\n\nStream.prototype.pipe = function(dest, options) {\n var source = this;\n\n function ondata(chunk) {\n if (dest.writable) {\n if (false === dest.write(chunk) && source.pause) {\n source.pause();\n }\n }\n }\n\n source.on('data', ondata);\n\n function ondrain() {\n if (source.readable && source.resume) {\n source.resume();\n }\n }\n\n dest.on('drain', ondrain);\n\n // If the 'end' option is not supplied, dest.end() will be called when\n // source gets the 'end' or 'close' events. Only dest.end() once.\n if (!dest._isStdio && (!options || options.end !== false)) {\n source.on('end', onend);\n source.on('close', onclose);\n }\n\n var didOnEnd = false;\n function onend() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n dest.end();\n }\n\n\n function onclose() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n if (typeof dest.destroy === 'function') dest.destroy();\n }\n\n // don't leave dangling pipes when there are errors.\n function onerror(er) {\n cleanup();\n if (EE.listenerCount(this, 'error') === 0) {\n throw er; // Unhandled stream error in pipe.\n }\n }\n\n source.on('error', onerror);\n dest.on('error', onerror);\n\n // remove all the event listeners that were added.\n function cleanup() {\n source.removeListener('data', ondata);\n dest.removeListener('drain', ondrain);\n\n source.removeListener('end', onend);\n source.removeListener('close', onclose);\n\n source.removeListener('error', onerror);\n dest.removeListener('error', onerror);\n\n source.removeListener('end', cleanup);\n source.removeListener('close', cleanup);\n\n dest.removeListener('close', cleanup);\n }\n\n source.on('end', cleanup);\n source.on('close', cleanup);\n\n dest.on('close', cleanup);\n\n dest.emit('pipe', source);\n\n // Allow for unix-like usage: A.pipe(B).pipe(C)\n return dest;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/*<replacement>*/\n\nvar Buffer = require('safe-buffer').Buffer;\n/*</replacement>*/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n encoding = '' + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n return true;\n default:\n return false;\n }\n};\n\nfunction _normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return '\\ufffd';\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return '\\ufffd';\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return '\\ufffd';\n }\n }\n }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString('utf8', i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + '\\ufffd';\n return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString('utf16le', i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString('utf16le', 0, end);\n }\n return r;\n}\n\nfunction base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString('base64', i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : '';\n}","\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!global.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = global.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n","\nvar XML_CHARACTER_MAP = {\n '&': '&',\n '\"': '"',\n \"'\": ''',\n '<': '<',\n '>': '>'\n};\n\nfunction escapeForXML(string) {\n return string && string.replace\n ? string.replace(/([&\"<>'])/g, function(str, item) {\n return XML_CHARACTER_MAP[item];\n })\n : string;\n}\n\nmodule.exports = escapeForXML;\n","var escapeForXML = require('./escapeForXML');\nvar Stream = require('stream').Stream;\n\nvar DEFAULT_INDENT = ' ';\n\nfunction xml(input, options) {\n\n if (typeof options !== 'object') {\n options = {\n indent: options\n };\n }\n\n var stream = options.stream ? new Stream() : null,\n output = \"\",\n interrupted = false,\n indent = !options.indent ? ''\n : options.indent === true ? DEFAULT_INDENT\n : options.indent,\n instant = true;\n\n\n function delay (func) {\n if (!instant) {\n func();\n } else {\n process.nextTick(func);\n }\n }\n\n function append (interrupt, out) {\n if (out !== undefined) {\n output += out;\n }\n if (interrupt && !interrupted) {\n stream = stream || new Stream();\n interrupted = true;\n }\n if (interrupt && interrupted) {\n var data = output;\n delay(function () { stream.emit('data', data) });\n output = \"\";\n }\n }\n\n function add (value, last) {\n format(append, resolve(value, indent, indent ? 1 : 0), last);\n }\n\n function end() {\n if (stream) {\n var data = output;\n delay(function () {\n stream.emit('data', data);\n stream.emit('end');\n stream.readable = false;\n stream.emit('close');\n });\n }\n }\n\n function addXmlDeclaration(declaration) {\n var encoding = declaration.encoding || 'UTF-8',\n attr = { version: '1.0', encoding: encoding };\n\n if (declaration.standalone) {\n attr.standalone = declaration.standalone\n }\n\n add({'?xml': { _attr: attr } });\n output = output.replace('/>', '?>');\n }\n\n // disable delay delayed\n delay(function () { instant = false });\n\n if (options.declaration) {\n addXmlDeclaration(options.declaration);\n }\n\n if (input && input.forEach) {\n input.forEach(function (value, i) {\n var last;\n if (i + 1 === input.length)\n last = end;\n add(value, last);\n });\n } else {\n add(input, end);\n }\n\n if (stream) {\n stream.readable = true;\n return stream;\n }\n return output;\n}\n\nfunction element (/*input, …*/) {\n var input = Array.prototype.slice.call(arguments),\n self = {\n _elem: resolve(input)\n };\n\n self.push = function (input) {\n if (!this.append) {\n throw new Error(\"not assigned to a parent!\");\n }\n var that = this;\n var indent = this._elem.indent;\n format(this.append, resolve(\n input, indent, this._elem.icount + (indent ? 1 : 0)),\n function () { that.append(true) });\n };\n\n self.close = function (input) {\n if (input !== undefined) {\n this.push(input);\n }\n if (this.end) {\n this.end();\n }\n };\n\n return self;\n}\n\nfunction create_indent(character, count) {\n return (new Array(count || 0).join(character || ''))\n}\n\nfunction resolve(data, indent, indent_count) {\n indent_count = indent_count || 0;\n var indent_spaces = create_indent(indent, indent_count);\n var name;\n var values = data;\n var interrupt = false;\n\n if (typeof data === 'object') {\n var keys = Object.keys(data);\n name = keys[0];\n values = data[name];\n\n if (values && values._elem) {\n values._elem.name = name;\n values._elem.icount = indent_count;\n values._elem.indent = indent;\n values._elem.indents = indent_spaces;\n values._elem.interrupt = values;\n return values._elem;\n }\n }\n\n var attributes = [],\n content = [];\n\n var isStringContent;\n\n function get_attributes(obj){\n var keys = Object.keys(obj);\n keys.forEach(function(key){\n attributes.push(attribute(key, obj[key]));\n });\n }\n\n switch(typeof values) {\n case 'object':\n if (values === null) break;\n\n if (values._attr) {\n get_attributes(values._attr);\n }\n\n if (values._cdata) {\n content.push(\n ('<![CDATA[' + values._cdata).replace(/\\]\\]>/g, ']]]]><![CDATA[>') + ']]>'\n );\n }\n\n if (values.forEach) {\n isStringContent = false;\n content.push('');\n values.forEach(function(value) {\n if (typeof value == 'object') {\n var _name = Object.keys(value)[0];\n\n if (_name == '_attr') {\n get_attributes(value._attr);\n } else {\n content.push(resolve(\n value, indent, indent_count + 1));\n }\n } else {\n //string\n content.pop();\n isStringContent=true;\n content.push(escapeForXML(value));\n }\n\n });\n if (!isStringContent) {\n content.push('');\n }\n }\n break;\n\n default:\n //string\n content.push(escapeForXML(values));\n\n }\n\n return {\n name: name,\n interrupt: interrupt,\n attributes: attributes,\n content: content,\n icount: indent_count,\n indents: indent_spaces,\n indent: indent\n };\n}\n\nfunction format(append, elem, end) {\n\n if (typeof elem != 'object') {\n return append(false, elem);\n }\n\n var len = elem.interrupt ? 1 : elem.content.length;\n\n function proceed () {\n while (elem.content.length) {\n var value = elem.content.shift();\n\n if (value === undefined) continue;\n if (interrupt(value)) return;\n\n format(append, value);\n }\n\n append(false, (len > 1 ? elem.indents : '')\n + (elem.name ? '</' + elem.name + '>' : '')\n + (elem.indent && !end ? '\\n' : ''));\n\n if (end) {\n end();\n }\n }\n\n function interrupt(value) {\n if (value.interrupt) {\n value.interrupt.append = append;\n value.interrupt.end = proceed;\n value.interrupt = false;\n append(true);\n return true;\n }\n return false;\n }\n\n append(false, elem.indents\n + (elem.name ? '<' + elem.name : '')\n + (elem.attributes.length ? ' ' + elem.attributes.join(' ') : '')\n + (len ? (elem.name ? '>' : '') : (elem.name ? '/>' : ''))\n + (elem.indent && len > 1 ? '\\n' : ''));\n\n if (!len) {\n return append(false, elem.indent ? '\\n' : '');\n }\n\n if (!interrupt(elem)) {\n proceed();\n }\n}\n\nfunction attribute(key, value) {\n return key + '=' + '\"' + escapeForXML(value) + '\"';\n}\n\nmodule.exports = xml;\nmodule.exports.element = module.exports.Element = element;\n","var map = {\n\t\"./all.js\": 5308,\n\t\"./auth/actions.js\": 5812,\n\t\"./auth/configs-extensions/wrap-actions.js\": 3779,\n\t\"./auth/index.js\": 3705,\n\t\"./auth/reducers.js\": 3962,\n\t\"./auth/selectors.js\": 35,\n\t\"./auth/spec-extensions/wrap-actions.js\": 489,\n\t\"./auth/wrap-actions.js\": 2849,\n\t\"./configs/actions.js\": 714,\n\t\"./configs/helpers.js\": 2256,\n\t\"./configs/index.js\": 6709,\n\t\"./configs/reducers.js\": 7743,\n\t\"./configs/selectors.js\": 9018,\n\t\"./configs/spec-actions.js\": 2698,\n\t\"./deep-linking/helpers.js\": 1970,\n\t\"./deep-linking/index.js\": 4980,\n\t\"./deep-linking/layout.js\": 5858,\n\t\"./deep-linking/operation-tag-wrapper.jsx\": 4584,\n\t\"./deep-linking/operation-wrapper.jsx\": 877,\n\t\"./download-url.js\": 8011,\n\t\"./err/actions.js\": 4966,\n\t\"./err/error-transformers/hook.js\": 6808,\n\t\"./err/error-transformers/transformers/not-of-type.js\": 2392,\n\t\"./err/error-transformers/transformers/parameter-oneof.js\": 1835,\n\t\"./err/index.js\": 7793,\n\t\"./err/reducers.js\": 3527,\n\t\"./err/selectors.js\": 7667,\n\t\"./filter/index.js\": 9978,\n\t\"./filter/opsFilter.js\": 4309,\n\t\"./layout/actions.js\": 5474,\n\t\"./layout/index.js\": 6821,\n\t\"./layout/reducers.js\": 5672,\n\t\"./layout/selectors.js\": 4400,\n\t\"./layout/spec-extensions/wrap-selector.js\": 8989,\n\t\"./logs/index.js\": 9150,\n\t\"./oas3/actions.js\": 7002,\n\t\"./oas3/auth-extensions/wrap-selectors.js\": 3723,\n\t\"./oas3/components/callbacks.jsx\": 3427,\n\t\"./oas3/components/http-auth.jsx\": 6775,\n\t\"./oas3/components/index.js\": 6467,\n\t\"./oas3/components/operation-link.jsx\": 5757,\n\t\"./oas3/components/operation-servers.jsx\": 6796,\n\t\"./oas3/components/request-body-editor.jsx\": 5327,\n\t\"./oas3/components/request-body.jsx\": 2458,\n\t\"./oas3/components/servers-container.jsx\": 9928,\n\t\"./oas3/components/servers.jsx\": 6617,\n\t\"./oas3/helpers.jsx\": 7779,\n\t\"./oas3/index.js\": 7451,\n\t\"./oas3/reducers.js\": 2109,\n\t\"./oas3/selectors.js\": 5065,\n\t\"./oas3/spec-extensions/selectors.js\": 1741,\n\t\"./oas3/spec-extensions/wrap-selectors.js\": 2044,\n\t\"./oas3/wrap-components/auth-item.jsx\": 356,\n\t\"./oas3/wrap-components/index.js\": 7761,\n\t\"./oas3/wrap-components/json-schema-string.jsx\": 287,\n\t\"./oas3/wrap-components/markdown.jsx\": 2460,\n\t\"./oas3/wrap-components/model.jsx\": 3499,\n\t\"./oas3/wrap-components/online-validator-badge.js\": 58,\n\t\"./oas3/wrap-components/version-stamp.jsx\": 9487,\n\t\"./on-complete/index.js\": 8560,\n\t\"./request-snippets/fn.js\": 4624,\n\t\"./request-snippets/index.js\": 6575,\n\t\"./request-snippets/request-snippets.jsx\": 4206,\n\t\"./request-snippets/selectors.js\": 4669,\n\t\"./safe-render/components/error-boundary.jsx\": 6195,\n\t\"./safe-render/components/fallback.jsx\": 9403,\n\t\"./safe-render/fn.jsx\": 6189,\n\t\"./safe-render/index.js\": 8102,\n\t\"./samples/fn.js\": 2473,\n\t\"./samples/index.js\": 8883,\n\t\"./spec/actions.js\": 5179,\n\t\"./spec/index.js\": 7038,\n\t\"./spec/reducers.js\": 32,\n\t\"./spec/selectors.js\": 3881,\n\t\"./spec/wrap-actions.js\": 7508,\n\t\"./swagger-js/configs-wrap-actions.js\": 4852,\n\t\"./swagger-js/index.js\": 2990,\n\t\"./util/index.js\": 8525,\n\t\"./view/fn.js\": 8347,\n\t\"./view/index.js\": 3420,\n\t\"./view/root-injects.jsx\": 5005,\n\t\"core/plugins/all.js\": 5308,\n\t\"core/plugins/auth/actions.js\": 5812,\n\t\"core/plugins/auth/configs-extensions/wrap-actions.js\": 3779,\n\t\"core/plugins/auth/index.js\": 3705,\n\t\"core/plugins/auth/reducers.js\": 3962,\n\t\"core/plugins/auth/selectors.js\": 35,\n\t\"core/plugins/auth/spec-extensions/wrap-actions.js\": 489,\n\t\"core/plugins/auth/wrap-actions.js\": 2849,\n\t\"core/plugins/configs/actions.js\": 714,\n\t\"core/plugins/configs/helpers.js\": 2256,\n\t\"core/plugins/configs/index.js\": 6709,\n\t\"core/plugins/configs/reducers.js\": 7743,\n\t\"core/plugins/configs/selectors.js\": 9018,\n\t\"core/plugins/configs/spec-actions.js\": 2698,\n\t\"core/plugins/deep-linking/helpers.js\": 1970,\n\t\"core/plugins/deep-linking/index.js\": 4980,\n\t\"core/plugins/deep-linking/layout.js\": 5858,\n\t\"core/plugins/deep-linking/operation-tag-wrapper.jsx\": 4584,\n\t\"core/plugins/deep-linking/operation-wrapper.jsx\": 877,\n\t\"core/plugins/download-url.js\": 8011,\n\t\"core/plugins/err/actions.js\": 4966,\n\t\"core/plugins/err/error-transformers/hook.js\": 6808,\n\t\"core/plugins/err/error-transformers/transformers/not-of-type.js\": 2392,\n\t\"core/plugins/err/error-transformers/transformers/parameter-oneof.js\": 1835,\n\t\"core/plugins/err/index.js\": 7793,\n\t\"core/plugins/err/reducers.js\": 3527,\n\t\"core/plugins/err/selectors.js\": 7667,\n\t\"core/plugins/filter/index.js\": 9978,\n\t\"core/plugins/filter/opsFilter.js\": 4309,\n\t\"core/plugins/layout/actions.js\": 5474,\n\t\"core/plugins/layout/index.js\": 6821,\n\t\"core/plugins/layout/reducers.js\": 5672,\n\t\"core/plugins/layout/selectors.js\": 4400,\n\t\"core/plugins/layout/spec-extensions/wrap-selector.js\": 8989,\n\t\"core/plugins/logs/index.js\": 9150,\n\t\"core/plugins/oas3/actions.js\": 7002,\n\t\"core/plugins/oas3/auth-extensions/wrap-selectors.js\": 3723,\n\t\"core/plugins/oas3/components/callbacks.jsx\": 3427,\n\t\"core/plugins/oas3/components/http-auth.jsx\": 6775,\n\t\"core/plugins/oas3/components/index.js\": 6467,\n\t\"core/plugins/oas3/components/operation-link.jsx\": 5757,\n\t\"core/plugins/oas3/components/operation-servers.jsx\": 6796,\n\t\"core/plugins/oas3/components/request-body-editor.jsx\": 5327,\n\t\"core/plugins/oas3/components/request-body.jsx\": 2458,\n\t\"core/plugins/oas3/components/servers-container.jsx\": 9928,\n\t\"core/plugins/oas3/components/servers.jsx\": 6617,\n\t\"core/plugins/oas3/helpers.jsx\": 7779,\n\t\"core/plugins/oas3/index.js\": 7451,\n\t\"core/plugins/oas3/reducers.js\": 2109,\n\t\"core/plugins/oas3/selectors.js\": 5065,\n\t\"core/plugins/oas3/spec-extensions/selectors.js\": 1741,\n\t\"core/plugins/oas3/spec-extensions/wrap-selectors.js\": 2044,\n\t\"core/plugins/oas3/wrap-components/auth-item.jsx\": 356,\n\t\"core/plugins/oas3/wrap-components/index.js\": 7761,\n\t\"core/plugins/oas3/wrap-components/json-schema-string.jsx\": 287,\n\t\"core/plugins/oas3/wrap-components/markdown.jsx\": 2460,\n\t\"core/plugins/oas3/wrap-components/model.jsx\": 3499,\n\t\"core/plugins/oas3/wrap-components/online-validator-badge.js\": 58,\n\t\"core/plugins/oas3/wrap-components/version-stamp.jsx\": 9487,\n\t\"core/plugins/on-complete/index.js\": 8560,\n\t\"core/plugins/request-snippets/fn.js\": 4624,\n\t\"core/plugins/request-snippets/index.js\": 6575,\n\t\"core/plugins/request-snippets/request-snippets.jsx\": 4206,\n\t\"core/plugins/request-snippets/selectors.js\": 4669,\n\t\"core/plugins/safe-render/components/error-boundary.jsx\": 6195,\n\t\"core/plugins/safe-render/components/fallback.jsx\": 9403,\n\t\"core/plugins/safe-render/fn.jsx\": 6189,\n\t\"core/plugins/safe-render/index.js\": 8102,\n\t\"core/plugins/samples/fn.js\": 2473,\n\t\"core/plugins/samples/index.js\": 8883,\n\t\"core/plugins/spec/actions.js\": 5179,\n\t\"core/plugins/spec/index.js\": 7038,\n\t\"core/plugins/spec/reducers.js\": 32,\n\t\"core/plugins/spec/selectors.js\": 3881,\n\t\"core/plugins/spec/wrap-actions.js\": 7508,\n\t\"core/plugins/swagger-js/configs-wrap-actions.js\": 4852,\n\t\"core/plugins/swagger-js/index.js\": 2990,\n\t\"core/plugins/util/index.js\": 8525,\n\t\"core/plugins/view/fn.js\": 8347,\n\t\"core/plugins/view/index.js\": 3420,\n\t\"core/plugins/view/root-injects.jsx\": 5005\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 5102;","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_array_from_6be643d1__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_array_is_array_6a843f38__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_bind_23a689fe__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_concat_ad403b1a__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_entries_97fed13d__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_every_ac7bb0bc__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_filter_13f270a8__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_find_0ad1164d__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_for_each_f55cb86b__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_includes_c33ad5d5__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_index_of_5fb826c6__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_keys_3b8fec80__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_map_868765ae__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_reduce_e87b61a7__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_slice_9832b507__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_some_50ff1b2d__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_sort_abe23e03__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_starts_with_a4b73998__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_trim_ca5b709e__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_json_stringify_1bf7a515__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_map_16a511c8__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_object_assign_e13b6141__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_object_keys_e09d3035__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_object_values_550c3b22__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_set_timeout_d31e8027__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_url_4cfab046__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_defineProperty_807a2698__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_extends_d20d3ceb__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_base64_js_f145eb6e__;","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_classnames__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_ieee754__;","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"List\"]: () => __WEBPACK_EXTERNAL_MODULE_immutable__.List, [\"Map\"]: () => __WEBPACK_EXTERNAL_MODULE_immutable__.Map, [\"OrderedMap\"]: () => __WEBPACK_EXTERNAL_MODULE_immutable__.OrderedMap, [\"Seq\"]: () => __WEBPACK_EXTERNAL_MODULE_immutable__.Seq, [\"Set\"]: () => __WEBPACK_EXTERNAL_MODULE_immutable__.Set, [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_immutable__[\"default\"], [\"fromJS\"]: () => __WEBPACK_EXTERNAL_MODULE_immutable__.fromJS });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"JSON_SCHEMA\"]: () => __WEBPACK_EXTERNAL_MODULE_js_yaml_78384032__.JSON_SCHEMA, [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_js_yaml_78384032__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_get_9427f899__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_isFunction_f90b20d6__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_memoize_2b5bc477__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_prop_types_adfe8e31__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"Component\"]: () => __WEBPACK_EXTERNAL_MODULE_react__.Component, [\"PureComponent\"]: () => __WEBPACK_EXTERNAL_MODULE_react__.PureComponent, [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react__[\"default\"], [\"useEffect\"]: () => __WEBPACK_EXTERNAL_MODULE_react__.useEffect, [\"useRef\"]: () => __WEBPACK_EXTERNAL_MODULE_react__.useRef, [\"useState\"]: () => __WEBPACK_EXTERNAL_MODULE_react__.useState });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"CopyToClipboard\"]: () => __WEBPACK_EXTERNAL_MODULE_react_copy_to_clipboard_5b11dd57__.CopyToClipboard });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_immutable_proptypes_89c7d083__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"applyMiddleware\"]: () => __WEBPACK_EXTERNAL_MODULE_redux__.applyMiddleware, [\"bindActionCreators\"]: () => __WEBPACK_EXTERNAL_MODULE_redux__.bindActionCreators, [\"compose\"]: () => __WEBPACK_EXTERNAL_MODULE_redux__.compose, [\"createStore\"]: () => __WEBPACK_EXTERNAL_MODULE_redux__.createStore });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"Remarkable\"]: () => __WEBPACK_EXTERNAL_MODULE_remarkable__.Remarkable });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"createSelector\"]: () => __WEBPACK_EXTERNAL_MODULE_reselect__.createSelector });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"serializeError\"]: () => __WEBPACK_EXTERNAL_MODULE_serialize_error_5f2df3e5__.serializeError });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"opId\"]: () => __WEBPACK_EXTERNAL_MODULE_swagger_client_es_helpers_4d7bea47__.opId });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_url_parse_6456105f__[\"default\"] });","module.exports = require(\"core-js-pure/stable/object/define-property\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_last_index_of_bbdfc000__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"combineReducers\"]: () => __WEBPACK_EXTERNAL_MODULE_redux_immutable_446c9f82__.combineReducers });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_merge_cf99375a__[\"default\"] });","import React from \"react\"\nimport { createStore, applyMiddleware, bindActionCreators, compose } from \"redux\"\nimport Im, { fromJS, Map } from \"immutable\"\nimport deepExtend from \"deep-extend\"\nimport { combineReducers } from \"redux-immutable\"\nimport { serializeError } from \"serialize-error\"\nimport merge from \"lodash/merge\"\nimport { NEW_THROWN_ERR } from \"corePlugins/err/actions\"\nimport win from \"core/window\"\n\nimport { systemThunkMiddleware, isFn, objMap, objReduce, isObject, isArray, isFunc } from \"core/utils\"\n\nconst idFn = a => a\n\n// Apply middleware that gets sandwitched between `dispatch` and the reducer function(s)\nfunction createStoreWithMiddleware(rootReducer, initialState, getSystem) {\n\n let middlwares = [\n // createLogger( {\n // stateTransformer: state => state && state.toJS()\n // } ),\n systemThunkMiddleware( getSystem )\n ]\n\n const composeEnhancers = win.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose\n\n return createStore(rootReducer, initialState, composeEnhancers(\n applyMiddleware( ...middlwares )\n ))\n}\n\nexport default class Store {\n\n constructor(opts={}) {\n deepExtend(this, {\n state: {},\n plugins: [],\n pluginsOptions: {},\n system: {\n configs: {},\n fn: {},\n components: {},\n rootInjects: {},\n statePlugins: {}\n },\n boundSystem: {},\n toolbox: {}\n }, opts)\n\n this.getSystem = this._getSystem.bind(this)\n\n // Bare system (nothing in it, besides the state)\n this.store = configureStore(idFn, fromJS(this.state), this.getSystem )\n\n // will be the system + Im, we can add more tools when we need to\n this.buildSystem(false)\n\n // Bootstrap plugins\n this.register(this.plugins)\n }\n\n getStore() {\n return this.store\n }\n\n register(plugins, rebuild=true) {\n var pluginSystem = combinePlugins(plugins, this.getSystem(), this.pluginsOptions)\n systemExtend(this.system, pluginSystem)\n if(rebuild) {\n this.buildSystem()\n }\n\n const needAnotherRebuild = callAfterLoad.call(this.system, plugins, this.getSystem())\n\n if(needAnotherRebuild) {\n this.buildSystem()\n }\n }\n\n buildSystem(buildReducer=true) {\n let dispatch = this.getStore().dispatch\n let getState = this.getStore().getState\n\n this.boundSystem = Object.assign({},\n this.getRootInjects(),\n this.getWrappedAndBoundActions(dispatch),\n this.getWrappedAndBoundSelectors(getState, this.getSystem),\n this.getStateThunks(getState),\n this.getFn(),\n this.getConfigs()\n )\n\n if(buildReducer)\n this.rebuildReducer()\n }\n\n _getSystem() {\n return this.boundSystem\n }\n\n getRootInjects() {\n return Object.assign({\n getSystem: this.getSystem,\n getStore: this.getStore.bind(this),\n getComponents: this.getComponents.bind(this),\n getState: this.getStore().getState,\n getConfigs: this._getConfigs.bind(this),\n Im,\n React\n }, this.system.rootInjects || {})\n }\n\n _getConfigs(){\n return this.system.configs\n }\n\n getConfigs() {\n return {\n configs: this.system.configs\n }\n }\n\n setConfigs(configs) {\n this.system.configs = configs\n }\n\n rebuildReducer() {\n this.store.replaceReducer(buildReducer(this.system.statePlugins))\n }\n\n /**\n * Generic getter from system.statePlugins\n *\n */\n getType(name) {\n let upName = name[0].toUpperCase() + name.slice(1)\n return objReduce(this.system.statePlugins, (val, namespace) => {\n let thing = val[name]\n if(thing)\n return {[namespace+upName]: thing}\n })\n }\n\n getSelectors() {\n return this.getType(\"selectors\")\n }\n\n getActions() {\n let actionHolders = this.getType(\"actions\")\n\n return objMap(actionHolders, (actions) => {\n return objReduce(actions, (action, actionName) => {\n if(isFn(action))\n return {[actionName]: action}\n })\n })\n }\n\n getWrappedAndBoundActions(dispatch) {\n let actionGroups = this.getBoundActions(dispatch)\n return objMap(actionGroups, (actions, actionGroupName) => {\n let wrappers = this.system.statePlugins[actionGroupName.slice(0,-7)].wrapActions\n if(wrappers) {\n return objMap(actions, (action, actionName) => {\n let wrap = wrappers[actionName]\n if(!wrap) {\n return action\n }\n\n if(!Array.isArray(wrap)) {\n wrap = [wrap]\n }\n return wrap.reduce((acc, fn) => {\n let newAction = (...args) => {\n return fn(acc, this.getSystem())(...args)\n }\n if(!isFn(newAction)) {\n throw new TypeError(\"wrapActions needs to return a function that returns a new function (ie the wrapped action)\")\n }\n return wrapWithTryCatch(newAction)\n }, action || Function.prototype)\n })\n }\n return actions\n })\n }\n\n getWrappedAndBoundSelectors(getState, getSystem) {\n let selectorGroups = this.getBoundSelectors(getState, getSystem)\n return objMap(selectorGroups, (selectors, selectorGroupName) => {\n let stateName = [selectorGroupName.slice(0, -9)] // selectors = 9 chars\n let wrappers = this.system.statePlugins[stateName].wrapSelectors\n if(wrappers) {\n return objMap(selectors, (selector, selectorName) => {\n let wrap = wrappers[selectorName]\n if(!wrap) {\n return selector\n }\n\n if(!Array.isArray(wrap)) {\n wrap = [wrap]\n }\n return wrap.reduce((acc, fn) => {\n let wrappedSelector = (...args) => {\n return fn(acc, this.getSystem())(getState().getIn(stateName), ...args)\n }\n if(!isFn(wrappedSelector)) {\n throw new TypeError(\"wrapSelector needs to return a function that returns a new function (ie the wrapped action)\")\n }\n return wrappedSelector\n }, selector || Function.prototype)\n })\n }\n return selectors\n })\n }\n\n getStates(state) {\n return Object.keys(this.system.statePlugins).reduce((obj, key) => {\n obj[key] = state.get(key)\n return obj\n }, {})\n }\n\n getStateThunks(getState) {\n return Object.keys(this.system.statePlugins).reduce((obj, key) => {\n obj[key] = ()=> getState().get(key)\n return obj\n }, {})\n }\n\n getFn() {\n return {\n fn: this.system.fn\n }\n }\n\n getComponents(component) {\n const res = this.system.components[component]\n\n if(Array.isArray(res)) {\n return res.reduce((ori, wrapper) => {\n return wrapper(ori, this.getSystem())\n })\n }\n if(typeof component !== \"undefined\") {\n return this.system.components[component]\n }\n\n return this.system.components\n }\n\n getBoundSelectors(getState, getSystem) {\n return objMap(this.getSelectors(), (obj, key) => {\n let stateName = [key.slice(0, -9)] // selectors = 9 chars\n const getNestedState = ()=> getState().getIn(stateName)\n\n return objMap(obj, (fn) => {\n return (...args) => {\n let res = wrapWithTryCatch(fn).apply(null, [getNestedState(), ...args])\n\n // If a selector returns a function, give it the system - for advanced usage\n if(typeof(res) === \"function\")\n res = wrapWithTryCatch(res)(getSystem())\n\n return res\n }\n })\n })\n }\n\n getBoundActions(dispatch) {\n\n dispatch = dispatch || this.getStore().dispatch\n\n const actions = this.getActions()\n\n const process = creator =>{\n if( typeof( creator ) !== \"function\" ) {\n return objMap(creator, prop => process(prop))\n }\n\n return ( ...args )=>{\n var action = null\n try{\n action = creator( ...args )\n }\n catch( e ){\n action = {type: NEW_THROWN_ERR, error: true, payload: serializeError(e) }\n }\n finally{\n return action // eslint-disable-line no-unsafe-finally\n }\n }\n\n }\n return objMap(actions, actionCreator => bindActionCreators( process( actionCreator ), dispatch ) )\n }\n\n getMapStateToProps() {\n return () => {\n return Object.assign({}, this.getSystem())\n }\n }\n\n getMapDispatchToProps(extras) {\n return (dispatch) => {\n return deepExtend({}, this.getWrappedAndBoundActions(dispatch), this.getFn(), extras)\n }\n }\n\n}\n\nfunction combinePlugins(plugins, toolbox, pluginOptions) {\n if(isObject(plugins) && !isArray(plugins)) {\n return merge({}, plugins)\n }\n\n if(isFunc(plugins)) {\n return combinePlugins(plugins(toolbox), toolbox, pluginOptions)\n }\n\n if(isArray(plugins)) {\n const dest = pluginOptions.pluginLoadType === \"chain\" ? toolbox.getComponents() : {}\n\n return plugins\n .map(plugin => combinePlugins(plugin, toolbox, pluginOptions))\n .reduce(systemExtend, dest)\n }\n\n return {}\n}\n\nfunction callAfterLoad(plugins, system, { hasLoaded } = {}) {\n let calledSomething = hasLoaded\n if(isObject(plugins) && !isArray(plugins)) {\n if(typeof plugins.afterLoad === \"function\") {\n calledSomething = true\n wrapWithTryCatch(plugins.afterLoad).call(this, system)\n }\n }\n\n if(isFunc(plugins))\n return callAfterLoad.call(this, plugins(system), system, { hasLoaded: calledSomething })\n\n if(isArray(plugins)) {\n return plugins.map(plugin => callAfterLoad.call(this, plugin, system, { hasLoaded: calledSomething }))\n }\n\n return calledSomething\n}\n\n// Wraps deepExtend, to account for certain fields, being wrappers.\n// Ie: we need to convert some fields into arrays, and append to them.\n// Rather than overwrite\nfunction systemExtend(dest={}, src={}) {\n\n if(!isObject(dest)) {\n return {}\n }\n if(!isObject(src)) {\n return dest\n }\n\n // Wrap components\n // Parses existing components in the system, and prepares them for wrapping via getComponents\n if(src.wrapComponents) {\n objMap(src.wrapComponents, (wrapperFn, key) => {\n const ori = dest.components && dest.components[key]\n if(ori && Array.isArray(ori)) {\n dest.components[key] = ori.concat([wrapperFn])\n delete src.wrapComponents[key]\n } else if(ori) {\n dest.components[key] = [ori, wrapperFn]\n delete src.wrapComponents[key]\n }\n })\n\n if(!Object.keys(src.wrapComponents).length) {\n // only delete wrapComponents if we've matched all of our wrappers to components\n // this handles cases where the component to wrap may be out of our scope,\n // but a higher recursive `combinePlugins` call will be able to handle it.\n delete src.wrapComponents\n }\n }\n\n\n // Account for wrapActions, make it an array and append to it\n // Modifies `src`\n // 80% of this code is just safe traversal. We need to address that ( ie: use a lib )\n const { statePlugins } = dest\n if(isObject(statePlugins)) {\n for(let namespace in statePlugins) {\n const namespaceObj = statePlugins[namespace]\n if(!isObject(namespaceObj)) {\n continue\n }\n\n const { wrapActions, wrapSelectors } = namespaceObj\n\n // process action wrapping\n if (isObject(wrapActions)) {\n for(let actionName in wrapActions) {\n let action = wrapActions[actionName]\n\n // This should only happen if dest is the first plugin, since invocations after that will ensure its an array\n if(!Array.isArray(action)) {\n action = [action]\n wrapActions[actionName] = action // Put the value inside an array\n }\n\n if(src && src.statePlugins && src.statePlugins[namespace] && src.statePlugins[namespace].wrapActions && src.statePlugins[namespace].wrapActions[actionName]) {\n src.statePlugins[namespace].wrapActions[actionName] = wrapActions[actionName].concat(src.statePlugins[namespace].wrapActions[actionName])\n }\n\n }\n }\n\n // process selector wrapping\n if (isObject(wrapSelectors)) {\n for(let selectorName in wrapSelectors) {\n let selector = wrapSelectors[selectorName]\n\n // This should only happen if dest is the first plugin, since invocations after that will ensure its an array\n if(!Array.isArray(selector)) {\n selector = [selector]\n wrapSelectors[selectorName] = selector // Put the value inside an array\n }\n\n if(src && src.statePlugins && src.statePlugins[namespace] && src.statePlugins[namespace].wrapSelectors && src.statePlugins[namespace].wrapSelectors[selectorName]) {\n src.statePlugins[namespace].wrapSelectors[selectorName] = wrapSelectors[selectorName].concat(src.statePlugins[namespace].wrapSelectors[selectorName])\n }\n\n }\n }\n }\n }\n\n return deepExtend(dest, src)\n}\n\nfunction buildReducer(states) {\n let reducerObj = objMap(states, (val) => {\n return val.reducers\n })\n return allReducers(reducerObj)\n}\n\nfunction allReducers(reducerSystem) {\n let reducers = Object.keys(reducerSystem).reduce((obj, key) => {\n obj[key] = makeReducer(reducerSystem[key])\n return obj\n },{})\n\n if(!Object.keys(reducers).length) {\n return idFn\n }\n\n return combineReducers(reducers)\n}\n\nfunction makeReducer(reducerObj) {\n return (state = new Map(), action) => {\n if(!reducerObj)\n return state\n\n let redFn = (reducerObj[action.type])\n if(redFn) {\n const res = wrapWithTryCatch(redFn)(state, action)\n // If the try/catch wrapper kicks in, we'll get null back...\n // in that case, we want to avoid making any changes to state\n return res === null ? state : res\n }\n return state\n }\n}\n\nfunction wrapWithTryCatch(fn, {\n logErrors = true\n} = {}) {\n if(typeof fn !== \"function\") {\n return fn\n }\n\n return function(...args) {\n try {\n return fn.call(this, ...args)\n } catch(e) {\n if(logErrors) {\n console.error(e)\n }\n return null\n }\n }\n}\n\nfunction configureStore(rootReducer, initialState, getSystem) {\n const store = createStoreWithMiddleware(rootReducer, initialState, getSystem)\n\n // if (module.hot) {\n // // Enable Webpack hot module replacement for reducers\n // module.hot.accept(\"reducers/index\", () => {\n // const nextRootReducer = require(\"reducers/index\")\n // store.replaceReducer(nextRootReducer)\n // })\n // }\n\n return store\n}\n","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { opId } from \"swagger-client/es/helpers\"\nimport { Iterable, fromJS, Map } from \"immutable\"\n\nexport default class OperationContainer extends PureComponent {\n constructor(props, context) {\n super(props, context)\n\n const { tryItOutEnabled } = props.getConfigs()\n\n this.state = {\n tryItOutEnabled: tryItOutEnabled === true || tryItOutEnabled === \"true\",\n executeInProgress: false\n }\n }\n\n static propTypes = {\n op: PropTypes.instanceOf(Iterable).isRequired,\n tag: PropTypes.string.isRequired,\n path: PropTypes.string.isRequired,\n method: PropTypes.string.isRequired,\n operationId: PropTypes.string.isRequired,\n showSummary: PropTypes.bool.isRequired,\n isShown: PropTypes.bool.isRequired,\n jumpToKey: PropTypes.string.isRequired,\n allowTryItOut: PropTypes.bool,\n displayOperationId: PropTypes.bool,\n isAuthorized: PropTypes.bool,\n displayRequestDuration: PropTypes.bool,\n response: PropTypes.instanceOf(Iterable),\n request: PropTypes.instanceOf(Iterable),\n security: PropTypes.instanceOf(Iterable),\n isDeepLinkingEnabled: PropTypes.bool.isRequired,\n specPath: ImPropTypes.list.isRequired,\n getComponent: PropTypes.func.isRequired,\n authActions: PropTypes.object,\n oas3Actions: PropTypes.object,\n oas3Selectors: PropTypes.object,\n authSelectors: PropTypes.object,\n specActions: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n layoutActions: PropTypes.object.isRequired,\n layoutSelectors: PropTypes.object.isRequired,\n fn: PropTypes.object.isRequired,\n getConfigs: PropTypes.func.isRequired\n }\n\n static defaultProps = {\n showSummary: true,\n response: null,\n allowTryItOut: true,\n displayOperationId: false,\n displayRequestDuration: false\n }\n\n mapStateToProps(nextState, props) {\n const { op, layoutSelectors, getConfigs } = props\n const { docExpansion, deepLinking, displayOperationId, displayRequestDuration, supportedSubmitMethods } = getConfigs()\n const showSummary = layoutSelectors.showSummary()\n const operationId = op.getIn([\"operation\", \"__originalOperationId\"]) || op.getIn([\"operation\", \"operationId\"]) || opId(op.get(\"operation\"), props.path, props.method) || op.get(\"id\")\n const isShownKey = [\"operations\", props.tag, operationId]\n const isDeepLinkingEnabled = deepLinking && deepLinking !== \"false\"\n const allowTryItOut = supportedSubmitMethods.indexOf(props.method) >= 0 && (typeof props.allowTryItOut === \"undefined\" ?\n props.specSelectors.allowTryItOutFor(props.path, props.method) : props.allowTryItOut)\n const security = op.getIn([\"operation\", \"security\"]) || props.specSelectors.security()\n\n return {\n operationId,\n isDeepLinkingEnabled,\n showSummary,\n displayOperationId,\n displayRequestDuration,\n allowTryItOut,\n security,\n isAuthorized: props.authSelectors.isAuthorized(security),\n isShown: layoutSelectors.isShown(isShownKey, docExpansion === \"full\" ),\n jumpToKey: `paths.${props.path}.${props.method}`,\n response: props.specSelectors.responseFor(props.path, props.method),\n request: props.specSelectors.requestFor(props.path, props.method)\n }\n }\n\n componentDidMount() {\n const { isShown } = this.props\n const resolvedSubtree = this.getResolvedSubtree()\n\n if(isShown && resolvedSubtree === undefined) {\n this.requestResolvedSubtree()\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n const { response, isShown } = nextProps\n const resolvedSubtree = this.getResolvedSubtree()\n\n if(response !== this.props.response) {\n this.setState({ executeInProgress: false })\n }\n\n if(isShown && resolvedSubtree === undefined) {\n this.requestResolvedSubtree()\n }\n }\n\n toggleShown =() => {\n let { layoutActions, tag, operationId, isShown } = this.props\n const resolvedSubtree = this.getResolvedSubtree()\n if(!isShown && resolvedSubtree === undefined) {\n // transitioning from collapsed to expanded\n this.requestResolvedSubtree()\n }\n layoutActions.show([\"operations\", tag, operationId], !isShown)\n }\n\n onCancelClick=() => {\n this.setState({tryItOutEnabled: !this.state.tryItOutEnabled})\n }\n\n onTryoutClick =() => {\n this.setState({tryItOutEnabled: !this.state.tryItOutEnabled})\n }\n\n onResetClick = (pathMethod) => {\n const defaultRequestBodyValue = this.props.oas3Selectors.selectDefaultRequestBodyValue(...pathMethod)\n this.props.oas3Actions.setRequestBodyValue({ value: defaultRequestBodyValue, pathMethod })\n }\n\n onExecute = () => {\n this.setState({ executeInProgress: true })\n }\n\n getResolvedSubtree = () => {\n const {\n specSelectors,\n path,\n method,\n specPath\n } = this.props\n\n if(specPath) {\n return specSelectors.specResolvedSubtree(specPath.toJS())\n }\n\n return specSelectors.specResolvedSubtree([\"paths\", path, method])\n }\n\n requestResolvedSubtree = () => {\n const {\n specActions,\n path,\n method,\n specPath\n } = this.props\n\n\n if(specPath) {\n return specActions.requestResolvedSubtree(specPath.toJS())\n }\n\n return specActions.requestResolvedSubtree([\"paths\", path, method])\n }\n\n render() {\n let {\n op: unresolvedOp,\n tag,\n path,\n method,\n security,\n isAuthorized,\n operationId,\n showSummary,\n isShown,\n jumpToKey,\n allowTryItOut,\n response,\n request,\n displayOperationId,\n displayRequestDuration,\n isDeepLinkingEnabled,\n specPath,\n specSelectors,\n specActions,\n getComponent,\n getConfigs,\n layoutSelectors,\n layoutActions,\n authActions,\n authSelectors,\n oas3Actions,\n oas3Selectors,\n fn\n } = this.props\n\n const Operation = getComponent( \"operation\" )\n\n const resolvedSubtree = this.getResolvedSubtree() || Map()\n\n const operationProps = fromJS({\n op: resolvedSubtree,\n tag,\n path,\n summary: unresolvedOp.getIn([\"operation\", \"summary\"]) || \"\",\n deprecated: resolvedSubtree.get(\"deprecated\") || unresolvedOp.getIn([\"operation\", \"deprecated\"]) || false,\n method,\n security,\n isAuthorized,\n operationId,\n originalOperationId: resolvedSubtree.getIn([\"operation\", \"__originalOperationId\"]),\n showSummary,\n isShown,\n jumpToKey,\n allowTryItOut,\n request,\n displayOperationId,\n displayRequestDuration,\n isDeepLinkingEnabled,\n executeInProgress: this.state.executeInProgress,\n tryItOutEnabled: this.state.tryItOutEnabled\n })\n\n return (\n <Operation\n operation={operationProps}\n response={response}\n request={request}\n isShown={isShown}\n\n toggleShown={this.toggleShown}\n onTryoutClick={this.onTryoutClick}\n onResetClick={this.onResetClick}\n onCancelClick={this.onCancelClick}\n onExecute={this.onExecute}\n specPath={specPath}\n\n specActions={ specActions }\n specSelectors={ specSelectors }\n oas3Actions={oas3Actions}\n oas3Selectors={oas3Selectors}\n layoutActions={ layoutActions }\n layoutSelectors={ layoutSelectors }\n authActions={ authActions }\n authSelectors={ authSelectors }\n getComponent={ getComponent }\n getConfigs={ getConfigs }\n fn={fn}\n />\n )\n }\n\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class App extends React.Component {\n\n getLayout() {\n let { getComponent, layoutSelectors } = this.props\n const layoutName = layoutSelectors.current()\n const Component = getComponent(layoutName, true)\n return Component ? Component : ()=> <h1> No layout defined for "{layoutName}" </h1>\n }\n\n render() {\n const Layout = this.getLayout()\n\n return (\n <Layout/>\n )\n }\n}\n\nApp.propTypes = {\n getComponent: PropTypes.func.isRequired,\n layoutSelectors: PropTypes.object.isRequired,\n}\n\nApp.defaultProps = {\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class AuthorizationPopup extends React.Component {\n close =() => {\n let { authActions } = this.props\n\n authActions.showDefinitions(false)\n }\n\n render() {\n let { authSelectors, authActions, getComponent, errSelectors, specSelectors, fn: { AST = {} } } = this.props\n let definitions = authSelectors.shownDefinitions()\n const Auths = getComponent(\"auths\")\n\n return (\n <div className=\"dialog-ux\">\n <div className=\"backdrop-ux\"></div>\n <div className=\"modal-ux\">\n <div className=\"modal-dialog-ux\">\n <div className=\"modal-ux-inner\">\n <div className=\"modal-ux-header\">\n <h3>Available authorizations</h3>\n <button type=\"button\" className=\"close-modal\" onClick={ this.close }>\n <svg width=\"20\" height=\"20\">\n <use href=\"#close\" xlinkHref=\"#close\" />\n </svg>\n </button>\n </div>\n <div className=\"modal-ux-content\">\n\n {\n definitions.valueSeq().map(( definition, key ) => {\n return <Auths key={ key }\n AST={AST}\n definitions={ definition }\n getComponent={ getComponent }\n errSelectors={ errSelectors }\n authSelectors={ authSelectors }\n authActions={ authActions }\n specSelectors={ specSelectors }/>\n })\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n )\n }\n\n static propTypes = {\n fn: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n authSelectors: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n errSelectors: PropTypes.object.isRequired,\n authActions: PropTypes.object.isRequired,\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class AuthorizeBtn extends React.Component {\n static propTypes = {\n onClick: PropTypes.func,\n isAuthorized: PropTypes.bool,\n showPopup: PropTypes.bool,\n getComponent: PropTypes.func.isRequired\n }\n\n render() {\n let { isAuthorized, showPopup, onClick, getComponent } = this.props\n\n //must be moved out of button component\n const AuthorizationPopup = getComponent(\"authorizationPopup\", true)\n\n return (\n <div className=\"auth-wrapper\">\n <button className={isAuthorized ? \"btn authorize locked\" : \"btn authorize unlocked\"} onClick={onClick}>\n <span>Authorize</span>\n <svg width=\"20\" height=\"20\">\n <use href={ isAuthorized ? \"#locked\" : \"#unlocked\" } xlinkHref={ isAuthorized ? \"#locked\" : \"#unlocked\" } />\n </svg>\n </button>\n { showPopup && <AuthorizationPopup /> }\n </div>\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class AuthorizeBtnContainer extends React.Component {\n\n static propTypes = {\n specActions: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n authActions: PropTypes.object.isRequired,\n authSelectors: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired\n }\n\n render () {\n const { authActions, authSelectors, specSelectors, getComponent} = this.props\n \n const securityDefinitions = specSelectors.securityDefinitions()\n const authorizableDefinitions = authSelectors.definitionsToAuthorize()\n\n const AuthorizeBtn = getComponent(\"authorizeBtn\")\n\n return securityDefinitions ? (\n <AuthorizeBtn\n onClick={() => authActions.showDefinitions(authorizableDefinitions)}\n isAuthorized={!!authSelectors.authorized().size}\n showPopup={!!authSelectors.shownDefinitions()}\n getComponent={getComponent}\n />\n ) : null\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class AuthorizeOperationBtn extends React.Component {\n static propTypes = {\n isAuthorized: PropTypes.bool.isRequired,\n onClick: PropTypes.func\n }\n\n onClick =(e) => {\n e.stopPropagation()\n let { onClick } = this.props\n\n if(onClick) {\n onClick()\n }\n }\n\n render() {\n let { isAuthorized } = this.props\n\n return (\n <button className={isAuthorized ? \"authorization__btn locked\" : \"authorization__btn unlocked\"}\n aria-label={isAuthorized ? \"authorization button locked\" : \"authorization button unlocked\"}\n onClick={this.onClick}>\n <svg width=\"20\" height=\"20\">\n <use href={ isAuthorized ? \"#locked\" : \"#unlocked\" } xlinkHref={ isAuthorized ? \"#locked\" : \"#unlocked\" } />\n </svg>\n </button>\n\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nexport default class Auths extends React.Component {\n static propTypes = {\n definitions: ImPropTypes.iterable.isRequired,\n getComponent: PropTypes.func.isRequired,\n authSelectors: PropTypes.object.isRequired,\n authActions: PropTypes.object.isRequired,\n errSelectors: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired\n }\n\n constructor(props, context) {\n super(props, context)\n\n this.state = {}\n }\n\n onAuthChange =(auth) => {\n let { name } = auth\n\n this.setState({ [name]: auth })\n }\n\n submitAuth =(e) => {\n e.preventDefault()\n\n let { authActions } = this.props\n authActions.authorizeWithPersistOption(this.state)\n }\n\n logoutClick =(e) => {\n e.preventDefault()\n\n let { authActions, definitions } = this.props\n let auths = definitions.map( (val, key) => {\n return key\n }).toArray()\n\n this.setState(auths.reduce((prev, auth) => {\n prev[auth] = \"\"\n return prev\n }, {}))\n\n authActions.logoutWithPersistOption(auths)\n }\n\n close =(e) => {\n e.preventDefault()\n let { authActions } = this.props\n\n authActions.showDefinitions(false)\n }\n\n render() {\n let { definitions, getComponent, authSelectors, errSelectors } = this.props\n const AuthItem = getComponent(\"AuthItem\")\n const Oauth2 = getComponent(\"oauth2\", true)\n const Button = getComponent(\"Button\")\n\n let authorized = authSelectors.authorized()\n\n let authorizedAuth = definitions.filter( (definition, key) => {\n return !!authorized.get(key)\n })\n\n let nonOauthDefinitions = definitions.filter( schema => schema.get(\"type\") !== \"oauth2\")\n let oauthDefinitions = definitions.filter( schema => schema.get(\"type\") === \"oauth2\")\n\n return (\n <div className=\"auth-container\">\n {\n !!nonOauthDefinitions.size && <form onSubmit={ this.submitAuth }>\n {\n nonOauthDefinitions.map( (schema, name) => {\n return <AuthItem\n key={name}\n schema={schema}\n name={name}\n getComponent={getComponent}\n onAuthChange={this.onAuthChange}\n authorized={authorized}\n errSelectors={errSelectors}\n />\n }).toArray()\n }\n <div className=\"auth-btn-wrapper\">\n {\n nonOauthDefinitions.size === authorizedAuth.size ? <Button className=\"btn modal-btn auth\" onClick={ this.logoutClick }>Logout</Button>\n : <Button type=\"submit\" className=\"btn modal-btn auth authorize\">Authorize</Button>\n }\n <Button className=\"btn modal-btn auth btn-done\" onClick={ this.close }>Close</Button>\n </div>\n </form>\n }\n\n {\n oauthDefinitions && oauthDefinitions.size ? <div>\n <div className=\"scope-def\">\n <p>Scopes are used to grant an application different levels of access to data on behalf of the end user. Each API may declare one or more scopes.</p>\n <p>API requires the following scopes. Select which ones you want to grant to Swagger UI.</p>\n </div>\n {\n definitions.filter( schema => schema.get(\"type\") === \"oauth2\")\n .map( (schema, name) =>{\n return (<div key={ name }>\n <Oauth2 authorized={ authorized }\n schema={ schema }\n name={ name } />\n </div>)\n }\n ).toArray()\n }\n </div> : null\n }\n\n </div>\n )\n }\n\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nexport default class Auths extends React.Component {\n static propTypes = {\n authorized: ImPropTypes.orderedMap.isRequired,\n schema: ImPropTypes.orderedMap.isRequired,\n name: PropTypes.string.isRequired,\n getComponent: PropTypes.func.isRequired,\n onAuthChange: PropTypes.func.isRequired,\n errSelectors: PropTypes.object.isRequired,\n }\n\n render() {\n let {\n schema,\n name,\n getComponent,\n onAuthChange,\n authorized,\n errSelectors\n } = this.props\n const ApiKeyAuth = getComponent(\"apiKeyAuth\")\n const BasicAuth = getComponent(\"basicAuth\")\n\n let authEl\n\n const type = schema.get(\"type\")\n\n switch(type) {\n case \"apiKey\": authEl = <ApiKeyAuth key={ name }\n schema={ schema }\n name={ name }\n errSelectors={ errSelectors }\n authorized={ authorized }\n getComponent={ getComponent }\n onChange={ onAuthChange } />\n break\n case \"basic\": authEl = <BasicAuth key={ name }\n schema={ schema }\n name={ name }\n errSelectors={ errSelectors }\n authorized={ authorized }\n getComponent={ getComponent }\n onChange={ onAuthChange } />\n break\n default: authEl = <div key={ name }>Unknown security definition type { type }</div>\n }\n\n return (<div key={`${name}-jump`}>\n { authEl }\n </div>)\n }\n\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class AuthError extends React.Component {\n\n static propTypes = {\n error: PropTypes.object.isRequired\n }\n\n render() {\n let { error } = this.props\n\n let level = error.get(\"level\")\n let message = error.get(\"message\")\n let source = error.get(\"source\")\n\n return (\n <div className=\"errors\">\n <b>{ source } { level }</b>\n <span>{ message }</span>\n </div>\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class ApiKeyAuth extends React.Component {\n static propTypes = {\n authorized: PropTypes.object,\n getComponent: PropTypes.func.isRequired,\n errSelectors: PropTypes.object.isRequired,\n schema: PropTypes.object.isRequired,\n name: PropTypes.string.isRequired,\n onChange: PropTypes.func\n }\n\n constructor(props, context) {\n super(props, context)\n let { name, schema } = this.props\n let value = this.getValue()\n\n this.state = {\n name: name,\n schema: schema,\n value: value\n }\n }\n\n getValue () {\n let { name, authorized } = this.props\n\n return authorized && authorized.getIn([name, \"value\"])\n }\n\n onChange =(e) => {\n let { onChange } = this.props\n let value = e.target.value\n let newState = Object.assign({}, this.state, { value: value })\n\n this.setState(newState)\n onChange(newState)\n }\n\n render() {\n let { schema, getComponent, errSelectors, name } = this.props\n const Input = getComponent(\"Input\")\n const Row = getComponent(\"Row\")\n const Col = getComponent(\"Col\")\n const AuthError = getComponent(\"authError\")\n const Markdown = getComponent(\"Markdown\", true)\n const JumpToPath = getComponent(\"JumpToPath\", true)\n let value = this.getValue()\n let errors = errSelectors.allErrors().filter( err => err.get(\"authId\") === name)\n\n return (\n <div>\n <h4>\n <code>{ name || schema.get(\"name\") }</code> (apiKey)\n <JumpToPath path={[ \"securityDefinitions\", name ]} />\n </h4>\n { value && <h6>Authorized</h6>}\n <Row>\n <Markdown source={ schema.get(\"description\") } />\n </Row>\n <Row>\n <p>Name: <code>{ schema.get(\"name\") }</code></p>\n </Row>\n <Row>\n <p>In: <code>{ schema.get(\"in\") }</code></p>\n </Row>\n <Row>\n <label>Value:</label>\n {\n value ? <code> ****** </code>\n : <Col><Input type=\"text\" onChange={ this.onChange } autoFocus/></Col>\n }\n </Row>\n {\n errors.valueSeq().map( (error, key) => {\n return <AuthError error={ error }\n key={ key }/>\n } )\n }\n </div>\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nexport default class BasicAuth extends React.Component {\n static propTypes = {\n authorized: ImPropTypes.map,\n schema: ImPropTypes.map,\n getComponent: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n errSelectors: PropTypes.object.isRequired,\n }\n\n constructor(props, context) {\n super(props, context)\n let { schema, name } = this.props\n\n let value = this.getValue()\n let username = value.username\n\n this.state = {\n name: name,\n schema: schema,\n value: !username ? {} : {\n username: username\n }\n }\n }\n\n getValue () {\n let { authorized, name } = this.props\n\n return authorized && authorized.getIn([name, \"value\"]) || {}\n }\n\n onChange =(e) => {\n let { onChange } = this.props\n let { value, name } = e.target\n\n let newValue = this.state.value\n newValue[name] = value\n\n this.setState({ value: newValue })\n\n onChange(this.state)\n }\n\n render() {\n let { schema, getComponent, name, errSelectors } = this.props\n const Input = getComponent(\"Input\")\n const Row = getComponent(\"Row\")\n const Col = getComponent(\"Col\")\n const AuthError = getComponent(\"authError\")\n const JumpToPath = getComponent(\"JumpToPath\", true)\n const Markdown = getComponent(\"Markdown\", true)\n let username = this.getValue().username\n let errors = errSelectors.allErrors().filter( err => err.get(\"authId\") === name)\n\n return (\n <div>\n <h4>Basic authorization<JumpToPath path={[ \"securityDefinitions\", name ]} /></h4>\n { username && <h6>Authorized</h6> }\n <Row>\n <Markdown source={ schema.get(\"description\") } />\n </Row>\n <Row>\n <label>Username:</label>\n {\n username ? <code> { username } </code>\n : <Col><Input type=\"text\" required=\"required\" name=\"username\" onChange={ this.onChange } autoFocus/></Col>\n }\n </Row>\n <Row>\n <label>Password:</label>\n {\n username ? <code> ****** </code>\n : <Col><Input autoComplete=\"new-password\"\n name=\"password\"\n type=\"password\"\n onChange={ this.onChange }/></Col>\n }\n </Row>\n {\n errors.valueSeq().map( (error, key) => {\n return <AuthError error={ error }\n key={ key }/>\n } )\n }\n </div>\n )\n }\n\n}\n","/**\n * @prettier\n */\n\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { stringify } from \"core/utils\"\n\nexport default function Example(props) {\n const { example, showValue, getComponent, getConfigs } = props\n\n const Markdown = getComponent(\"Markdown\", true)\n const HighlightCode = getComponent(\"highlightCode\")\n\n if(!example) return null\n\n return (\n <div className=\"example\">\n {example.get(\"description\") ? (\n <section className=\"example__section\">\n <div className=\"example__section-header\">Example Description</div>\n <p>\n <Markdown source={example.get(\"description\")} />\n </p>\n </section>\n ) : null}\n {showValue && example.has(\"value\") ? (\n <section className=\"example__section\">\n <div className=\"example__section-header\">Example Value</div>\n <HighlightCode getConfigs={ getConfigs } value={stringify(example.get(\"value\"))} />\n </section>\n ) : null}\n </div>\n )\n}\n\nExample.propTypes = {\n example: ImPropTypes.map.isRequired,\n showValue: PropTypes.bool,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.getConfigs,\n}\n","/**\n * @prettier\n */\n\nimport React from \"react\"\nimport Im from \"immutable\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nexport default class ExamplesSelect extends React.PureComponent {\n static propTypes = {\n examples: ImPropTypes.map.isRequired,\n onSelect: PropTypes.func,\n currentExampleKey: PropTypes.string,\n isModifiedValueAvailable: PropTypes.bool,\n isValueModified: PropTypes.bool,\n showLabels: PropTypes.bool,\n }\n\n static defaultProps = {\n examples: Im.Map({}),\n onSelect: (...args) =>\n console.log( // eslint-disable-line no-console\n // FIXME: remove before merging to master...\n `DEBUG: ExamplesSelect was not given an onSelect callback`,\n ...args\n ),\n currentExampleKey: null,\n showLabels: true,\n }\n\n _onSelect = (key, { isSyntheticChange = false } = {}) => {\n if (typeof this.props.onSelect === \"function\") {\n this.props.onSelect(key, {\n isSyntheticChange,\n })\n }\n }\n\n _onDomSelect = e => {\n if (typeof this.props.onSelect === \"function\") {\n const element = e.target.selectedOptions[0]\n const key = element.getAttribute(\"value\")\n\n this._onSelect(key, {\n isSyntheticChange: false,\n })\n }\n }\n\n getCurrentExample = () => {\n const { examples, currentExampleKey } = this.props\n\n const currentExamplePerProps = examples.get(currentExampleKey)\n\n const firstExamplesKey = examples.keySeq().first()\n const firstExample = examples.get(firstExamplesKey)\n\n return currentExamplePerProps || firstExample || Map({})\n }\n\n componentDidMount() {\n // this is the not-so-great part of ExamplesSelect... here we're\n // artificially kicking off an onSelect event in order to set a default\n // value in state. the consumer has the option to avoid this by checking\n // `isSyntheticEvent`, but we should really be doing this in a selector.\n // TODO: clean this up\n // FIXME: should this only trigger if `currentExamplesKey` is nullish?\n const { onSelect, examples } = this.props\n\n if (typeof onSelect === \"function\") {\n const firstExample = examples.first()\n const firstExampleKey = examples.keyOf(firstExample)\n\n this._onSelect(firstExampleKey, {\n isSyntheticChange: true,\n })\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n const { currentExampleKey, examples } = nextProps\n if (examples !== this.props.examples && !examples.has(currentExampleKey)) {\n // examples have changed from under us, and the currentExampleKey is no longer\n // valid.\n const firstExample = examples.first()\n const firstExampleKey = examples.keyOf(firstExample)\n\n this._onSelect(firstExampleKey, {\n isSyntheticChange: true,\n })\n }\n }\n\n render() {\n const {\n examples,\n currentExampleKey,\n isValueModified,\n isModifiedValueAvailable,\n showLabels,\n } = this.props\n\n return (\n <div className=\"examples-select\">\n {\n showLabels ? (\n <span className=\"examples-select__section-label\">Examples: </span>\n ) : null\n }\n <select\n className=\"examples-select-element\"\n onChange={this._onDomSelect}\n value={\n isModifiedValueAvailable && isValueModified\n ? \"__MODIFIED__VALUE__\"\n : (currentExampleKey || \"\")\n }\n >\n {isModifiedValueAvailable ? (\n <option value=\"__MODIFIED__VALUE__\">[Modified value]</option>\n ) : null}\n {examples\n .map((example, exampleName) => {\n return (\n <option\n key={exampleName} // for React\n value={exampleName} // for matching to select's `value`\n >\n {example.get(\"summary\") || exampleName}\n </option>\n )\n })\n .valueSeq()}\n </select>\n </div>\n )\n }\n}\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport { Map, List } from \"immutable\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nimport { stringify } from \"core/utils\"\n\n// This stateful component lets us avoid writing competing values (user\n// modifications vs example values) into global state, and the mess that comes\n// with that: tracking which of the two values are currently used for\n// Try-It-Out, which example a modified value came from, etc...\n//\n// The solution here is to retain the last user-modified value in\n// ExamplesSelectValueRetainer's component state, so that our global state can stay\n// clean, always simply being the source of truth for what value should be both\n// displayed to the user and used as a value during request execution.\n//\n// This approach/tradeoff was chosen in order to encapsulate the particular\n// logic of Examples within the Examples component tree, and to avoid\n// regressions within our current implementation elsewhere (non-Examples\n// definitions, OpenAPI 2.0, etc). A future refactor to global state might make\n// this component unnecessary.\n//\n// TL;DR: this is not our usual approach, but the choice was made consciously.\n\n// Note that `currentNamespace` isn't currently used anywhere!\n\nconst stringifyUnlessList = input =>\n List.isList(input) ? input : stringify(input)\n\nexport default class ExamplesSelectValueRetainer extends React.PureComponent {\n static propTypes = {\n examples: ImPropTypes.map,\n onSelect: PropTypes.func,\n updateValue: PropTypes.func, // mechanism to update upstream value\n userHasEditedBody: PropTypes.bool,\n getComponent: PropTypes.func.isRequired,\n currentUserInputValue: PropTypes.any,\n currentKey: PropTypes.string,\n currentNamespace: PropTypes.string,\n setRetainRequestBodyValueFlag: PropTypes.func.isRequired,\n // (also proxies props for Examples)\n }\n\n static defaultProps = {\n userHasEditedBody: false,\n examples: Map({}),\n currentNamespace: \"__DEFAULT__NAMESPACE__\",\n setRetainRequestBodyValueFlag: () => {\n // NOOP\n },\n onSelect: (...args) =>\n console.log( // eslint-disable-line no-console\n \"ExamplesSelectValueRetainer: no `onSelect` function was provided\",\n ...args\n ),\n updateValue: (...args) =>\n console.log( // eslint-disable-line no-console\n \"ExamplesSelectValueRetainer: no `updateValue` function was provided\",\n ...args\n ),\n }\n\n constructor(props) {\n super(props)\n\n const valueFromExample = this._getCurrentExampleValue()\n\n this.state = {\n // user edited: last value that came from the world around us, and didn't\n // match the current example's value\n // internal: last value that came from user selecting an Example\n [props.currentNamespace]: Map({\n lastUserEditedValue: this.props.currentUserInputValue,\n lastDownstreamValue: valueFromExample,\n isModifiedValueSelected:\n // valueFromExample !== undefined &&\n this.props.userHasEditedBody ||\n this.props.currentUserInputValue !== valueFromExample,\n }),\n }\n }\n\n componentWillUnmount() {\n this.props.setRetainRequestBodyValueFlag(false)\n }\n\n _getStateForCurrentNamespace = () => {\n const { currentNamespace } = this.props\n\n return (this.state[currentNamespace] || Map()).toObject()\n }\n\n _setStateForCurrentNamespace = obj => {\n const { currentNamespace } = this.props\n\n return this._setStateForNamespace(currentNamespace, obj)\n }\n\n _setStateForNamespace = (namespace, obj) => {\n const oldStateForNamespace = this.state[namespace] || Map()\n const newStateForNamespace = oldStateForNamespace.mergeDeep(obj)\n return this.setState({\n [namespace]: newStateForNamespace,\n })\n }\n\n _isCurrentUserInputSameAsExampleValue = () => {\n const { currentUserInputValue } = this.props\n\n const valueFromExample = this._getCurrentExampleValue()\n\n return valueFromExample === currentUserInputValue\n }\n\n _getValueForExample = (exampleKey, props) => {\n // props are accepted so that this can be used in UNSAFE_componentWillReceiveProps,\n // which has access to `nextProps`\n const { examples } = props || this.props\n return stringifyUnlessList(\n (examples || Map({})).getIn([exampleKey, \"value\"])\n )\n }\n\n _getCurrentExampleValue = props => {\n // props are accepted so that this can be used in UNSAFE_componentWillReceiveProps,\n // which has access to `nextProps`\n const { currentKey } = props || this.props\n return this._getValueForExample(currentKey, props || this.props)\n }\n\n _onExamplesSelect = (key, { isSyntheticChange } = {}, ...otherArgs) => {\n const {\n onSelect,\n updateValue,\n currentUserInputValue,\n userHasEditedBody,\n } = this.props\n const { lastUserEditedValue } = this._getStateForCurrentNamespace()\n\n const valueFromExample = this._getValueForExample(key)\n\n if (key === \"__MODIFIED__VALUE__\") {\n updateValue(stringifyUnlessList(lastUserEditedValue))\n return this._setStateForCurrentNamespace({\n isModifiedValueSelected: true,\n })\n }\n\n if (typeof onSelect === \"function\") {\n onSelect(key, { isSyntheticChange }, ...otherArgs)\n }\n\n this._setStateForCurrentNamespace({\n lastDownstreamValue: valueFromExample,\n isModifiedValueSelected:\n (isSyntheticChange && userHasEditedBody) ||\n (!!currentUserInputValue && currentUserInputValue !== valueFromExample),\n })\n\n // we never want to send up value updates from synthetic changes\n if (isSyntheticChange) return\n\n if (typeof updateValue === \"function\") {\n updateValue(stringifyUnlessList(valueFromExample))\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n // update `lastUserEditedValue` as new currentUserInput values come in\n\n const {\n currentUserInputValue: newValue,\n examples,\n onSelect,\n userHasEditedBody,\n } = nextProps\n\n const {\n lastUserEditedValue,\n lastDownstreamValue,\n } = this._getStateForCurrentNamespace()\n\n const valueFromCurrentExample = this._getValueForExample(\n nextProps.currentKey,\n nextProps\n )\n\n const examplesMatchingNewValue = examples.filter(\n (example) =>\n example.get(\"value\") === newValue ||\n // sometimes data is stored as a string (e.g. in Request Bodies), so\n // let's check against a stringified version of our example too\n stringify(example.get(\"value\")) === newValue\n )\n\n if (examplesMatchingNewValue.size) {\n let key\n if(examplesMatchingNewValue.has(nextProps.currentKey))\n {\n key = nextProps.currentKey\n } else {\n key = examplesMatchingNewValue.keySeq().first()\n }\n onSelect(key, {\n isSyntheticChange: true,\n })\n } else if (\n newValue !== this.props.currentUserInputValue && // value has changed\n newValue !== lastUserEditedValue && // value isn't already tracked\n newValue !== lastDownstreamValue // value isn't what we've seen on the other side\n ) {\n this.props.setRetainRequestBodyValueFlag(true)\n this._setStateForNamespace(nextProps.currentNamespace, {\n lastUserEditedValue: nextProps.currentUserInputValue,\n isModifiedValueSelected:\n userHasEditedBody || newValue !== valueFromCurrentExample,\n })\n }\n }\n\n render() {\n const {\n currentUserInputValue,\n examples,\n currentKey,\n getComponent,\n userHasEditedBody,\n } = this.props\n const {\n lastDownstreamValue,\n lastUserEditedValue,\n isModifiedValueSelected,\n } = this._getStateForCurrentNamespace()\n\n const ExamplesSelect = getComponent(\"ExamplesSelect\")\n\n return (\n <ExamplesSelect\n examples={examples}\n currentExampleKey={currentKey}\n onSelect={this._onExamplesSelect}\n isModifiedValueAvailable={\n !!lastUserEditedValue && lastUserEditedValue !== lastDownstreamValue\n }\n isValueModified={\n (currentUserInputValue !== undefined &&\n isModifiedValueSelected &&\n currentUserInputValue !== this._getCurrentExampleValue()) ||\n userHasEditedBody\n }\n />\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport oauth2Authorize from \"core/oauth2-authorize\"\n\nexport default class Oauth2 extends React.Component {\n static propTypes = {\n name: PropTypes.string,\n authorized: PropTypes.object,\n getComponent: PropTypes.func.isRequired,\n schema: PropTypes.object.isRequired,\n authSelectors: PropTypes.object.isRequired,\n authActions: PropTypes.object.isRequired,\n errSelectors: PropTypes.object.isRequired,\n oas3Selectors: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n errActions: PropTypes.object.isRequired,\n getConfigs: PropTypes.any\n }\n\n constructor(props, context) {\n super(props, context)\n let { name, schema, authorized, authSelectors } = this.props\n let auth = authorized && authorized.get(name)\n let authConfigs = authSelectors.getConfigs() || {}\n let username = auth && auth.get(\"username\") || \"\"\n let clientId = auth && auth.get(\"clientId\") || authConfigs.clientId || \"\"\n let clientSecret = auth && auth.get(\"clientSecret\") || authConfigs.clientSecret || \"\"\n let passwordType = auth && auth.get(\"passwordType\") || \"basic\"\n let scopes = auth && auth.get(\"scopes\") || authConfigs.scopes || []\n if (typeof scopes === \"string\") {\n scopes = scopes.split(authConfigs.scopeSeparator || \" \")\n }\n\n this.state = {\n appName: authConfigs.appName,\n name: name,\n schema: schema,\n scopes: scopes,\n clientId: clientId,\n clientSecret: clientSecret,\n username: username,\n password: \"\",\n passwordType: passwordType\n }\n }\n\n close = (e) => {\n e.preventDefault()\n let { authActions } = this.props\n\n authActions.showDefinitions(false)\n }\n\n authorize =() => {\n let { authActions, errActions, getConfigs, authSelectors, oas3Selectors } = this.props\n let configs = getConfigs()\n let authConfigs = authSelectors.getConfigs()\n\n errActions.clear({authId: name,type: \"auth\", source: \"auth\"})\n oauth2Authorize({\n auth: this.state,\n currentServer: oas3Selectors.serverEffectiveValue(oas3Selectors.selectedServer()),\n authActions,\n errActions,\n configs,\n authConfigs\n })\n }\n\n onScopeChange =(e) => {\n let { target } = e\n let { checked } = target\n let scope = target.dataset.value\n\n if ( checked && this.state.scopes.indexOf(scope) === -1 ) {\n let newScopes = this.state.scopes.concat([scope])\n this.setState({ scopes: newScopes })\n } else if ( !checked && this.state.scopes.indexOf(scope) > -1) {\n this.setState({ scopes: this.state.scopes.filter((val) => val !== scope) })\n }\n }\n\n onInputChange =(e) => {\n let { target : { dataset : { name }, value } } = e\n let state = {\n [name]: value\n }\n\n this.setState(state)\n }\n\n selectScopes =(e) => {\n if (e.target.dataset.all) {\n this.setState({\n scopes: Array.from((this.props.schema.get(\"allowedScopes\") || this.props.schema.get(\"scopes\")).keys())\n })\n } else {\n this.setState({ scopes: [] })\n }\n }\n\n logout =(e) => {\n e.preventDefault()\n let { authActions, errActions, name } = this.props\n\n errActions.clear({authId: name, type: \"auth\", source: \"auth\"})\n authActions.logoutWithPersistOption([ name ])\n }\n\n render() {\n let {\n schema, getComponent, authSelectors, errSelectors, name, specSelectors\n } = this.props\n const Input = getComponent(\"Input\")\n const Row = getComponent(\"Row\")\n const Col = getComponent(\"Col\")\n const Button = getComponent(\"Button\")\n const AuthError = getComponent(\"authError\")\n const JumpToPath = getComponent(\"JumpToPath\", true)\n const Markdown = getComponent(\"Markdown\", true)\n const InitializedInput = getComponent(\"InitializedInput\")\n\n const { isOAS3 } = specSelectors\n\n let oidcUrl = isOAS3() ? schema.get(\"openIdConnectUrl\") : null\n\n // Auth type consts\n const AUTH_FLOW_IMPLICIT = \"implicit\"\n const AUTH_FLOW_PASSWORD = \"password\"\n const AUTH_FLOW_ACCESS_CODE = isOAS3() ? (oidcUrl ? \"authorization_code\" : \"authorizationCode\") : \"accessCode\"\n const AUTH_FLOW_APPLICATION = isOAS3() ? (oidcUrl ? \"client_credentials\" : \"clientCredentials\") : \"application\"\n\n let authConfigs = authSelectors.getConfigs() || {}\n let isPkceCodeGrant = !!authConfigs.usePkceWithAuthorizationCodeGrant\n\n let flow = schema.get(\"flow\")\n let flowToDisplay = flow === AUTH_FLOW_ACCESS_CODE && isPkceCodeGrant ? flow + \" with PKCE\" : flow\n let scopes = schema.get(\"allowedScopes\") || schema.get(\"scopes\")\n let authorizedAuth = authSelectors.authorized().get(name)\n let isAuthorized = !!authorizedAuth\n let errors = errSelectors.allErrors().filter( err => err.get(\"authId\") === name)\n let isValid = !errors.filter( err => err.get(\"source\") === \"validation\").size\n let description = schema.get(\"description\")\n\n return (\n <div>\n <h4>{name} (OAuth2, { flowToDisplay }) <JumpToPath path={[ \"securityDefinitions\", name ]} /></h4>\n { !this.state.appName ? null : <h5>Application: { this.state.appName } </h5> }\n { description && <Markdown source={ schema.get(\"description\") } /> }\n\n { isAuthorized && <h6>Authorized</h6> }\n\n { oidcUrl && <p>OpenID Connect URL: <code>{ oidcUrl }</code></p> }\n { ( flow === AUTH_FLOW_IMPLICIT || flow === AUTH_FLOW_ACCESS_CODE ) && <p>Authorization URL: <code>{ schema.get(\"authorizationUrl\") }</code></p> }\n { ( flow === AUTH_FLOW_PASSWORD || flow === AUTH_FLOW_ACCESS_CODE || flow === AUTH_FLOW_APPLICATION ) && <p>Token URL:<code> { schema.get(\"tokenUrl\") }</code></p> }\n <p className=\"flow\">Flow: <code>{ flowToDisplay }</code></p>\n\n {\n flow !== AUTH_FLOW_PASSWORD ? null\n : <Row>\n <Row>\n <label htmlFor=\"oauth_username\">username:</label>\n {\n isAuthorized ? <code> { this.state.username } </code>\n : <Col tablet={10} desktop={10}>\n <input id=\"oauth_username\" type=\"text\" data-name=\"username\" onChange={ this.onInputChange } autoFocus/>\n </Col>\n }\n </Row>\n {\n\n }\n <Row>\n <label htmlFor=\"oauth_password\">password:</label>\n {\n isAuthorized ? <code> ****** </code>\n : <Col tablet={10} desktop={10}>\n <input id=\"oauth_password\" type=\"password\" data-name=\"password\" onChange={ this.onInputChange }/>\n </Col>\n }\n </Row>\n <Row>\n <label htmlFor=\"password_type\">Client credentials location:</label>\n {\n isAuthorized ? <code> { this.state.passwordType } </code>\n : <Col tablet={10} desktop={10}>\n <select id=\"password_type\" data-name=\"passwordType\" onChange={ this.onInputChange }>\n <option value=\"basic\">Authorization header</option>\n <option value=\"request-body\">Request body</option>\n </select>\n </Col>\n }\n </Row>\n </Row>\n }\n {\n ( flow === AUTH_FLOW_APPLICATION || flow === AUTH_FLOW_IMPLICIT || flow === AUTH_FLOW_ACCESS_CODE || flow === AUTH_FLOW_PASSWORD ) &&\n ( !isAuthorized || isAuthorized && this.state.clientId) && <Row>\n <label htmlFor=\"client_id\">client_id:</label>\n {\n isAuthorized ? <code> ****** </code>\n : <Col tablet={10} desktop={10}>\n <InitializedInput id=\"client_id\"\n type=\"text\"\n required={ flow === AUTH_FLOW_PASSWORD }\n initialValue={ this.state.clientId }\n data-name=\"clientId\"\n onChange={ this.onInputChange }/>\n </Col>\n }\n </Row>\n }\n\n {\n ( (flow === AUTH_FLOW_APPLICATION || flow === AUTH_FLOW_ACCESS_CODE || flow === AUTH_FLOW_PASSWORD) && <Row>\n <label htmlFor=\"client_secret\">client_secret:</label>\n {\n isAuthorized ? <code> ****** </code>\n : <Col tablet={10} desktop={10}>\n <InitializedInput id=\"client_secret\"\n initialValue={ this.state.clientSecret }\n type=\"password\"\n data-name=\"clientSecret\"\n onChange={ this.onInputChange }/>\n </Col>\n }\n\n </Row>\n )}\n\n {\n !isAuthorized && scopes && scopes.size ? <div className=\"scopes\">\n <h2>\n Scopes:\n <a onClick={this.selectScopes} data-all={true}>select all</a>\n <a onClick={this.selectScopes}>select none</a>\n </h2>\n { scopes.map((description, name) => {\n return (\n <Row key={ name }>\n <div className=\"checkbox\">\n <Input data-value={ name }\n id={`${name}-${flow}-checkbox-${this.state.name}`}\n disabled={ isAuthorized }\n checked={ this.state.scopes.includes(name) }\n type=\"checkbox\"\n onChange={ this.onScopeChange }/>\n <label htmlFor={`${name}-${flow}-checkbox-${this.state.name}`}>\n <span className=\"item\"></span>\n <div className=\"text\">\n <p className=\"name\">{name}</p>\n <p className=\"description\">{description}</p>\n </div>\n </label>\n </div>\n </Row>\n )\n }).toArray()\n }\n </div> : null\n }\n\n {\n errors.valueSeq().map( (error, key) => {\n return <AuthError error={ error }\n key={ key }/>\n } )\n }\n <div className=\"auth-btn-wrapper\">\n { isValid &&\n ( isAuthorized ? <Button className=\"btn modal-btn auth authorize\" onClick={ this.logout }>Logout</Button>\n : <Button className=\"btn modal-btn auth authorize\" onClick={ this.authorize }>Authorize</Button>\n )\n }\n <Button className=\"btn modal-btn auth btn-done\" onClick={ this.close }>Close</Button>\n </div>\n\n </div>\n )\n }\n}\n","import parseUrl from \"url-parse\"\nimport Im from \"immutable\"\nimport { btoa, sanitizeUrl, generateCodeVerifier, createCodeChallenge } from \"core/utils\"\n\nexport default function authorize ( { auth, authActions, errActions, configs, authConfigs={}, currentServer } ) {\n let { schema, scopes, name, clientId } = auth\n let flow = schema.get(\"flow\")\n let query = []\n\n switch (flow) {\n case \"password\":\n authActions.authorizePassword(auth)\n return\n\n case \"application\":\n authActions.authorizeApplication(auth)\n return\n\n case \"accessCode\":\n query.push(\"response_type=code\")\n break\n\n case \"implicit\":\n query.push(\"response_type=token\")\n break\n\n case \"clientCredentials\":\n case \"client_credentials\":\n // OAS3\n authActions.authorizeApplication(auth)\n return\n\n case \"authorizationCode\":\n case \"authorization_code\":\n // OAS3\n query.push(\"response_type=code\")\n break\n }\n\n if (typeof clientId === \"string\") {\n query.push(\"client_id=\" + encodeURIComponent(clientId))\n }\n\n let redirectUrl = configs.oauth2RedirectUrl\n\n // todo move to parser\n if (typeof redirectUrl === \"undefined\") {\n errActions.newAuthErr( {\n authId: name,\n source: \"validation\",\n level: \"error\",\n message: \"oauth2RedirectUrl configuration is not passed. Oauth2 authorization cannot be performed.\"\n })\n return\n }\n query.push(\"redirect_uri=\" + encodeURIComponent(redirectUrl))\n\n let scopesArray = []\n if (Array.isArray(scopes)) {\n scopesArray = scopes\n } else if (Im.List.isList(scopes)) {\n scopesArray = scopes.toArray()\n }\n\n if (scopesArray.length > 0) {\n let scopeSeparator = authConfigs.scopeSeparator || \" \"\n\n query.push(\"scope=\" + encodeURIComponent(scopesArray.join(scopeSeparator)))\n }\n\n let state = btoa(new Date())\n\n query.push(\"state=\" + encodeURIComponent(state))\n\n if (typeof authConfigs.realm !== \"undefined\") {\n query.push(\"realm=\" + encodeURIComponent(authConfigs.realm))\n }\n\n if ((flow === \"authorizationCode\" || flow === \"authorization_code\" || flow === \"accessCode\") && authConfigs.usePkceWithAuthorizationCodeGrant) {\n const codeVerifier = generateCodeVerifier()\n const codeChallenge = createCodeChallenge(codeVerifier)\n\n query.push(\"code_challenge=\" + codeChallenge)\n query.push(\"code_challenge_method=S256\")\n\n // storing the Code Verifier so it can be sent to the token endpoint\n // when exchanging the Authorization Code for an Access Token\n auth.codeVerifier = codeVerifier\n }\n\n let { additionalQueryStringParams } = authConfigs\n\n for (let key in additionalQueryStringParams) {\n if (typeof additionalQueryStringParams[key] !== \"undefined\") {\n query.push([key, additionalQueryStringParams[key]].map(encodeURIComponent).join(\"=\"))\n }\n }\n\n const authorizationUrl = schema.get(\"authorizationUrl\")\n let sanitizedAuthorizationUrl\n if (currentServer) {\n // OpenAPI 3\n sanitizedAuthorizationUrl = parseUrl(\n sanitizeUrl(authorizationUrl),\n currentServer,\n true\n ).toString()\n } else {\n sanitizedAuthorizationUrl = sanitizeUrl(authorizationUrl)\n }\n let url = [sanitizedAuthorizationUrl, query.join(\"&\")].join(authorizationUrl.indexOf(\"?\") === -1 ? \"?\" : \"&\")\n\n // pass action authorizeOauth2 and authentication data through window\n // to authorize with oauth2\n\n let callback\n if (flow === \"implicit\") {\n callback = authActions.preAuthorizeImplicit\n } else if (authConfigs.useBasicAuthenticationWithAccessCodeGrant) {\n callback = authActions.authorizeAccessCodeWithBasicAuthentication\n } else {\n callback = authActions.authorizeAccessCodeWithFormParams\n }\n\n authActions.authPopup(url, {\n auth: auth,\n state: state,\n redirectUrl: redirectUrl,\n callback: callback,\n errCb: errActions.newAuthErr\n })\n}\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class Clear extends Component {\n\n onClick =() => {\n let { specActions, path, method } = this.props\n specActions.clearResponse( path, method )\n specActions.clearRequest( path, method )\n }\n\n render(){\n return (\n <button className=\"btn btn-clear opblock-control__btn\" onClick={ this.onClick }>\n Clear\n </button>\n )\n }\n\n static propTypes = {\n specActions: PropTypes.object.isRequired,\n path: PropTypes.string.isRequired,\n method: PropTypes.string.isRequired,\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nconst Headers = ( { headers } )=>{\n return (\n <div>\n <h5>Response headers</h5>\n <pre className=\"microlight\">{headers}</pre>\n </div>)\n}\nHeaders.propTypes = {\n headers: PropTypes.array.isRequired\n}\n\nconst Duration = ( { duration } ) => {\n return (\n <div>\n <h5>Request duration</h5>\n <pre className=\"microlight\">{duration} ms</pre>\n </div>\n )\n}\nDuration.propTypes = {\n duration: PropTypes.number.isRequired\n}\n\n\nexport default class LiveResponse extends React.Component {\n static propTypes = {\n response: ImPropTypes.map,\n path: PropTypes.string.isRequired,\n method: PropTypes.string.isRequired,\n displayRequestDuration: PropTypes.bool.isRequired,\n specSelectors: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired\n }\n\n shouldComponentUpdate(nextProps) {\n // BUG: props.response is always coming back as a new Immutable instance\n // same issue as responses.jsx (tryItOutResponse)\n return this.props.response !== nextProps.response\n || this.props.path !== nextProps.path\n || this.props.method !== nextProps.method\n || this.props.displayRequestDuration !== nextProps.displayRequestDuration\n }\n\n render() {\n const { response, getComponent, getConfigs, displayRequestDuration, specSelectors, path, method } = this.props\n const { showMutatedRequest, requestSnippetsEnabled } = getConfigs()\n\n const curlRequest = showMutatedRequest ? specSelectors.mutatedRequestFor(path, method) : specSelectors.requestFor(path, method)\n const status = response.get(\"status\")\n const url = curlRequest.get(\"url\")\n const headers = response.get(\"headers\").toJS()\n const notDocumented = response.get(\"notDocumented\")\n const isError = response.get(\"error\")\n const body = response.get(\"text\")\n const duration = response.get(\"duration\")\n const headersKeys = Object.keys(headers)\n const contentType = headers[\"content-type\"] || headers[\"Content-Type\"]\n\n const ResponseBody = getComponent(\"responseBody\")\n const returnObject = headersKeys.map(key => {\n var joinedHeaders = Array.isArray(headers[key]) ? headers[key].join() : headers[key]\n return <span className=\"headerline\" key={key}> {key}: {joinedHeaders} </span>\n })\n const hasHeaders = returnObject.length !== 0\n const Markdown = getComponent(\"Markdown\", true)\n const RequestSnippets = getComponent(\"RequestSnippets\", true)\n const Curl = getComponent(\"curl\")\n\n return (\n <div>\n { curlRequest && (requestSnippetsEnabled === true || requestSnippetsEnabled === \"true\"\n ? <RequestSnippets request={ curlRequest }/>\n : <Curl request={ curlRequest } getConfigs={ getConfigs } />) }\n { url && <div>\n <div className=\"request-url\">\n <h4>Request URL</h4>\n <pre className=\"microlight\">{url}</pre>\n </div>\n </div>\n }\n <h4>Server response</h4>\n <table className=\"responses-table live-responses-table\">\n <thead>\n <tr className=\"responses-header\">\n <td className=\"col_header response-col_status\">Code</td>\n <td className=\"col_header response-col_description\">Details</td>\n </tr>\n </thead>\n <tbody>\n <tr className=\"response\">\n <td className=\"response-col_status\">\n { status }\n {\n notDocumented ? <div className=\"response-undocumented\">\n <i> Undocumented </i>\n </div>\n : null\n }\n </td>\n <td className=\"response-col_description\">\n {\n isError ? <Markdown source={`${response.get(\"name\") !== \"\" ? `${response.get(\"name\")}: ` : \"\"}${response.get(\"message\")}`}/>\n : null\n }\n {\n body ? <ResponseBody content={ body }\n contentType={ contentType }\n url={ url }\n headers={ headers }\n getConfigs={ getConfigs }\n getComponent={ getComponent }/>\n : null\n }\n {\n hasHeaders ? <Headers headers={ returnObject }/> : null\n }\n {\n displayRequestDuration && duration ? <Duration duration={ duration } /> : null\n }\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport Im from \"immutable\"\n\nconst SWAGGER2_OPERATION_METHODS = [\n \"get\", \"put\", \"post\", \"delete\", \"options\", \"head\", \"patch\"\n]\n\nconst OAS3_OPERATION_METHODS = SWAGGER2_OPERATION_METHODS.concat([\"trace\"])\n\n\nexport default class Operations extends React.Component {\n\n static propTypes = {\n specSelectors: PropTypes.object.isRequired,\n specActions: PropTypes.object.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n oas3Selectors: PropTypes.func.isRequired,\n layoutSelectors: PropTypes.object.isRequired,\n layoutActions: PropTypes.object.isRequired,\n authActions: PropTypes.object.isRequired,\n authSelectors: PropTypes.object.isRequired,\n getConfigs: PropTypes.func.isRequired,\n fn: PropTypes.func.isRequired\n }\n\n render() {\n let {\n specSelectors,\n } = this.props\n\n const taggedOps = specSelectors.taggedOperations()\n\n if(taggedOps.size === 0) {\n return <h3> No operations defined in spec!</h3>\n }\n\n return (\n <div>\n { taggedOps.map(this.renderOperationTag).toArray() }\n { taggedOps.size < 1 ? <h3> No operations defined in spec! </h3> : null }\n </div>\n )\n }\n\n renderOperationTag = (tagObj, tag) => {\n const {\n specSelectors,\n getComponent,\n oas3Selectors,\n layoutSelectors,\n layoutActions,\n getConfigs,\n } = this.props\n const OperationContainer = getComponent(\"OperationContainer\", true)\n const OperationTag = getComponent(\"OperationTag\")\n const operations = tagObj.get(\"operations\")\n return (\n <OperationTag\n key={\"operation-\" + tag}\n tagObj={tagObj}\n tag={tag}\n oas3Selectors={oas3Selectors}\n layoutSelectors={layoutSelectors}\n layoutActions={layoutActions}\n getConfigs={getConfigs}\n getComponent={getComponent}\n specUrl={specSelectors.url()}>\n <div className=\"operation-tag-content\">\n {\n operations.map(op => {\n const path = op.get(\"path\")\n const method = op.get(\"method\")\n const specPath = Im.List([\"paths\", path, method])\n\n\n // FIXME: (someday) this logic should probably be in a selector,\n // but doing so would require further opening up\n // selectors to the plugin system, to allow for dynamic\n // overriding of low-level selectors that other selectors\n // rely on. --KS, 12/17\n const validMethods = specSelectors.isOAS3() ?\n OAS3_OPERATION_METHODS : SWAGGER2_OPERATION_METHODS\n\n if (validMethods.indexOf(method) === -1) {\n return null\n }\n\n return (\n <OperationContainer\n key={`${path}-${method}`}\n specPath={specPath}\n op={op}\n path={path}\n method={method}\n tag={tag} />\n )\n }).toArray()\n }\n </div>\n </OperationTag>\n )\n }\n\n}\n\nOperations.propTypes = {\n layoutActions: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n specActions: PropTypes.object.isRequired,\n layoutSelectors: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n fn: PropTypes.object.isRequired\n}\n","export function isAbsoluteUrl(url) {\n return url.match(/^(?:[a-z]+:)?\\/\\//i) // Matches http://, HTTP://, https://, ftp://, //example.com,\n}\n\nexport function addProtocol(url) {\n if (!url.match(/^\\/\\//i)) return url // Checks if protocol is missing e.g. //example.com\n\n return `${window.location.protocol}${url}`\n}\n\nexport function buildBaseUrl(selectedServer, specUrl) {\n if (!selectedServer) return specUrl\n if (isAbsoluteUrl(selectedServer)) return addProtocol(selectedServer)\n\n return new URL(selectedServer, specUrl).href\n}\n\nexport function buildUrl(url, specUrl, { selectedServer=\"\" } = {}) {\n if (!url) return undefined\n if (isAbsoluteUrl(url)) return url\n\n const baseUrl = buildBaseUrl(selectedServer, specUrl)\n if (!isAbsoluteUrl(baseUrl)) {\n return new URL(url, window.location.href).href\n }\n return new URL(url, baseUrl).href\n}\n\n/**\n * Safe version of buildUrl function. `selectedServer` can contain server variables\n * which can fail the URL resolution.\n */\nexport function safeBuildUrl(url, specUrl, { selectedServer=\"\" } = {}) {\n try {\n return buildUrl(url, specUrl, { selectedServer })\n } catch {\n return undefined\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport Im from \"immutable\"\nimport { createDeepLinkPath, escapeDeepLinkPath, sanitizeUrl } from \"core/utils\"\nimport { safeBuildUrl } from \"core/utils/url\"\nimport { isFunc } from \"core/utils\"\n\nexport default class OperationTag extends React.Component {\n\n static defaultProps = {\n tagObj: Im.fromJS({}),\n tag: \"\",\n }\n\n static propTypes = {\n tagObj: ImPropTypes.map.isRequired,\n tag: PropTypes.string.isRequired,\n\n oas3Selectors: PropTypes.func.isRequired,\n layoutSelectors: PropTypes.object.isRequired,\n layoutActions: PropTypes.object.isRequired,\n\n getConfigs: PropTypes.func.isRequired,\n getComponent: PropTypes.func.isRequired,\n\n specUrl: PropTypes.string.isRequired,\n\n children: PropTypes.element,\n }\n\n render() {\n const {\n tagObj,\n tag,\n children,\n oas3Selectors,\n layoutSelectors,\n layoutActions,\n getConfigs,\n getComponent,\n specUrl,\n } = this.props\n\n let {\n docExpansion,\n deepLinking,\n } = getConfigs()\n\n const isDeepLinkingEnabled = deepLinking && deepLinking !== \"false\"\n\n const Collapse = getComponent(\"Collapse\")\n const Markdown = getComponent(\"Markdown\", true)\n const DeepLink = getComponent(\"DeepLink\")\n const Link = getComponent(\"Link\")\n\n let tagDescription = tagObj.getIn([\"tagDetails\", \"description\"], null)\n let tagExternalDocsDescription = tagObj.getIn([\"tagDetails\", \"externalDocs\", \"description\"])\n let rawTagExternalDocsUrl = tagObj.getIn([\"tagDetails\", \"externalDocs\", \"url\"])\n let tagExternalDocsUrl\n if (isFunc(oas3Selectors) && isFunc(oas3Selectors.selectedServer)) {\n tagExternalDocsUrl = safeBuildUrl(rawTagExternalDocsUrl, specUrl, { selectedServer: oas3Selectors.selectedServer() })\n } else {\n tagExternalDocsUrl = rawTagExternalDocsUrl\n }\n\n let isShownKey = [\"operations-tag\", tag]\n let showTag = layoutSelectors.isShown(isShownKey, docExpansion === \"full\" || docExpansion === \"list\")\n\n return (\n <div className={showTag ? \"opblock-tag-section is-open\" : \"opblock-tag-section\"} >\n\n <h3\n onClick={() => layoutActions.show(isShownKey, !showTag)}\n className={!tagDescription ? \"opblock-tag no-desc\" : \"opblock-tag\"}\n id={isShownKey.map(v => escapeDeepLinkPath(v)).join(\"-\")}\n data-tag={tag}\n data-is-open={showTag}\n >\n <DeepLink\n enabled={isDeepLinkingEnabled}\n isShown={showTag}\n path={createDeepLinkPath(tag)}\n text={tag} />\n {!tagDescription ? <small></small> :\n <small>\n <Markdown source={tagDescription} />\n </small>\n }\n\n {!tagExternalDocsUrl ? null :\n <div className=\"info__externaldocs\">\n <small>\n <Link\n href={sanitizeUrl(tagExternalDocsUrl)}\n onClick={(e) => e.stopPropagation()}\n target=\"_blank\"\n >{tagExternalDocsDescription || tagExternalDocsUrl}</Link>\n </small>\n </div>\n }\n\n\n <button\n aria-expanded={showTag}\n className=\"expand-operation\"\n title={showTag ? \"Collapse operation\" : \"Expand operation\"}\n onClick={() => layoutActions.show(isShownKey, !showTag)}>\n\n <svg className=\"arrow\" width=\"20\" height=\"20\" aria-hidden=\"true\" focusable=\"false\">\n <use href={showTag ? \"#large-arrow-up\" : \"#large-arrow-down\"} xlinkHref={showTag ? \"#large-arrow-up\" : \"#large-arrow-down\"} />\n </svg>\n </button>\n </h3>\n\n <Collapse isOpened={showTag}>\n {children}\n </Collapse>\n </div>\n )\n }\n}\n","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { getList } from \"core/utils\"\nimport { getExtensions, sanitizeUrl, escapeDeepLinkPath } from \"core/utils\"\nimport { safeBuildUrl } from \"core/utils/url\"\nimport { Iterable, List } from \"immutable\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\n\nexport default class Operation extends PureComponent {\n static propTypes = {\n specPath: ImPropTypes.list.isRequired,\n operation: PropTypes.instanceOf(Iterable).isRequired,\n summary: PropTypes.string,\n response: PropTypes.instanceOf(Iterable),\n request: PropTypes.instanceOf(Iterable),\n\n toggleShown: PropTypes.func.isRequired,\n onTryoutClick: PropTypes.func.isRequired,\n onResetClick: PropTypes.func.isRequired,\n onCancelClick: PropTypes.func.isRequired,\n onExecute: PropTypes.func.isRequired,\n\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n authActions: PropTypes.object,\n authSelectors: PropTypes.object,\n specActions: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n oas3Selectors: PropTypes.object.isRequired,\n layoutActions: PropTypes.object.isRequired,\n layoutSelectors: PropTypes.object.isRequired,\n fn: PropTypes.object.isRequired\n }\n\n static defaultProps = {\n operation: null,\n response: null,\n request: null,\n specPath: List(),\n summary: \"\"\n }\n\n render() {\n let {\n specPath,\n response,\n request,\n toggleShown,\n onTryoutClick,\n onResetClick,\n onCancelClick,\n onExecute,\n fn,\n getComponent,\n getConfigs,\n specActions,\n specSelectors,\n authActions,\n authSelectors,\n oas3Actions,\n oas3Selectors\n } = this.props\n let operationProps = this.props.operation\n\n let {\n deprecated,\n isShown,\n path,\n method,\n op,\n tag,\n operationId,\n allowTryItOut,\n displayRequestDuration,\n tryItOutEnabled,\n executeInProgress\n } = operationProps.toJS()\n\n let {\n description,\n externalDocs,\n schemes\n } = op\n\n const externalDocsUrl = externalDocs ? safeBuildUrl(externalDocs.url, specSelectors.url(), { selectedServer: oas3Selectors.selectedServer() }) : \"\"\n let operation = operationProps.getIn([\"op\"])\n let responses = operation.get(\"responses\")\n let parameters = getList(operation, [\"parameters\"])\n let operationScheme = specSelectors.operationScheme(path, method)\n let isShownKey = [\"operations\", tag, operationId]\n let extensions = getExtensions(operation)\n\n const Responses = getComponent(\"responses\")\n const Parameters = getComponent( \"parameters\" )\n const Execute = getComponent( \"execute\" )\n const Clear = getComponent( \"clear\" )\n const Collapse = getComponent( \"Collapse\" )\n const Markdown = getComponent(\"Markdown\", true)\n const Schemes = getComponent( \"schemes\" )\n const OperationServers = getComponent( \"OperationServers\" )\n const OperationExt = getComponent( \"OperationExt\" )\n const OperationSummary = getComponent( \"OperationSummary\" )\n const Link = getComponent( \"Link\" )\n\n const { showExtensions } = getConfigs()\n\n // Merge in Live Response\n if(responses && response && response.size > 0) {\n let notDocumented = !responses.get(String(response.get(\"status\"))) && !responses.get(\"default\")\n response = response.set(\"notDocumented\", notDocumented)\n }\n\n let onChangeKey = [ path, method ] // Used to add values to _this_ operation ( indexed by path and method )\n\n const validationErrors = specSelectors.validationErrors([path, method])\n\n return (\n <div className={deprecated ? \"opblock opblock-deprecated\" : isShown ? `opblock opblock-${method} is-open` : `opblock opblock-${method}`} id={escapeDeepLinkPath(isShownKey.join(\"-\"))} >\n <OperationSummary operationProps={operationProps} isShown={isShown} toggleShown={toggleShown} getComponent={getComponent} authActions={authActions} authSelectors={authSelectors} specPath={specPath} />\n <Collapse isOpened={isShown}>\n <div className=\"opblock-body\">\n { (operation && operation.size) || operation === null ? null :\n <img height={\"32px\"} width={\"32px\"} src={require(\"core/../img/rolling-load.svg\")} className=\"opblock-loading-animation\" />\n }\n { deprecated && <h4 className=\"opblock-title_normal\"> Warning: Deprecated</h4>}\n { description &&\n <div className=\"opblock-description-wrapper\">\n <div className=\"opblock-description\">\n <Markdown source={ description } />\n </div>\n </div>\n }\n {\n externalDocsUrl ?\n <div className=\"opblock-external-docs-wrapper\">\n <h4 className=\"opblock-title_normal\">Find more details</h4>\n <div className=\"opblock-external-docs\">\n {externalDocs.description &&\n <span className=\"opblock-external-docs__description\">\n <Markdown source={ externalDocs.description } />\n </span> \n }\n <Link target=\"_blank\" className=\"opblock-external-docs__link\" href={sanitizeUrl(externalDocsUrl)}>{externalDocsUrl}</Link>\n </div>\n </div> : null\n }\n\n { !operation || !operation.size ? null :\n <Parameters\n parameters={parameters}\n specPath={specPath.push(\"parameters\")}\n operation={operation}\n onChangeKey={onChangeKey}\n onTryoutClick = { onTryoutClick }\n onResetClick = { onResetClick }\n onCancelClick = { onCancelClick }\n tryItOutEnabled = { tryItOutEnabled }\n allowTryItOut={allowTryItOut}\n\n fn={fn}\n getComponent={ getComponent }\n specActions={ specActions }\n specSelectors={ specSelectors }\n pathMethod={ [path, method] }\n getConfigs={ getConfigs }\n oas3Actions={ oas3Actions }\n oas3Selectors={ oas3Selectors }\n />\n }\n\n { !tryItOutEnabled ? null :\n <OperationServers\n getComponent={getComponent}\n path={path}\n method={method}\n operationServers={operation.get(\"servers\")}\n pathServers={specSelectors.paths().getIn([path, \"servers\"])}\n getSelectedServer={oas3Selectors.selectedServer}\n setSelectedServer={oas3Actions.setSelectedServer}\n setServerVariableValue={oas3Actions.setServerVariableValue}\n getServerVariable={oas3Selectors.serverVariableValue}\n getEffectiveServerValue={oas3Selectors.serverEffectiveValue}\n />\n }\n\n {!tryItOutEnabled || !allowTryItOut ? null : schemes && schemes.size ? <div className=\"opblock-schemes\">\n <Schemes schemes={ schemes }\n path={ path }\n method={ method }\n specActions={ specActions }\n currentScheme={ operationScheme } />\n </div> : null\n }\n\n { !tryItOutEnabled || !allowTryItOut || validationErrors.length <= 0 ? null : <div className=\"validation-errors errors-wrapper\">\n Please correct the following validation errors and try again.\n <ul>\n { validationErrors.map((error, index) => <li key={index}> { error } </li>) }\n </ul>\n </div>\n }\n\n <div className={(!tryItOutEnabled || !response || !allowTryItOut) ? \"execute-wrapper\" : \"btn-group\"}>\n { !tryItOutEnabled || !allowTryItOut ? null :\n\n <Execute\n operation={ operation }\n specActions={ specActions }\n specSelectors={ specSelectors }\n oas3Selectors={ oas3Selectors }\n oas3Actions={ oas3Actions }\n path={ path }\n method={ method }\n onExecute={ onExecute }\n disabled={executeInProgress}/>\n }\n\n { (!tryItOutEnabled || !response || !allowTryItOut) ? null :\n <Clear\n specActions={ specActions }\n path={ path }\n method={ method }/>\n }\n </div>\n\n {executeInProgress ? <div className=\"loading-container\"><div className=\"loading\"></div></div> : null}\n\n { !responses ? null :\n <Responses\n responses={ responses }\n request={ request }\n tryItOutResponse={ response }\n getComponent={ getComponent }\n getConfigs={ getConfigs }\n specSelectors={ specSelectors }\n oas3Actions={oas3Actions}\n oas3Selectors={oas3Selectors}\n specActions={ specActions }\n produces={specSelectors.producesOptionsFor([path, method]) }\n producesValue={ specSelectors.currentProducesFor([path, method]) }\n specPath={specPath.push(\"responses\")}\n path={ path }\n method={ method }\n displayRequestDuration={ displayRequestDuration }\n fn={fn} />\n }\n\n { !showExtensions || !extensions.size ? null :\n <OperationExt extensions={ extensions } getComponent={ getComponent } />\n }\n </div>\n </Collapse>\n </div>\n )\n }\n\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_toString_da931f05__[\"default\"] });","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { Iterable, List } from \"immutable\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport toString from \"lodash/toString\"\n\n\nexport default class OperationSummary extends PureComponent {\n\n static propTypes = {\n specPath: ImPropTypes.list.isRequired,\n operationProps: PropTypes.instanceOf(Iterable).isRequired,\n isShown: PropTypes.bool.isRequired,\n toggleShown: PropTypes.func.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n authActions: PropTypes.object,\n authSelectors: PropTypes.object,\n }\n\n static defaultProps = {\n operationProps: null,\n specPath: List(),\n summary: \"\"\n }\n\n render() {\n\n let {\n isShown,\n toggleShown,\n getComponent,\n authActions,\n authSelectors,\n operationProps,\n specPath,\n } = this.props\n\n let {\n summary,\n isAuthorized,\n method,\n op,\n showSummary,\n path,\n operationId,\n originalOperationId,\n displayOperationId,\n } = operationProps.toJS()\n\n let {\n summary: resolvedSummary,\n } = op\n\n let security = operationProps.get(\"security\")\n\n const AuthorizeOperationBtn = getComponent(\"authorizeOperationBtn\")\n const OperationSummaryMethod = getComponent(\"OperationSummaryMethod\")\n const OperationSummaryPath = getComponent(\"OperationSummaryPath\")\n const JumpToPath = getComponent(\"JumpToPath\", true)\n const CopyToClipboardBtn = getComponent(\"CopyToClipboardBtn\", true)\n\n const hasSecurity = security && !!security.count()\n const securityIsOptional = hasSecurity && security.size === 1 && security.first().isEmpty()\n const allowAnonymous = !hasSecurity || securityIsOptional\n return (\n <div className={`opblock-summary opblock-summary-${method}`} >\n <button\n aria-label={`${method} ${path.replace(/\\//g, \"\\u200b/\")}`}\n aria-expanded={isShown}\n className=\"opblock-summary-control\"\n onClick={toggleShown}\n >\n <OperationSummaryMethod method={method} />\n <OperationSummaryPath getComponent={getComponent} operationProps={operationProps} specPath={specPath} />\n\n {!showSummary ? null :\n <div className=\"opblock-summary-description\">\n {toString(resolvedSummary || summary)}\n </div>\n }\n\n {displayOperationId && (originalOperationId || operationId) ? <span className=\"opblock-summary-operation-id\">{originalOperationId || operationId}</span> : null}\n\n <svg className=\"arrow\" width=\"20\" height=\"20\" aria-hidden=\"true\" focusable=\"false\">\n <use href={isShown ? \"#large-arrow-up\" : \"#large-arrow-down\"} xlinkHref={isShown ? \"#large-arrow-up\" : \"#large-arrow-down\"} />\n </svg>\n </button>\n\n {\n allowAnonymous ? null :\n <AuthorizeOperationBtn\n isAuthorized={isAuthorized}\n onClick={() => {\n const applicableDefinitions = authSelectors.definitionsForRequirements(security)\n authActions.showDefinitions(applicableDefinitions)\n }}\n />\n }\n <CopyToClipboardBtn textToCopy={`${specPath.get(1)}`} />\n <JumpToPath path={specPath} />{/* TODO: use wrapComponents here, swagger-ui doesn't care about jumpToPath */}\n </div>\n )\n\n }\n}\n","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { Iterable } from \"immutable\"\n\nexport default class OperationSummaryMethod extends PureComponent {\n\n static propTypes = {\n operationProps: PropTypes.instanceOf(Iterable).isRequired,\n method: PropTypes.string.isRequired,\n }\n\n static defaultProps = {\n operationProps: null,\n }\n render() {\n\n let {\n method,\n } = this.props\n\n return (\n <span className=\"opblock-summary-method\">{method.toUpperCase()}</span>\n )\n }\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_splice_d746fc5e__[\"default\"] });","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { Iterable } from \"immutable\"\nimport { createDeepLinkPath } from \"core/utils\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nexport default class OperationSummaryPath extends PureComponent{\n\n static propTypes = {\n specPath: ImPropTypes.list.isRequired,\n operationProps: PropTypes.instanceOf(Iterable).isRequired,\n getComponent: PropTypes.func.isRequired,\n }\n\n render(){\n let {\n getComponent,\n operationProps,\n } = this.props\n\n\n let {\n deprecated,\n isShown,\n path,\n tag,\n operationId,\n isDeepLinkingEnabled,\n } = operationProps.toJS()\n\n /**\n * Add <wbr> word-break elements between each segment, before the slash\n * to allow browsers an opportunity to break long paths into sensible segments.\n */\n const pathParts = path.split(/(?=\\/)/g)\n for (let i = 1; i < pathParts.length; i += 2) {\n pathParts.splice(i, 0, <wbr key={i} />)\n }\n\n const DeepLink = getComponent( \"DeepLink\" )\n\n return(\n <span className={ deprecated ? \"opblock-summary-path__deprecated\" : \"opblock-summary-path\" }\n data-path={path}>\n <DeepLink\n enabled={isDeepLinkingEnabled}\n isShown={isShown}\n path={createDeepLinkPath(`${tag}/${operationId}`)}\n text={pathParts} />\n </span>\n\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport const OperationExt = ({ extensions, getComponent }) => {\n let OperationExtRow = getComponent(\"OperationExtRow\")\n return (\n <div className=\"opblock-section\">\n <div className=\"opblock-section-header\">\n <h4>Extensions</h4>\n </div>\n <div className=\"table-container\">\n\n <table>\n <thead>\n <tr>\n <td className=\"col_header\">Field</td>\n <td className=\"col_header\">Value</td>\n </tr>\n </thead>\n <tbody>\n {\n extensions.entrySeq().map(([k, v]) => <OperationExtRow key={`${k}-${v}`} xKey={k} xVal={v} />)\n }\n </tbody>\n </table>\n </div>\n </div>\n )\n}\nOperationExt.propTypes = {\n extensions: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired\n}\n\nexport default OperationExt\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport const OperationExtRow = ({ xKey, xVal }) => {\n const xNormalizedValue = !xVal ? null : xVal.toJS ? xVal.toJS() : xVal\n\n return (<tr>\n <td>{ xKey }</td>\n <td>{ JSON.stringify(xNormalizedValue) }</td>\n </tr>)\n}\nOperationExtRow.propTypes = {\n xKey: PropTypes.string,\n xVal: PropTypes.any\n}\n\nexport default OperationExtRow\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_js_file_download_bd23dbb6__[\"default\"] });","import React, { useRef, useEffect } from \"react\"\nimport PropTypes from \"prop-types\"\nimport cx from \"classnames\"\nimport {SyntaxHighlighter, getStyle} from \"core/syntax-highlighting\"\nimport get from \"lodash/get\"\nimport isFunction from \"lodash/isFunction\"\nimport saveAs from \"js-file-download\"\nimport { CopyToClipboard } from \"react-copy-to-clipboard\"\n\nconst HighlightCode = ({value, fileName, className, downloadable, getConfigs, canCopy, language}) => {\n const config = isFunction(getConfigs) ? getConfigs() : null\n const canSyntaxHighlight = get(config, \"syntaxHighlight\") !== false && get(config, \"syntaxHighlight.activated\", true)\n const rootRef = useRef(null)\n\n useEffect(() => {\n const childNodes = Array\n .from(rootRef.current.childNodes)\n .filter(node => !!node.nodeType && node.classList.contains(\"microlight\"))\n\n // eslint-disable-next-line no-use-before-define\n childNodes.forEach(node => node.addEventListener(\"mousewheel\", handlePreventYScrollingBeyondElement, { passive: false }))\n\n return () => {\n // eslint-disable-next-line no-use-before-define\n childNodes.forEach(node => node.removeEventListener(\"mousewheel\", handlePreventYScrollingBeyondElement))\n }\n }, [value, className, language])\n\n const handleDownload = () => {\n saveAs(value, fileName)\n }\n\n const handlePreventYScrollingBeyondElement = (e) => {\n const { target, deltaY } = e\n const { scrollHeight: contentHeight, offsetHeight: visibleHeight, scrollTop } = target\n const scrollOffset = visibleHeight + scrollTop\n const isElementScrollable = contentHeight > visibleHeight\n const isScrollingPastTop = scrollTop === 0 && deltaY < 0\n const isScrollingPastBottom = scrollOffset >= contentHeight && deltaY > 0\n\n if (isElementScrollable && (isScrollingPastTop || isScrollingPastBottom)) {\n e.preventDefault()\n }\n }\n\n return (\n <div className=\"highlight-code\" ref={rootRef}>\n {!downloadable ? null :\n <div className=\"download-contents\" onClick={handleDownload}>\n Download\n </div>\n }\n\n {canCopy && (\n <div className=\"copy-to-clipboard\">\n <CopyToClipboard text={value}><button/></CopyToClipboard>\n </div>\n )}\n\n {canSyntaxHighlight\n ? <SyntaxHighlighter\n language={language}\n className={cx(className, \"microlight\")}\n style={getStyle(get(config, \"syntaxHighlight.theme\", \"agate\"))}\n >\n {value}\n </SyntaxHighlighter>\n : <pre className={cx(className, \"microlight\")}>{value}</pre>\n }\n\n </div>\n )\n}\n\nHighlightCode.propTypes = {\n value: PropTypes.string.isRequired,\n getConfigs: PropTypes.func.isRequired,\n className: PropTypes.string,\n downloadable: PropTypes.bool,\n fileName: PropTypes.string,\n language: PropTypes.string,\n canCopy: PropTypes.bool\n}\n\nHighlightCode.defaultProps = {\n fileName: \"response.txt\"\n}\n\nexport default HighlightCode\n","import React from \"react\"\nimport { fromJS, Iterable } from \"immutable\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { defaultStatusCode, getAcceptControllingResponse } from \"core/utils\"\nimport createHtmlReadyId from \"../../helpers/create-html-ready-id\"\n\nexport default class Responses extends React.Component {\n static propTypes = {\n tryItOutResponse: PropTypes.instanceOf(Iterable),\n responses: PropTypes.instanceOf(Iterable).isRequired,\n produces: PropTypes.instanceOf(Iterable),\n producesValue: PropTypes.any,\n displayRequestDuration: PropTypes.bool.isRequired,\n path: PropTypes.string.isRequired,\n method: PropTypes.string.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n specActions: PropTypes.object.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n oas3Selectors: PropTypes.object.isRequired,\n specPath: ImPropTypes.list.isRequired,\n fn: PropTypes.object.isRequired\n }\n\n static defaultProps = {\n tryItOutResponse: null,\n produces: fromJS([\"application/json\"]),\n displayRequestDuration: false\n }\n\n // These performance-enhancing checks were disabled as part of Multiple Examples\n // because they were causing data-consistency issues\n //\n // shouldComponentUpdate(nextProps) {\n // // BUG: props.tryItOutResponse is always coming back as a new Immutable instance\n // let render = this.props.tryItOutResponse !== nextProps.tryItOutResponse\n // || this.props.responses !== nextProps.responses\n // || this.props.produces !== nextProps.produces\n // || this.props.producesValue !== nextProps.producesValue\n // || this.props.displayRequestDuration !== nextProps.displayRequestDuration\n // || this.props.path !== nextProps.path\n // || this.props.method !== nextProps.method\n // return render\n // }\n\n\tonChangeProducesWrapper = ( val ) => this.props.specActions.changeProducesValue([this.props.path, this.props.method], val)\n\n onResponseContentTypeChange = ({ controlsAcceptHeader, value }) => {\n const { oas3Actions, path, method } = this.props\n if(controlsAcceptHeader) {\n oas3Actions.setResponseContentType({\n value,\n path,\n method\n })\n }\n }\n\n render() {\n let {\n responses,\n tryItOutResponse,\n getComponent,\n getConfigs,\n specSelectors,\n fn,\n producesValue,\n displayRequestDuration,\n specPath,\n path,\n method,\n oas3Selectors,\n oas3Actions,\n } = this.props\n let defaultCode = defaultStatusCode( responses )\n\n const ContentType = getComponent( \"contentType\" )\n const LiveResponse = getComponent( \"liveResponse\" )\n const Response = getComponent( \"response\" )\n\n let produces = this.props.produces && this.props.produces.size ? this.props.produces : Responses.defaultProps.produces\n\n const isSpecOAS3 = specSelectors.isOAS3()\n\n const acceptControllingResponse = isSpecOAS3 ?\n getAcceptControllingResponse(responses) : null\n\n const regionId = createHtmlReadyId(`${method}${path}_responses`)\n const controlId = `${regionId}_select`\n\n return (\n <div className=\"responses-wrapper\">\n <div className=\"opblock-section-header\">\n <h4>Responses</h4>\n { specSelectors.isOAS3() ? null : <label htmlFor={controlId}>\n <span>Response content type</span>\n <ContentType value={producesValue}\n ariaControls={regionId}\n ariaLabel=\"Response content type\"\n className=\"execute-content-type\"\n contentTypes={produces}\n controlId={controlId}\n onChange={this.onChangeProducesWrapper} />\n </label> }\n </div>\n <div className=\"responses-inner\">\n {\n !tryItOutResponse ? null\n : <div>\n <LiveResponse response={ tryItOutResponse }\n getComponent={ getComponent }\n getConfigs={ getConfigs }\n specSelectors={ specSelectors }\n path={ this.props.path }\n method={ this.props.method }\n displayRequestDuration={ displayRequestDuration } />\n <h4>Responses</h4>\n </div>\n\n }\n\n <table aria-live=\"polite\" className=\"responses-table\" id={regionId} role=\"region\">\n <thead>\n <tr className=\"responses-header\">\n <td className=\"col_header response-col_status\">Code</td>\n <td className=\"col_header response-col_description\">Description</td>\n { specSelectors.isOAS3() ? <td className=\"col col_header response-col_links\">Links</td> : null }\n </tr>\n </thead>\n <tbody>\n {\n responses.entrySeq().map( ([code, response]) => {\n\n let className = tryItOutResponse && tryItOutResponse.get(\"status\") == code ? \"response_current\" : \"\"\n return (\n <Response key={ code }\n path={path}\n method={method}\n specPath={specPath.push(code)}\n isDefault={defaultCode === code}\n fn={fn}\n className={ className }\n code={ code }\n response={ response }\n specSelectors={ specSelectors }\n controlsAcceptHeader={response === acceptControllingResponse}\n onContentTypeChange={this.onResponseContentTypeChange}\n contentType={ producesValue }\n getConfigs={ getConfigs }\n activeExamplesKey={oas3Selectors.activeExamplesMember(\n path,\n method,\n \"responses\",\n code\n )}\n oas3Actions={oas3Actions}\n getComponent={ getComponent }/>\n )\n }).toArray()\n }\n </tbody>\n </table>\n </div>\n </div>\n )\n }\n}\n","/**\n * Replace invalid characters from a string to create an html-ready ID\n *\n * @param {string} id A string that may contain invalid characters for the HTML ID attribute\n * @param {string} [replacement=_] The string to replace invalid characters with; \"_\" by default\n * @return {string} Information about the parameter schema\n */\nexport default function createHtmlReadyId(id, replacement = \"_\") {\n return id.replace(/[^\\w-]/g, replacement)\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_values_a68750d2__[\"default\"] });","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport cx from \"classnames\"\nimport { fromJS, Seq, Iterable, List, Map } from \"immutable\"\nimport { getExtensions, getSampleSchema, fromJSOrdered, stringify } from \"core/utils\"\nimport { getKnownSyntaxHighlighterLanguage } from \"core/utils/jsonParse\"\n\n\nconst getExampleComponent = ( sampleResponse, HighlightCode, getConfigs ) => {\n if (\n sampleResponse !== undefined &&\n sampleResponse !== null\n ) {\n let language = null\n let testValueForJson = getKnownSyntaxHighlighterLanguage(sampleResponse)\n if (testValueForJson) {\n language = \"json\"\n }\n return <div>\n <HighlightCode className=\"example\" getConfigs={ getConfigs } language={ language } value={ stringify(sampleResponse) } />\n </div>\n }\n return null\n}\n\nexport default class Response extends React.Component {\n constructor(props, context) {\n super(props, context)\n\n this.state = {\n responseContentType: \"\",\n }\n }\n\n static propTypes = {\n path: PropTypes.string.isRequired,\n method: PropTypes.string.isRequired,\n code: PropTypes.string.isRequired,\n response: PropTypes.instanceOf(Iterable),\n className: PropTypes.string,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n specPath: ImPropTypes.list.isRequired,\n fn: PropTypes.object.isRequired,\n contentType: PropTypes.string,\n activeExamplesKey: PropTypes.string,\n controlsAcceptHeader: PropTypes.bool,\n onContentTypeChange: PropTypes.func\n }\n\n static defaultProps = {\n response: fromJS({}),\n onContentTypeChange: () => {}\n }\n\n _onContentTypeChange = (value) => {\n const { onContentTypeChange, controlsAcceptHeader } = this.props\n this.setState({ responseContentType: value })\n onContentTypeChange({\n value: value,\n controlsAcceptHeader\n })\n }\n\n getTargetExamplesKey = () => {\n const { response, contentType, activeExamplesKey } = this.props\n\n const activeContentType = this.state.responseContentType || contentType\n const activeMediaType = response.getIn([\"content\", activeContentType], Map({}))\n const examplesForMediaType = activeMediaType.get(\"examples\", null)\n\n const firstExamplesKey = examplesForMediaType.keySeq().first()\n return activeExamplesKey || firstExamplesKey\n }\n\n render() {\n let {\n path,\n method,\n code,\n response,\n className,\n specPath,\n fn,\n getComponent,\n getConfigs,\n specSelectors,\n contentType,\n controlsAcceptHeader,\n oas3Actions,\n } = this.props\n\n let { inferSchema } = fn\n let isOAS3 = specSelectors.isOAS3()\n const { showExtensions } = getConfigs()\n\n let extensions = showExtensions ? getExtensions(response) : null\n let headers = response.get(\"headers\")\n let links = response.get(\"links\")\n const ResponseExtension = getComponent(\"ResponseExtension\")\n const Headers = getComponent(\"headers\")\n const HighlightCode = getComponent(\"highlightCode\")\n const ModelExample = getComponent(\"modelExample\")\n const Markdown = getComponent(\"Markdown\", true)\n const OperationLink = getComponent(\"operationLink\")\n const ContentType = getComponent(\"contentType\")\n const ExamplesSelect = getComponent(\"ExamplesSelect\")\n const Example = getComponent(\"Example\")\n\n\n var schema, specPathWithPossibleSchema\n\n const activeContentType = this.state.responseContentType || contentType\n const activeMediaType = response.getIn([\"content\", activeContentType], Map({}))\n const examplesForMediaType = activeMediaType.get(\"examples\", null)\n\n // Goal: find a schema value for `schema`\n if(isOAS3) {\n const oas3SchemaForContentType = activeMediaType.get(\"schema\")\n\n schema = oas3SchemaForContentType ? inferSchema(oas3SchemaForContentType.toJS()) : null\n specPathWithPossibleSchema = oas3SchemaForContentType ? List([\"content\", this.state.responseContentType, \"schema\"]) : specPath\n } else {\n schema = response.get(\"schema\")\n specPathWithPossibleSchema = response.has(\"schema\") ? specPath.push(\"schema\") : specPath\n }\n\n let mediaTypeExample\n let shouldOverrideSchemaExample = false\n let sampleSchema\n let sampleGenConfig = {\n includeReadOnly: true\n }\n\n // Goal: find an example value for `sampleResponse`\n if(isOAS3) {\n sampleSchema = activeMediaType.get(\"schema\")?.toJS()\n if(examplesForMediaType) {\n const targetExamplesKey = this.getTargetExamplesKey()\n const targetExample = examplesForMediaType\n .get(targetExamplesKey, Map({}))\n const getMediaTypeExample = (targetExample) =>\n targetExample.get(\"value\")\n mediaTypeExample = getMediaTypeExample(targetExample)\n if(mediaTypeExample === undefined) {\n mediaTypeExample = getMediaTypeExample(examplesForMediaType.values().next().value)\n }\n shouldOverrideSchemaExample = true\n } else if(activeMediaType.get(\"example\") !== undefined) {\n // use the example key's value\n mediaTypeExample = activeMediaType.get(\"example\")\n shouldOverrideSchemaExample = true\n }\n } else {\n sampleSchema = schema\n sampleGenConfig = {...sampleGenConfig, includeWriteOnly: true}\n const oldOASMediaTypeExample = response.getIn([\"examples\", activeContentType])\n if(oldOASMediaTypeExample) {\n mediaTypeExample = oldOASMediaTypeExample\n shouldOverrideSchemaExample = true\n }\n }\n\n const sampleResponse = getSampleSchema(\n sampleSchema,\n activeContentType,\n sampleGenConfig,\n shouldOverrideSchemaExample ? mediaTypeExample : undefined\n )\n\n let example = getExampleComponent( sampleResponse, HighlightCode, getConfigs )\n\n return (\n <tr className={ \"response \" + ( className || \"\") } data-code={code}>\n <td className=\"response-col_status\">\n { code }\n </td>\n <td className=\"response-col_description\">\n\n <div className=\"response-col_description__inner\">\n <Markdown source={ response.get( \"description\" ) } />\n </div>\n\n { !showExtensions || !extensions.size ? null : extensions.entrySeq().map(([key, v]) => <ResponseExtension key={`${key}-${v}`} xKey={key} xVal={v} /> )}\n\n {isOAS3 && response.get(\"content\") ? (\n <section className=\"response-controls\">\n <div\n className={cx(\"response-control-media-type\", {\n \"response-control-media-type--accept-controller\": controlsAcceptHeader\n })}\n >\n <small className=\"response-control-media-type__title\">\n Media type\n </small>\n <ContentType\n value={this.state.responseContentType}\n contentTypes={\n response.get(\"content\")\n ? response.get(\"content\").keySeq()\n : Seq()\n }\n onChange={this._onContentTypeChange}\n ariaLabel=\"Media Type\"\n />\n {controlsAcceptHeader ? (\n <small className=\"response-control-media-type__accept-message\">\n Controls <code>Accept</code> header.\n </small>\n ) : null}\n </div>\n {examplesForMediaType ? (\n <div className=\"response-control-examples\">\n <small className=\"response-control-examples__title\">\n Examples\n </small>\n <ExamplesSelect\n examples={examplesForMediaType}\n currentExampleKey={this.getTargetExamplesKey()}\n onSelect={key =>\n oas3Actions.setActiveExamplesMember({\n name: key,\n pathMethod: [path, method],\n contextType: \"responses\",\n contextName: code\n })\n }\n showLabels={false}\n />\n </div>\n ) : null}\n </section>\n ) : null}\n\n { example || schema ? (\n <ModelExample\n specPath={specPathWithPossibleSchema}\n getComponent={ getComponent }\n getConfigs={ getConfigs }\n specSelectors={ specSelectors }\n schema={ fromJSOrdered(schema) }\n example={ example }\n includeReadOnly={ true }/>\n ) : null }\n\n { isOAS3 && examplesForMediaType ? (\n <Example\n example={examplesForMediaType.get(this.getTargetExamplesKey(), Map({}))}\n getComponent={getComponent}\n getConfigs={getConfigs}\n omitValue={true}\n />\n ) : null}\n\n { headers ? (\n <Headers\n headers={ headers }\n getComponent={ getComponent }\n />\n ) : null}\n\n </td>\n {isOAS3 ? <td className=\"response-col_links\">\n { links ?\n links.toSeq().entrySeq().map(([key, link]) => {\n return <OperationLink key={key} name={key} link={ link } getComponent={getComponent}/>\n })\n : <i>No links</i>}\n </td> : null}\n </tr>\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport const ResponseExtension = ({ xKey, xVal }) => {\n return <div className=\"response__extension\">{ xKey }: { String(xVal) }</div>\n}\nResponseExtension.propTypes = {\n xKey: PropTypes.string,\n xVal: PropTypes.any\n}\n\nexport default ResponseExtension\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_xml_but_prettier_2ed4d5cb__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_toLower_c29ee2b0__[\"default\"] });","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport formatXml from \"xml-but-prettier\"\nimport toLower from \"lodash/toLower\"\nimport { extractFileNameFromContentDispositionHeader } from \"core/utils\"\nimport { getKnownSyntaxHighlighterLanguage } from \"core/utils/jsonParse\"\nimport win from \"core/window\"\n\nexport default class ResponseBody extends React.PureComponent {\n state = {\n parsedContent: null\n }\n\n static propTypes = {\n content: PropTypes.any.isRequired,\n contentType: PropTypes.string,\n getConfigs: PropTypes.func.isRequired,\n getComponent: PropTypes.func.isRequired,\n headers: PropTypes.object,\n url: PropTypes.string\n }\n\n updateParsedContent = (prevContent) => {\n const { content } = this.props\n\n if(prevContent === content) {\n return\n }\n\n if(content && content instanceof Blob) {\n var reader = new FileReader()\n reader.onload = () => {\n this.setState({\n parsedContent: reader.result\n })\n }\n reader.readAsText(content)\n } else {\n this.setState({\n parsedContent: content.toString()\n })\n }\n }\n\n componentDidMount() {\n this.updateParsedContent(null)\n }\n\n componentDidUpdate(prevProps) {\n this.updateParsedContent(prevProps.content)\n }\n\n render() {\n let { content, contentType, url, headers={}, getConfigs, getComponent } = this.props\n const { parsedContent } = this.state\n const HighlightCode = getComponent(\"highlightCode\")\n const downloadName = \"response_\" + new Date().getTime()\n let body, bodyEl\n url = url || \"\"\n\n if (\n (/^application\\/octet-stream/i.test(contentType) ||\n (headers[\"Content-Disposition\"] && /attachment/i.test(headers[\"Content-Disposition\"])) ||\n (headers[\"content-disposition\"] && /attachment/i.test(headers[\"content-disposition\"])) ||\n (headers[\"Content-Description\"] && /File Transfer/i.test(headers[\"Content-Description\"])) ||\n (headers[\"content-description\"] && /File Transfer/i.test(headers[\"content-description\"]))) &&\n content.size > 0\n ) {\n // Download\n\n if (\"Blob\" in window) {\n let type = contentType || \"text/html\"\n let blob = (content instanceof Blob) ? content : new Blob([content], {type: type})\n let href = window.URL.createObjectURL(blob)\n let fileName = url.substr(url.lastIndexOf(\"/\") + 1)\n let download = [type, fileName, href].join(\":\")\n\n // Use filename from response header,\n // First check if filename is quoted (e.g. contains space), if no, fallback to not quoted check\n let disposition = headers[\"content-disposition\"] || headers[\"Content-Disposition\"]\n if (typeof disposition !== \"undefined\") {\n let responseFilename = extractFileNameFromContentDispositionHeader(disposition)\n if (responseFilename !== null) {\n download = responseFilename\n }\n }\n\n if(win.navigator && win.navigator.msSaveOrOpenBlob) {\n bodyEl = <div><a href={ href } onClick={() => win.navigator.msSaveOrOpenBlob(blob, download)}>{ \"Download file\" }</a></div>\n } else {\n bodyEl = <div><a href={ href } download={ download }>{ \"Download file\" }</a></div>\n }\n } else {\n bodyEl = <pre className=\"microlight\">Download headers detected but your browser does not support downloading binary via XHR (Blob).</pre>\n }\n\n // Anything else (CORS)\n } else if (/json/i.test(contentType)) {\n // JSON\n let language = null\n let testValueForJson = getKnownSyntaxHighlighterLanguage(content)\n if (testValueForJson) {\n language = \"json\"\n }\n try {\n body = JSON.stringify(JSON.parse(content), null, \" \")\n } catch (error) {\n body = \"can't parse JSON. Raw result:\\n\\n\" + content\n }\n\n bodyEl = <HighlightCode language={language} downloadable fileName={`${downloadName}.json`} value={ body } getConfigs={ getConfigs } canCopy />\n\n // XML\n } else if (/xml/i.test(contentType)) {\n body = formatXml(content, {\n textNodesOnSameLine: true,\n indentor: \" \"\n })\n bodyEl = <HighlightCode downloadable fileName={`${downloadName}.xml`} value={ body } getConfigs={ getConfigs } canCopy />\n\n // HTML or Plain Text\n } else if (toLower(contentType) === \"text/html\" || /text\\/plain/.test(contentType)) {\n bodyEl = <HighlightCode downloadable fileName={`${downloadName}.html`} value={ content } getConfigs={ getConfigs } canCopy />\n\n // CSV\n } else if (toLower(contentType) === \"text/csv\" || /text\\/csv/.test(contentType)) {\n bodyEl = <HighlightCode downloadable fileName={`${downloadName}.csv`} value={ content } getConfigs={ getConfigs } canCopy />\n\n // Image\n } else if (/^image\\//i.test(contentType)) {\n if(contentType.includes(\"svg\")) {\n bodyEl = <div> { content } </div>\n } else {\n bodyEl = <img src={ window.URL.createObjectURL(content) } />\n }\n\n // Audio\n } else if (/^audio\\//i.test(contentType)) {\n bodyEl = <pre className=\"microlight\"><audio controls key={ url }><source src={ url } type={ contentType } /></audio></pre>\n } else if (typeof content === \"string\") {\n bodyEl = <HighlightCode downloadable fileName={`${downloadName}.txt`} value={ content } getConfigs={ getConfigs } canCopy />\n } else if ( content.size > 0 ) {\n // We don't know the contentType, but there was some content returned\n if(parsedContent) {\n // We were able to squeeze something out of content\n // in `updateParsedContent`, so let's display it\n bodyEl = <div>\n <p className=\"i\">\n Unrecognized response type; displaying content as text.\n </p>\n <HighlightCode downloadable fileName={`${downloadName}.txt`} value={ parsedContent } getConfigs={ getConfigs } canCopy />\n </div>\n\n } else {\n // Give up\n bodyEl = <p className=\"i\">\n Unrecognized response type; unable to display.\n </p>\n }\n } else {\n // We don't know the contentType and there was no content returned\n bodyEl = null\n }\n\n return ( !bodyEl ? null : <div>\n <h5>Response body</h5>\n { bodyEl }\n </div>\n )\n }\n}\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { Map, List } from \"immutable\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nexport default class Parameters extends Component {\n\n constructor(props) {\n super(props)\n this.state = {\n callbackVisible: false,\n parametersVisible: true,\n }\n }\n\n static propTypes = {\n parameters: ImPropTypes.list.isRequired,\n operation: PropTypes.object.isRequired,\n specActions: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n oas3Selectors: PropTypes.object.isRequired,\n fn: PropTypes.object.isRequired,\n tryItOutEnabled: PropTypes.bool,\n allowTryItOut: PropTypes.bool,\n onTryoutClick: PropTypes.func,\n onResetClick: PropTypes.func,\n onCancelClick: PropTypes.func,\n onChangeKey: PropTypes.array,\n pathMethod: PropTypes.array.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specPath: ImPropTypes.list.isRequired,\n }\n\n\n static defaultProps = {\n onTryoutClick: Function.prototype,\n onCancelClick: Function.prototype,\n tryItOutEnabled: false,\n allowTryItOut: true,\n onChangeKey: [],\n specPath: [],\n }\n\n onChange = (param, value, isXml) => {\n let {\n specActions: { changeParamByIdentity },\n onChangeKey,\n } = this.props\n\n changeParamByIdentity(onChangeKey, param, value, isXml)\n }\n\n onChangeConsumesWrapper = (val) => {\n let {\n specActions: { changeConsumesValue },\n onChangeKey,\n } = this.props\n\n changeConsumesValue(onChangeKey, val)\n }\n\n toggleTab = (tab) => {\n if (tab === \"parameters\") {\n return this.setState({\n parametersVisible: true,\n callbackVisible: false,\n })\n } else if (tab === \"callbacks\") {\n return this.setState({\n callbackVisible: true,\n parametersVisible: false,\n })\n }\n }\n \n onChangeMediaType = ({ value, pathMethod }) => {\n let { specActions, oas3Selectors, oas3Actions } = this.props\n const userHasEditedBody = oas3Selectors.hasUserEditedBody(...pathMethod)\n const shouldRetainRequestBodyValue = oas3Selectors.shouldRetainRequestBodyValue(...pathMethod)\n oas3Actions.setRequestContentType({ value, pathMethod })\n oas3Actions.initRequestBodyValidateError({ pathMethod })\n if (!userHasEditedBody) {\n if(!shouldRetainRequestBodyValue) {\n oas3Actions.setRequestBodyValue({ value: undefined, pathMethod })\n }\n specActions.clearResponse(...pathMethod)\n specActions.clearRequest(...pathMethod)\n specActions.clearValidateParams(pathMethod)\n }\n }\n\n render() {\n\n let {\n onTryoutClick,\n onResetClick,\n parameters,\n allowTryItOut,\n tryItOutEnabled,\n specPath,\n fn,\n getComponent,\n getConfigs,\n specSelectors,\n specActions,\n pathMethod,\n oas3Actions,\n oas3Selectors,\n operation,\n } = this.props\n\n const ParameterRow = getComponent(\"parameterRow\")\n const TryItOutButton = getComponent(\"TryItOutButton\")\n const ContentType = getComponent(\"contentType\")\n const Callbacks = getComponent(\"Callbacks\", true)\n const RequestBody = getComponent(\"RequestBody\", true)\n\n const isExecute = tryItOutEnabled && allowTryItOut\n const isOAS3 = specSelectors.isOAS3()\n\n\n const requestBody = operation.get(\"requestBody\")\n\n const groupedParametersArr = Object.values(parameters\n .reduce((acc, x) => {\n const key = x.get(\"in\")\n acc[key] ??= []\n acc[key].push(x)\n return acc\n }, {}))\n .reduce((acc, x) => acc.concat(x), [])\n\n const retainRequestBodyValueFlagForOperation = (f) => oas3Actions.setRetainRequestBodyValueFlag({ value: f, pathMethod })\n return (\n <div className=\"opblock-section\">\n <div className=\"opblock-section-header\">\n {isOAS3 ? (\n <div className=\"tab-header\">\n <div onClick={() => this.toggleTab(\"parameters\")}\n className={`tab-item ${this.state.parametersVisible && \"active\"}`}>\n <h4 className=\"opblock-title\"><span>Parameters</span></h4>\n </div>\n {operation.get(\"callbacks\") ?\n (\n <div onClick={() => this.toggleTab(\"callbacks\")}\n className={`tab-item ${this.state.callbackVisible && \"active\"}`}>\n <h4 className=\"opblock-title\"><span>Callbacks</span></h4>\n </div>\n ) : null\n }\n </div>\n ) : (\n <div className=\"tab-header\">\n <h4 className=\"opblock-title\">Parameters</h4>\n </div>\n )}\n {allowTryItOut ? (\n <TryItOutButton\n isOAS3={specSelectors.isOAS3()}\n hasUserEditedBody={oas3Selectors.hasUserEditedBody(...pathMethod)}\n enabled={tryItOutEnabled}\n onCancelClick={this.props.onCancelClick}\n onTryoutClick={onTryoutClick}\n onResetClick={() => onResetClick(pathMethod)}/>\n ) : null}\n </div>\n {this.state.parametersVisible ? <div className=\"parameters-container\">\n {!groupedParametersArr.length ? <div className=\"opblock-description-wrapper\"><p>No parameters</p></div> :\n <div className=\"table-container\">\n <table className=\"parameters\">\n <thead>\n <tr>\n <th className=\"col_header parameters-col_name\">Name</th>\n <th className=\"col_header parameters-col_description\">Description</th>\n </tr>\n </thead>\n <tbody>\n {\n groupedParametersArr.map((parameter, i) => (\n <ParameterRow\n fn={fn}\n specPath={specPath.push(i.toString())}\n getComponent={getComponent}\n getConfigs={getConfigs}\n rawParam={parameter}\n param={specSelectors.parameterWithMetaByIdentity(pathMethod, parameter)}\n key={`${parameter.get(\"in\")}.${parameter.get(\"name\")}`}\n onChange={this.onChange}\n onChangeConsumes={this.onChangeConsumesWrapper}\n specSelectors={specSelectors}\n specActions={specActions}\n oas3Actions={oas3Actions}\n oas3Selectors={oas3Selectors}\n pathMethod={pathMethod}\n isExecute={isExecute} />\n ))\n }\n </tbody>\n </table>\n </div>\n }\n </div> : null}\n\n {this.state.callbackVisible ? <div className=\"callbacks-container opblock-description-wrapper\">\n <Callbacks\n callbacks={Map(operation.get(\"callbacks\"))}\n specPath={specPath.slice(0, -1).push(\"callbacks\")}\n />\n </div> : null}\n {\n isOAS3 && requestBody && this.state.parametersVisible &&\n <div className=\"opblock-section opblock-section-request-body\">\n <div className=\"opblock-section-header\">\n <h4 className={`opblock-title parameter__name ${requestBody.get(\"required\") && \"required\"}`}>Request\n body</h4>\n <label>\n <ContentType\n value={oas3Selectors.requestContentType(...pathMethod)}\n contentTypes={requestBody.get(\"content\", List()).keySeq()}\n onChange={(value) => {\n this.onChangeMediaType({ value, pathMethod })\n }}\n className=\"body-param-content-type\"\n ariaLabel=\"Request content type\" />\n </label>\n </div>\n <div className=\"opblock-description-wrapper\">\n <RequestBody\n setRetainRequestBodyValueFlag={retainRequestBodyValueFlagForOperation}\n userHasEditedBody={oas3Selectors.hasUserEditedBody(...pathMethod)}\n specPath={specPath.slice(0, -1).push(\"requestBody\")}\n requestBody={requestBody}\n requestBodyValue={oas3Selectors.requestBodyValue(...pathMethod)}\n requestBodyInclusionSetting={oas3Selectors.requestBodyInclusionSetting(...pathMethod)}\n requestBodyErrors={oas3Selectors.requestBodyErrors(...pathMethod)}\n isExecute={isExecute}\n getConfigs={getConfigs}\n activeExamplesKey={oas3Selectors.activeExamplesMember(\n ...pathMethod,\n \"requestBody\",\n \"requestBody\", // RBs are currently not stored per-mediaType\n )}\n updateActiveExamplesKey={key => {\n this.props.oas3Actions.setActiveExamplesMember({\n name: key,\n pathMethod: this.props.pathMethod,\n contextType: \"requestBody\",\n contextName: \"requestBody\", // RBs are currently not stored per-mediaType\n })\n }\n }\n onChange={(value, path) => {\n if (path) {\n const lastValue = oas3Selectors.requestBodyValue(...pathMethod)\n const usableValue = Map.isMap(lastValue) ? lastValue : Map()\n return oas3Actions.setRequestBodyValue({\n pathMethod,\n value: usableValue.setIn(path, value),\n })\n }\n oas3Actions.setRequestBodyValue({ value, pathMethod })\n }}\n onChangeIncludeEmpty={(name, value) => {\n oas3Actions.setRequestBodyInclusion({\n pathMethod,\n value,\n name,\n })\n }}\n contentType={oas3Selectors.requestContentType(...pathMethod)} />\n </div>\n </div>\n }\n </div>\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport const ParameterExt = ({ xKey, xVal }) => {\n return <div className=\"parameter__extension\">{ xKey }: { String(xVal) }</div>\n}\nParameterExt.propTypes = {\n xKey: PropTypes.string,\n xVal: PropTypes.any\n}\n\nexport default ParameterExt\n","import React, { Component } from \"react\"\nimport cx from \"classnames\"\nimport PropTypes from \"prop-types\"\n\n\nconst noop = () => { }\n\nconst ParameterIncludeEmptyPropTypes = {\n isIncluded: PropTypes.bool.isRequired,\n isDisabled: PropTypes.bool.isRequired,\n isIncludedOptions: PropTypes.object,\n onChange: PropTypes.func.isRequired,\n}\n\nconst ParameterIncludeEmptyDefaultProps = {\n onChange: noop,\n isIncludedOptions: {},\n}\nexport default class ParameterIncludeEmpty extends Component {\n static propTypes = ParameterIncludeEmptyPropTypes\n static defaultProps = ParameterIncludeEmptyDefaultProps\n\n componentDidMount() {\n const { isIncludedOptions, onChange } = this.props\n const { shouldDispatchInit, defaultValue } = isIncludedOptions\n if (shouldDispatchInit) {\n onChange(defaultValue)\n }\n }\n\n onCheckboxChange = e => {\n const { onChange } = this.props\n onChange(e.target.checked)\n }\n\n render() {\n let { isIncluded, isDisabled } = this.props\n\n return (\n <div>\n <label className={cx(\"parameter__empty_value_toggle\", {\n \"disabled\": isDisabled\n })}>\n <input type=\"checkbox\" \n disabled={isDisabled}\n checked={!isDisabled && isIncluded}\n onChange={this.onCheckboxChange} />\n Send empty value\n </label>\n </div>\n )\n }\n}\n","import React, { Component } from \"react\"\nimport { Map, List } from \"immutable\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport win from \"core/window\"\nimport { getSampleSchema, getExtensions, getCommonExtensions, numberToString, stringify, isEmptyValue } from \"core/utils\"\nimport getParameterSchema from \"../../helpers/get-parameter-schema.js\"\n\nexport default class ParameterRow extends Component {\n static propTypes = {\n onChange: PropTypes.func.isRequired,\n param: PropTypes.object.isRequired,\n rawParam: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n fn: PropTypes.object.isRequired,\n isExecute: PropTypes.bool,\n onChangeConsumes: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n specActions: PropTypes.object.isRequired,\n pathMethod: PropTypes.array.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specPath: ImPropTypes.list.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n oas3Selectors: PropTypes.object.isRequired,\n }\n\n constructor(props, context) {\n super(props, context)\n\n this.setDefaultValue()\n }\n\n UNSAFE_componentWillReceiveProps(props) {\n let { specSelectors, pathMethod, rawParam } = props\n let isOAS3 = specSelectors.isOAS3()\n\n let parameterWithMeta = specSelectors.parameterWithMetaByIdentity(pathMethod, rawParam) || new Map()\n // fallback, if the meta lookup fails\n parameterWithMeta = parameterWithMeta.isEmpty() ? rawParam : parameterWithMeta\n\n let enumValue\n\n if(isOAS3) {\n let { schema } = getParameterSchema(parameterWithMeta, { isOAS3 })\n enumValue = schema ? schema.get(\"enum\") : undefined\n } else {\n enumValue = parameterWithMeta ? parameterWithMeta.get(\"enum\") : undefined\n }\n let paramValue = parameterWithMeta ? parameterWithMeta.get(\"value\") : undefined\n\n let value\n\n if ( paramValue !== undefined ) {\n value = paramValue\n } else if ( rawParam.get(\"required\") && enumValue && enumValue.size ) {\n value = enumValue.first()\n }\n\n if ( value !== undefined && value !== paramValue ) {\n this.onChangeWrapper(numberToString(value))\n }\n // todo: could check if schema here; if not, do not call. impact?\n this.setDefaultValue()\n }\n\n onChangeWrapper = (value, isXml = false) => {\n let { onChange, rawParam } = this.props\n let valueForUpstream\n\n // Coerce empty strings and empty Immutable objects to null\n if(value === \"\" || (value && value.size === 0)) {\n valueForUpstream = null\n } else {\n valueForUpstream = value\n }\n\n return onChange(rawParam, valueForUpstream, isXml)\n }\n\n _onExampleSelect = (key, /* { isSyntheticChange } = {} */) => {\n this.props.oas3Actions.setActiveExamplesMember({\n name: key,\n pathMethod: this.props.pathMethod,\n contextType: \"parameters\",\n contextName: this.getParamKey()\n })\n }\n\n onChangeIncludeEmpty = (newValue) => {\n let { specActions, param, pathMethod } = this.props\n const paramName = param.get(\"name\")\n const paramIn = param.get(\"in\")\n return specActions.updateEmptyParamInclusion(pathMethod, paramName, paramIn, newValue)\n }\n\n setDefaultValue = () => {\n let { specSelectors, pathMethod, rawParam, oas3Selectors } = this.props\n\n const paramWithMeta = specSelectors.parameterWithMetaByIdentity(pathMethod, rawParam) || Map()\n const { schema } = getParameterSchema(paramWithMeta, { isOAS3: specSelectors.isOAS3() })\n const parameterMediaType = paramWithMeta\n .get(\"content\", Map())\n .keySeq()\n .first()\n\n // getSampleSchema could return null\n const generatedSampleValue = schema ? getSampleSchema(schema.toJS(), parameterMediaType, {\n\n includeWriteOnly: true\n }) : null\n\n if (!paramWithMeta || paramWithMeta.get(\"value\") !== undefined) {\n return\n }\n\n if( paramWithMeta.get(\"in\") !== \"body\" ) {\n let initialValue\n\n //// Find an initial value\n\n if (specSelectors.isSwagger2()) {\n initialValue =\n paramWithMeta.get(\"x-example\") !== undefined\n ? paramWithMeta.get(\"x-example\")\n : paramWithMeta.getIn([\"schema\", \"example\"]) !== undefined\n ? paramWithMeta.getIn([\"schema\", \"example\"])\n : (schema && schema.getIn([\"default\"]))\n } else if (specSelectors.isOAS3()) {\n const currentExampleKey = oas3Selectors.activeExamplesMember(...pathMethod, \"parameters\", this.getParamKey())\n initialValue =\n paramWithMeta.getIn([\"examples\", currentExampleKey, \"value\"]) !== undefined\n ? paramWithMeta.getIn([\"examples\", currentExampleKey, \"value\"])\n : paramWithMeta.getIn([\"content\", parameterMediaType, \"example\"]) !== undefined\n ? paramWithMeta.getIn([\"content\", parameterMediaType, \"example\"])\n : paramWithMeta.get(\"example\") !== undefined\n ? paramWithMeta.get(\"example\")\n : (schema && schema.get(\"example\")) !== undefined\n ? (schema && schema.get(\"example\"))\n : (schema && schema.get(\"default\")) !== undefined\n ? (schema && schema.get(\"default\"))\n : paramWithMeta.get(\"default\") // ensures support for `parameterMacro`\n }\n\n //// Process the initial value\n\n if(initialValue !== undefined && !List.isList(initialValue)) {\n // Stringify if it isn't a List\n initialValue = stringify(initialValue)\n }\n\n //// Dispatch the initial value\n\n if(initialValue !== undefined) {\n this.onChangeWrapper(initialValue)\n } else if(\n schema && schema.get(\"type\") === \"object\"\n && generatedSampleValue\n && !paramWithMeta.get(\"examples\")\n ) {\n // Object parameters get special treatment.. if the user doesn't set any\n // default or example values, we'll provide initial values generated from\n // the schema.\n // However, if `examples` exist for the parameter, we won't do anything,\n // so that the appropriate `examples` logic can take over.\n this.onChangeWrapper(\n List.isList(generatedSampleValue) ? (\n generatedSampleValue\n ) : (\n stringify(generatedSampleValue)\n )\n )\n }\n }\n }\n\n getParamKey() {\n const { param } = this.props\n\n if(!param) return null\n\n return `${param.get(\"name\")}-${param.get(\"in\")}`\n }\n\n render() {\n let {param, rawParam, getComponent, getConfigs, isExecute, fn, onChangeConsumes, specSelectors, pathMethod, specPath, oas3Selectors} = this.props\n\n let isOAS3 = specSelectors.isOAS3()\n\n const { showExtensions, showCommonExtensions } = getConfigs()\n\n if(!param) {\n param = rawParam\n }\n\n if(!rawParam) return null\n\n // const onChangeWrapper = (value) => onChange(param, value)\n const JsonSchemaForm = getComponent(\"JsonSchemaForm\")\n const ParamBody = getComponent(\"ParamBody\")\n let inType = param.get(\"in\")\n let bodyParam = inType !== \"body\" ? null\n : <ParamBody getComponent={getComponent}\n getConfigs={ getConfigs }\n fn={fn}\n param={param}\n consumes={ specSelectors.consumesOptionsFor(pathMethod) }\n consumesValue={ specSelectors.contentTypeValues(pathMethod).get(\"requestContentType\") }\n onChange={this.onChangeWrapper}\n onChangeConsumes={onChangeConsumes}\n isExecute={ isExecute }\n specSelectors={ specSelectors }\n pathMethod={ pathMethod }\n />\n\n const ModelExample = getComponent(\"modelExample\")\n const Markdown = getComponent(\"Markdown\", true)\n const ParameterExt = getComponent(\"ParameterExt\")\n const ParameterIncludeEmpty = getComponent(\"ParameterIncludeEmpty\")\n const ExamplesSelectValueRetainer = getComponent(\"ExamplesSelectValueRetainer\")\n const Example = getComponent(\"Example\")\n\n let { schema } = getParameterSchema(param, { isOAS3 })\n let paramWithMeta = specSelectors.parameterWithMetaByIdentity(pathMethod, rawParam) || Map()\n\n let format = schema ? schema.get(\"format\") : null\n let type = schema ? schema.get(\"type\") : null\n let itemType = schema ? schema.getIn([\"items\", \"type\"]) : null\n let isFormData = inType === \"formData\"\n let isFormDataSupported = \"FormData\" in win\n let required = param.get(\"required\")\n\n let value = paramWithMeta ? paramWithMeta.get(\"value\") : \"\"\n let commonExt = showCommonExtensions ? getCommonExtensions(schema) : null\n let extensions = showExtensions ? getExtensions(param) : null\n\n let paramItems // undefined\n let paramEnum // undefined\n let paramDefaultValue // undefined\n let paramExample // undefined\n let isDisplayParamEnum = false\n\n if ( param !== undefined && schema ) {\n paramItems = schema.get(\"items\")\n }\n\n if (paramItems !== undefined) {\n paramEnum = paramItems.get(\"enum\")\n paramDefaultValue = paramItems.get(\"default\")\n } else if (schema) {\n paramEnum = schema.get(\"enum\")\n }\n\n if ( paramEnum && paramEnum.size && paramEnum.size > 0) {\n isDisplayParamEnum = true\n }\n\n // Default and Example Value for readonly doc\n if ( param !== undefined ) {\n if (schema) {\n paramDefaultValue = schema.get(\"default\")\n }\n if (paramDefaultValue === undefined) {\n paramDefaultValue = param.get(\"default\")\n }\n paramExample = param.get(\"example\")\n if (paramExample === undefined) {\n paramExample = param.get(\"x-example\")\n }\n }\n\n return (\n <tr data-param-name={param.get(\"name\")} data-param-in={param.get(\"in\")}>\n <td className=\"parameters-col_name\">\n <div className={required ? \"parameter__name required\" : \"parameter__name\"}>\n { param.get(\"name\") }\n { !required ? null : <span> *</span> }\n </div>\n <div className=\"parameter__type\">\n { type }\n { itemType && `[${itemType}]` }\n { format && <span className=\"prop-format\">(${format})</span>}\n </div>\n <div className=\"parameter__deprecated\">\n { isOAS3 && param.get(\"deprecated\") ? \"deprecated\": null }\n </div>\n <div className=\"parameter__in\">({ param.get(\"in\") })</div>\n { !showCommonExtensions || !commonExt.size ? null : commonExt.entrySeq().map(([key, v]) => <ParameterExt key={`${key}-${v}`} xKey={key} xVal={v} /> )}\n { !showExtensions || !extensions.size ? null : extensions.entrySeq().map(([key, v]) => <ParameterExt key={`${key}-${v}`} xKey={key} xVal={v} /> )}\n </td>\n\n <td className=\"parameters-col_description\">\n { param.get(\"description\") ? <Markdown source={ param.get(\"description\") }/> : null }\n\n { (bodyParam || !isExecute) && isDisplayParamEnum ?\n <Markdown className=\"parameter__enum\" source={\n \"<i>Available values</i> : \" + paramEnum.map(function(item) {\n return item\n }).toArray().join(\", \")}/>\n : null\n }\n\n { (bodyParam || !isExecute) && paramDefaultValue !== undefined ?\n <Markdown className=\"parameter__default\" source={\"<i>Default value</i> : \" + paramDefaultValue}/>\n : null\n }\n\n { (bodyParam || !isExecute) && paramExample !== undefined ?\n <Markdown source={\"<i>Example</i> : \" + paramExample}/>\n : null\n }\n\n {(isFormData && !isFormDataSupported) && <div>Error: your browser does not support FormData</div>}\n\n {\n isOAS3 && param.get(\"examples\") ? (\n <section className=\"parameter-controls\">\n <ExamplesSelectValueRetainer\n examples={param.get(\"examples\")}\n onSelect={this._onExampleSelect}\n updateValue={this.onChangeWrapper}\n getComponent={getComponent}\n defaultToFirstExample={true}\n currentKey={oas3Selectors.activeExamplesMember(...pathMethod, \"parameters\", this.getParamKey())}\n currentUserInputValue={value}\n />\n </section>\n ) : null\n }\n\n { bodyParam ? null\n : <JsonSchemaForm fn={fn}\n getComponent={getComponent}\n value={ value }\n required={ required }\n disabled={!isExecute}\n description={param.get(\"name\")}\n onChange={ this.onChangeWrapper }\n errors={ paramWithMeta.get(\"errors\") }\n schema={ schema }/>\n }\n\n\n {\n bodyParam && schema ? <ModelExample getComponent={ getComponent }\n specPath={specPath.push(\"schema\")}\n getConfigs={ getConfigs }\n isExecute={ isExecute }\n specSelectors={ specSelectors }\n schema={ schema }\n example={ bodyParam }\n includeWriteOnly={ true }/>\n : null\n }\n\n {\n !bodyParam && isExecute && param.get(\"allowEmptyValue\") ?\n <ParameterIncludeEmpty\n onChange={this.onChangeIncludeEmpty}\n isIncluded={specSelectors.parameterInclusionSettingFor(pathMethod, param.get(\"name\"), param.get(\"in\"))}\n isDisabled={!isEmptyValue(value)} />\n : null\n }\n\n {\n isOAS3 && param.get(\"examples\") ? (\n <Example\n example={param.getIn([\n \"examples\",\n oas3Selectors.activeExamplesMember(...pathMethod, \"parameters\", this.getParamKey())\n ])}\n getComponent={getComponent}\n getConfigs={getConfigs}\n />\n ) : null\n }\n\n </td>\n\n </tr>\n )\n\n }\n\n}\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class Execute extends Component {\n\n static propTypes = {\n specSelectors: PropTypes.object.isRequired,\n specActions: PropTypes.object.isRequired,\n operation: PropTypes.object.isRequired,\n path: PropTypes.string.isRequired,\n method: PropTypes.string.isRequired,\n oas3Selectors: PropTypes.object.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n onExecute: PropTypes.func,\n disabled: PropTypes.bool\n }\n\n handleValidateParameters = () => {\n let { specSelectors, specActions, path, method } = this.props\n specActions.validateParams([path, method])\n return specSelectors.validateBeforeExecute([path, method])\n }\n\n handleValidateRequestBody = () => {\n let { path, method, specSelectors, oas3Selectors, oas3Actions } = this.props\n let validationErrors = {\n missingBodyValue: false,\n missingRequiredKeys: []\n }\n // context: reset errors, then (re)validate\n oas3Actions.clearRequestBodyValidateError({ path, method })\n let oas3RequiredRequestBodyContentType = specSelectors.getOAS3RequiredRequestBodyContentType([path, method])\n let oas3RequestBodyValue = oas3Selectors.requestBodyValue(path, method)\n let oas3ValidateBeforeExecuteSuccess = oas3Selectors.validateBeforeExecute([path, method])\n let oas3RequestContentType = oas3Selectors.requestContentType(path, method)\n\n if (!oas3ValidateBeforeExecuteSuccess) {\n validationErrors.missingBodyValue = true\n oas3Actions.setRequestBodyValidateError({ path, method, validationErrors })\n return false\n }\n if (!oas3RequiredRequestBodyContentType) {\n return true\n }\n let missingRequiredKeys = oas3Selectors.validateShallowRequired({\n oas3RequiredRequestBodyContentType,\n oas3RequestContentType,\n oas3RequestBodyValue\n })\n if (!missingRequiredKeys || missingRequiredKeys.length < 1) {\n return true\n }\n missingRequiredKeys.forEach((missingKey) => {\n validationErrors.missingRequiredKeys.push(missingKey)\n })\n oas3Actions.setRequestBodyValidateError({ path, method, validationErrors })\n return false\n }\n\n handleValidationResultPass = () => {\n let { specActions, operation, path, method } = this.props\n if (this.props.onExecute) {\n // loading spinner\n this.props.onExecute()\n }\n specActions.execute({ operation, path, method })\n }\n\n handleValidationResultFail = () => {\n let { specActions, path, method } = this.props\n // deferred by 40ms, to give element class change time to settle.\n specActions.clearValidateParams([path, method])\n setTimeout(() => {\n specActions.validateParams([path, method])\n }, 40)\n }\n\n handleValidationResult = (isPass) => {\n if (isPass) {\n this.handleValidationResultPass()\n } else {\n this.handleValidationResultFail()\n }\n }\n\n onClick = () => {\n let paramsResult = this.handleValidateParameters()\n let requestBodyResult = this.handleValidateRequestBody()\n let isPass = paramsResult && requestBodyResult\n this.handleValidationResult(isPass)\n }\n\n onChangeProducesWrapper = ( val ) => this.props.specActions.changeProducesValue([this.props.path, this.props.method], val)\n\n render(){\n const { disabled } = this.props\n return (\n <button className=\"btn execute opblock-control__btn\" onClick={ this.onClick } disabled={disabled}>\n Execute\n </button>\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport Im from \"immutable\"\n\nconst propClass = \"header-example\"\n\nexport default class Headers extends React.Component {\n static propTypes = {\n headers: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired\n }\n\n render() {\n let { headers, getComponent } = this.props\n\n const Property = getComponent(\"Property\")\n const Markdown = getComponent(\"Markdown\", true)\n\n if ( !headers || !headers.size )\n return null\n\n return (\n <div className=\"headers-wrapper\">\n <h4 className=\"headers__title\">Headers:</h4>\n <table className=\"headers\">\n <thead>\n <tr className=\"header-row\">\n <th className=\"header-col\">Name</th>\n <th className=\"header-col\">Description</th>\n <th className=\"header-col\">Type</th>\n </tr>\n </thead>\n <tbody>\n {\n headers.entrySeq().map( ([ key, header ]) => {\n if(!Im.Map.isMap(header)) {\n return null\n }\n\n const description = header.get(\"description\")\n const type = header.getIn([\"schema\"]) ? header.getIn([\"schema\", \"type\"]) : header.getIn([\"type\"])\n const schemaExample = header.getIn([\"schema\", \"example\"])\n\n return (<tr key={ key }>\n <td className=\"header-col\">{ key }</td>\n <td className=\"header-col\">{\n !description ? null : <Markdown source={ description } />\n }</td>\n <td className=\"header-col\">{ type } { schemaExample ? <Property propKey={ \"Example\" } propVal={ schemaExample } propClass={ propClass } /> : null }</td>\n </tr>)\n }).toArray()\n }\n </tbody>\n </table>\n </div>\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { List } from \"immutable\"\n\nexport default class Errors extends React.Component {\n\n static propTypes = {\n editorActions: PropTypes.object,\n errSelectors: PropTypes.object.isRequired,\n layoutSelectors: PropTypes.object.isRequired,\n layoutActions: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n }\n\n render() {\n let { editorActions, errSelectors, layoutSelectors, layoutActions, getComponent } = this.props\n\n const Collapse = getComponent(\"Collapse\")\n\n if(editorActions && editorActions.jumpToLine) {\n var jumpToLine = editorActions.jumpToLine\n }\n\n let errors = errSelectors.allErrors()\n\n // all thrown errors, plus error-level everything else\n let allErrorsToDisplay = errors.filter(err => err.get(\"type\") === \"thrown\" ? true :err.get(\"level\") === \"error\")\n\n if(!allErrorsToDisplay || allErrorsToDisplay.count() < 1) {\n return null\n }\n\n let isVisible = layoutSelectors.isShown([\"errorPane\"], true)\n let toggleVisibility = () => layoutActions.show([\"errorPane\"], !isVisible)\n\n let sortedJSErrors = allErrorsToDisplay.sortBy(err => err.get(\"line\"))\n\n return (\n <pre className=\"errors-wrapper\">\n <hgroup className=\"error\">\n <h4 className=\"errors__title\">Errors</h4>\n <button className=\"btn errors__clear-btn\" onClick={ toggleVisibility }>{ isVisible ? \"Hide\" : \"Show\" }</button>\n </hgroup>\n <Collapse isOpened={ isVisible } animated >\n <div className=\"errors\">\n { sortedJSErrors.map((err, i) => {\n let type = err.get(\"type\")\n if(type === \"thrown\" || type === \"auth\") {\n return <ThrownErrorItem key={ i } error={ err.get(\"error\") || err } jumpToLine={jumpToLine} />\n }\n if(type === \"spec\") {\n return <SpecErrorItem key={ i } error={ err } jumpToLine={jumpToLine} />\n }\n }) }\n </div>\n </Collapse>\n </pre>\n )\n }\n}\n\nconst ThrownErrorItem = ( { error, jumpToLine } ) => {\n if(!error) {\n return null\n }\n let errorLine = error.get(\"line\")\n\n return (\n <div className=\"error-wrapper\">\n { !error ? null :\n <div>\n <h4>{ (error.get(\"source\") && error.get(\"level\")) ?\n toTitleCase(error.get(\"source\")) + \" \" + error.get(\"level\") : \"\" }\n { error.get(\"path\") ? <small> at {error.get(\"path\")}</small>: null }</h4>\n <span className=\"message thrown\">\n { error.get(\"message\") }\n </span>\n <div className=\"error-line\">\n { errorLine && jumpToLine ? <a onClick={jumpToLine.bind(null, errorLine)}>Jump to line { errorLine }</a> : null }\n </div>\n </div>\n }\n </div>\n )\n }\n\nconst SpecErrorItem = ( { error, jumpToLine } ) => {\n let locationMessage = null\n\n if(error.get(\"path\")) {\n if(List.isList(error.get(\"path\"))) {\n locationMessage = <small>at { error.get(\"path\").join(\".\") }</small>\n } else {\n locationMessage = <small>at { error.get(\"path\") }</small>\n }\n } else if(error.get(\"line\") && !jumpToLine) {\n locationMessage = <small>on line { error.get(\"line\") }</small>\n }\n\n return (\n <div className=\"error-wrapper\">\n { !error ? null :\n <div>\n <h4>{ toTitleCase(error.get(\"source\")) + \" \" + error.get(\"level\") } { locationMessage }</h4>\n <span className=\"message\">{ error.get(\"message\") }</span>\n <div className=\"error-line\">\n { jumpToLine ? (\n <a onClick={jumpToLine.bind(null, error.get(\"line\"))}>Jump to line { error.get(\"line\") }</a>\n ) : null }\n </div>\n </div>\n }\n </div>\n )\n }\n\nfunction toTitleCase(str) {\n return (str || \"\")\n .split(\" \")\n .map(substr => substr[0].toUpperCase() + substr.slice(1))\n .join(\" \")\n}\n\nThrownErrorItem.propTypes = {\n error: PropTypes.object.isRequired,\n jumpToLine: PropTypes.func\n}\n\nThrownErrorItem.defaultProps = {\n jumpToLine: null\n}\n\nSpecErrorItem.propTypes = {\n error: PropTypes.object.isRequired,\n jumpToLine: PropTypes.func\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { fromJS } from \"immutable\"\n\nconst noop = ()=>{}\n\nexport default class ContentType extends React.Component {\n\n static propTypes = {\n ariaControls: PropTypes.string,\n contentTypes: PropTypes.oneOfType([ImPropTypes.list, ImPropTypes.set, ImPropTypes.seq]),\n controlId: PropTypes.string,\n value: PropTypes.string,\n onChange: PropTypes.func,\n className: PropTypes.string,\n ariaLabel: PropTypes.string\n }\n\n static defaultProps = {\n onChange: noop,\n value: null,\n contentTypes: fromJS([\"application/json\"]),\n }\n\n componentDidMount() {\n // Needed to populate the form, initially\n if(this.props.contentTypes) {\n this.props.onChange(this.props.contentTypes.first())\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if(!nextProps.contentTypes || !nextProps.contentTypes.size) {\n return\n }\n\n if(!nextProps.contentTypes.includes(nextProps.value)) {\n nextProps.onChange(nextProps.contentTypes.first())\n }\n }\n\n onChangeWrapper = e => this.props.onChange(e.target.value)\n\n render() {\n let { ariaControls, ariaLabel, className, contentTypes, controlId, value } = this.props\n\n if ( !contentTypes || !contentTypes.size )\n return null\n\n return (\n <div className={ \"content-type-wrapper \" + ( className || \"\" ) }>\n <select aria-controls={ariaControls} aria-label={ariaLabel} className=\"content-type\" id={controlId} onChange={this.onChangeWrapper} value={value || \"\"} >\n { contentTypes.map( (val) => {\n return <option key={ val } value={ val }>{ val }</option>\n }).toArray()}\n </select>\n </div>\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nfunction xclass(...args) {\n return args.filter(a => !!a).join(\" \").trim()\n}\n\nexport class Container extends React.Component {\n render() {\n let { fullscreen, full, ...rest } = this.props\n // Normal element\n\n if(fullscreen)\n return <section {...rest}/>\n\n let containerClass = \"swagger-container\" + (full ? \"-full\" : \"\")\n return (\n <section {...rest} className={xclass(rest.className, containerClass)}/>\n )\n }\n}\n\nContainer.propTypes = {\n fullscreen: PropTypes.bool,\n full: PropTypes.bool,\n className: PropTypes.string\n}\n\nconst DEVICES = {\n \"mobile\": \"\",\n \"tablet\": \"-tablet\",\n \"desktop\": \"-desktop\",\n \"large\": \"-hd\"\n}\n\nexport class Col extends React.Component {\n\n render() {\n const {\n hide,\n keepContents,\n /* we don't want these in the `rest` object that passes to the final component,\n since React now complains. So we extract them */\n /* eslint-disable no-unused-vars */\n mobile,\n tablet,\n desktop,\n large,\n /* eslint-enable no-unused-vars */\n ...rest\n } = this.props\n\n if(hide && !keepContents)\n return <span/>\n\n let classesAr = []\n\n for (let device in DEVICES) {\n if (!Object.prototype.hasOwnProperty.call(DEVICES, device)) {\n continue\n }\n let deviceClass = DEVICES[device]\n if(device in this.props) {\n let val = this.props[device]\n\n if(val < 1) {\n classesAr.push(\"none\" + deviceClass)\n continue\n }\n\n classesAr.push(\"block\" + deviceClass)\n classesAr.push(\"col-\" + val + deviceClass)\n }\n }\n\n if (hide) {\n classesAr.push(\"hidden\")\n }\n\n let classes = xclass(rest.className, ...classesAr)\n\n return (\n <section {...rest} className={classes}/>\n )\n }\n\n}\n\nCol.propTypes = {\n hide: PropTypes.bool,\n keepContents: PropTypes.bool,\n mobile: PropTypes.number,\n tablet: PropTypes.number,\n desktop: PropTypes.number,\n large: PropTypes.number,\n className: PropTypes.string\n}\n\nexport class Row extends React.Component {\n\n render() {\n return <div {...this.props} className={xclass(this.props.className, \"wrapper\")} />\n }\n\n}\n\nRow.propTypes = {\n className: PropTypes.string\n}\n\nexport class Button extends React.Component {\n\n static propTypes = {\n className: PropTypes.string\n }\n\n static defaultProps = {\n className: \"\"\n }\n\n render() {\n return <button {...this.props} className={xclass(this.props.className, \"button\")} />\n }\n\n}\n\n\nexport const TextArea = (props) => <textarea {...props} />\n\nexport const Input = (props) => <input {...props} />\n\nexport class Select extends React.Component {\n static propTypes = {\n allowedValues: PropTypes.array,\n value: PropTypes.any,\n onChange: PropTypes.func,\n multiple: PropTypes.bool,\n allowEmptyValue: PropTypes.bool,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n }\n\n static defaultProps = {\n multiple: false,\n allowEmptyValue: true\n }\n\n constructor(props, context) {\n super(props, context)\n\n let value\n\n if (props.value) {\n value = props.value\n } else {\n value = props.multiple ? [\"\"] : \"\"\n }\n\n this.state = { value: value }\n }\n\n onChange = (e) => {\n let { onChange, multiple } = this.props\n let options = [].slice.call(e.target.options)\n let value\n\n\n if (multiple) {\n value = options.filter(function (option) {\n return option.selected\n })\n .map(function (option){\n return option.value\n })\n } else {\n value = e.target.value\n }\n\n this.setState({value: value})\n\n onChange && onChange(value)\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n // TODO: this puts us in a weird area btwn un/controlled selection... review\n if(nextProps.value !== this.props.value) {\n this.setState({ value: nextProps.value })\n }\n }\n\n render(){\n let { allowedValues, multiple, allowEmptyValue, disabled } = this.props\n let value = this.state.value?.toJS?.() || this.state.value\n\n return (\n <select className={this.props.className} multiple={ multiple } value={value} onChange={ this.onChange } disabled={disabled} >\n { allowEmptyValue ? <option value=\"\">--</option> : null }\n {\n allowedValues.map(function (item, key) {\n return <option key={ key } value={ String(item) }>{ String(item) }</option>\n })\n }\n </select>\n )\n }\n}\n\nexport class Link extends React.Component {\n\n render() {\n return <a {...this.props} rel=\"noopener noreferrer\" className={xclass(this.props.className, \"link\")}/>\n }\n\n}\n\nLink.propTypes = {\n className: PropTypes.string\n}\n\nconst NoMargin = ({children}) => <div className=\"no-margin\"> {children} </div>\n\nNoMargin.propTypes = {\n children: PropTypes.node\n}\n\nexport class Collapse extends React.Component {\n\n static propTypes = {\n isOpened: PropTypes.bool,\n children: PropTypes.node.isRequired,\n animated: PropTypes.bool\n }\n\n static defaultProps = {\n isOpened: false,\n animated: false\n }\n\n renderNotAnimated() {\n if(!this.props.isOpened)\n return <noscript/>\n return (\n <NoMargin>\n {this.props.children}\n </NoMargin>\n )\n }\n\n render() {\n let { animated, isOpened, children } = this.props\n\n if(!animated)\n return this.renderNotAnimated()\n\n children = isOpened ? children : null\n return (\n <NoMargin>\n {children}\n </NoMargin>\n )\n }\n\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { Link } from \"core/components/layout-utils\"\n\nexport default class Overview extends React.Component {\n\n constructor(...args) {\n super(...args)\n this.setTagShown = this._setTagShown.bind(this)\n }\n\n _setTagShown(showTagId, shown) {\n this.props.layoutActions.show(showTagId, shown)\n }\n\n showOp(key, shown) {\n let { layoutActions } = this.props\n layoutActions.show(key, shown)\n }\n\n render() {\n let { specSelectors, layoutSelectors, layoutActions, getComponent } = this.props\n let taggedOps = specSelectors.taggedOperations()\n\n const Collapse = getComponent(\"Collapse\")\n\n return (\n <div>\n <h4 className=\"overview-title\">Overview</h4>\n\n {\n taggedOps.map( (tagObj, tag) => {\n let operations = tagObj.get(\"operations\")\n\n let showTagId = [\"overview-tags\", tag]\n let showTag = layoutSelectors.isShown(showTagId, true)\n let toggleShow = ()=> layoutActions.show(showTagId, !showTag)\n\n return (\n <div key={\"overview-\"+tag}>\n\n\n <h4 onClick={toggleShow} className=\"link overview-tag\"> {showTag ? \"-\" : \"+\"}{tag}</h4>\n\n <Collapse isOpened={showTag} animated>\n {\n operations.map( op => {\n let { path, method, id } = op.toObject() // toObject is shallow\n let showOpIdPrefix = \"operations\"\n let showOpId = id\n let shown = layoutSelectors.isShown([showOpIdPrefix, showOpId])\n return <OperationLink key={id}\n path={path}\n method={method}\n id={path + \"-\" + method}\n shown={shown}\n showOpId={showOpId}\n showOpIdPrefix={showOpIdPrefix}\n href={`#operation-${showOpId}`}\n onClick={layoutActions.show} />\n }).toArray()\n }\n </Collapse>\n\n </div>\n )\n }).toArray()\n }\n\n { taggedOps.size < 1 && <h3> No operations defined in spec! </h3> }\n </div>\n )\n }\n\n}\n\nOverview.propTypes = {\n layoutSelectors: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n layoutActions: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired\n}\n\nexport class OperationLink extends React.Component {\n\n constructor(props) {\n super(props)\n this.onClick = this._onClick.bind(this)\n }\n\n _onClick() {\n let { showOpId, showOpIdPrefix, onClick, shown } = this.props\n onClick([showOpIdPrefix, showOpId], !shown)\n }\n\n render() {\n let { id, method, shown, href } = this.props\n\n return (\n <Link href={ href } onClick={this.onClick} className={`block opblock-link ${shown ? \"shown\" : \"\"}`}>\n <div>\n <small className={`bold-label-${method}`}>{method.toUpperCase()}</small>\n <span className=\"bold-label\" >{id}</span>\n </div>\n </Link>\n )\n }\n\n}\n\nOperationLink.propTypes = {\n href: PropTypes.string,\n onClick: PropTypes.func,\n id: PropTypes.string.isRequired,\n method: PropTypes.string.isRequired,\n shown: PropTypes.bool.isRequired,\n showOpId: PropTypes.string.isRequired,\n showOpIdPrefix: PropTypes.string.isRequired\n}\n","// This component provides an interface that feels like an uncontrolled input\n// to consumers, while providing a `defaultValue` interface that initializes\n// the input's value using JavaScript value property APIs instead of React's \n// vanilla[0] implementation that uses HTML value attributes.\n//\n// This is useful in situations where we don't want to surface an input's value\n// into the HTML/CSS-exposed side of the DOM, for example to avoid sequential\n// input chaining attacks[1].\n// \n// [0]: https://github.com/facebook/react/blob/baff5cc2f69d30589a5dc65b089e47765437294b/fixtures/dom/src/components/fixtures/text-inputs/README.md\n// [1]: https://github.com/d0nutptr/sic\n\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class InitializedInput extends React.Component {\n componentDidMount() {\n // Set the element's `value` property (*not* the `value` attribute)\n // once, on mount, if an `initialValue` is provided.\n if(this.props.initialValue) {\n this.inputRef.value = this.props.initialValue\n }\n }\n\n render() {\n // Filter out `value` and `defaultValue`, since we have our own\n // `initialValue` interface that we provide.\n // eslint-disable-next-line no-unused-vars, react/prop-types\n const { value, defaultValue, initialValue, ...otherProps } = this.props\n return <input {...otherProps} ref={c => this.inputRef = c} />\n }\n}\n\nInitializedInput.propTypes = {\n initialValue: PropTypes.string\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { sanitizeUrl } from \"core/utils\"\nimport { safeBuildUrl } from \"core/utils/url\"\n\n\nexport class InfoBasePath extends React.Component {\n static propTypes = {\n host: PropTypes.string,\n basePath: PropTypes.string\n }\n\n render() {\n let { host, basePath } = this.props\n\n return (\n <pre className=\"base-url\">\n [ Base URL: {host}{basePath} ]\n </pre>\n )\n }\n}\n\n\nclass Contact extends React.Component {\n static propTypes = {\n data: PropTypes.object,\n getComponent: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n selectedServer: PropTypes.string,\n url: PropTypes.string.isRequired,\n }\n\n render(){\n let { data, getComponent, selectedServer, url: specUrl} = this.props\n let name = data.get(\"name\") || \"the developer\"\n let url = safeBuildUrl(data.get(\"url\"), specUrl, {selectedServer})\n let email = data.get(\"email\")\n\n const Link = getComponent(\"Link\")\n\n return (\n <div className=\"info__contact\">\n { url && <div><Link href={ sanitizeUrl(url) } target=\"_blank\">{ name } - Website</Link></div> }\n { email &&\n <Link href={sanitizeUrl(`mailto:${email}`)}>\n { url ? `Send email to ${name}` : `Contact ${name}`}\n </Link>\n }\n </div>\n )\n }\n}\n\nclass License extends React.Component {\n static propTypes = {\n license: PropTypes.object,\n getComponent: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n selectedServer: PropTypes.string,\n url: PropTypes.string.isRequired,\n }\n\n render(){\n let { license, getComponent, selectedServer, url: specUrl } = this.props\n\n const Link = getComponent(\"Link\")\n let name = license.get(\"name\") || \"License\"\n let url = safeBuildUrl(license.get(\"url\"), specUrl, {selectedServer})\n\n return (\n <div className=\"info__license\">\n {\n url ? <Link target=\"_blank\" href={ sanitizeUrl(url) }>{ name }</Link>\n : <span>{ name }</span>\n }\n </div>\n )\n }\n}\n\nexport class InfoUrl extends React.PureComponent {\n static propTypes = {\n url: PropTypes.string.isRequired,\n getComponent: PropTypes.func.isRequired\n }\n\n\n render() {\n const { url, getComponent } = this.props\n\n const Link = getComponent(\"Link\")\n\n return <Link target=\"_blank\" href={ sanitizeUrl(url) }><span className=\"url\"> { url }</span></Link>\n }\n}\n\nexport default class Info extends React.Component {\n static propTypes = {\n info: PropTypes.object,\n url: PropTypes.string,\n host: PropTypes.string,\n basePath: PropTypes.string,\n externalDocs: ImPropTypes.map,\n getComponent: PropTypes.func.isRequired,\n oas3selectors: PropTypes.func,\n selectedServer: PropTypes.string,\n }\n\n render() {\n let { info, url, host, basePath, getComponent, externalDocs, selectedServer, url: specUrl } = this.props\n let version = info.get(\"version\")\n let description = info.get(\"description\")\n let title = info.get(\"title\")\n let termsOfServiceUrl = safeBuildUrl(info.get(\"termsOfService\"), specUrl, {selectedServer})\n let contact = info.get(\"contact\")\n let license = info.get(\"license\")\n let rawExternalDocsUrl = externalDocs && externalDocs.get(\"url\")\n let externalDocsUrl = safeBuildUrl(rawExternalDocsUrl, specUrl, {selectedServer})\n let externalDocsDescription = externalDocs && externalDocs.get(\"description\")\n\n const Markdown = getComponent(\"Markdown\", true)\n const Link = getComponent(\"Link\")\n const VersionStamp = getComponent(\"VersionStamp\")\n const InfoUrl = getComponent(\"InfoUrl\")\n const InfoBasePath = getComponent(\"InfoBasePath\")\n\n return (\n <div className=\"info\">\n <hgroup className=\"main\">\n <h2 className=\"title\" >{ title }\n { version && <VersionStamp version={version}></VersionStamp> }\n </h2>\n { host || basePath ? <InfoBasePath host={ host } basePath={ basePath } /> : null }\n { url && <InfoUrl getComponent={getComponent} url={url} /> }\n </hgroup>\n\n <div className=\"description\">\n <Markdown source={ description } />\n </div>\n\n {\n termsOfServiceUrl && <div className=\"info__tos\">\n <Link target=\"_blank\" href={ sanitizeUrl(termsOfServiceUrl) }>Terms of service</Link>\n </div>\n }\n\n {contact && contact.size ? <Contact getComponent={getComponent} data={ contact } selectedServer={selectedServer} url={url} /> : null }\n {license && license.size ? <License getComponent={getComponent} license={ license } selectedServer={selectedServer} url={url}/> : null }\n { externalDocsUrl ?\n <Link className=\"info__extdocs\" target=\"_blank\" href={sanitizeUrl(externalDocsUrl)}>{externalDocsDescription || externalDocsUrl}</Link>\n : null }\n\n </div>\n )\n }\n\n}\n\nInfo.propTypes = {\n title: PropTypes.any,\n description: PropTypes.any,\n version: PropTypes.any,\n url: PropTypes.string\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class InfoContainer extends React.Component {\n\n static propTypes = {\n specActions: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n oas3Selectors: PropTypes.func.isRequired,\n }\n\n render () {\n const {specSelectors, getComponent, oas3Selectors} = this.props\n\n const info = specSelectors.info()\n const url = specSelectors.url()\n const basePath = specSelectors.basePath()\n const host = specSelectors.host()\n const externalDocs = specSelectors.externalDocs()\n const selectedServer = oas3Selectors.selectedServer()\n\n const Info = getComponent(\"info\")\n\n return (\n <div>\n {info && info.count() ? (\n <Info info={info} url={url} host={host} basePath={basePath} externalDocs={externalDocs}\n getComponent={getComponent} selectedServer={selectedServer} />\n ) : null}\n </div>\n )\n }\n}\n","import React from \"react\"\n\n// Nothing by default- component can be overridden by another plugin.\n\nexport default class JumpToPath extends React.Component {\n render() {\n return null\n }\n}\n","import React from \"react\"\nimport { CopyToClipboard } from \"react-copy-to-clipboard\"\nimport PropTypes from \"prop-types\"\n\n/**\n * @param {{ textToCopy: string }} props\n * @returns {JSX.Element}\n * @constructor\n */\nexport default class CopyToClipboardBtn extends React.Component {\n render() {\n return (\n <div className=\"view-line-link copy-to-clipboard\" title=\"Copy to clipboard\">\n <CopyToClipboard text={this.props.textToCopy}>\n <svg width=\"15\" height=\"16\">\n <use href=\"#copy\" xlinkHref=\"#copy\" />\n </svg>\n </CopyToClipboard>\n </div>\n )\n }\n\n static propTypes = {\n textToCopy: PropTypes.string.isRequired,\n }\n}\n","import React from \"react\"\n\nexport default class Footer extends React.Component {\n render() {\n return (\n <div className=\"footer\"></div>\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class FilterContainer extends React.Component {\n\n static propTypes = {\n specSelectors: PropTypes.object.isRequired,\n layoutSelectors: PropTypes.object.isRequired,\n layoutActions: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n }\n\n onFilterChange = (e) => {\n const {target: {value}} = e\n this.props.layoutActions.updateFilter(value)\n }\n\n render () {\n const {specSelectors, layoutSelectors, getComponent} = this.props\n const Col = getComponent(\"Col\")\n\n const isLoading = specSelectors.loadingStatus() === \"loading\"\n const isFailed = specSelectors.loadingStatus() === \"failed\"\n const filter = layoutSelectors.currentFilter()\n\n const classNames = [\"operation-filter-input\"]\n if (isFailed) classNames.push(\"failed\")\n if (isLoading) classNames.push(\"loading\")\n\n return (\n <div>\n {filter === null || filter === false || filter === \"false\" ? null :\n <div className=\"filter-container\">\n <Col className=\"filter wrapper\" mobile={12}>\n <input className={classNames.join(\" \")} placeholder=\"Filter by tag\" type=\"text\"\n onChange={this.onFilterChange} value={filter === true || filter === \"true\" ? \"\" : filter}\n disabled={isLoading}/>\n </Col>\n </div>\n }\n </div>\n )\n }\n}\n","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { fromJS, List } from \"immutable\"\nimport { getSampleSchema } from \"core/utils\"\nimport { getKnownSyntaxHighlighterLanguage } from \"core/utils/jsonParse\"\n\nconst NOOP = Function.prototype\n\nexport default class ParamBody extends PureComponent {\n\n static propTypes = {\n param: PropTypes.object,\n onChange: PropTypes.func,\n onChangeConsumes: PropTypes.func,\n consumes: PropTypes.object,\n consumesValue: PropTypes.string,\n fn: PropTypes.object.isRequired,\n getConfigs: PropTypes.func.isRequired,\n getComponent: PropTypes.func.isRequired,\n isExecute: PropTypes.bool,\n specSelectors: PropTypes.object.isRequired,\n pathMethod: PropTypes.array.isRequired\n }\n\n static defaultProp = {\n consumes: fromJS([\"application/json\"]),\n param: fromJS({}),\n onChange: NOOP,\n onChangeConsumes: NOOP,\n }\n\n constructor(props, context) {\n super(props, context)\n\n this.state = {\n isEditBox: false,\n value: \"\"\n }\n\n }\n\n componentDidMount() {\n this.updateValues.call(this, this.props)\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.updateValues.call(this, nextProps)\n }\n\n updateValues = (props) => {\n let { param, isExecute, consumesValue=\"\" } = props\n let isXml = /xml/i.test(consumesValue)\n let isJson = /json/i.test(consumesValue)\n let paramValue = isXml ? param.get(\"value_xml\") : param.get(\"value\")\n\n if ( paramValue !== undefined ) {\n let val = !paramValue && isJson ? \"{}\" : paramValue\n this.setState({ value: val })\n this.onChange(val, {isXml: isXml, isEditBox: isExecute})\n } else {\n if (isXml) {\n this.onChange(this.sample(\"xml\"), {isXml: isXml, isEditBox: isExecute})\n } else {\n this.onChange(this.sample(), {isEditBox: isExecute})\n }\n }\n }\n\n sample = (xml) => {\n let { param, fn:{inferSchema} } = this.props\n let schema = inferSchema(param.toJS())\n\n return getSampleSchema(schema, xml, {\n includeWriteOnly: true\n })\n }\n\n onChange = (value, { isEditBox, isXml }) => {\n this.setState({value, isEditBox})\n this._onChange(value, isXml)\n }\n\n _onChange = (val, isXml) => { (this.props.onChange || NOOP)(val, isXml) }\n\n handleOnChange = e => {\n const {consumesValue} = this.props\n const isXml = /xml/i.test(consumesValue)\n const inputValue = e.target.value\n this.onChange(inputValue, {isXml, isEditBox: this.state.isEditBox})\n }\n\n toggleIsEditBox = () => this.setState( state => ({isEditBox: !state.isEditBox}))\n\n render() {\n let {\n onChangeConsumes,\n param,\n isExecute,\n specSelectors,\n pathMethod,\n getConfigs,\n getComponent,\n } = this.props\n\n const Button = getComponent(\"Button\")\n const TextArea = getComponent(\"TextArea\")\n const HighlightCode = getComponent(\"highlightCode\")\n const ContentType = getComponent(\"contentType\")\n // for domains where specSelectors not passed\n let parameter = specSelectors ? specSelectors.parameterWithMetaByIdentity(pathMethod, param) : param\n let errors = parameter.get(\"errors\", List())\n let consumesValue = specSelectors.contentTypeValues(pathMethod).get(\"requestContentType\")\n let consumes = this.props.consumes && this.props.consumes.size ? this.props.consumes : ParamBody.defaultProp.consumes\n\n let { value, isEditBox } = this.state\n let language = null\n let testValueForJson = getKnownSyntaxHighlighterLanguage(value)\n if (testValueForJson) {\n language = \"json\"\n }\n\n return (\n <div className=\"body-param\" data-param-name={param.get(\"name\")} data-param-in={param.get(\"in\")}>\n {\n isEditBox && isExecute\n ? <TextArea className={ \"body-param__text\" + ( errors.count() ? \" invalid\" : \"\")} value={value} onChange={ this.handleOnChange }/>\n : (value && <HighlightCode className=\"body-param__example\"\n language={ language }\n getConfigs={ getConfigs }\n value={ value }/>)\n }\n <div className=\"body-param-options\">\n {\n !isExecute ? null\n : <div className=\"body-param-edit\">\n <Button className={isEditBox ? \"btn cancel body-param__example-edit\" : \"btn edit body-param__example-edit\"}\n onClick={this.toggleIsEditBox}>{ isEditBox ? \"Cancel\" : \"Edit\"}\n </Button>\n </div>\n }\n <label htmlFor=\"\">\n <span>Parameter content type</span>\n <ContentType\n value={ consumesValue }\n contentTypes={ consumes }\n onChange={onChangeConsumes}\n className=\"body-param-content-type\"\n ariaLabel=\"Parameter content type\" />\n </label>\n </div>\n\n </div>\n )\n\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { CopyToClipboard } from \"react-copy-to-clipboard\"\nimport {SyntaxHighlighter, getStyle} from \"core/syntax-highlighting\"\nimport get from \"lodash/get\"\nimport { requestSnippetGenerator_curl_bash } from \"../plugins/request-snippets/fn\"\n\nexport default class Curl extends React.Component {\n static propTypes = {\n getConfigs: PropTypes.func.isRequired,\n request: PropTypes.object.isRequired\n }\n\n render() {\n let { request, getConfigs } = this.props\n let curl = requestSnippetGenerator_curl_bash(request)\n\n const config = getConfigs()\n\n const curlBlock = get(config, \"syntaxHighlight.activated\")\n ? <SyntaxHighlighter\n language=\"bash\"\n className=\"curl microlight\"\n style={getStyle(get(config, \"syntaxHighlight.theme\"))}\n >\n {curl}\n </SyntaxHighlighter>\n :\n <textarea readOnly={true} className=\"curl\" value={curl}></textarea>\n\n return (\n <div className=\"curl-command\">\n <h4>Curl</h4>\n <div className=\"copy-to-clipboard\">\n <CopyToClipboard text={curl}><button/></CopyToClipboard>\n </div>\n <div>\n {curlBlock}\n </div>\n </div>\n )\n }\n\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class Schemes extends React.Component {\n\n static propTypes = {\n specActions: PropTypes.object.isRequired,\n schemes: PropTypes.object.isRequired,\n currentScheme: PropTypes.string.isRequired,\n path: PropTypes.string,\n method: PropTypes.string,\n }\n\n UNSAFE_componentWillMount() {\n let { schemes } = this.props\n\n //fire 'change' event to set default 'value' of select\n this.setScheme(schemes.first())\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if ( !this.props.currentScheme || !nextProps.schemes.includes(this.props.currentScheme) ) {\n // if we don't have a selected currentScheme or if our selected scheme is no longer an option,\n // then fire 'change' event and select the first scheme in the list of options\n this.setScheme(nextProps.schemes.first())\n }\n }\n\n onChange =( e ) => {\n this.setScheme( e.target.value )\n }\n\n setScheme = ( value ) => {\n let { path, method, specActions } = this.props\n\n specActions.setScheme( value, path, method )\n }\n\n render() {\n let { schemes, currentScheme } = this.props\n\n return (\n <label htmlFor=\"schemes\">\n <span className=\"schemes-title\">Schemes</span>\n <select onChange={ this.onChange } value={currentScheme}>\n { schemes.valueSeq().map(\n ( scheme ) => <option value={ scheme } key={ scheme }>{ scheme }</option>\n ).toArray()}\n </select>\n </label>\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class SchemesContainer extends React.Component {\n\n static propTypes = {\n specActions: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired\n }\n\n render () {\n const {specActions, specSelectors, getComponent} = this.props\n\n const currentScheme = specSelectors.operationScheme()\n const schemes = specSelectors.schemes()\n\n const Schemes = getComponent(\"schemes\")\n\n const schemesArePresent = schemes && schemes.size\n\n return schemesArePresent ? (\n <Schemes\n currentScheme={currentScheme}\n schemes={schemes}\n specActions={specActions}\n />\n ) : null\n }\n}\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport Im from \"immutable\"\n\nexport default class ModelCollapse extends Component {\n static propTypes = {\n collapsedContent: PropTypes.any,\n expanded: PropTypes.bool,\n children: PropTypes.any,\n title: PropTypes.element,\n modelName: PropTypes.string,\n classes: PropTypes.string,\n onToggle: PropTypes.func,\n hideSelfOnExpand: PropTypes.bool,\n layoutActions: PropTypes.object,\n layoutSelectors: PropTypes.object.isRequired,\n specPath: ImPropTypes.list.isRequired,\n }\n\n static defaultProps = {\n collapsedContent: \"{...}\",\n expanded: false,\n title: null,\n onToggle: () => {},\n hideSelfOnExpand: false,\n specPath: Im.List([]),\n }\n\n constructor(props, context) {\n super(props, context)\n\n let { expanded, collapsedContent } = this.props\n\n this.state = {\n expanded : expanded,\n collapsedContent: collapsedContent || ModelCollapse.defaultProps.collapsedContent\n }\n }\n\n componentDidMount() {\n const { hideSelfOnExpand, expanded, modelName } = this.props\n if(hideSelfOnExpand && expanded) {\n // We just mounted pre-expanded, and we won't be going back..\n // So let's give our parent an `onToggle` call..\n // Since otherwise it will never be called.\n this.props.onToggle(modelName, expanded)\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps){\n if(this.props.expanded !== nextProps.expanded){\n this.setState({expanded: nextProps.expanded})\n }\n }\n\n toggleCollapsed=()=>{\n if(this.props.onToggle){\n this.props.onToggle(this.props.modelName,!this.state.expanded)\n }\n\n this.setState({\n expanded: !this.state.expanded\n })\n }\n\n onLoad = (ref) => {\n if (ref && this.props.layoutSelectors) {\n const scrollToKey = this.props.layoutSelectors.getScrollToKey()\n\n if( Im.is(scrollToKey, this.props.specPath) ) this.toggleCollapsed()\n this.props.layoutActions.readyToScroll(this.props.specPath, ref.parentElement)\n }\n }\n\n render () {\n const { title, classes } = this.props\n\n if(this.state.expanded ) {\n if(this.props.hideSelfOnExpand) {\n return <span className={classes || \"\"}>\n {this.props.children}\n </span>\n }\n }\n\n return (\n <span className={classes || \"\"} ref={this.onLoad}>\n <button aria-expanded={this.state.expanded} className=\"model-box-control\" onClick={this.toggleCollapsed}>\n { title && <span className=\"pointer\">{title}</span> }\n <span className={ \"model-toggle\" + ( this.state.expanded ? \"\" : \" collapsed\" ) }></span>\n { !this.state.expanded && <span>{this.state.collapsedContent}</span> }\n </button>\n\n { this.state.expanded && this.props.children }\n </span>\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport cx from \"classnames\"\nimport randomBytes from \"randombytes\"\n\nexport default class ModelExample extends React.Component {\n static propTypes = {\n getComponent: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n schema: PropTypes.object.isRequired,\n example: PropTypes.any.isRequired,\n isExecute: PropTypes.bool,\n getConfigs: PropTypes.func.isRequired,\n specPath: ImPropTypes.list.isRequired,\n includeReadOnly: PropTypes.bool,\n includeWriteOnly: PropTypes.bool,\n }\n\n constructor(props, context) {\n super(props, context)\n let { getConfigs, isExecute } = this.props\n let { defaultModelRendering } = getConfigs()\n\n let activeTab = defaultModelRendering\n\n if (defaultModelRendering !== \"example\" && defaultModelRendering !== \"model\") {\n activeTab = \"example\"\n }\n\n if(isExecute) {\n activeTab = \"example\"\n }\n\n this.state = {\n activeTab,\n }\n }\n\n activeTab = ( e ) => {\n let { target : { dataset : { name } } } = e\n\n this.setState({\n activeTab: name\n })\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (\n nextProps.isExecute &&\n !this.props.isExecute &&\n this.props.example\n ) {\n this.setState({ activeTab: \"example\" })\n }\n }\n\n render() {\n let { getComponent, specSelectors, schema, example, isExecute, getConfigs, specPath, includeReadOnly, includeWriteOnly } = this.props\n let { defaultModelExpandDepth } = getConfigs()\n const ModelWrapper = getComponent(\"ModelWrapper\")\n const HighlightCode = getComponent(\"highlightCode\")\n const exampleTabId = randomBytes(5).toString(\"base64\")\n const examplePanelId = randomBytes(5).toString(\"base64\")\n const modelTabId = randomBytes(5).toString(\"base64\")\n const modelPanelId = randomBytes(5).toString(\"base64\")\n\n let isOAS3 = specSelectors.isOAS3()\n\n return (\n <div className=\"model-example\">\n <ul className=\"tab\" role=\"tablist\">\n <li className={cx(\"tabitem\", { active: this.state.activeTab === \"example\" })} role=\"presentation\">\n <button\n aria-controls={examplePanelId}\n aria-selected={this.state.activeTab === \"example\"}\n className=\"tablinks\"\n data-name=\"example\"\n id={exampleTabId}\n onClick={ this.activeTab }\n role=\"tab\"\n >\n {isExecute ? \"Edit Value\" : \"Example Value\"}\n </button>\n </li>\n { schema && (\n <li className={cx(\"tabitem\", { active: this.state.activeTab === \"model\" })} role=\"presentation\">\n <button\n aria-controls={modelPanelId}\n aria-selected={this.state.activeTab === \"model\"}\n className={cx(\"tablinks\", { inactive: isExecute })}\n data-name=\"model\"\n id={modelTabId}\n onClick={ this.activeTab }\n role=\"tab\"\n >\n {isOAS3 ? \"Schema\" : \"Model\" }\n </button>\n </li>\n )}\n </ul>\n {this.state.activeTab === \"example\" && (\n <div\n aria-hidden={this.state.activeTab !== \"example\"}\n aria-labelledby={exampleTabId}\n data-name=\"examplePanel\"\n id={examplePanelId}\n role=\"tabpanel\"\n tabIndex=\"0\"\n >\n {example ? example : (\n <HighlightCode value=\"(no example available)\" getConfigs={ getConfigs } />\n )}\n </div>\n )}\n\n {this.state.activeTab === \"model\" && (\n <div\n aria-hidden={this.state.activeTab === \"example\"}\n aria-labelledby={modelTabId}\n data-name=\"modelPanel\"\n id={modelPanelId}\n role=\"tabpanel\"\n tabIndex=\"0\"\n >\n <ModelWrapper\n schema={ schema }\n getComponent={ getComponent }\n getConfigs={ getConfigs }\n specSelectors={ specSelectors }\n expandDepth={ defaultModelExpandDepth }\n specPath={specPath}\n includeReadOnly = {includeReadOnly}\n includeWriteOnly = {includeWriteOnly}\n />\n </div>\n )}\n </div>\n )\n }\n\n}\n","import React, { Component, } from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nexport default class ModelWrapper extends Component {\n\n static propTypes = {\n schema: PropTypes.object.isRequired,\n name: PropTypes.string,\n displayName: PropTypes.string,\n fullPath: PropTypes.array.isRequired,\n specPath: ImPropTypes.list.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n expandDepth: PropTypes.number,\n layoutActions: PropTypes.object,\n layoutSelectors: PropTypes.object.isRequired,\n includeReadOnly: PropTypes.bool,\n includeWriteOnly: PropTypes.bool,\n }\n\n onToggle = (name,isShown) => {\n // If this prop is present, we'll have deepLinking for it\n if(this.props.layoutActions) {\n this.props.layoutActions.show(this.props.fullPath, isShown)\n }\n }\n\n render(){\n let { getComponent, getConfigs } = this.props\n const Model = getComponent(\"Model\")\n\n let expanded\n if(this.props.layoutSelectors) {\n // If this is prop is present, we'll have deepLinking for it\n expanded = this.props.layoutSelectors.isShown(this.props.fullPath)\n }\n\n return <div className=\"model-box\">\n <Model { ...this.props } getConfigs={ getConfigs } expanded={expanded} depth={ 1 } onToggle={ this.onToggle } expandDepth={ this.props.expandDepth || 0 }/>\n </div>\n }\n}\n","import React, { Component } from \"react\"\nimport Im, { Map } from \"immutable\"\nimport PropTypes from \"prop-types\"\n\nexport default class Models extends Component {\n static propTypes = {\n getComponent: PropTypes.func,\n specSelectors: PropTypes.object,\n specActions: PropTypes.object.isRequired,\n layoutSelectors: PropTypes.object,\n layoutActions: PropTypes.object,\n getConfigs: PropTypes.func.isRequired\n }\n\n getSchemaBasePath = () => {\n const isOAS3 = this.props.specSelectors.isOAS3()\n return isOAS3 ? [\"components\", \"schemas\"] : [\"definitions\"]\n }\n\n getCollapsedContent = () => {\n return \" \"\n }\n\n handleToggle = (name, isExpanded) => {\n const { layoutActions } = this.props\n layoutActions.show([...this.getSchemaBasePath(), name], isExpanded)\n if(isExpanded) {\n this.props.specActions.requestResolvedSubtree([...this.getSchemaBasePath(), name])\n }\n }\n\n onLoadModels = (ref) => {\n if (ref) {\n this.props.layoutActions.readyToScroll(this.getSchemaBasePath(), ref)\n }\n }\n\n onLoadModel = (ref) => {\n if (ref) {\n const name = ref.getAttribute(\"data-name\")\n this.props.layoutActions.readyToScroll([...this.getSchemaBasePath(), name], ref)\n }\n }\n\n render(){\n let { specSelectors, getComponent, layoutSelectors, layoutActions, getConfigs } = this.props\n let definitions = specSelectors.definitions()\n let { docExpansion, defaultModelsExpandDepth } = getConfigs()\n if (!definitions.size || defaultModelsExpandDepth < 0) return null\n\n const specPathBase = this.getSchemaBasePath()\n let showModels = layoutSelectors.isShown(specPathBase, defaultModelsExpandDepth > 0 && docExpansion !== \"none\")\n const isOAS3 = specSelectors.isOAS3()\n\n const ModelWrapper = getComponent(\"ModelWrapper\")\n const Collapse = getComponent(\"Collapse\")\n const ModelCollapse = getComponent(\"ModelCollapse\")\n const JumpToPath = getComponent(\"JumpToPath\", true)\n\n return <section className={ showModels ? \"models is-open\" : \"models\"} ref={this.onLoadModels}>\n <h4>\n <button\n aria-expanded={showModels}\n className=\"models-control\"\n onClick={() => layoutActions.show(specPathBase, !showModels)}\n >\n <span>{isOAS3 ? \"Schemas\" : \"Models\"}</span>\n <svg width=\"20\" height=\"20\" aria-hidden=\"true\" focusable=\"false\">\n <use xlinkHref={showModels ? \"#large-arrow-up\" : \"#large-arrow-down\"} />\n </svg>\n </button>\n </h4>\n <Collapse isOpened={showModels}>\n {\n definitions.entrySeq().map(([name])=>{\n\n const fullPath = [...specPathBase, name]\n const specPath = Im.List(fullPath)\n\n const schemaValue = specSelectors.specResolvedSubtree(fullPath)\n const rawSchemaValue = specSelectors.specJson().getIn(fullPath)\n\n const schema = Map.isMap(schemaValue) ? schemaValue : Im.Map()\n const rawSchema = Map.isMap(rawSchemaValue) ? rawSchemaValue : Im.Map()\n\n const displayName = schema.get(\"title\") || rawSchema.get(\"title\") || name\n const isShown = layoutSelectors.isShown(fullPath, false)\n\n if( isShown && (schema.size === 0 && rawSchema.size > 0) ) {\n // Firing an action in a container render is not great,\n // but it works for now.\n this.props.specActions.requestResolvedSubtree(fullPath)\n }\n\n const content = <ModelWrapper name={ name }\n expandDepth={ defaultModelsExpandDepth }\n schema={ schema || Im.Map() }\n displayName={displayName}\n fullPath={fullPath}\n specPath={specPath}\n getComponent={ getComponent }\n specSelectors={ specSelectors }\n getConfigs = {getConfigs}\n layoutSelectors = {layoutSelectors}\n layoutActions = {layoutActions}\n includeReadOnly = {true}\n includeWriteOnly = {true}/>\n\n const title = <span className=\"model-box\">\n <span className=\"model model-title\">\n {displayName}\n </span>\n </span>\n\n return <div id={ `model-${name}` } className=\"model-container\" key={ `models-section-${name}` }\n data-name={name} ref={this.onLoadModel} >\n <span className=\"models-jump-to-path\"><JumpToPath specPath={specPath} /></span>\n <ModelCollapse\n classes=\"model-box\"\n collapsedContent={this.getCollapsedContent(name)}\n onToggle={this.handleToggle}\n title={title}\n displayName={displayName}\n modelName={name}\n specPath={specPath}\n layoutSelectors={layoutSelectors}\n layoutActions={layoutActions}\n hideSelfOnExpand={true}\n expanded={ defaultModelsExpandDepth > 0 && isShown }\n >{content}</ModelCollapse>\n </div>\n }).toArray()\n }\n </Collapse>\n </section>\n }\n}\n","import React from \"react\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nconst EnumModel = ({ value, getComponent }) => {\n let ModelCollapse = getComponent(\"ModelCollapse\")\n let collapsedContent = <span>Array [ { value.count() } ]</span>\n return <span className=\"prop-enum\">\n Enum:<br />\n <ModelCollapse collapsedContent={ collapsedContent }>\n [ { value.join(\", \") } ]\n </ModelCollapse>\n </span>\n}\nEnumModel.propTypes = {\n value: ImPropTypes.iterable,\n getComponent: ImPropTypes.func\n}\n\nexport default EnumModel","import React, { Component, } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { List } from \"immutable\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { sanitizeUrl } from \"core/utils\"\n\nconst braceOpen = \"{\"\nconst braceClose = \"}\"\nconst propClass = \"property\"\n\nexport default class ObjectModel extends Component {\n static propTypes = {\n schema: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n expanded: PropTypes.bool,\n onToggle: PropTypes.func,\n specSelectors: PropTypes.object.isRequired,\n name: PropTypes.string,\n displayName: PropTypes.string,\n isRef: PropTypes.bool,\n expandDepth: PropTypes.number,\n depth: PropTypes.number,\n specPath: ImPropTypes.list.isRequired,\n includeReadOnly: PropTypes.bool,\n includeWriteOnly: PropTypes.bool,\n }\n\n render(){\n let { schema, name, displayName, isRef, getComponent, getConfigs, depth, onToggle, expanded, specPath, ...otherProps } = this.props\n let { specSelectors,expandDepth, includeReadOnly, includeWriteOnly} = otherProps\n const { isOAS3 } = specSelectors\n\n if(!schema) {\n return null\n }\n\n const { showExtensions } = getConfigs()\n\n let description = schema.get(\"description\")\n let properties = schema.get(\"properties\")\n let additionalProperties = schema.get(\"additionalProperties\")\n let title = schema.get(\"title\") || displayName || name\n let requiredProperties = schema.get(\"required\")\n let infoProperties = schema\n .filter( ( v, key) => [\"maxProperties\", \"minProperties\", \"nullable\", \"example\"].indexOf(key) !== -1 )\n let deprecated = schema.get(\"deprecated\")\n let externalDocsUrl = schema.getIn([\"externalDocs\", \"url\"])\n let externalDocsDescription = schema.getIn([\"externalDocs\", \"description\"])\n\n const JumpToPath = getComponent(\"JumpToPath\", true)\n const Markdown = getComponent(\"Markdown\", true)\n const Model = getComponent(\"Model\")\n const ModelCollapse = getComponent(\"ModelCollapse\")\n const Property = getComponent(\"Property\")\n const Link = getComponent(\"Link\")\n\n const JumpToPathSection = () => {\n return <span className=\"model-jump-to-path\"><JumpToPath specPath={specPath} /></span>\n }\n const collapsedContent = (<span>\n <span>{ braceOpen }</span>...<span>{ braceClose }</span>\n {\n isRef ? <JumpToPathSection /> : \"\"\n }\n </span>)\n\n const anyOf = specSelectors.isOAS3() ? schema.get(\"anyOf\") : null\n const oneOf = specSelectors.isOAS3() ? schema.get(\"oneOf\") : null\n const not = specSelectors.isOAS3() ? schema.get(\"not\") : null\n\n const titleEl = title && <span className=\"model-title\">\n { isRef && schema.get(\"$$ref\") && <span className=\"model-hint\">{ schema.get(\"$$ref\") }</span> }\n <span className=\"model-title__text\">{ title }</span>\n </span>\n\n return <span className=\"model\">\n <ModelCollapse\n modelName={name}\n title={titleEl}\n onToggle = {onToggle}\n expanded={ expanded ? true : depth <= expandDepth }\n collapsedContent={ collapsedContent }>\n\n <span className=\"brace-open object\">{ braceOpen }</span>\n {\n !isRef ? null : <JumpToPathSection />\n }\n <span className=\"inner-object\">\n {\n <table className=\"model\"><tbody>\n {\n !description ? null : <tr className=\"description\">\n <td>description:</td>\n <td>\n <Markdown source={ description } />\n </td>\n </tr>\n }\n {\n externalDocsUrl &&\n <tr className={\"external-docs\"}>\n <td>\n externalDocs:\n </td>\n <td>\n <Link target=\"_blank\" href={sanitizeUrl(externalDocsUrl)}>{externalDocsDescription || externalDocsUrl}</Link>\n </td>\n </tr>\n }\n {\n !deprecated ? null :\n <tr className={\"property\"}>\n <td>\n deprecated:\n </td>\n <td>\n true\n </td>\n </tr>\n }\n {\n !(properties && properties.size) ? null : properties.entrySeq().filter(\n ([, value]) => {\n return (!value.get(\"readOnly\") || includeReadOnly) &&\n (!value.get(\"writeOnly\") || includeWriteOnly)\n }\n ).map(\n ([key, value]) => {\n let isDeprecated = isOAS3() && value.get(\"deprecated\")\n let isRequired = List.isList(requiredProperties) && requiredProperties.contains(key)\n\n let classNames = [\"property-row\"]\n\n if (isDeprecated) {\n classNames.push(\"deprecated\")\n }\n\n if (isRequired) {\n classNames.push(\"required\")\n }\n\n return (<tr key={key} className={classNames.join(\" \")}>\n <td>\n { key }{ isRequired && <span className=\"star\">*</span> }\n </td>\n <td>\n <Model key={ `object-${name}-${key}_${value}` } { ...otherProps }\n required={ isRequired }\n getComponent={ getComponent }\n specPath={specPath.push(\"properties\", key)}\n getConfigs={ getConfigs }\n schema={ value }\n depth={ depth + 1 } />\n </td>\n </tr>)\n }).toArray()\n }\n {\n // empty row before extensions...\n !showExtensions ? null : <tr><td> </td></tr>\n }\n {\n !showExtensions ? null :\n schema.entrySeq().map(\n ([key, value]) => {\n if(key.slice(0,2) !== \"x-\") {\n return\n }\n\n const normalizedValue = !value ? null : value.toJS ? value.toJS() : value\n\n return (<tr key={key} className=\"extension\">\n <td>\n { key }\n </td>\n <td>\n { JSON.stringify(normalizedValue) }\n </td>\n </tr>)\n }).toArray()\n }\n {\n !additionalProperties || !additionalProperties.size ? null\n : <tr>\n <td>{ \"< * >:\" }</td>\n <td>\n <Model { ...otherProps } required={ false }\n getComponent={ getComponent }\n specPath={specPath.push(\"additionalProperties\")}\n getConfigs={ getConfigs }\n schema={ additionalProperties }\n depth={ depth + 1 } />\n </td>\n </tr>\n }\n {\n !anyOf ? null\n : <tr>\n <td>{ \"anyOf ->\" }</td>\n <td>\n {anyOf.map((schema, k) => {\n return <div key={k}><Model { ...otherProps } required={ false }\n getComponent={ getComponent }\n specPath={specPath.push(\"anyOf\", k)}\n getConfigs={ getConfigs }\n schema={ schema }\n depth={ depth + 1 } /></div>\n })}\n </td>\n </tr>\n }\n {\n !oneOf ? null\n : <tr>\n <td>{ \"oneOf ->\" }</td>\n <td>\n {oneOf.map((schema, k) => {\n return <div key={k}><Model { ...otherProps } required={ false }\n getComponent={ getComponent }\n specPath={specPath.push(\"oneOf\", k)}\n getConfigs={ getConfigs }\n schema={ schema }\n depth={ depth + 1 } /></div>\n })}\n </td>\n </tr>\n }\n {\n !not ? null\n : <tr>\n <td>{ \"not ->\" }</td>\n <td>\n <div>\n <Model { ...otherProps }\n required={ false }\n getComponent={ getComponent }\n specPath={specPath.push(\"not\")}\n getConfigs={ getConfigs }\n schema={ not }\n depth={ depth + 1 } />\n </div>\n </td>\n </tr>\n }\n </tbody></table>\n }\n </span>\n <span className=\"brace-close\">{ braceClose }</span>\n </ModelCollapse>\n {\n infoProperties.size ? infoProperties.entrySeq().map( ( [ key, v ] ) => <Property key={`${key}-${v}`} propKey={ key } propVal={ v } propClass={ propClass } />) : null\n }\n </span>\n }\n}\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { sanitizeUrl } from \"core/utils\"\n\nconst propClass = \"property\"\n\nexport default class ArrayModel extends Component {\n static propTypes = {\n schema: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n name: PropTypes.string,\n displayName: PropTypes.string,\n required: PropTypes.bool,\n expandDepth: PropTypes.number,\n specPath: ImPropTypes.list.isRequired,\n depth: PropTypes.number,\n includeReadOnly: PropTypes.bool,\n includeWriteOnly: PropTypes.bool,\n }\n\n render(){\n let { getComponent, getConfigs, schema, depth, expandDepth, name, displayName, specPath } = this.props\n let description = schema.get(\"description\")\n let items = schema.get(\"items\")\n let title = schema.get(\"title\") || displayName || name\n let properties = schema.filter( ( v, key) => [\"type\", \"items\", \"description\", \"$$ref\", \"externalDocs\"].indexOf(key) === -1 )\n let externalDocsUrl = schema.getIn([\"externalDocs\", \"url\"])\n let externalDocsDescription = schema.getIn([\"externalDocs\", \"description\"])\n\n\n const Markdown = getComponent(\"Markdown\", true)\n const ModelCollapse = getComponent(\"ModelCollapse\")\n const Model = getComponent(\"Model\")\n const Property = getComponent(\"Property\")\n const Link = getComponent(\"Link\")\n\n const titleEl = title &&\n <span className=\"model-title\">\n <span className=\"model-title__text\">{ title }</span>\n </span>\n\n /*\n Note: we set `name={null}` in <Model> below because we don't want\n the name of the current Model passed (and displayed) as the name of the array element Model\n */\n\n return <span className=\"model\">\n <ModelCollapse title={titleEl} expanded={ depth <= expandDepth } collapsedContent=\"[...]\">\n [\n {\n properties.size ? properties.entrySeq().map( ( [ key, v ] ) => <Property key={`${key}-${v}`} propKey={ key } propVal={ v } propClass={ propClass } />) : null\n }\n {\n !description ? (properties.size ? <div className=\"markdown\"></div> : null) :\n <Markdown source={ description } />\n }\n { externalDocsUrl &&\n <div className=\"external-docs\">\n <Link target=\"_blank\" href={sanitizeUrl(externalDocsUrl)}>{externalDocsDescription || externalDocsUrl}</Link>\n </div>\n }\n <span>\n <Model\n { ...this.props }\n getConfigs={ getConfigs }\n specPath={specPath.push(\"items\")}\n name={null}\n schema={ items }\n required={ false }\n depth={ depth + 1 }\n />\n </span>\n ]\n </ModelCollapse>\n </span>\n }\n}\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { getExtensions, sanitizeUrl } from \"core/utils\"\n\nconst propClass = \"property primitive\"\n\nexport default class Primitive extends Component {\n static propTypes = {\n schema: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n name: PropTypes.string,\n displayName: PropTypes.string,\n depth: PropTypes.number,\n expandDepth: PropTypes.number\n }\n\n render() {\n let { schema, getComponent, getConfigs, name, displayName, depth, expandDepth } = this.props\n\n const { showExtensions } = getConfigs()\n\n if (!schema || !schema.get) {\n // don't render if schema isn't correctly formed\n return <div></div>\n }\n\n let type = schema.get(\"type\")\n let format = schema.get(\"format\")\n let xml = schema.get(\"xml\")\n let enumArray = schema.get(\"enum\")\n let title = schema.get(\"title\") || displayName || name\n let description = schema.get(\"description\")\n let extensions = getExtensions(schema)\n let properties = schema\n .filter((_, key) => [\"enum\", \"type\", \"format\", \"description\", \"$$ref\", \"externalDocs\"].indexOf(key) === -1)\n .filterNot((_, key) => extensions.has(key))\n let externalDocsUrl = schema.getIn([\"externalDocs\", \"url\"])\n let externalDocsDescription = schema.getIn([\"externalDocs\", \"description\"])\n\n const Markdown = getComponent(\"Markdown\", true)\n const EnumModel = getComponent(\"EnumModel\")\n const Property = getComponent(\"Property\")\n const ModelCollapse = getComponent(\"ModelCollapse\")\n const Link = getComponent(\"Link\")\n\n const titleEl = title &&\n <span className=\"model-title\">\n <span className=\"model-title__text\">{title}</span>\n </span>\n\n return <span className=\"model\">\n <ModelCollapse title={titleEl} expanded={depth <= expandDepth} collapsedContent=\"[...]\" hideSelfOnExpand={expandDepth !== depth}>\n <span className=\"prop\">\n {name && depth > 1 && <span className=\"prop-name\">{title}</span>}\n <span className=\"prop-type\">{type}</span>\n {format && <span className=\"prop-format\">(${format})</span>}\n {\n properties.size ? properties.entrySeq().map(([key, v]) => <Property key={`${key}-${v}`} propKey={key} propVal={v} propClass={propClass} />) : null\n }\n {\n showExtensions && extensions.size ? extensions.entrySeq().map(([key, v]) => <Property key={`${key}-${v}`} propKey={key} propVal={v} propClass={propClass} />) : null\n }\n {\n !description ? null :\n <Markdown source={description} />\n }\n {\n externalDocsUrl &&\n <div className=\"external-docs\">\n <Link target=\"_blank\" href={sanitizeUrl(externalDocsUrl)}>{externalDocsDescription || externalDocsUrl}</Link>\n </div>\n }\n {\n xml && xml.size ? (<span><br /><span className={propClass}>xml:</span>\n {\n xml.entrySeq().map(([key, v]) => <span key={`${key}-${v}`} className={propClass}><br /> {key}: {String(v)}</span>).toArray()\n }\n </span>) : null\n }\n {\n enumArray && <EnumModel value={enumArray} getComponent={getComponent} />\n }\n </span>\n </ModelCollapse>\n </span>\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport const Property = ({ propKey, propVal, propClass }) => {\n return (\n <span className={ propClass }>\n <br />{ propKey }: { String(propVal) }</span>\n )\n}\nProperty.propTypes = {\n propKey: PropTypes.string,\n propVal: PropTypes.any,\n propClass: PropTypes.string\n}\n\nexport default Property\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class TryItOutButton extends React.Component {\n\n static propTypes = {\n onTryoutClick: PropTypes.func,\n onResetClick: PropTypes.func,\n onCancelClick: PropTypes.func,\n enabled: PropTypes.bool, // Try it out is enabled, ie: the user has access to the form\n hasUserEditedBody: PropTypes.bool, // Try it out is enabled, ie: the user has access to the form\n isOAS3: PropTypes.bool, // Try it out is enabled, ie: the user has access to the form\n }\n\n static defaultProps = {\n onTryoutClick: Function.prototype,\n onCancelClick: Function.prototype,\n onResetClick: Function.prototype,\n enabled: false,\n hasUserEditedBody: false,\n isOAS3: false,\n }\n\n render() {\n const { onTryoutClick, onCancelClick, onResetClick, enabled, hasUserEditedBody, isOAS3 } = this.props\n\n const showReset = isOAS3 && hasUserEditedBody\n return (\n <div className={showReset ? \"try-out btn-group\" : \"try-out\"}>\n {\n enabled ? <button className=\"btn try-out__btn cancel\" onClick={ onCancelClick }>Cancel</button>\n : <button className=\"btn try-out__btn\" onClick={ onTryoutClick }>Try it out </button>\n\n }\n {\n showReset && <button className=\"btn try-out__btn reset\" onClick={ onResetClick }>Reset</button>\n }\n </div>\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class VersionPragmaFilter extends React.PureComponent {\n static propTypes = {\n isSwagger2: PropTypes.bool.isRequired,\n isOAS3: PropTypes.bool.isRequired,\n bypass: PropTypes.bool,\n alsoShow: PropTypes.element,\n children: PropTypes.any,\n }\n\n static defaultProps = {\n alsoShow: null,\n children: null,\n bypass: false,\n }\n\n render() {\n const { bypass, isSwagger2, isOAS3, alsoShow } = this.props\n\n if(bypass) {\n return <div>{ this.props.children }</div>\n }\n\n if(isSwagger2 && isOAS3) {\n return <div className=\"version-pragma\">\n {alsoShow}\n <div className=\"version-pragma__message version-pragma__message--ambiguous\">\n <div>\n <h3>Unable to render this definition</h3>\n <p><code>swagger</code> and <code>openapi</code> fields cannot be present in the same Swagger or OpenAPI definition. Please remove one of the fields.</p>\n <p>Supported version fields are <code>swagger: {\"\\\"2.0\\\"\"}</code> and those that match <code>openapi: 3.0.n</code> (for example, <code>openapi: 3.0.0</code>).</p>\n </div>\n </div>\n </div>\n }\n\n if(!isSwagger2 && !isOAS3) {\n return <div className=\"version-pragma\">\n {alsoShow}\n <div className=\"version-pragma__message version-pragma__message--missing\">\n <div>\n <h3>Unable to render this definition</h3>\n <p>The provided definition does not specify a valid version field.</p>\n <p>Please indicate a valid Swagger or OpenAPI version field. Supported version fields are <code>swagger: {\"\\\"2.0\\\"\"}</code> and those that match <code>openapi: 3.0.n</code> (for example, <code>openapi: 3.0.0</code>).</p>\n </div>\n </div>\n </div>\n }\n\n return <div>{ this.props.children }</div>\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nconst VersionStamp = ({ version }) => {\n return <small><pre className=\"version\"> { version } </pre></small>\n}\n\nVersionStamp.propTypes = {\n version: PropTypes.string.isRequired\n}\n\nexport default VersionStamp\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport const DeepLink = ({ enabled, path, text }) => {\n return (\n <a className=\"nostyle\"\n onClick={enabled ? (e) => e.preventDefault() : null}\n href={enabled ? `#/${path}` : null}>\n <span>{text}</span>\n </a>\n )\n}\nDeepLink.propTypes = {\n enabled: PropTypes.bool,\n isShown: PropTypes.bool,\n path: PropTypes.string,\n text: PropTypes.node\n}\n\nexport default DeepLink\n","import React from \"react\"\nconst SvgAssets = () =>\n <div>\n <svg xmlns=\"http://www.w3.org/2000/svg\" xmlnsXlink=\"http://www.w3.org/1999/xlink\" className=\"svg-assets\">\n <defs>\n <symbol viewBox=\"0 0 20 20\" id=\"unlocked\">\n <path d=\"M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V6h2v-.801C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8z\"></path>\n </symbol>\n\n <symbol viewBox=\"0 0 20 20\" id=\"locked\">\n <path d=\"M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8zM12 8H8V5.199C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8z\"/>\n </symbol>\n\n <symbol viewBox=\"0 0 20 20\" id=\"close\">\n <path d=\"M14.348 14.849c-.469.469-1.229.469-1.697 0L10 11.819l-2.651 3.029c-.469.469-1.229.469-1.697 0-.469-.469-.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-.469-.469-.469-1.228 0-1.697.469-.469 1.228-.469 1.697 0L10 8.183l2.651-3.031c.469-.469 1.228-.469 1.697 0 .469.469.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c.469.469.469 1.229 0 1.698z\"/>\n </symbol>\n\n <symbol viewBox=\"0 0 20 20\" id=\"large-arrow\">\n <path d=\"M13.25 10L6.109 2.58c-.268-.27-.268-.707 0-.979.268-.27.701-.27.969 0l7.83 7.908c.268.271.268.709 0 .979l-7.83 7.908c-.268.271-.701.27-.969 0-.268-.269-.268-.707 0-.979L13.25 10z\"/>\n </symbol>\n\n <symbol viewBox=\"0 0 20 20\" id=\"large-arrow-down\">\n <path d=\"M17.418 6.109c.272-.268.709-.268.979 0s.271.701 0 .969l-7.908 7.83c-.27.268-.707.268-.979 0l-7.908-7.83c-.27-.268-.27-.701 0-.969.271-.268.709-.268.979 0L10 13.25l7.418-7.141z\"/>\n </symbol>\n\n <symbol viewBox=\"0 0 20 20\" id=\"large-arrow-up\">\n <path d=\"M 17.418 14.908 C 17.69 15.176 18.127 15.176 18.397 14.908 C 18.667 14.64 18.668 14.207 18.397 13.939 L 10.489 6.109 C 10.219 5.841 9.782 5.841 9.51 6.109 L 1.602 13.939 C 1.332 14.207 1.332 14.64 1.602 14.908 C 1.873 15.176 2.311 15.176 2.581 14.908 L 10 7.767 L 17.418 14.908 Z\"/>\n </symbol>\n\n <symbol viewBox=\"0 0 24 24\" id=\"jump-to\">\n <path d=\"M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.41L5.83 13H21V7z\"/>\n </symbol>\n\n <symbol viewBox=\"0 0 24 24\" id=\"expand\">\n <path d=\"M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z\"/>\n </symbol>\n\n <symbol viewBox=\"0 0 15 16\" id=\"copy\">\n <g transform='translate(2, -1)'>\n <path fill='#ffffff' fillRule='evenodd' d='M2 13h4v1H2v-1zm5-6H2v1h5V7zm2 3V8l-3 3 3 3v-2h5v-2H9zM4.5 9H2v1h2.5V9zM2 12h2.5v-1H2v1zm9 1h1v2c-.02.28-.11.52-.3.7-.19.18-.42.28-.7.3H1c-.55 0-1-.45-1-1V4c0-.55.45-1 1-1h3c0-1.11.89-2 2-2 1.11 0 2 .89 2 2h3c.55 0 1 .45 1 1v5h-1V6H1v9h10v-2zM2 5h8c0-.55-.45-1-1-1H8c-.55 0-1-.45-1-1s-.45-1-1-1-1 .45-1 1-.45 1-1 1H3c-.55 0-1 .45-1 1z'></path>\n </g>\n </symbol>\n\n </defs>\n </svg>\n </div>\n\nexport default SvgAssets\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class BaseLayout extends React.Component {\n\n static propTypes = {\n errSelectors: PropTypes.object.isRequired,\n errActions: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n oas3Selectors: PropTypes.object.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired\n }\n\n render() {\n let {errSelectors, specSelectors, getComponent} = this.props\n\n let SvgAssets = getComponent(\"SvgAssets\")\n let InfoContainer = getComponent(\"InfoContainer\", true)\n let VersionPragmaFilter = getComponent(\"VersionPragmaFilter\")\n let Operations = getComponent(\"operations\", true)\n let Models = getComponent(\"Models\", true)\n let Row = getComponent(\"Row\")\n let Col = getComponent(\"Col\")\n let Errors = getComponent(\"errors\", true)\n\n const ServersContainer = getComponent(\"ServersContainer\", true)\n const SchemesContainer = getComponent(\"SchemesContainer\", true)\n const AuthorizeBtnContainer = getComponent(\"AuthorizeBtnContainer\", true)\n const FilterContainer = getComponent(\"FilterContainer\", true)\n let isSwagger2 = specSelectors.isSwagger2()\n let isOAS3 = specSelectors.isOAS3()\n\n const isSpecEmpty = !specSelectors.specStr()\n\n const loadingStatus = specSelectors.loadingStatus()\n\n let loadingMessage = null\n\n if(loadingStatus === \"loading\") {\n loadingMessage = <div className=\"info\">\n <div className=\"loading-container\">\n <div className=\"loading\"></div>\n </div>\n </div>\n }\n\n if(loadingStatus === \"failed\") {\n loadingMessage = <div className=\"info\">\n <div className=\"loading-container\">\n <h4 className=\"title\">Failed to load API definition.</h4>\n <Errors />\n </div>\n </div>\n }\n\n if (loadingStatus === \"failedConfig\") {\n const lastErr = errSelectors.lastError()\n const lastErrMsg = lastErr ? lastErr.get(\"message\") : \"\"\n loadingMessage = <div className=\"info failed-config\">\n <div className=\"loading-container\">\n <h4 className=\"title\">Failed to load remote configuration.</h4>\n <p>{lastErrMsg}</p>\n </div>\n </div>\n }\n\n if(!loadingMessage && isSpecEmpty) {\n loadingMessage = <h4>No API definition provided.</h4>\n }\n\n if(loadingMessage) {\n return <div className=\"swagger-ui\">\n <div className=\"loading-container\">\n {loadingMessage}\n </div>\n </div>\n }\n\n const servers = specSelectors.servers()\n const schemes = specSelectors.schemes()\n\n const hasServers = servers && servers.size\n const hasSchemes = schemes && schemes.size\n const hasSecurityDefinitions = !!specSelectors.securityDefinitions()\n\n return (\n <div className='swagger-ui'>\n <SvgAssets />\n <VersionPragmaFilter isSwagger2={isSwagger2} isOAS3={isOAS3} alsoShow={<Errors/>}>\n <Errors/>\n <Row className=\"information-container\">\n <Col mobile={12}>\n <InfoContainer/>\n </Col>\n </Row>\n\n {hasServers || hasSchemes || hasSecurityDefinitions ? (\n <div className=\"scheme-container\">\n <Col className=\"schemes wrapper\" mobile={12}>\n {hasServers ? (<ServersContainer />) : null}\n {hasSchemes ? (<SchemesContainer />) : null}\n {hasSecurityDefinitions ? (<AuthorizeBtnContainer />) : null}\n </Col>\n </div>\n ) : null}\n\n <FilterContainer/>\n\n <Row>\n <Col mobile={12} desktop={12} >\n <Operations/>\n </Col>\n </Row>\n <Row>\n <Col mobile={12} desktop={12} >\n <Models/>\n </Col>\n </Row>\n </VersionPragmaFilter>\n </div>\n )\n }\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_debounce_input_7ed3e068__[\"default\"] });","import React, { PureComponent, Component } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { List, fromJS } from \"immutable\"\nimport cx from \"classnames\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport DebounceInput from \"react-debounce-input\"\nimport { stringify, getSampleSchema } from \"core/utils\"\n//import \"less/json-schema-form\"\n\nconst noop = ()=> {}\nconst JsonSchemaPropShape = {\n getComponent: PropTypes.func.isRequired,\n value: PropTypes.any,\n onChange: PropTypes.func,\n keyName: PropTypes.any,\n fn: PropTypes.object.isRequired,\n schema: PropTypes.object,\n errors: ImPropTypes.list,\n required: PropTypes.bool,\n dispatchInitialValue: PropTypes.bool,\n description: PropTypes.any,\n disabled: PropTypes.bool,\n}\n\nconst JsonSchemaDefaultProps = {\n value: \"\",\n onChange: noop,\n schema: {},\n keyName: \"\",\n required: false,\n errors: List()\n}\n\nexport class JsonSchemaForm extends Component {\n\n static propTypes = JsonSchemaPropShape\n static defaultProps = JsonSchemaDefaultProps\n\n componentDidMount() {\n const { dispatchInitialValue, value, onChange } = this.props\n if(dispatchInitialValue) {\n onChange(value)\n } else if(dispatchInitialValue === false) {\n onChange(\"\")\n }\n }\n\n render() {\n let { schema, errors, value, onChange, getComponent, fn, disabled } = this.props\n const format = schema && schema.get ? schema.get(\"format\") : null\n const type = schema && schema.get ? schema.get(\"type\") : null\n\n let getComponentSilently = (name) => getComponent(name, false, { failSilently: true })\n let Comp = type ? format ?\n getComponentSilently(`JsonSchema_${type}_${format}`) :\n getComponentSilently(`JsonSchema_${type}`) :\n getComponent(\"JsonSchema_string\")\n if (!Comp) {\n Comp = getComponent(\"JsonSchema_string\")\n }\n return <Comp { ...this.props } errors={errors} fn={fn} getComponent={getComponent} value={value} onChange={onChange} schema={schema} disabled={disabled}/>\n }\n}\n\nexport class JsonSchema_string extends Component {\n static propTypes = JsonSchemaPropShape\n static defaultProps = JsonSchemaDefaultProps\n onChange = (e) => {\n const value = this.props.schema && this.props.schema.get(\"type\") === \"file\" ? e.target.files[0] : e.target.value\n this.props.onChange(value, this.props.keyName)\n }\n onEnumChange = (val) => this.props.onChange(val)\n render() {\n let { getComponent, value, schema, errors, required, description, disabled } = this.props\n const enumValue = schema && schema.get ? schema.get(\"enum\") : null\n const format = schema && schema.get ? schema.get(\"format\") : null\n const type = schema && schema.get ? schema.get(\"type\") : null\n const schemaIn = schema && schema.get ? schema.get(\"in\") : null\n if (!value) {\n value = \"\" // value should not be null; this fixes a Debounce error\n }\n errors = errors.toJS ? errors.toJS() : []\n\n if ( enumValue ) {\n const Select = getComponent(\"Select\")\n return (<Select className={ errors.length ? \"invalid\" : \"\"}\n title={ errors.length ? errors : \"\"}\n allowedValues={ [...enumValue] }\n value={ value }\n allowEmptyValue={ !required }\n disabled={disabled}\n onChange={ this.onEnumChange }/>)\n }\n\n const isDisabled = disabled || (schemaIn && schemaIn === \"formData\" && !(\"FormData\" in window))\n const Input = getComponent(\"Input\")\n if (type && type === \"file\") {\n return (\n <Input type=\"file\"\n className={errors.length ? \"invalid\" : \"\"}\n title={errors.length ? errors : \"\"}\n onChange={this.onChange}\n disabled={isDisabled} />\n )\n }\n else {\n return (\n <DebounceInput\n type={format && format === \"password\" ? \"password\" : \"text\"}\n className={errors.length ? \"invalid\" : \"\"}\n title={errors.length ? errors : \"\"}\n value={value}\n minLength={0}\n debounceTimeout={350}\n placeholder={description}\n onChange={this.onChange}\n disabled={isDisabled} />\n )\n }\n }\n}\n\nexport class JsonSchema_array extends PureComponent {\n\n static propTypes = JsonSchemaPropShape\n static defaultProps = JsonSchemaDefaultProps\n\n constructor(props, context) {\n super(props, context)\n this.state = { value: valueOrEmptyList(props.value), schema: props.schema}\n }\n\n UNSAFE_componentWillReceiveProps(props) {\n const value = valueOrEmptyList(props.value)\n if(value !== this.state.value)\n this.setState({ value })\n\n if(props.schema !== this.state.schema)\n this.setState({ schema: props.schema })\n }\n\n onChange = () => {\n this.props.onChange(this.state.value)\n }\n\n onItemChange = (itemVal, i) => {\n this.setState(({ value }) => ({\n value: value.set(i, itemVal)\n }), this.onChange)\n }\n\n removeItem = (i) => {\n this.setState(({ value }) => ({\n value: value.delete(i)\n }), this.onChange)\n }\n\n addItem = () => {\n let newValue = valueOrEmptyList(this.state.value)\n this.setState(() => ({\n value: newValue.push(getSampleSchema(this.state.schema.get(\"items\"), false, {\n includeWriteOnly: true\n }))\n }), this.onChange)\n }\n\n onEnumChange = (value) => {\n this.setState(() => ({\n value: value\n }), this.onChange)\n }\n\n render() {\n let { getComponent, required, schema, errors, fn, disabled } = this.props\n\n errors = errors.toJS ? errors.toJS() : Array.isArray(errors) ? errors : []\n const arrayErrors = errors.filter(e => typeof e === \"string\")\n const needsRemoveError = errors.filter(e => e.needRemove !== undefined)\n .map(e => e.error)\n const value = this.state.value // expect Im List\n const shouldRenderValue =\n value && value.count && value.count() > 0 ? true : false\n const schemaItemsEnum = schema.getIn([\"items\", \"enum\"])\n const schemaItemsType = schema.getIn([\"items\", \"type\"])\n const schemaItemsFormat = schema.getIn([\"items\", \"format\"])\n const schemaItemsSchema = schema.get(\"items\")\n let ArrayItemsComponent\n let isArrayItemText = false\n let isArrayItemFile = (schemaItemsType === \"file\" || (schemaItemsType === \"string\" && schemaItemsFormat === \"binary\")) ? true : false\n if (schemaItemsType && schemaItemsFormat) {\n ArrayItemsComponent = getComponent(`JsonSchema_${schemaItemsType}_${schemaItemsFormat}`)\n } else if (schemaItemsType === \"boolean\" || schemaItemsType === \"array\" || schemaItemsType === \"object\") {\n ArrayItemsComponent = getComponent(`JsonSchema_${schemaItemsType}`)\n }\n // if ArrayItemsComponent not assigned or does not exist,\n // use default schemaItemsType === \"string\" & JsonSchemaArrayItemText component\n if (!ArrayItemsComponent && !isArrayItemFile) {\n isArrayItemText = true\n }\n\n if ( schemaItemsEnum ) {\n const Select = getComponent(\"Select\")\n return (<Select className={ errors.length ? \"invalid\" : \"\"}\n title={ errors.length ? errors : \"\"}\n multiple={ true }\n value={ value }\n disabled={disabled}\n allowedValues={ schemaItemsEnum }\n allowEmptyValue={ !required }\n onChange={ this.onEnumChange }/>)\n }\n\n const Button = getComponent(\"Button\")\n return (\n <div className=\"json-schema-array\">\n {shouldRenderValue ?\n (value.map((item, i) => {\n const itemErrors = fromJS([\n ...errors.filter((err) => err.index === i)\n .map(e => e.error)\n ])\n return (\n <div key={i} className=\"json-schema-form-item\">\n {\n isArrayItemFile ?\n <JsonSchemaArrayItemFile\n value={item}\n onChange={(val)=> this.onItemChange(val, i)}\n disabled={disabled}\n errors={itemErrors}\n getComponent={getComponent}\n />\n : isArrayItemText ?\n <JsonSchemaArrayItemText\n value={item}\n onChange={(val) => this.onItemChange(val, i)}\n disabled={disabled}\n errors={itemErrors}\n />\n : <ArrayItemsComponent {...this.props}\n value={item}\n onChange={(val) => this.onItemChange(val, i)}\n disabled={disabled}\n errors={itemErrors}\n schema={schemaItemsSchema}\n getComponent={getComponent}\n fn={fn}\n />\n }\n {!disabled ? (\n <Button\n className={`btn btn-sm json-schema-form-item-remove ${needsRemoveError.length ? \"invalid\" : null}`}\n title={needsRemoveError.length ? needsRemoveError : \"\"}\n\n onClick={() => this.removeItem(i)}\n > - </Button>\n ) : null}\n </div>\n )\n })\n ) : null\n }\n {!disabled ? (\n <Button\n className={`btn btn-sm json-schema-form-item-add ${arrayErrors.length ? \"invalid\" : null}`}\n title={arrayErrors.length ? arrayErrors : \"\"}\n onClick={this.addItem}\n >\n Add {schemaItemsType ? `${schemaItemsType} ` : \"\"}item\n </Button>\n ) : null}\n </div>\n )\n }\n}\n\nexport class JsonSchemaArrayItemText extends Component {\n static propTypes = JsonSchemaPropShape\n static defaultProps = JsonSchemaDefaultProps\n\n onChange = (e) => {\n const value = e.target.value\n this.props.onChange(value, this.props.keyName)\n }\n\n render() {\n let { value, errors, description, disabled } = this.props\n if (!value) {\n value = \"\" // value should not be null\n }\n errors = errors.toJS ? errors.toJS() : []\n\n return (<DebounceInput\n type={\"text\"}\n className={errors.length ? \"invalid\" : \"\"}\n title={errors.length ? errors : \"\"}\n value={value}\n minLength={0}\n debounceTimeout={350}\n placeholder={description}\n onChange={this.onChange}\n disabled={disabled} />)\n }\n}\n\nexport class JsonSchemaArrayItemFile extends Component {\n static propTypes = JsonSchemaPropShape\n static defaultProps = JsonSchemaDefaultProps\n\n onFileChange = (e) => {\n const value = e.target.files[0]\n this.props.onChange(value, this.props.keyName)\n }\n\n render() {\n let { getComponent, errors, disabled } = this.props\n const Input = getComponent(\"Input\")\n const isDisabled = disabled || !(\"FormData\" in window)\n\n return (<Input type=\"file\"\n className={errors.length ? \"invalid\" : \"\"}\n title={errors.length ? errors : \"\"}\n onChange={this.onFileChange}\n disabled={isDisabled} />)\n }\n}\n\nexport class JsonSchema_boolean extends Component {\n static propTypes = JsonSchemaPropShape\n static defaultProps = JsonSchemaDefaultProps\n\n onEnumChange = (val) => this.props.onChange(val)\n render() {\n let { getComponent, value, errors, schema, required, disabled } = this.props\n errors = errors.toJS ? errors.toJS() : []\n let enumValue = schema && schema.get ? schema.get(\"enum\") : null\n let allowEmptyValue = !enumValue || !required\n let booleanValue = !enumValue && [\"true\", \"false\"]\n const Select = getComponent(\"Select\")\n\n return (<Select className={ errors.length ? \"invalid\" : \"\"}\n title={ errors.length ? errors : \"\"}\n value={ String(value) }\n disabled={ disabled }\n allowedValues={ enumValue ? [...enumValue] : booleanValue }\n allowEmptyValue={ allowEmptyValue }\n onChange={ this.onEnumChange }/>)\n }\n}\n\nconst stringifyObjectErrors = (errors) => {\n return errors.map(err => {\n const meta = err.propKey !== undefined ? err.propKey : err.index\n let stringError = typeof err === \"string\" ? err : typeof err.error === \"string\" ? err.error : null\n\n if(!meta && stringError) {\n return stringError\n }\n let currentError = err.error\n let path = `/${err.propKey}`\n while(typeof currentError === \"object\") {\n const part = currentError.propKey !== undefined ? currentError.propKey : currentError.index\n if(part === undefined) {\n break\n }\n path += `/${part}`\n if (!currentError.error) {\n break\n }\n currentError = currentError.error\n }\n return `${path}: ${currentError}`\n })\n}\n\nexport class JsonSchema_object extends PureComponent {\n constructor() {\n super()\n }\n\n static propTypes = JsonSchemaPropShape\n static defaultProps = JsonSchemaDefaultProps\n\n onChange = (value) => {\n this.props.onChange(value)\n }\n\n handleOnChange = e => {\n const inputValue = e.target.value\n\n this.onChange(inputValue)\n }\n\n render() {\n let {\n getComponent,\n value,\n errors,\n disabled\n } = this.props\n\n const TextArea = getComponent(\"TextArea\")\n errors = errors.toJS ? errors.toJS() : Array.isArray(errors) ? errors : []\n\n return (\n <div>\n <TextArea\n className={cx({ invalid: errors.length })}\n title={ errors.length ? stringifyObjectErrors(errors).join(\", \") : \"\"}\n value={stringify(value)}\n disabled={disabled}\n onChange={ this.handleOnChange }/>\n </div>\n )\n }\n}\n\nfunction valueOrEmptyList(value) {\n return List.isList(value) ? value : Array.isArray(value) ? fromJS(value) : List()\n}\n","import err from \"core/plugins/err\"\nimport layout from \"core/plugins/layout\"\nimport spec from \"core/plugins/spec\"\nimport view from \"core/plugins/view\"\nimport samples from \"core/plugins/samples\"\nimport requestSnippets from \"core/plugins/request-snippets\"\nimport logs from \"core/plugins/logs\"\nimport swaggerJs from \"core/plugins/swagger-js\"\nimport auth from \"core/plugins/auth\"\nimport util from \"core/plugins/util\"\nimport downloadUrlPlugin from \"core/plugins/download-url\"\nimport configsPlugin from \"core/plugins/configs\"\nimport deepLinkingPlugin from \"core/plugins/deep-linking\"\nimport filter from \"core/plugins/filter\"\nimport onComplete from \"core/plugins/on-complete\"\nimport safeRender from \"core/plugins/safe-render\"\n\nimport OperationContainer from \"core/containers/OperationContainer\"\n\nimport App from \"core/components/app\"\nimport AuthorizationPopup from \"core/components/auth/authorization-popup\"\nimport AuthorizeBtn from \"core/components/auth/authorize-btn\"\nimport AuthorizeBtnContainer from \"core/containers/authorize-btn\"\nimport AuthorizeOperationBtn from \"core/components/auth/authorize-operation-btn\"\nimport Auths from \"core/components/auth/auths\"\nimport AuthItem from \"core/components/auth/auth-item\"\nimport AuthError from \"core/components/auth/error\"\nimport ApiKeyAuth from \"core/components/auth/api-key-auth\"\nimport BasicAuth from \"core/components/auth/basic-auth\"\nimport Example from \"core/components/example\"\nimport ExamplesSelect from \"core/components/examples-select\"\nimport ExamplesSelectValueRetainer from \"core/components/examples-select-value-retainer\"\nimport Oauth2 from \"core/components/auth/oauth2\"\nimport Clear from \"core/components/clear\"\nimport LiveResponse from \"core/components/live-response\"\nimport OnlineValidatorBadge from \"core/components/online-validator-badge\"\nimport Operations from \"core/components/operations\"\nimport OperationTag from \"core/components/operation-tag\"\nimport Operation from \"core/components/operation\"\nimport OperationSummary from \"core/components/operation-summary\"\nimport OperationSummaryMethod from \"core/components/operation-summary-method\"\nimport OperationSummaryPath from \"core/components/operation-summary-path\"\nimport OperationExt from \"core/components/operation-extensions\"\nimport OperationExtRow from \"core/components/operation-extension-row\"\nimport HighlightCode from \"core/components/highlight-code\"\nimport Responses from \"core/components/responses\"\nimport Response from \"core/components/response\"\nimport ResponseExtension from \"core/components/response-extension\"\nimport ResponseBody from \"core/components/response-body\"\nimport { Parameters } from \"core/components/parameters\"\nimport ParameterExt from \"core/components/parameter-extension\"\nimport ParameterIncludeEmpty from \"core/components/parameter-include-empty\"\nimport ParameterRow from \"core/components/parameter-row\"\nimport Execute from \"core/components/execute\"\nimport Headers from \"core/components/headers\"\nimport Errors from \"core/components/errors\"\nimport ContentType from \"core/components/content-type\"\nimport Overview from \"core/components/overview\"\nimport InitializedInput from \"core/components/initialized-input\"\nimport Info, {\n InfoUrl,\n InfoBasePath\n} from \"core/components/info\"\nimport InfoContainer from \"core/containers/info\"\nimport JumpToPath from \"core/components/jump-to-path\"\nimport CopyToClipboardBtn from \"core/components/copy-to-clipboard-btn\"\nimport Footer from \"core/components/footer\"\nimport FilterContainer from \"core/containers/filter\"\nimport ParamBody from \"core/components/param-body\"\nimport Curl from \"core/components/curl\"\nimport Schemes from \"core/components/schemes\"\nimport SchemesContainer from \"core/containers/schemes\"\nimport ModelCollapse from \"core/components/model-collapse\"\nimport ModelExample from \"core/components/model-example\"\nimport ModelWrapper from \"core/components/model-wrapper\"\nimport Model from \"core/components/model\"\nimport Models from \"core/components/models\"\nimport EnumModel from \"core/components/enum-model\"\nimport ObjectModel from \"core/components/object-model\"\nimport ArrayModel from \"core/components/array-model\"\nimport PrimitiveModel from \"core/components/primitive-model\"\nimport Property from \"core/components/property\"\nimport TryItOutButton from \"core/components/try-it-out-button\"\nimport VersionPragmaFilter from \"core/components/version-pragma-filter\"\nimport VersionStamp from \"core/components/version-stamp\"\nimport DeepLink from \"core/components/deep-link\"\nimport SvgAssets from \"core/components/svg-assets\"\n\nimport Markdown from \"core/components/providers/markdown\"\n\nimport BaseLayout from \"core/components/layouts/base\"\n\nimport * as LayoutUtils from \"core/components/layout-utils\"\nimport * as JsonSchemaComponents from \"core/json-schema-components\"\n\nexport default function() {\n\n let coreComponents = {\n components: {\n App,\n authorizationPopup: AuthorizationPopup,\n authorizeBtn: AuthorizeBtn,\n AuthorizeBtnContainer,\n authorizeOperationBtn: AuthorizeOperationBtn,\n auths: Auths,\n AuthItem: AuthItem,\n authError: AuthError,\n oauth2: Oauth2,\n apiKeyAuth: ApiKeyAuth,\n basicAuth: BasicAuth,\n clear: Clear,\n liveResponse: LiveResponse,\n InitializedInput,\n info: Info,\n InfoContainer,\n JumpToPath,\n CopyToClipboardBtn,\n onlineValidatorBadge: OnlineValidatorBadge,\n operations: Operations,\n operation: Operation,\n OperationSummary,\n OperationSummaryMethod,\n OperationSummaryPath,\n highlightCode: HighlightCode,\n responses: Responses,\n response: Response,\n ResponseExtension: ResponseExtension,\n responseBody: ResponseBody,\n parameters: Parameters,\n parameterRow: ParameterRow,\n execute: Execute,\n headers: Headers,\n errors: Errors,\n contentType: ContentType,\n overview: Overview,\n footer: Footer,\n FilterContainer,\n ParamBody: ParamBody,\n curl: Curl,\n schemes: Schemes,\n SchemesContainer,\n modelExample: ModelExample,\n ModelWrapper,\n ModelCollapse,\n Model,\n Models,\n EnumModel,\n ObjectModel,\n ArrayModel,\n PrimitiveModel,\n Property,\n TryItOutButton,\n Markdown,\n BaseLayout,\n VersionPragmaFilter,\n VersionStamp,\n OperationExt,\n OperationExtRow,\n ParameterExt,\n ParameterIncludeEmpty,\n OperationTag,\n OperationContainer,\n DeepLink,\n InfoUrl,\n InfoBasePath,\n SvgAssets,\n Example,\n ExamplesSelect,\n ExamplesSelectValueRetainer,\n }\n }\n\n let formComponents = {\n components: LayoutUtils\n }\n\n let jsonSchemaComponents = {\n components: JsonSchemaComponents\n }\n\n return [\n configsPlugin,\n util,\n logs,\n view,\n spec,\n err,\n layout,\n samples,\n coreComponents,\n formComponents,\n swaggerJs,\n jsonSchemaComponents,\n auth,\n downloadUrlPlugin,\n deepLinkingPlugin,\n filter,\n onComplete,\n requestSnippets,\n safeRender(),\n ]\n}\n","import BasePreset from \"./base\"\nimport OAS3Plugin from \"../plugins/oas3\"\n\n// Just the base, for now.\n\nexport default function PresetApis() {\n\n return [\n BasePreset,\n OAS3Plugin\n ]\n}\n","import deepExtend from \"deep-extend\"\n\nimport System from \"./system\"\nimport ApisPreset from \"./presets/apis\"\nimport AllPlugins from \"./plugins/all\"\nimport { parseSearch } from \"./utils\"\nimport win from \"./window\"\n\n// eslint-disable-next-line no-undef\nconst { GIT_DIRTY, GIT_COMMIT, PACKAGE_VERSION, BUILD_TIME } = buildInfo\n\nexport default function SwaggerUI(opts) {\n\n win.versions = win.versions || {}\n win.versions.swaggerUi = {\n version: PACKAGE_VERSION,\n gitRevision: GIT_COMMIT,\n gitDirty: GIT_DIRTY,\n buildTimestamp: BUILD_TIME,\n }\n\n const defaults = {\n // Some general settings, that we floated to the top\n dom_id: null, // eslint-disable-line camelcase\n domNode: null,\n spec: {},\n url: \"\",\n urls: null,\n layout: \"BaseLayout\",\n docExpansion: \"list\",\n maxDisplayedTags: null,\n filter: null,\n validatorUrl: \"https://validator.swagger.io/validator\",\n oauth2RedirectUrl: `${window.location.protocol}//${window.location.host}${window.location.pathname.substring(0, window.location.pathname.lastIndexOf(\"/\"))}/oauth2-redirect.html`,\n persistAuthorization: false,\n configs: {},\n custom: {},\n displayOperationId: false,\n displayRequestDuration: false,\n deepLinking: false,\n tryItOutEnabled: false,\n requestInterceptor: (a => a),\n responseInterceptor: (a => a),\n showMutatedRequest: true,\n defaultModelRendering: \"example\",\n defaultModelExpandDepth: 1,\n defaultModelsExpandDepth: 1,\n showExtensions: false,\n showCommonExtensions: false,\n withCredentials: undefined,\n requestSnippetsEnabled: false,\n requestSnippets: {\n generators: {\n \"curl_bash\": {\n title: \"cURL (bash)\",\n syntax: \"bash\"\n },\n \"curl_powershell\": {\n title: \"cURL (PowerShell)\",\n syntax: \"powershell\"\n },\n \"curl_cmd\": {\n title: \"cURL (CMD)\",\n syntax: \"bash\"\n },\n },\n defaultExpanded: true,\n languages: null, // e.g. only show curl bash = [\"curl_bash\"]\n },\n supportedSubmitMethods: [\n \"get\",\n \"put\",\n \"post\",\n \"delete\",\n \"options\",\n \"head\",\n \"patch\",\n \"trace\"\n ],\n queryConfigEnabled: false,\n\n // Initial set of plugins ( TODO rename this, or refactor - we don't need presets _and_ plugins. Its just there for performance.\n // Instead, we can compile the first plugin ( it can be a collection of plugins ), then batch the rest.\n presets: [\n ApisPreset\n ],\n\n // Plugins; ( loaded after presets )\n plugins: [\n ],\n\n pluginsOptions: {\n // Behavior during plugin registration. Can be :\n // - legacy (default) : the current behavior for backward compatibility – last plugin takes precedence over the others\n // - chain : chain wrapComponents when targeting the same core component\n pluginLoadType: \"legacy\"\n },\n\n // Initial state\n initialState: { },\n\n // Inline Plugin\n fn: { },\n components: { },\n\n syntaxHighlight: {\n activated: true,\n theme: \"agate\"\n }\n }\n\n let queryConfig = opts.queryConfigEnabled ? parseSearch() : {}\n\n const domNode = opts.domNode\n delete opts.domNode\n\n const constructorConfig = deepExtend({}, defaults, opts, queryConfig)\n\n const storeConfigs = {\n system: {\n configs: constructorConfig.configs\n },\n plugins: constructorConfig.presets,\n pluginsOptions: constructorConfig.pluginsOptions,\n state: deepExtend({\n layout: {\n layout: constructorConfig.layout,\n filter: constructorConfig.filter\n },\n spec: {\n spec: \"\",\n url: constructorConfig.url\n },\n requestSnippets: constructorConfig.requestSnippets\n }, constructorConfig.initialState)\n }\n\n if(constructorConfig.initialState) {\n // if the user sets a key as `undefined`, that signals to us that we\n // should delete the key entirely.\n // known usage: Swagger-Editor validate plugin tests\n for (var key in constructorConfig.initialState) {\n if(\n Object.prototype.hasOwnProperty.call(constructorConfig.initialState, key)\n && constructorConfig.initialState[key] === undefined\n ) {\n delete storeConfigs.state[key]\n }\n }\n }\n\n let inlinePlugin = ()=> {\n return {\n fn: constructorConfig.fn,\n components: constructorConfig.components,\n state: constructorConfig.state,\n }\n }\n\n var store = new System(storeConfigs)\n store.register([constructorConfig.plugins, inlinePlugin])\n\n var system = store.getSystem()\n\n const downloadSpec = (fetchedConfig) => {\n let localConfig = system.specSelectors.getLocalConfig ? system.specSelectors.getLocalConfig() : {}\n let mergedConfig = deepExtend({}, localConfig, constructorConfig, fetchedConfig || {}, queryConfig)\n\n // deep extend mangles domNode, we need to set it manually\n if(domNode) {\n mergedConfig.domNode = domNode\n }\n\n store.setConfigs(mergedConfig)\n system.configsActions.loaded()\n\n if (fetchedConfig !== null) {\n if (!queryConfig.url && typeof mergedConfig.spec === \"object\" && Object.keys(mergedConfig.spec).length) {\n system.specActions.updateUrl(\"\")\n system.specActions.updateLoadingStatus(\"success\")\n system.specActions.updateSpec(JSON.stringify(mergedConfig.spec))\n } else if (system.specActions.download && mergedConfig.url && !mergedConfig.urls) {\n system.specActions.updateUrl(mergedConfig.url)\n system.specActions.download(mergedConfig.url)\n }\n }\n\n if(mergedConfig.domNode) {\n system.render(mergedConfig.domNode, \"App\")\n } else if(mergedConfig.dom_id) {\n let domNode = document.querySelector(mergedConfig.dom_id)\n system.render(domNode, \"App\")\n } else if(mergedConfig.dom_id === null || mergedConfig.domNode === null) {\n // do nothing\n // this is useful for testing that does not need to do any rendering\n } else {\n console.error(\"Skipped rendering: no `dom_id` or `domNode` was specified\")\n }\n\n return system\n }\n\n const configUrl = queryConfig.config || constructorConfig.configUrl\n\n if (configUrl && system.specActions && system.specActions.getConfigByUrl) {\n system.specActions.getConfigByUrl({\n url: configUrl,\n loadRemoteConfig: true,\n requestInterceptor: constructorConfig.requestInterceptor,\n responseInterceptor: constructorConfig.responseInterceptor,\n }, downloadSpec)\n } else {\n return downloadSpec()\n }\n\n return system\n}\n\n// Add presets\nSwaggerUI.presets = {\n apis: ApisPreset,\n}\n\n// All Plugins\nSwaggerUI.plugins = AllPlugins\n","import SwaggerUI from \"./core\"\n\nexport default SwaggerUI\n"],"names":["y","x","__webpack_require__","d","__WEBPACK_EXTERNAL_MODULE_react_immutable_pure_component_cbcfaebd__","decodeRefName","uri","unescaped","replace","decodeURIComponent","Model","ImmutablePureComponent","constructor","arguments","_defineProperty","ref","_indexOfInstanceProperty","call","model","specSelectors","this","props","findDefinition","render","getComponent","getConfigs","schema","required","name","isRef","specPath","displayName","includeReadOnly","includeWriteOnly","ObjectModel","ArrayModel","PrimitiveModel","type","$$ref","get","getModelName","getRefSchema","React","className","src","require","height","width","deprecated","isOAS3","undefined","_extends","_mapInstanceProperty","ImPropTypes","isRequired","PropTypes","expandDepth","depth","OnlineValidatorBadge","context","super","URL","url","win","toString","validatorUrl","state","getDefinitionUrl","UNSAFE_componentWillReceiveProps","nextProps","setState","spec","sanitizedValidatorUrl","sanitizeUrl","_Object$keys","length","requiresValidationURL","target","rel","href","encodeURIComponent","ValidatorImage","alt","loaded","error","componentDidMount","img","Image","onload","onerror","__WEBPACK_EXTERNAL_MODULE_remarkable_linkify_34829ba6__","linkify","__WEBPACK_EXTERNAL_MODULE_dompurify__","Markdown","_ref","source","md","Remarkable","html","typographer","breaks","linkTarget","use","core","ruler","disable","useUnsafeMarkdown","sanitized","sanitizer","cx","dangerouslySetInnerHTML","__html","DomPurify","current","setAttribute","defaultProps","str","ALLOW_DATA_ATTR","FORBID_ATTR","hasWarnedAboutDeprecation","console","warn","ADD_ATTR","FORBID_TAGS","request","allPlugins","_forEachInstanceProperty","_context","_keysInstanceProperty","key","mod","pascalCaseFilename","default","SafeRender","SHOW_AUTH_POPUP","AUTHORIZE","LOGOUT","PRE_AUTHORIZE_OAUTH2","AUTHORIZE_OAUTH2","VALIDATE","CONFIGURE_AUTH","RESTORE_AUTHORIZATION","showDefinitions","payload","authorize","authorizeWithPersistOption","authActions","persistAuthorizationIfNeeded","logout","logoutWithPersistOption","_ref2","preAuthorizeImplicit","_ref3","errActions","auth","token","isValid","flow","newAuthErr","authId","level","message","_JSON$stringify","authorizeOauth2WithPersistOption","authorizeOauth2","_ref4","authorizePassword","_ref5","username","password","passwordType","clientId","clientSecret","form","grant_type","scope","scopes","join","headers","_Object$assign","client_id","client_secret","setClientIdAndSecret","Authorization","btoa","authorizeRequest","body","buildFormData","query","authorizeApplication","_ref6","authorizeAccessCodeWithFormParams","_ref7","redirectUrl","_ref8","codeVerifier","code","redirect_uri","code_verifier","authorizeAccessCodeWithBasicAuthentication","_ref9","_ref10","data","_ref11","parsedUrl","fn","oas3Selectors","authSelectors","additionalQueryStringParams","finalServerUrl","serverEffectiveValue","selectedServer","parseUrl","fetchUrl","_headers","fetch","method","requestInterceptor","responseInterceptor","then","response","JSON","parse","parseError","ok","statusText","catch","e","Error","errData","jsonResponse","error_description","jsonError","configureAuth","restoreAuthorization","_ref12","persistAuthorization","authorized","toJS","localStorage","setItem","authPopup","swaggerUIRedirectOauth2","oriAction","system","configs","getItem","afterLoad","rootInjects","initOAuth","preauthorizeApiKey","_bindInstanceProperty","preauthorizeBasic","statePlugins","reducers","actions","selectors","wrapActions","wrappedAuthorizeAction","wrappedLogoutAction","wrappedLoadedAction","execute","wrappedExecuteAction","specJson","definitionBase","getIn","value","set","securities","fromJS","map","Map","entrySeq","security","isFunc","setIn","header","parsedAuth","result","withMutations","delete","shownDefinitions","createSelector","definitionsToAuthorize","definitions","securityDefinitions","list","List","val","push","getDefinitionsByNames","_context2","valueSeq","names","_context3","allowedScopes","definition","_context4","size","keySeq","contains","definitionsForRequirements","allDefinitions","_findInstanceProperty","sec","first","securityScopes","definitionScopes","_context5","isAuthorized","_context6","_filterInstanceProperty","_context7","_context8","path","operation","extras","specSecurity","_Object$values","isApiKeyAuth","isInCookie","document","cookie","_Array$isArray","authorizedName","cookieName","UPDATE_CONFIGS","TOGGLE_CONFIGS","update","configName","configValue","toggle","parseYamlConfig","yaml","YAML","newThrownErr","getLocalConfig","configsPlugin","specActions","action","merge","oriVal","downloadConfig","req","getConfigByUrl","cb","next","res","status","updateLoadingStatus","updateUrl","text","setHash","history","pushState","window","location","hash","layout","ori","layoutActions","parseDeepLinkHash","wrapComponents","OperationWrapper","OperationTag","OperationTagWrapper","__WEBPACK_EXTERNAL_MODULE_zenscroll__","SCROLL_TO","CLEAR_SCROLL_TO","show","layoutSelectors","_len","args","Array","_key","deepLinking","tokenArray","shown","urlHashArray","urlHashArrayFromIsShownKey","assetName","createDeepLinkPath","scrollTo","rawHash","_sliceInstanceProperty","hashArray","split","isShownKey","isShownKeyFromUrlHashArray","tagId","maybeOperationId","tagIsShownKey","readyToScroll","scrollToKey","getScrollToKey","Im","scrollToElement","clearScrollTo","container","getScrollParent","zenscroll","to","element","includeHidden","LAST_RESORT","documentElement","style","getComputedStyle","excludeStaticParent","position","overflowRegex","parent","parentElement","test","overflow","overflowY","overflowX","tag","operationId","Wrapper","Ori","onLoad","toObject","downloadUrlPlugin","toolbox","download","config","specUrl","_URL","createElement","protocol","origin","checkPossibleFailReasons","updateSpec","clear","loadSpec","a","credentials","enums","spec_update_loading_status","loadingStatus","NEW_THROWN_ERR","NEW_THROWN_ERR_BATCH","NEW_SPEC_ERR","NEW_SPEC_ERR_BATCH","NEW_AUTH_ERR","CLEAR","CLEAR_BY","err","serializeError","newThrownErrBatch","errors","newSpecErr","newSpecErrBatch","errArray","clearBy","__WEBPACK_EXTERNAL_MODULE_lodash_reduce_11e69996__","errorTransformers","transformErrors","inputs","jsSpec","transformedErrors","reduce","transformer","newlyTransformedErrors","transform","seekStr","i","types","_reduceInstanceProperty","p","c","arr","makeNewMessage","makeReducers","DEFAULT_ERROR_STRUCTURE","line","_concatInstanceProperty","sortBy","newErrors","_everyInstanceProperty","k","errValue","filterValue","allErrors","lastError","all","last","opsFilter","taggedOps","phrase","tagObj","UPDATE_LAYOUT","UPDATE_FILTER","UPDATE_MODE","SHOW","updateLayout","updateFilter","filter","thing","normalizeArray","changeMode","mode","wrapSelectors","isShown","thingToShow","currentFilter","def","whatMode","showSummary","taggedOperations","oriSelector","getSystem","maxDisplayedTags","isNaN","levels","getLevel","logLevel","logLevelInt","log","info","debug","UPDATE_SELECTED_SERVER","UPDATE_REQUEST_BODY_VALUE","UPDATE_REQUEST_BODY_VALUE_RETAIN_FLAG","UPDATE_REQUEST_BODY_INCLUSION","UPDATE_ACTIVE_EXAMPLES_MEMBER","UPDATE_REQUEST_CONTENT_TYPE","UPDATE_RESPONSE_CONTENT_TYPE","UPDATE_SERVER_VARIABLE_VALUE","SET_REQUEST_BODY_VALIDATE_ERROR","CLEAR_REQUEST_BODY_VALIDATE_ERROR","CLEAR_REQUEST_BODY_VALUE","setSelectedServer","selectedServerUrl","namespace","setRequestBodyValue","pathMethod","setRetainRequestBodyValueFlag","setRequestBodyInclusion","setActiveExamplesMember","contextType","contextName","setRequestContentType","setResponseContentType","setServerVariableValue","server","setRequestBodyValidateError","validationErrors","clearRequestBodyValidateError","initRequestBodyValidateError","clearRequestBodyValue","selector","defName","flowKey","flowVal","translatedDef","authorizationUrl","tokenUrl","description","v","oidcData","grants","grant","translatedScopes","acc","cur","openIdConnectUrl","isOAS3Helper","resolvedSchemes","getState","callbacks","OperationContainer","callbackElements","callbackName","callback","pathItemName","pathItem","op","allowTryItOut","HttpAuth","onChange","newValue","getValue","errSelectors","Input","Row","Col","AuthError","JumpToPath","scheme","toLowerCase","autoFocus","autoComplete","Callbacks","RequestBody","Servers","ServersContainer","RequestBodyEditor","OperationServers","operationLink","OperationLink","Component","link","targetOp","parameters","n","string","padString","forceUpdate","obj","getSelectedServer","getServerVariable","getEffectiveServerValue","operationServers","pathServers","serversToDisplay","displaying","servers","currentServer","NOOP","Function","prototype","PureComponent","defaultValue","stringify","inputValue","applyDefaultValue","isInvalid","TextArea","invalid","title","onDomChange","userHasEditedBody","getDefaultRequestBodyValue","requestBody","mediaType","activeExamplesKey","mediaTypeValue","hasExamplesKey","exampleSchema","mediaTypeExample","exampleValue","getSampleSchema","requestBodyValue","requestBodyInclusionSetting","requestBodyErrors","contentType","isExecute","onChangeIncludeEmpty","updateActiveExamplesKey","handleFile","files","setIsIncludedOptions","options","shouldDispatchInit","ModelExample","HighlightCode","ExamplesSelectValueRetainer","Example","ParameterIncludeEmpty","showCommonExtensions","requestBodyDescription","requestBodyContent","OrderedMap","schemaForMediaType","rawExamplesOfMediaType","sampleForMediaType","_container","isObjectContent","isBinaryFormat","isBase64Format","JsonSchemaForm","ParameterExt","bodyProperties","prop","commonExt","getCommonExtensions","_includesInstanceProperty","format","currentValue","currentErrors","included","useInitialValFromSchemaSamples","has","hasIn","useInitialValFromEnum","useInitialValue","initialValue","isFile","xKey","xVal","dispatchInitialValue","isIncluded","isIncludedOptions","isDisabled","isEmptyValue","sampleRequestBody","language","getKnownSyntaxHighlighterLanguage","examples","currentKey","currentUserInputValue","onSelect","updateValue","defaultToFirstExample","example","oas3Actions","serverVariableValue","setServer","variableName","getAttribute","newVariableValue","_servers$first","currentServerDefinition","prevServerDefinition","prevServerVariableDefs","prevServerVariableDefaultValue","currentServerVariableDefs","currentServerVariableDefaultValue","s","shouldShowVariableUI","htmlFor","onServerChange","toArray","onServerVariableValueChange","enumValue","selected","oasVersion","_startsWithInstanceProperty","isSwagger2","swaggerVersion","OAS3ComponentWrapFactory","components","specWrapSelectors","authWrapSelectors","oas3","oas3Reducers","newVal","currentVal","valueKeys","valueKey","valueKeyVal","missingBodyValue","missingRequiredKeys","updateIn","missingKeyValues","bodyValue","currentMissingKey","bodyValues","curr","onlyOAS3","selectedValue","shouldRetainRequestBodyValue","selectDefaultRequestBodyValue","currentMediaType","requestContentType","specResolvedSubtree","activeExamplesMember","hasUserEditedBody","userEditedRequestBody","mapEntries","kv","currentMediaTypeDefaultBodyValue","responseContentType","locationData","serverVariables","varValues","serverValue","RegExp","validateBeforeExecute","validateRequestBodyValueExists","_len2","_key2","validateShallowRequired","oas3RequiredRequestBodyContentType","oas3RequestContentType","oas3RequestBodyValue","requiredKeys","contentTypeVal","requiredKey","specResolved","count","isSwagger2Helper","OAS3NullSelector","hasHost","specJsonWithResolvedSubtrees","host","basePath","consumes","produces","schemes","onAuthChange","AuthItem","JsonSchema_string","VersionStamp","onlineValidatorBadge","disabled","parser","block","enable","trimmed","_trimInstanceProperty","ModelComponent","classes","engaged","updateJsonSpec","onComplete","_setTimeout","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_repeat_18ab8b74__","extractKey","hashIdx","escapeShell","escapeCMD","escapePowershell","curlify","escape","newLine","ext","isMultipartFormDataRequest","curlified","addWords","addWordsWithoutLeadingSpace","addNewLine","addIndent","_repeatInstanceProperty","_entriesInstanceProperty","h","extractedKey","reqBody","curlifyToJoin","getStringBodyOfMap","requestSnippetGenerator_curl_powershell","requestSnippetGenerator_curl_bash","requestSnippetGenerator_curl_cmd","RequestSnippets","requestSnippets","cursor","lineHeight","display","backgroundColor","paddingBottom","paddingTop","border","borderRadius","boxShadow","borderBottom","activeStyle","marginTop","marginRight","marginLeft","zIndex","_requestSnippetsSelec","requestSnippetsSelectors","isFunction","canSyntaxHighlight","rootRef","useRef","activeLanguage","setActiveLanguage","useState","getSnippetGenerators","isExpanded","setIsExpanded","getDefaultExpanded","useEffect","childNodes","_Array$from","node","_node$classList","nodeType","classList","addEventListener","handlePreventYScrollingBeyondElement","passive","removeEventListener","snippetGenerators","activeGenerator","snippet","handleSetIsExpanded","handleGetBtnStyle","deltaY","scrollHeight","contentHeight","offsetHeight","visibleHeight","scrollTop","preventDefault","SnippetComponent","SyntaxHighlighter","getStyle","readOnly","justifyContent","alignItems","marginBottom","onClick","background","xlinkHref","paddingLeft","paddingRight","gen","handleGenChange","color","CopyToClipboard","getGenerators","languageKeys","generators","isEmpty","genFn","getGenFn","getActiveLanguage","ErrorBoundary","static","hasError","componentDidCatch","errorInfo","targetName","children","FallbackComponent","Fallback","withErrorBoundary","WrappedComponent","getDisplayName","WithErrorBoundary","isClassComponent","component","isReactComponent","mapStateToProps","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_fill_07ef3114__","__WEBPACK_EXTERNAL_MODULE_lodash_zipObject_c74f1c14__","componentList","fullOverride","mergedComponentList","zipObject","_fillInstanceProperty","wrapFactory","Original","__WEBPACK_EXTERNAL_MODULE_randexp__","__WEBPACK_EXTERNAL_MODULE_lodash_isEmpty_e109fd6b__","primitives","pattern","generateStringFromRegex","RandExp","string_email","string_date-time","Date","toISOString","string_date","substring","string_uuid","string_hostname","string_ipv4","string_ipv6","number","number_float","integer","primitive","objectify","sanitizeRef","deeplyStripKey","objectContracts","arrayContracts","numberContracts","stringContracts","liftSampleHelper","oldSchema","setIfNotDefinedInTarget","properties","propName","Object","hasOwnProperty","writeOnly","items","sampleFromSchemaGeneric","exampleOverride","respectXML","usePlainValue","hasOneOf","oneOf","hasAnyOf","anyOf","schemaToAdd","xml","_attr","additionalProperties","prefix","schemaHasAny","keys","_someInstanceProperty","enum","handleMinMaxItems","sampleArray","_schema","_schema2","_schema4","_schema5","_schema3","maxItems","minItems","_schema6","addPropertyToResult","propertyAddedCounter","hasExceededMaxProperties","maxProperties","canAddProperty","isOptionalProperty","requiredPropertiesToAdd","addedCount","_res$displayName","overrideE","attribute","enumAttrVal","attrExample","attrDefault","t","_context9","discriminator","mapping","propertyName","pair","search","sample","itemSchema","itemSamples","wrapped","additionalProp","additionalProp1","additionalProps","additionalPropSample","toGenerateCount","minProperties","temp","_schema7","_context10","_context11","min","minimum","exclusiveMinimum","max","maximum","exclusiveMaximum","maxLength","minLength","inferSchema","createXMLExample","o","json","XML","declaration","indent","sampleFromSchema","resolver","arg1","arg2","arg3","memoizedCreateXMLExample","memoizeN","memoizedSampleFromSchema","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_promise_047dc8e8__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_date_now_1bf78713__","__WEBPACK_EXTERNAL_MODULE_lodash_isString_e6fa8a5b__","__WEBPACK_EXTERNAL_MODULE_lodash_debounce_3540babe__","__WEBPACK_EXTERNAL_MODULE_lodash_set_b4b15ee5__","UPDATE_SPEC","UPDATE_URL","UPDATE_JSON","UPDATE_PARAM","UPDATE_EMPTY_PARAM_INCLUSION","VALIDATE_PARAMS","SET_RESPONSE","SET_REQUEST","SET_MUTATED_REQUEST","LOG_REQUEST","CLEAR_RESPONSE","CLEAR_REQUEST","CLEAR_VALIDATE_PARAMS","UPDATE_OPERATION_META_VALUE","UPDATE_RESOLVED","UPDATE_RESOLVED_SUBTREE","SET_SCHEME","toStr","isString","cleanSpec","updateResolved","parseToJson","specStr","JSON_SCHEMA","reason","mark","hasWarnedAboutResolveSpecDeprecation","resolveSpec","resolve","AST","modelPropertyMacro","parameterMacro","getLineNumberForPath","baseDoc","preparedErrors","fullPath","_Object$defineProperty","enumerable","requestBatch","debResolveSubtrees","debounce","async","resolveSubtree","batchResult","prev","resultMap","specWithCurrentSubtrees","_Promise","oidcScheme","openIdConnectData","updateResolvedSubtree","requestResolvedSubtree","changeParam","paramName","paramIn","isXml","changeParamByIdentity","param","invalidateResolvedSubtreeCache","validateParams","updateEmptyParamInclusion","includeEmptyValue","clearValidateParams","changeConsumesValue","changeProducesValue","setResponse","setRequest","setMutatedRequest","logRequest","executeRequest","pathName","parameterInclusionSettingFor","paramValue","paramToValue","contextUrl","opId","namespaceVariables","globalVariables","parsedRequest","buildRequest","r","mutatedRequest","apply","parsedMutatedRequest","startTime","_Date$now","duration","operationScheme","contentTypeValues","parameterValues","clearResponse","clearRequest","setScheme","fromJSOrdered","paramKey","paramToIdentifier","paramValues","paramMeta","isEmptyValueIncluded","validateParam","bypassRequiredCheck","statusCode","newState","operationPath","metaPath","deleteIn","OPERATION_METHODS","specSource","mergerFn","oldVal","mergeWith","returnSelfOrNewMap","externalDocs","version","semver","exec","paths","operations","id","Set","resolvedRes","unresolvedRes","operationsWithRootInherited","ops","tags","tagDetails","currentTags","operationsWithTags","taggedMap","ar","tagsSorter","operationsSorter","tagA","tagB","sortFn","sorters","_sortInstanceProperty","responses","requests","mutatedRequests","responseFor","requestFor","mutatedRequestFor","allowTryItOutFor","parameterWithMetaByIdentity","opParams","metaParams","mergedParams","currentParam","inNameKeyedMeta","hashKeyedMeta","hashCode","parameterWithMeta","operationWithMeta","meta","getParameter","inType","params","allowHashes","parametersIncludeIn","inValue","parametersIncludeType","typeValue","producesValue","currentProducesFor","currentProducesValue","firstProducesArrayItem","producesOptionsFor","operationProduces","pathItemProduces","globalProduces","consumesOptionsFor","operationConsumes","pathItemConsumes","globalConsumes","matchResult","match","urlScheme","canExecuteScheme","getOAS3RequiredRequestBodyContentType","requiredObj","isMediaTypeSchemaPropertiesEqual","targetMediaType","currentMediaTypeSchemaProperties","targetMediaTypeSchemaProperties","equals","pathItems","pathItemKeys","$ref","withCredentials","__WEBPACK_EXTERNAL_MODULE_swagger_client_es_resolver_f879c638__","__WEBPACK_EXTERNAL_MODULE_swagger_client_es_execute_d486d3d6__","__WEBPACK_EXTERNAL_MODULE_swagger_client_es_http_69655560__","makeHttp","serializeRes","__WEBPACK_EXTERNAL_MODULE_swagger_client_es_subtree_resolver_741cb9d9__","Http","preFetch","postFetch","opts","freshConfigs","rest","shallowEqualKeys","getComponents","getStore","memGetComponent","memoize","memoizeForGetComponent","memMakeMappedContainer","memoizeForWithMappedContainer","withMappedContainer","makeMappedContainer","__WEBPACK_EXTERNAL_MODULE_react_dom_7dac9eee__","__WEBPACK_EXTERNAL_MODULE_react_redux_87be03b0__","Provider","connect","__WEBPACK_EXTERNAL_MODULE_lodash_omit_d930e0f3__","__WEBPACK_EXTERNAL_MODULE_lodash_identity_75ffe4a7__","withSystem","WithSystem","withRoot","reduxStore","WithRoot","store","withConnect","compose","identity","ownProps","_WrappedComponent$pro","customMapStateToProps","handleProps","oldProps","componentName","WithMappedContainer","cleanProps","omit","domNode","App","ReactDOM","TypeError","failSilently","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_light_746e1958__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_javascript_e22911f7__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_json_b876afc5__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_xml_a81c807b__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_bash_1621c621__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_yaml_02838f34__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_http_4e924b23__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_powershell_d51eb4f6__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_agate_99a46aa2__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_arta_570691fc__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_monokai_2529bafb__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_nord_5bfa1099__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_obsidian_a278dd52__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_tomorrow_night_63765df9__","js","http","bash","powershell","javascript","styles","agate","arta","monokai","nord","obsidian","tomorrowNight","availableStyles","__WEBPACK_EXTERNAL_MODULE__braintree_sanitize_url_2340607f__","__WEBPACK_EXTERNAL_MODULE_lodash_camelCase_81fadc19__","__WEBPACK_EXTERNAL_MODULE_lodash_upperFirst_9993ecb4__","__WEBPACK_EXTERNAL_MODULE_lodash_find_e8ecc2cb__","__WEBPACK_EXTERNAL_MODULE_lodash_some_5cd47809__","__WEBPACK_EXTERNAL_MODULE_lodash_eq_b41b823a__","__WEBPACK_EXTERNAL_MODULE_css_escape_2d301448__","DEFAULT_RESPONSE_KEY","isImmutable","maybe","isObject","toList","objWithHashedKeys","fdObj","newObj","trackKeys","containsMultiple","createObjWithHashedKeys","isFn","isArray","_memoize","objMap","objReduce","systemThunkMiddleware","dispatch","defaultStatusCode","codes","getList","iterable","extractFileNameFromContentDispositionHeader","responseFilename","patterns","regex","filename","upperFirst","camelCase","validateValueBySchema","requiredByParam","parameterContentMediaType","nullable","requiredBySchema","uniqueItems","schemaRequiresValue","hasValue","stringCheck","arrayCheck","arrayListCheck","allChecks","passedAnyCheck","objectVal","isList","propKey","errs","validatePattern","rxPattern","validateMinItems","validateMaxItems","needRemove","errorPerItem","validateUniqueItems","toSet","errorsPerIndex","item","add","index","validateMaxLength","validateMinLength","validateMaximum","validateMinimum","validateDateTime","validateGuid","validateString","validateBoolean","validateNumber","validateInteger","validateFile","paramRequired","paramDetails","getParameterSchema","shouldStringifyTypesConfig","when","shouldStringifyTypes","defaultStringifyTypes","getStringifiedSampleForSchema","resType","typesToStringify","nextConfig","some","getXmlSampleSchema","getYamlSampleSchema","jsonExample","yamlString","lineWidth","parseSearch","substr","buffer","Buffer","from","alpha","b","localeCompare","formArr","find","eq","braintreeSanitizeUrl","getAcceptControllingResponse","suitable2xxResponse","defaultResponse","suitableDefaultResponse","String","escapeDeepLinkPath","cssEscape","getExtensions","defObj","input","keyToStrip","_context12","predicate","numberToString","returnAll","generatedIdentifiers","_context13","allIdentifiers","generateCodeVerifier","b64toB64UrlEncoded","randomBytes","createCodeChallenge","shaJs","digest","canJsonParse","open","close","File","swagger2SchemaKeys","parameter","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_find_index_99e05360__","shallowArrayEquals","Cache","_Map","foundKey","_findIndexInstanceProperty","OriginalCache","memoized","base64","ieee754","customInspectSymbol","Symbol","exports","SlowBuffer","alloc","INSPECT_MAX_BYTES","K_MAX_LENGTH","createBuffer","RangeError","buf","Uint8Array","setPrototypeOf","arg","encodingOrOffset","allocUnsafe","encoding","isEncoding","byteLength","actual","write","slice","fromString","ArrayBuffer","isView","arrayView","isInstance","copy","fromArrayBuffer","byteOffset","fromArrayLike","fromArrayView","SharedArrayBuffer","valueOf","isBuffer","len","checked","numberIsNaN","fromObject","toPrimitive","assertSize","array","mustMatch","loweredCase","utf8ToBytes","base64ToBytes","slowToString","start","end","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","m","bidirectionalIndexOf","dir","arrayIndexOf","indexOf","lastIndexOf","indexSize","arrLength","valLength","read","readUInt16BE","foundIndex","found","j","hexWrite","offset","Number","remaining","strLen","parsed","parseInt","utf8Write","blitBuffer","asciiWrite","byteArray","charCodeAt","asciiToBytes","base64Write","ucs2Write","units","hi","lo","utf16leToBytes","fromByteArray","Math","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","decodeCodePointsArray","kMaxLength","TYPED_ARRAY_SUPPORT","proto","foo","typedArraySupport","defineProperty","poolSize","fill","allocUnsafeSlow","_isBuffer","compare","concat","pos","swap16","swap32","swap64","toLocaleString","inspect","trim","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","toJSON","_arr","ret","out","hexSliceLookupTable","bytes","checkOffset","checkInt","wrtBigUInt64LE","checkIntBI","BigInt","wrtBigUInt64BE","checkIEEE754","writeFloat","littleEndian","noAssert","writeDouble","newBuf","subarray","readUintLE","readUIntLE","mul","readUintBE","readUIntBE","readUint8","readUInt8","readUint16LE","readUInt16LE","readUint16BE","readUint32LE","readUInt32LE","readUint32BE","readUInt32BE","readBigUInt64LE","defineBigIntMethod","boundsError","readBigUInt64BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readBigInt64LE","readBigInt64BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUintLE","writeUIntLE","writeUintBE","writeUIntBE","writeUint8","writeUInt8","writeUint16LE","writeUInt16LE","writeUint16BE","writeUInt16BE","writeUint32LE","writeUInt32LE","writeUint32BE","writeUInt32BE","writeBigUInt64LE","writeBigUInt64BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeBigInt64LE","writeBigInt64BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","copyWithin","E","sym","getMessage","Base","writable","configurable","stack","addNumericalSeparator","range","ERR_OUT_OF_RANGE","checkBounds","ERR_INVALID_ARG_TYPE","floor","ERR_BUFFER_OUT_OF_BOUNDS","msg","received","isInteger","abs","INVALID_BASE64_RE","Infinity","leadSurrogate","toByteArray","base64clean","dst","alphabet","table","i16","BufferBigIntNotDefined","module","it","desc","sham","isCallable","tryToString","$TypeError","argument","$String","uncurryThis","stringSlice","DESCRIPTORS","definePropertyModule","createPropertyDescriptor","object","f","bitmap","global","fails","documentAll","IS_HTMLDDA","EXISTS","navigator","userAgent","process","Deno","versions","v8","getOwnPropertyDescriptor","isForced","bind","createNonEnumerableProperty","hasOwn","wrapConstructor","NativeConstructor","FORCED","USE_NATIVE","VIRTUAL_PROTOTYPE","sourceProperty","targetProperty","nativeProperty","resultProperty","descriptor","TARGET","GLOBAL","STATIC","stat","PROTO","nativeSource","targetPrototype","forced","dontCallGetSet","wrap","real","NATIVE_BIND","FunctionPrototype","Reflect","aCallable","that","classofRaw","uncurryThisWithBind","aFunction","variable","isNullOrUndefined","V","P","func","check","globalThis","self","g","classof","$Object","propertyIsEnumerable","$documentAll","replacement","feature","detection","normalize","POLYFILL","NATIVE","getBuiltIn","isPrototypeOf","USE_SYMBOL_AS_UID","$Symbol","IE8_DOM_DEFINE","V8_PROTOTYPE_DEFINE_BUG","anObject","toPropertyKey","$defineProperty","$getOwnPropertyDescriptor","ENUMERABLE","CONFIGURABLE","WRITABLE","O","Attributes","propertyIsEnumerableModule","toIndexedObject","$propertyIsEnumerable","NASHORN_BUG","pref","defineGlobalProperty","SHARED","IS_PURE","copyright","license","V8_VERSION","getOwnPropertySymbols","symbol","IndexedObject","requireObjectCoercible","isSymbol","getMethod","ordinaryToPrimitive","wellKnownSymbol","TO_PRIMITIVE","exoticToPrim","postfix","random","NATIVE_SYMBOL","iterator","shared","uid","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","$","isSpecificValue","cloneSpecificValue","getTime","deepCloneArray","clone","forEach","deepExtend","safeGetProperty","property","ReflectOwnKeys","R","ReflectApply","receiver","ownKeys","getOwnPropertyNames","NumberIsNaN","EventEmitter","init","once","emitter","Promise","reject","errorListener","removeListener","eventTargetAgnosticAddListener","handler","flags","on","addErrorHandlerIfEventEmitter","_events","_eventsCount","_maxListeners","defaultMaxListeners","checkListener","listener","_getMaxListeners","_addListener","prepend","events","existing","warning","create","newListener","emit","unshift","warned","w","onceWrapper","fired","wrapFn","_onceWrap","_listeners","unwrap","evlistener","unwrapListeners","arrayClone","listenerCount","wrapListener","getPrototypeOf","setMaxListeners","getMaxListeners","doError","er","listeners","addListener","prependListener","prependOnceListener","originalListener","shift","pop","spliceOne","off","removeAllListeners","rawListeners","eventNames","ctor","superCtor","super_","TempCtor","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","run","marker","runClearTimeout","Item","noop","nextTick","browser","env","argv","binding","cwd","chdir","umask","MAX_BYTES","MAX_UINT32","crypto","msCrypto","getRandomValues","generated","createErrorType","NodeError","_Base","subClass","superClass","__proto__","expected","determiner","this_len","endsWith","objectKeys","Duplex","Readable","Writable","allowHalfOpen","readable","onend","_writableState","ended","onEndNT","highWaterMark","getBuffer","_readableState","destroyed","PassThrough","Transform","_transform","chunk","ReadableState","EElistenerCount","Stream","OurUint8Array","debugUtil","debuglog","BufferList","destroyImpl","getHighWaterMark","_require$codes","ERR_STREAM_PUSH_AFTER_EOF","ERR_METHOD_NOT_IMPLEMENTED","ERR_STREAM_UNSHIFT_AFTER_END_EVENT","StringDecoder","createReadableStreamAsyncIterator","errorOrDestroy","kProxyEvents","stream","isDuplex","objectMode","readableObjectMode","pipes","pipesCount","flowing","endEmitted","reading","sync","needReadable","emittedReadable","readableListening","resumeScheduled","paused","emitClose","autoDestroy","defaultEncoding","awaitDrain","readingMore","decoder","_read","destroy","_destroy","readableAddChunk","addToFront","skipChunkCheck","emitReadable","emitReadable_","onEofChunk","chunkInvalid","_uint8ArrayToBuffer","addChunk","maybeReadMore","_undestroy","undestroy","isPaused","setEncoding","enc","head","content","MAX_HWM","howMuchToRead","computeNewHighWaterMark","maybeReadMore_","updateReadableListening","resume","nReadingNextTick","resume_","fromList","consume","endReadable","endReadableNT","wState","finished","xs","l","nOrig","doRead","pipe","dest","pipeOpts","endFn","stdout","stderr","unpipe","onunpipe","unpipeInfo","hasUnpiped","onclose","onfinish","ondrain","ondata","cleanedUp","needDrain","pipeOnDrain","pause","event","dests","splice","ev","asyncIterator","_fromList","ERR_MULTIPLE_CALLBACK","ERR_TRANSFORM_ALREADY_TRANSFORMING","ERR_TRANSFORM_WITH_LENGTH_0","afterTransform","ts","_transformState","transforming","writecb","writechunk","rs","needTransform","writeencoding","flush","_flush","prefinish","done","_write","err2","CorkedRequest","entry","finish","corkReq","pendingcb","corkedRequestsFree","onCorkedFinish","WritableState","internalUtil","deprecate","ERR_STREAM_CANNOT_PIPE","ERR_STREAM_DESTROYED","ERR_STREAM_NULL_VALUES","ERR_STREAM_WRITE_AFTER_END","ERR_UNKNOWN_ENCODING","nop","writableObjectMode","finalCalled","ending","noDecode","decodeStrings","writing","corked","bufferProcessing","onwrite","writelen","onwriteStateUpdate","finishMaybe","errorEmitted","onwriteError","needFinish","bufferedRequest","clearBuffer","afterWrite","lastBufferedRequest","prefinished","bufferedRequestCount","realHasInstance","writev","_writev","final","_final","doWrite","onwriteDrain","holder","allBuffers","isBuf","callFinal","need","rState","_","hasInstance","writeAfterEnd","validChunk","newChunk","decodeChunk","writeOrBuffer","cork","uncork","setDefaultEncoding","endWritable","kLastResolve","kLastReject","kError","kEnded","kLastPromise","kHandlePromise","kStream","createIterResult","readAndResolve","iter","onReadable","AsyncIteratorPrototype","ReadableStreamAsyncIteratorPrototype","lastPromise","promise","wrapForNext","return","enumerableOnly","symbols","_objectSpread","getOwnPropertyDescriptors","defineProperties","hint","prim","_toPrimitive","_toPropertyKey","custom","tail","hasStrings","_getString","_getBuffer","nb","customInspect","emitErrorAndCloseNT","emitErrorNT","emitCloseNT","readableDestroyed","writableDestroyed","ERR_STREAM_PREMATURE_CLOSE","eos","called","onlegacyfinish","writableEnded","readableEnded","onrequest","setHeader","abort","isRequest","ERR_MISSING_ARGS","streams","popCallback","destroys","closed","destroyer","ERR_INVALID_OPT_VALUE","duplexKey","hwm","highWaterMarkFrom","copyProps","SafeBuffer","Hash","blockSize","finalSize","_block","_finalSize","_blockSize","accum","assigned","remainder","_update","rem","bits","lowBits","highBits","_hash","algorithm","Algorithm","sha","sha1","sha224","sha256","sha384","sha512","inherits","K","W","Sha","_w","rotl30","num","ft","_a","_b","_c","_d","_e","M","H","Sha1","rotl5","Sha256","Sha224","_f","_g","_h","ch","z","maj","sigma0","sigma1","gamma0","T1","T2","SHA512","Sha384","_ah","_bh","_ch","_dh","_eh","_fh","_gh","_hh","_al","_bl","_cl","_dl","_el","_fl","_gl","_hl","writeInt64BE","Sha512","Ch","xl","Gamma0","Gamma0l","Gamma1","Gamma1l","getCarry","ah","bh","dh","eh","fh","gh","hh","al","bl","cl","dl","el","fl","gl","hl","xh","gamma0l","gamma1","gamma1l","Wi7h","Wi7l","Wi16h","Wi16l","Wil","Wih","majh","majl","sigma0h","sigma0l","sigma1h","sigma1l","Kih","Kil","chh","chl","t1l","t1h","t2l","t2h","EE","pipeline","_isStdio","didOnEnd","cleanup","nenc","retried","_normalizeEncoding","normalizeEncoding","utf16Text","utf16End","fillLast","utf8FillLast","base64Text","base64End","simpleWrite","simpleEnd","lastNeed","lastTotal","lastChar","utf8CheckByte","byte","utf8CheckExtraBytes","total","utf8CheckIncomplete","trace","XML_CHARACTER_MAP","escapeForXML","indent_count","character","indent_spaces","values","_elem","icount","indents","interrupt","isStringContent","attributes","get_attributes","_cdata","append","elem","proceed","attr","output","interrupted","instant","delay","standalone","Element","webpackContext","webpackContextResolve","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_array_from_6be643d1__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_array_is_array_6a843f38__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_bind_23a689fe__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_concat_ad403b1a__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_entries_97fed13d__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_every_ac7bb0bc__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_filter_13f270a8__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_find_0ad1164d__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_for_each_f55cb86b__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_includes_c33ad5d5__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_index_of_5fb826c6__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_keys_3b8fec80__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_map_868765ae__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_reduce_e87b61a7__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_slice_9832b507__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_some_50ff1b2d__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_sort_abe23e03__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_starts_with_a4b73998__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_trim_ca5b709e__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_json_stringify_1bf7a515__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_map_16a511c8__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_object_assign_e13b6141__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_object_keys_e09d3035__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_object_values_550c3b22__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_set_timeout_d31e8027__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_url_4cfab046__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_defineProperty_807a2698__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_extends_d20d3ceb__","__WEBPACK_EXTERNAL_MODULE_base64_js_f145eb6e__","__WEBPACK_EXTERNAL_MODULE_classnames__","__WEBPACK_EXTERNAL_MODULE_ieee754__","__WEBPACK_EXTERNAL_MODULE_immutable__","Seq","__WEBPACK_EXTERNAL_MODULE_js_yaml_78384032__","__WEBPACK_EXTERNAL_MODULE_lodash_get_9427f899__","__WEBPACK_EXTERNAL_MODULE_lodash_isFunction_f90b20d6__","__WEBPACK_EXTERNAL_MODULE_lodash_memoize_2b5bc477__","__WEBPACK_EXTERNAL_MODULE_prop_types_adfe8e31__","__WEBPACK_EXTERNAL_MODULE_react__","__WEBPACK_EXTERNAL_MODULE_react_copy_to_clipboard_5b11dd57__","__WEBPACK_EXTERNAL_MODULE_react_immutable_proptypes_89c7d083__","__WEBPACK_EXTERNAL_MODULE_redux__","applyMiddleware","bindActionCreators","createStore","__WEBPACK_EXTERNAL_MODULE_remarkable__","__WEBPACK_EXTERNAL_MODULE_reselect__","__WEBPACK_EXTERNAL_MODULE_serialize_error_5f2df3e5__","__WEBPACK_EXTERNAL_MODULE_swagger_client_es_helpers_4d7bea47__","__WEBPACK_EXTERNAL_MODULE_url_parse_6456105f__","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","getter","__esModule","toStringTag","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_last_index_of_bbdfc000__","__WEBPACK_EXTERNAL_MODULE_redux_immutable_446c9f82__","combineReducers","__WEBPACK_EXTERNAL_MODULE_lodash_merge_cf99375a__","idFn","Store","rootReducer","initialState","plugins","pluginsOptions","boundSystem","_getSystem","middlwares","composeEnhancers","createStoreWithMiddleware","buildSystem","register","rebuild","pluginSystem","combinePlugins","systemExtend","callAfterLoad","buildReducer","getRootInjects","getWrappedAndBoundActions","getWrappedAndBoundSelectors","getStateThunks","getFn","rebuildReducer","_getConfigs","setConfigs","states","replaceReducer","reducerSystem","reducerObj","redFn","wrapWithTryCatch","makeReducer","allReducers","getType","upName","toUpperCase","getSelectors","getActions","actionHolders","actionName","_this","actionGroups","getBoundActions","actionGroupName","wrappers","newAction","_this2","selectorGroups","getBoundSelectors","selectorGroupName","stateName","selectorName","wrappedSelector","getStates","wrapper","creator","actionCreator","getMapStateToProps","getMapDispatchToProps","pluginOptions","pluginLoadType","plugin","hasLoaded","calledSomething","wrapperFn","namespaceObj","logErrors","_len3","_key3","resolvedSubtree","getResolvedSubtree","tryItOutEnabled","defaultRequestBodyValue","executeInProgress","nextState","docExpansion","displayOperationId","displayRequestDuration","supportedSubmitMethods","isDeepLinkingEnabled","jumpToKey","unresolvedOp","Operation","operationProps","summary","originalOperationId","toggleShown","onTryoutClick","onResetClick","onCancelClick","onExecute","getLayout","layoutName","Layout","AuthorizationPopup","Auths","AuthorizeBtn","showPopup","AuthorizeBtnContainer","authorizableDefinitions","AuthorizeOperationBtn","stopPropagation","auths","Oauth2","Button","authorizedAuth","nonOauthDefinitions","oauthDefinitions","onSubmit","submitAuth","logoutClick","ApiKeyAuth","BasicAuth","authEl","showValue","ExamplesSelect","isSyntheticChange","selectedOptions","_onSelect","currentExampleKey","currentExamplePerProps","firstExamplesKey","firstExample","firstExampleKey","keyOf","isValueModified","isModifiedValueAvailable","showLabels","_onDomSelect","exampleName","stringifyUnlessList","currentNamespace","_setStateForNamespace","newStateForNamespace","mergeDeep","_getCurrentExampleValue","exampleKey","_getValueForExample","lastUserEditedValue","_getStateForCurrentNamespace","valueFromExample","_setStateForCurrentNamespace","isModifiedValueSelected","otherArgs","lastDownstreamValue","componentWillUnmount","valueFromCurrentExample","examplesMatchingNewValue","_onExamplesSelect","authConfigs","oauth2RedirectUrl","scopesArray","scopeSeparator","realm","usePkceWithAuthorizationCodeGrant","codeChallenge","sanitizedAuthorizationUrl","useBasicAuthenticationWithAccessCodeGrant","errCb","oauth2Authorize","dataset","newScopes","appName","InitializedInput","oidcUrl","AUTH_FLOW_IMPLICIT","AUTH_FLOW_PASSWORD","AUTH_FLOW_ACCESS_CODE","AUTH_FLOW_APPLICATION","isPkceCodeGrant","flowToDisplay","tablet","desktop","onInputChange","selectScopes","onScopeChange","Clear","Headers","Duration","LiveResponse","shouldComponentUpdate","showMutatedRequest","requestSnippetsEnabled","curlRequest","notDocumented","isError","headersKeys","ResponseBody","returnObject","joinedHeaders","hasHeaders","Curl","SWAGGER2_OPERATION_METHODS","OAS3_OPERATION_METHODS","Operations","validMethods","renderOperationTag","isAbsoluteUrl","buildBaseUrl","safeBuildUrl","baseUrl","buildUrl","Collapse","DeepLink","Link","tagExternalDocsUrl","tagDescription","tagExternalDocsDescription","rawTagExternalDocsUrl","showTag","enabled","focusable","isOpened","externalDocsUrl","extensions","Responses","Parameters","Execute","Schemes","OperationExt","OperationSummary","showExtensions","onChangeKey","currentScheme","tryItOutResponse","__WEBPACK_EXTERNAL_MODULE_lodash_toString_da931f05__","resolvedSummary","OperationSummaryMethod","OperationSummaryPath","CopyToClipboardBtn","hasSecurity","securityIsOptional","allowAnonymous","applicableDefinitions","textToCopy","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_splice_d746fc5e__","pathParts","_spliceInstanceProperty","OperationExtRow","xNormalizedValue","__WEBPACK_EXTERNAL_MODULE_js_file_download_bd23dbb6__","fileName","downloadable","canCopy","handleDownload","saveAs","controlsAcceptHeader","defaultCode","ContentType","Response","acceptControllingResponse","regionId","createHtmlReadyId","controlId","ariaControls","ariaLabel","contentTypes","onChangeProducesWrapper","role","isDefault","onContentTypeChange","onResponseContentTypeChange","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_values_a68750d2__","activeContentType","links","ResponseExtension","specPathWithPossibleSchema","activeMediaType","examplesForMediaType","oas3SchemaForContentType","sampleSchema","shouldOverrideSchemaExample","sampleGenConfig","_activeMediaType$get","targetExamplesKey","getTargetExamplesKey","getMediaTypeExample","targetExample","_valuesInstanceProperty","oldOASMediaTypeExample","getExampleComponent","sampleResponse","_onContentTypeChange","omitValue","toSeq","__WEBPACK_EXTERNAL_MODULE_xml_but_prettier_2ed4d5cb__","__WEBPACK_EXTERNAL_MODULE_lodash_toLower_c29ee2b0__","parsedContent","prevContent","Blob","reader","FileReader","readAsText","updateParsedContent","componentDidUpdate","prevProps","downloadName","bodyEl","blob","_lastIndexOfInstanceProperty","disposition","formatXml","textNodesOnSameLine","indentor","toLower","controls","tab","parametersVisible","callbackVisible","ParameterRow","TryItOutButton","groupedParametersArr","toggleTab","rawParam","onChangeConsumes","onChangeConsumesWrapper","onChangeMediaType","lastValue","usableValue","ParameterIncludeEmptyDefaultProps","onCheckboxChange","valueForUpstream","getParamKey","paramWithMeta","parameterMediaType","generatedSampleValue","onChangeWrapper","setDefaultValue","ParamBody","bodyParam","consumesValue","paramItems","paramEnum","paramDefaultValue","paramExample","itemType","isFormData","isFormDataSupported","isDisplayParamEnum","_onExampleSelect","oas3ValidateBeforeExecuteSuccess","missingKey","isPass","handleValidationResultPass","handleValidationResultFail","paramsResult","handleValidateParameters","requestBodyResult","handleValidateRequestBody","handleValidationResult","Property","schemaExample","propVal","propClass","Errors","editorActions","jumpToLine","allErrorsToDisplay","isVisible","sortedJSErrors","toggleVisibility","animated","ThrownErrorItem","SpecErrorItem","errorLine","toTitleCase","locationMessage","xclass","Container","fullscreen","full","containerClass","DEVICES","hide","keepContents","mobile","large","classesAr","device","deviceClass","Select","multiple","option","_this$state$value","_this$state$value$toJ","allowedValues","allowEmptyValue","NoMargin","renderNotAnimated","Overview","setTagShown","_setTagShown","showTagId","showOp","toggleShow","showOpIdPrefix","showOpId","_onClick","inputRef","otherProps","InfoBasePath","Contact","email","License","InfoUrl","Info","termsOfServiceUrl","contact","externalDocsDescription","InfoContainer","Footer","FilterContainer","isLoading","isFailed","classNames","placeholder","onFilterChange","isJson","isEditBox","_onChange","updateValues","defaultProp","handleOnChange","toggleIsEditBox","curl","curlBlock","UNSAFE_componentWillMount","SchemesContainer","ModelCollapse","onToggle","modelName","expanded","toggleCollapsed","collapsedContent","hideSelfOnExpand","activeTab","defaultModelRendering","defaultModelExpandDepth","ModelWrapper","exampleTabId","examplePanelId","modelTabId","modelPanelId","active","inactive","tabIndex","Models","getSchemaBasePath","defaultModelsExpandDepth","specPathBase","showModels","onLoadModels","schemaValue","rawSchemaValue","rawSchema","onLoadModel","getCollapsedContent","handleToggle","requiredProperties","infoProperties","JumpToPathSection","not","titleEl","isDeprecated","normalizedValue","Primitive","enumArray","filterNot","EnumModel","showReset","VersionPragmaFilter","bypass","alsoShow","SvgAssets","xmlns","xmlnsXlink","viewBox","fillRule","BaseLayout","isSpecEmpty","loadingMessage","lastErr","lastErrMsg","hasServers","hasSchemes","hasSecurityDefinitions","__WEBPACK_EXTERNAL_MODULE_react_debounce_input_7ed3e068__","JsonSchemaDefaultProps","keyName","getComponentSilently","Comp","schemaIn","onEnumChange","DebounceInput","debounceTimeout","JsonSchema_array","itemVal","valueOrEmptyList","arrayErrors","needsRemoveError","shouldRenderValue","schemaItemsEnum","schemaItemsType","schemaItemsFormat","schemaItemsSchema","ArrayItemsComponent","isArrayItemText","isArrayItemFile","itemErrors","JsonSchemaArrayItemFile","onItemChange","JsonSchemaArrayItemText","removeItem","addItem","onFileChange","JsonSchema_boolean","booleanValue","stringifyObjectErrors","stringError","currentError","part","JsonSchema_object","coreComponents","authorizationPopup","authorizeBtn","authorizeOperationBtn","authError","oauth2","apiKeyAuth","basicAuth","liveResponse","highlightCode","responseBody","parameterRow","overview","footer","modelExample","formComponents","LayoutUtils","jsonSchemaComponents","JsonSchemaComponents","util","logs","view","samples","swaggerJs","deepLinkingPlugin","safeRender","PresetApis","BasePreset","OAS3Plugin","GIT_DIRTY","GIT_COMMIT","PACKAGE_VERSION","BUILD_TIME","buildInfo","SwaggerUI","gitRevision","gitDirty","buildTimestamp","defaults","dom_id","urls","pathname","syntax","defaultExpanded","languages","queryConfigEnabled","presets","ApisPreset","syntaxHighlight","activated","theme","queryConfig","constructorConfig","storeConfigs","System","inlinePlugin","downloadSpec","fetchedConfig","localConfig","mergedConfig","configsActions","querySelector","configUrl","loadRemoteConfig","apis","AllPlugins"],"sourceRoot":""} |